Computer java project recommendation nodejs appointment door-to-door maintenance service system

Development language: nodejs
Frame:Express
Database: MySQL5.7
Database tool: Navicat 11

Development software: Hbuilder/VS code
Browser: edge / Google

Table of Contents

1. Project Introduction

2. System functions

3. System project screenshots

3.1 Front page

3.2Backend management

4. Core code

4.1 Login related

4.2 File upload

4.3 Packaging

1. Project Introduction

The scheduled door-to-door maintenance service system uses network communication and computer information storage management, which has advantages that cannot be replaced by traditional methods. For example, the calculation and retrieval speed is extremely fast, the reliability is extremely high, the storage capacity is extremely large, the confidentiality is extremely good, the storage time is extremely long, and the cost is extremely low. In terms of work efficiency, it can be greatly improved, and there will be good gains when extended to service levels. With the Internet, the management of all aspects of the appointment home repair service system is more scientific and systematic, more standardized and simpler.

2. System functions

This scheduled door-to-door maintenance service system mainly includes three functional modules, namely user function module, administrator function module, and maintenance personnel function module.

(1) Administrator module: homepage, personal center, user management, maintenance staff management, project type management, maintenance project management, maintenance appointment management, cancellation appointment management, modification appointment management, maintenance allocation management, maintenance order management, user evaluation management , Information release management.

(2) Maintenance personnel: homepage, personal center, maintenance distribution management, maintenance order management, user evaluation management.

(3) User: Home page, personal center, maintenance appointment management, cancellation appointment management, modification appointment management, maintenance allocation management, maintenance order management, user evaluation management, message feedback.

3. System project screenshots

3.1 Front Desk Home Page

\ \

3.2 Backstage management

 \

4. Core code

4.1 Login related

