——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Node.js≥14
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明









基于javaweb的SpringBoot二手物品交易平台(java+springboot+maven+vue+elementui+mybatis+mysql)
后端启动类:StartApplication
前端启动命令:npm run serve
管理员:
admin 123456
用户:
user1(小王) 123456
user2(小张) 123456
*先启动后端,再启动前端(避免后端端口被占用了)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| }
@GetMapping("loginOut") public ResultVo loginOut( HttpSession session){ session.removeAttribute("admin"); return ResultVo.success(); }
@GetMapping("list") public ResultVo getAdminList(HttpSession session, @RequestParam(value = "page",required = false) Integer page, @RequestParam(value = "nums",required = false) Integer nums){ if(session.getAttribute("admin")==null){ return ResultVo.fail(ErrorMsg.COOKIE_ERROR); } int p=1; int n=8; if(null!=page){ p=page>0?page:1; } if(null!=nums){ n=nums>0?nums:8; } return ResultVo.success(adminService.getAdminList(p,n)); }
@PostMapping("add") public ResultVo addAdmin(HttpSession session, @RequestBody AdminModel adminModel){ if(session.getAttribute("admin")==null){ return ResultVo.fail(ErrorMsg.COOKIE_ERROR); } if(adminService.addAdmin(adminModel)){ return ResultVo.success(); } return ResultVo.fail(ErrorMsg.PARAM_ERROR); }
@GetMapping("idleList") public ResultVo idleList(HttpSession session, @RequestParam("status") @NotNull @NotEmpty Integer status, @RequestParam(value = "page",required = false) Integer page, @RequestParam(value = "nums",required = false) Integer nums){ if(session.getAttribute("admin")==null){ return ResultVo.fail(ErrorMsg.COOKIE_ERROR); } int p=1; int n=8; if(null!=page){ p=page>0?page:1; } if(null!=nums){ n=nums>0?nums:8; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| p=page>0?page:1; } if(null!=nums){ n=nums>0?nums:8; } return ResultVo.success(idleItemService.adminGetIdleList(status,p,n)); }
@GetMapping("updateIdleStatus") public ResultVo updateIdleStatus(HttpSession session, @RequestParam("id") @NotNull @NotEmpty Long id, @RequestParam("status") @NotNull @NotEmpty Integer status ){ if(session.getAttribute("admin")==null){ return ResultVo.fail(ErrorMsg.COOKIE_ERROR); } IdleItemModel idleItemModel=new IdleItemModel(); idleItemModel.setId(id); idleItemModel.setIdleStatus(status.byteValue()); if(idleItemService.updateIdleItem(idleItemModel)){ return ResultVo.success(); } return ResultVo.fail(ErrorMsg.SYSTEM_ERROR); }
@GetMapping("orderList") public ResultVo orderList(HttpSession session, @RequestParam(value = "page",required = false) Integer page, @RequestParam(value = "nums",required = false) Integer nums){ if(session.getAttribute("admin")==null){ return ResultVo.fail(ErrorMsg.COOKIE_ERROR); } int p=1; int n=8; if(null!=page){ p=page>0?page:1; } if(null!=nums){ n=nums>0?nums:8; } return ResultVo.success(orderService.getAllOrder(p,n));
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public class GlobalExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class) public ResultVo MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) { Map<String, String> collect = e.getBindingResult().getFieldErrors().stream() .collect(Collectors.toMap(FieldError::getField, FieldError::getDefaultMessage)); return ResultVo.fail(ErrorMsg.PARAM_ERROR,collect); }
@ExceptionHandler(HttpMessageNotReadableException.class) public ResultVo HttpMessageNotReadableExceptionHandler() { return ResultVo.fail(ErrorMsg.MISSING_PARAMETER, "requestBody错误!"); }
@ExceptionHandler(MissingServletRequestParameterException.class) public ResultVo MissingServletRequestParameterExceptionHandler(MissingServletRequestParameterException e) { return ResultVo.fail(ErrorMsg.MISSING_PARAMETER, "缺少参数"+e.getParameterName()); }
@ExceptionHandler(ConstraintViolationException.class) public ResultVo ConstraintViolationExceptionHandler(ConstraintViolationException e) {
Set<ConstraintViolation<?>> set = e.getConstraintViolations(); Map<String, String> map = new HashMap<>(); if (set.size() > 0) { for (ConstraintViolation<?> cv : set) { String[] param = cv.getPropertyPath().toString().split("\\."); String message = cv.getMessage();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| return ResultVo.success(addressService.getAddressById(id,Long.valueOf(shUserId))); } }
@PostMapping("/add") public ResultVo addAddress(@CookieValue("shUserId") @NotNull(message = "登录异常 请重新登录") @NotEmpty(message = "登录异常 请重新登录") String shUserId, @RequestBody AddressModel addressModel){ addressModel.setUserId(Long.valueOf(shUserId)); if(addressService.addAddress(addressModel)){ return ResultVo.success(addressModel); } return ResultVo.fail(ErrorMsg.SYSTEM_ERROR); }
@PostMapping("/update") public ResultVo updateAddress(@CookieValue("shUserId") @NotNull(message = "登录异常 请重新登录") @NotEmpty(message = "登录异常 请重新登录") String shUserId, @RequestBody AddressModel addressModel){ addressModel.setUserId(Long.valueOf(shUserId)); if(addressService.updateAddress(addressModel)){ return ResultVo.success(); } return ResultVo.fail(ErrorMsg.SYSTEM_ERROR); }
@PostMapping("/delete") public ResultVo deleteAddress(@CookieValue("shUserId") @NotNull(message = "登录异常 请重新登录") @NotEmpty(message = "登录异常 请重新登录") String shUserId, @RequestBody AddressModel addressModel){ addressModel.setUserId(Long.valueOf(shUserId)); if(addressService.deleteAddress(addressModel)){ return ResultVo.success(); } return ResultVo.fail(ErrorMsg.SYSTEM_ERROR); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| idleItemModel.setReleaseTime(new Date()); if(idleItemService.addIdleItem(idleItemModel)){ return ResultVo.success(idleItemModel); } return ResultVo.fail(ErrorMsg.SYSTEM_ERROR); }
@GetMapping("info") public ResultVo getIdleItem(@RequestParam Long id){ return ResultVo.success(idleItemService.getIdleItem(id)); }
@GetMapping("all") public ResultVo getAllIdleItem(@CookieValue("shUserId") @NotNull(message = "登录异常 请重新登录") @NotEmpty(message = "登录异常 请重新登录") String shUserId){ return ResultVo.success(idleItemService.getAllIdelItem(Long.valueOf(shUserId))); }
@GetMapping("find") public ResultVo findIdleItem(@RequestParam(value = "findValue",required = false) String findValue, @RequestParam(value = "page",required = false) Integer page, @RequestParam(value = "nums",required = false) Integer nums){ if(null==findValue){ findValue=""; } int p=1; int n=8; if(null!=page){ p=page>0?page:1; } if(null!=nums){ n=nums>0?nums:8; } return ResultVo.success(idleItemService.findIdleItem(findValue,p,n)); }
@GetMapping("lable") public ResultVo findIdleItemByLable(@RequestParam(value = "idleLabel",required = true) Integer idleLabel, @RequestParam(value = "page",required = false) Integer page, @RequestParam(value = "nums",required = false) Integer nums){ int p=1; int n=8; if(null!=page){ p=page>0?page:1; } if(null!=nums){
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| return ResultVo.success(); return ResultVo.fail(ErrorMsg.SYSTEM_ERROR); }
}
@CrossOrigin @RestController @RequestMapping("user") public class UserController {
@Autowired private UserService userService;
@PostMapping("sign-in") public ResultVo signIn(@RequestBody UserModel userModel) { System.out.println(userModel); userModel.setSignInTime(new Timestamp(System.currentTimeMillis())); if (userModel.getAvatar() == null || "".equals(userModel.getAvatar())) { userModel.setAvatar("https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"); } if (userService.userSignIn(userModel)) { return ResultVo.success(userModel); } return ResultVo.fail(ErrorMsg.REGISTER_ERROR); }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=481124002505201lt
https://javayms.pages.dev?id=481124002505201lt