Java實戰項目之校園跑腿管理系統的實現
前端使用的是vue+elementui,這款系統隻適合學習鞏固SpringBoot+VUE,後面還要在這上面加校園公告、校園零食等功能,後期代碼我也會持續更新上去。系統分為管理員和學生、學生是管理員後臺添加的兩種角色。
運行環境:
後端 jdk1.8、maven3.5/3.6 mysql5.7 idea/eclipse
前端 idea vue-cli node.js 搭建vue環境 webpack3.6.0指定版本
管理員控制層:
@Controller @RequestMapping(value = "admin") public class AdminController { private final UserService userService; private final GoodService goodService; private final TypeService typeService; private final OrderService orderService; @Autowired public AdminController(UserService userService, GoodService goodService, TypeService typeService, OrderService orderService) { this.userService = userService; this.goodService = goodService; this.typeService = typeService; this.orderService = orderService; } @RequestMapping(value = "/adminLogin", method = RequestMethod.GET) public String getAdminLogin(){ return "admin/adminLogin"; } @RequestMapping(value = "/adminLogin", method = RequestMethod.POST) public String postAdminLogin(ModelMap model, @RequestParam(value = "email", required = false) String email, @RequestParam(value = "password", required = false) String password, HttpSession session) { User admin = userService.getUserByEmail(email); String message; if (admin != null){ String mdsPass = DigestUtils.md5DigestAsHex((password + admin.getCode()).getBytes()); // if (!mdsPass .equals(admin.getPassword())){ // message = "用戶密碼錯誤!"; // } if (!password .equals(admin.getPassword())){ message = "用戶密碼錯誤!"; } else if (admin.getRoleId() != 101){ message = "用戶沒有權限訪問!"; } else { session.setAttribute("admin",admin); return "redirect:/admin/adminPage"; } } else { message = "用戶不存在!"; } model.addAttribute("message", message); return "admin/adminLogin"; } @RequestMapping(value = "/adminLogout", method = RequestMethod.GET) public String adminLogout(@RequestParam(required = false, defaultValue = "false" )String adminLogout, HttpSession session){ if (adminLogout.equals("true")){ session.removeAttribute("admin"); } // adminLogout = "false"; return "redirect:/"; } @RequestMapping(value = "/adminPage", method = RequestMethod.GET) public String getAdminPage(ModelMap model, HttpSession session){ User admin = (User) session.getAttribute("admin"); if (admin == null){ return "redirect:/admin/adminLogin"; } List<Good> goodList = goodService.getAllGoodList(); for (Good good : goodList) { good.setGoodUser(userService.getUserById(good.getUserId())); good.setGoodSecondType(typeService.getSecondTypeById(good.getSecondTypeId())); } List<User> userList = userService.getAllUser(); List<FirstType> firstTypeList = typeService.getAllFirstType(); List<Order> orderList = orderService.getOrderList(); model.addAttribute("goodList", goodList); model.addAttribute("userList", userList); model.addAttribute("firstTypeList", firstTypeList); model.addAttribute("orderList", orderList); return "admin/adminPage"; } @RequestMapping(value = "/user/update/status/{statusId}&{userId}", method = RequestMethod.GET) public ResponseEntity updateUserStatus(@PathVariable Integer statusId, @PathVariable Integer userId){ Boolean success = userService.updateUserStatus(statusId, userId); if (success){ List<User> userList = userService.getAllUser(); return ResponseEntity.ok(userList); } return ResponseEntity.ok(success); } @RequestMapping(value = "/user/delete/{userId}", method = RequestMethod.GET) public ResponseEntity deleteUser(@PathVariable Integer userId){ Boolean success = userService.deleteUser(userId); if (success){ List<User> userList = userService.getAllUser(); return ResponseEntity.ok(userList); } return ResponseEntity.ok(success); } }
用戶控制層:
@Controller @RequestMapping(value = "user") public class UserController { private final GoodService goodService; private final OrderService orderService; private final ReviewService reviewService; private final UserService userService; private final CollectService collectService; @Autowired public UserController(GoodService goodService, OrderService orderService, ReviewService reviewService, UserService userService, CollectService collectService) { this.goodService = goodService; this.orderService = orderService; this.reviewService = reviewService; this.userService = userService; this.collectService = collectService; } @RequestMapping(value = "userProfile", method = RequestMethod.GET) public String getMyProfile(ModelMap model, HttpSession session) { User user = (User) session.getAttribute("user"); if (user == null) { return "redirect:/"; } List<Collect> collects = collectService .getCollectByUserId(user.getId()); for (Collect collect : collects) { collect.setGood(goodService.getGoodById(collect.getGoodId())); } List<Good> goods = goodService.getGoodByUserId(user.getId()); List<Order> orders = orderService.getOrderByCustomerId(user.getId()); List<Review> reviews = reviewService.gerReviewByToUserId(user.getId()); List<Reply> replies = reviewService.gerReplyByToUserId(user.getId()); List<Order> sellGoods = orderService.getOrderBySellerId(user.getId()); model.addAttribute("collects", collects); model.addAttribute("goods", goods); model.addAttribute("orders", orders); model.addAttribute("reviews", reviews); model.addAttribute("replies", replies); model.addAttribute("sellGoods", sellGoods); return "user/userProfile"; } @RequestMapping(value = "/review", method = RequestMethod.GET) public String getReviewInfo(@RequestParam(required = false) Integer goodId, @RequestParam(required = false) Integer reviewId) { System.out.println("reviewId" + reviewId); if (reviewId != null) { System.out.println("reviewId" + reviewId); if (reviewService.updateReviewStatus(1, reviewId) == 1) { return "redirect:/goods/goodInfo?goodId=" + goodId; } } return "redirect:/user/userProfile"; } @RequestMapping(value = "/reply", method = RequestMethod.GET) public String getReplyInfo( @RequestParam(required = false) Integer reviewId, @RequestParam(required = false) Integer replyId) { if (replyId != null) { if (reviewService.updateReplyStatus(1, replyId) == 1) { Integer goodId = reviewService.getGoodIdByReviewId(reviewId); return "redirect:/goods/goodInfo?goodId=" + goodId; } } return "redirect:/user/userProfile"; } @RequestMapping(value = "/userEdit", method = RequestMethod.GET) public String getUserEdit(ModelMap model, @RequestParam(value = "userId", required = false) Integer userId, HttpSession session) { User sessionUser = (User) session.getAttribute("user"); if (sessionUser == null) { return "redirect:/"; } User user = userService.getUserById(userId); List<Order> sellGoods = orderService.getOrderBySellerId(user.getId()); List<Review> reviews = reviewService.gerReviewByToUserId(user.getId()); List<Reply> replies = reviewService.gerReplyByToUserId(user.getId()); model.addAttribute("user", user); model.addAttribute("sellGoods", sellGoods); model.addAttribute("reviews", reviews); model.addAttribute("replies", replies); return "user/userEdit"; } @RequestMapping(value = "/userEdit", method = RequestMethod.POST) public String postUserEdit(ModelMap model, @Valid User user, HttpSession session, @RequestParam(value = "photo", required = false) MultipartFile photo) throws IOException { String status; Boolean insertSuccess; User sessionUser = (User) session.getAttribute("user"); user.setId(sessionUser.getId()); InfoCheck infoCheck = new InfoCheck(); if (!infoCheck.isMobile(user.getMobile())) { status = "請輸入正確的手機號!"; } else if (!infoCheck.isEmail(user.getEmail())) { status = "請輸入正確的郵箱!"; } else if (userService.getUserByMobile(user.getMobile()).getId() != user .getId()) { System.out.println(userService.getUserByMobile(user.getMobile()) .getId() + " " + user.getId()); status = "此手機號碼已使用!"; } else if (userService.getUserByEmail(user.getEmail()).getId() != user .getId()) { status = "此郵箱已使用!"; } else { if (!photo.isEmpty()) { RandomString randomString = new RandomString(); FileCheck fileCheck = new FileCheck(); String filePath = "/statics/image/photos/" + user.getId(); String pathRoot = fileCheck.checkGoodFolderExist(filePath); String fileName = user.getId() + randomString.getRandomString(10); String contentType = photo.getContentType(); String imageName = contentType.substring(contentType .indexOf("/") + 1); String name = fileName + "." + imageName; photo.transferTo(new File(pathRoot + name)); String photoUrl = filePath + "/" + name; user.setPhotoUrl(photoUrl); } else { String photoUrl = userService.getUserById(user.getId()) .getPhotoUrl(); user.setPhotoUrl(photoUrl); } insertSuccess = userService.updateUser(user); if (insertSuccess) { session.removeAttribute("user"); session.setAttribute("user", user); return "redirect:/user/userProfile"; } else { status = "修改失敗!"; model.addAttribute("user", user); model.addAttribute("status", status); return "user/userEdit"; } } System.out.println(user.getMobile()); System.out.println(status); model.addAttribute("user", user); model.addAttribute("status", status); return "user/userEdit"; } @RequestMapping(value = "/password/edit", method = RequestMethod.POST) public ResponseEntity editPassword(@RequestBody Password password) { User user = userService.getUserById(password.getUserId()); String oldPass = DigestUtils .md5DigestAsHex((password.getOldPassword() + user.getCode()) .getBytes()); if (oldPass.equals(user.getPassword())) { RandomString randomString = new RandomString(); String code = (randomString.getRandomString(5)); String md5Pass = DigestUtils.md5DigestAsHex((password .getNewPassword() + code).getBytes()); Boolean success = userService.updatePassword(md5Pass, code, password.getUserId()); if (success) { return ResponseEntity.ok(true); } else { return ResponseEntity.ok("密碼修改失敗!"); } } else { return ResponseEntity.ok("原密碼輸入不正確!"); } } }
類型控制層:
@Controller @RequestMapping("type") public class TypeController { private final TypeService typeService; private final GoodService goodService; @Autowired public TypeController(TypeService typeService, GoodService goodService) { this.typeService = typeService; this.goodService = goodService; } @RequestMapping(value = "/secondType/{firstTypeId}", method = RequestMethod.GET) public ResponseEntity getSecondTypeId(@PathVariable Integer firstTypeId) { List<SecondType> secondTypes = typeService .getSecondTypeByFirstTypeId(firstTypeId); if (secondTypes == null) { return ResponseEntity.ok("isNull"); } return ResponseEntity.ok(secondTypes); } @RequestMapping(value = "/secondType/delete/{secondTypeId}", method = RequestMethod.GET) public ResponseEntity deleteSecondType(@PathVariable Integer secondTypeId) { Boolean success = goodService.getGoodsAdminByType(secondTypeId) .isEmpty(); System.out.println(goodService.getGoodsAdminByType(secondTypeId)); if (success) { Integer thisFirstTypeId = typeService.getSecondTypeById( secondTypeId).getFirstTypeId(); success = typeService.deleteSecondType(secondTypeId); if (success) { List<SecondType> secondTypeList = typeService .getSecondTypeByFirstTypeId(thisFirstTypeId); if (secondTypeList == null) { return ResponseEntity.ok("isNull"); } return ResponseEntity.ok(secondTypeList); } } return ResponseEntity.ok(success); } @RequestMapping(value = "/firstType/delete/{firstTypeId}", method = RequestMethod.GET) public ResponseEntity deleteFirstType(@PathVariable Integer firstTypeId) { Boolean success = typeService.getSecondTypeByFirstTypeId(firstTypeId) .isEmpty(); if (success) { success = typeService.deleteFirstType(firstTypeId); if (success) { List<FirstType> firstTypeList = typeService.getAllFirstType(); if (firstTypeList == null) { return ResponseEntity.ok("isNull"); } return ResponseEntity.ok(firstTypeList); } } return ResponseEntity.ok(success); } @RequestMapping(value = "/secondType/create", method = RequestMethod.POST) public ResponseEntity createSecondType(@RequestBody SecondType secondType) { Integer thisFirstTypeId = secondType.getFirstTypeId(); Boolean success = typeService.createSecondType(secondType); if (success) { List<SecondType> secondTypeList = typeService .getSecondTypeByFirstTypeId(thisFirstTypeId); return ResponseEntity.ok(secondTypeList); } return ResponseEntity.ok(success); } @RequestMapping(value = "/firstType/create", method = RequestMethod.POST) public ResponseEntity createSecondType(@RequestBody FirstType firstType) { Boolean success = typeService.createFirstType(firstType); if (success) { List<FirstType> firstTypeList = typeService.getAllFirstType(); return ResponseEntity.ok(firstTypeList); } return ResponseEntity.ok(success); } }
到此這篇關於Java實戰項目之校園跑腿管理系統的實現的文章就介紹到這瞭,更多相關Java 校園跑腿管理系統內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java畢業設計實戰之二手書商城系統的實現
- Java實戰之在線寄查快遞系統的實現
- Java項目之java+springboot+ssm實現理財管理系統設計
- Java實戰之實現物流配送系統示例詳解
- Java實戰權限管理系統的實現流程