?


    package com.controller;

    import java.util.Arrays;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.annotation.IgnoreAuth;
    import com.baomidou.mybatisplus.mapper.EntityWrapper;
    import com.entity.TokenEntity;
    import com.entity.UserEntity;
    import com.service.TokenService;
    import com.service.UserService;
    import com.utils.CommonUtil;
    import com.utils.MD5Util;
    import com.utils.MPUtil;
    import com.utils.PageUtils;
    import com.utils.R;
    import com.utils.ValidatorUtils;
    
    /**
     * Login related
     */
    @RequestMapping("users")
    @RestController
    public class UserController{<!-- -->
    \t
    @Autowired
    private UserService userService;
    \t
    @Autowired
    private TokenService tokenService;
    
    /**
    \t * Log in
    */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String captcha, HttpServletRequest request) {<!-- -->
    UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
    if(user==null || !user.getPassword().equals(password)) {<!-- -->
    return R.error("The account or password is incorrect");
    }
    String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    return R.ok().put("token", token);
    }
    \t
    /**
    \t * register
    */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody UserEntity user){<!-- -->
    // ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {<!-- -->
        return R.error("User already exists");
        }
            userService.insert(user);
            return R.ok();
        }
    
    /**
    \t * quit
    */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {<!-- -->
    request.getSession().invalidate();
    return R.ok("Exit successfully");
    }
    \t
    /**
         * reset Password
         */
        @IgnoreAuth
    @RequestMapping(value = "/resetPass")
        public R resetPass(String username, HttpServletRequest request){<!-- -->
        UserEntity user = userService.selectOne(new EntityWrapper().eq("username", username));
        if(user==null) {<!-- -->
        return R.error("Account does not exist");
        }
        user.setPassword("123456");
            userService.update(user,null);
            return R.ok("Password has been reset to: 123456");
        }
    \t
    /**
         * list
         */
        @RequestMapping("/page")
        public R page(@RequestParam Map params,UserEntity user){<!-- -->
            EntityWrapper ew = new EntityWrapper();
        PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
            return R.ok().put("data", page);
        }
    
    /**
         * list
         */
        @RequestMapping("/list")
        public R list( UserEntity user){<!-- -->
           EntityWrapper ew = new EntityWrapper();
          ew.allEq(MPUtil.allEQMapPre( user, "user"));
            return R.ok().put("data", userService.selectListView(ew));
        }
    
        /**
         * information
         */
        @RequestMapping("/info/{id}")
        public R info(@PathVariable("id") String id){<!-- -->
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
        
        /**
         * Get the user's session user information
         */
        @RequestMapping("/session")
        public R getCurrUser(HttpServletRequest request){<!-- -->
        Long id = (Long)request.getSession().getAttribute("userId");
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
    
        /**
         * save
         */
        @PostMapping("/save")
        public R save(@RequestBody UserEntity user){<!-- -->
    // ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) {<!-- -->
        return R.error("User already exists");
        }
            userService.insert(user);
            return R.ok();
        }
    
        /**
         * Revise
         */
        @RequestMapping("/update")
        public R update(@RequestBody UserEntity user){<!-- -->
    // ValidatorUtils.validateEntity(user);
            userService.updateById(user);//Update all
            return R.ok();
        }
    
        /**
         * delete
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){<!-- -->
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }



4.2 File upload

?

package com.controller;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * Upload file mapping table
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({<!-- -->"unchecked","rawtypes"})
public class FileController{<!-- -->
@Autowired
    private ConfigService configService;
/**
\t * upload files
*/
@RequestMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {<!-- -->
if (file.isEmpty()) {<!-- -->
throw new EIException("The uploaded file cannot be empty");
}
String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {<!-- -->
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {<!-- -->
upload.mkdirs();
}
String fileName = new Date().getTime() + "." + fileExt;
File dest = new File(upload.getAbsolutePath() + "/" + fileName);
file.transferTo(dest);
FileUtils.copyFile(dest, new File("C:\Users\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\ \static\upload" + "/" + fileName));
if(StringUtils.isNotBlank(type) & amp; & amp; type.equals("1")) {<!-- -->
ConfigEntity configEntity = configService.selectOne(new EntityWrapper().eq("name", "faceFile"));
if(configEntity==null) {<!-- -->
configEntity = new ConfigEntity();
configEntity.setName("faceFile");
configEntity.setValue(fileName);
} else {<!-- -->
configEntity.setValue(fileName);
}
configService.insertOrUpdate(configEntity);
}
return R.ok().put("file", fileName);
}
\t
/**
\t * download file
*/
@IgnoreAuth
@RequestMapping("/download")
public ResponseEntity download(@RequestParam String fileName) {<!-- -->
try {<!-- -->
File path = new File(ResourceUtils.getURL("classpath:static").getPath());
if(!path.exists()) {<!-- -->
path = new File("");
}
File upload = new File(path.getAbsolutePath(),"/upload/");
if(!upload.exists()) {<!-- -->
upload.mkdirs();
}
File file = new File(upload.getAbsolutePath() + "/" + fileName);
if(file.exists()){<!-- -->
/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
getResponse().sendError(403);
}*/
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", fileName);
return new ResponseEntity(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
}
} catch (IOException e) {<!-- -->
e.printStackTrace();
}
return new ResponseEntity(HttpStatus.INTERNAL_SERVER_ERROR);
}
\t
}

4.3 Packaging

?

package com.utils;

import java.util.HashMap;
import java.util.Map;

/**
 * Return data
 */
public class R extends HashMap {<!-- -->
private static final long serialVersionUID = 1L;
\t
public R() {<!-- -->
put("code", 0);
}
\t
public static R error() {<!-- -->
return error(500, "Unknown exception, please contact the administrator");
}
\t
public static R error(String msg) {<!-- -->
return error(500, msg);
}
\t
public static R error(int code, String msg) {<!-- -->
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}

public static R ok(String msg) {<!-- -->
R r = new R();
r.put("msg", msg);
return r;
}
\t
public static R ok(Map map) {<!-- -->
R r = new R();
r.putAll(map);
return r;
}
\t
public static R ok() {<!-- -->
return new R();
}

public R put(String key, Object value) {<!-- -->
super.put(key, value);
return this;
}
}

Project acquisition:

https://gitee.com/sinonfin/L-javaWebSha/tree/master