——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM二手书交易平台(java+ssm+jsp+mysql)
/SecondBook
1 2 3 4 5 6 7 8 9 管理员 admin@qq.com 123456 用户: user2@qq.com 123456 user3@qq.com 123456 user4@qq.com 123456 user5@qq.com 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 @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,
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 System.out.println("修改物品失败!" ); } List<Image> goodImages = imageService.getImageByGoodId(good.getId()); model.addAttribute("goods" , goods); model.addAttribute("good" , good); model.addAttribute("goodImages" , goodImages); model.addAttribute("firstTypes" , firstTypes); return "goods/userGoodEdit" ; } @RequestMapping(value = "/goods/userGoodEdit/updateImage", method = RequestMethod.POST) public String updateImage ( HttpSession session, @RequestParam(value = "goodId", required = false) Integer goodId, @RequestParam(value = "mainFile", required = false) MultipartFile mainFile, @RequestParam(value = "file", required = false) MultipartFile[] file) throws IOException { User user = (User) session.getAttribute("user" ); FileCheck fileCheck = new FileCheck(); imageService.deleteImage(goodId); RandomString randomString = new RandomString(); String filePath = "/statics/image/goods/" + user.getId() + "/" + goodId; String pathRoot = session.getServletContext().getRealPath(filePath); File pathRootFile = new File(pathRoot); if (!pathRootFile.exists()) { pathRootFile.mkdirs(); } String name; if (!mainFile.isEmpty()) { String contentType = mainFile.getContentType(); String fileName = goodId + randomString.getRandomString(10 ); String imageName = contentType .substring(contentType.indexOf("/" ) + 1 ); name = fileName + "." + imageName; mainFile.transferTo(new File(pathRoot , name)); String photoUrl = filePath + "/" + name; goodService.updateGoodPhotoUrl(photoUrl, goodId); } for (MultipartFile mf : file) { if (!mf.isEmpty()) { String contentType = mf.getContentType(); String fileName = goodId + randomString.getRandomString(10 ); String imageName = contentType.substring(contentType
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 if (user != null ) { String mdsPass = password; if (!mdsPass.equals(user.getPassword())) { message = "用户密码错误!" ; } else { if (user.getStatusId() == 4 ) { session.setAttribute("user" , user); if (preURL.equals("" )) { return "redirect:/" ; } else { return "redirect:" + preURL; } } else { message = "用户已失效!" ; } } } else { message = "用户不存在!" ; } model.addAttribute("message" , message); return "home/login" ; } @RequestMapping(value = "/logout", method = RequestMethod.GET) public String logout ( @RequestParam(required = false, defaultValue = "false") String logout, HttpSession session) { if (logout.equals("true" )) { session.removeAttribute("user" ); } return "redirect:/" ; } @RequestMapping(value = "/register", method = RequestMethod.GET) public String registerPage (ModelMap model) { User user = new User(); model.addAttribute("user" , user); return "home/register" ; } @RequestMapping(value = "/register", method = RequestMethod.POST) public String registerSuccess (ModelMap model, @Valid User user) { String status; Boolean insertSuccess; InfoCheck infoCheck = new InfoCheck(); if (!infoCheck.isMobile(user.getMobile())) {
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 } @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); } } @Controller @RequestMapping(value = "/collect") public class CollectController { private final CollectService collectService; private final GoodService goodService; @Autowired public CollectController (CollectService collectService, GoodService goodService) {
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 @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)
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 model.addAttribute("images" , images); model.addAttribute("goodUser" , goodUser); model.addAttribute("goods" , goods); model.addAttribute("collect" , collect); message = "" ; return "goods/goodInfo" ; } @RequestMapping(value = "/goods/goodInfo", method = RequestMethod.POST) public String putReview ( @RequestParam(value = "goodId", required = false) Integer goodId, @RequestParam(value = "reviewId", required = false) Integer reviewId, @RequestParam(value = "fromUserId", required = false) Integer fromUserId, @RequestParam(value = "toUserId", required = false) Integer toUserId, @RequestParam(value = "fromUser", required = false) String fromUser, @RequestParam(value = "toUser", required = false) String toUser, @RequestParam(value = "replyText", required = false, defaultValue = "") String replyText, @RequestParam(value = "reviewText", required = false, defaultValue = "") String reviewText) { if (reviewText.equals("" )) { if (replyText.equals("" )) { message = "内容不能为空!" ; return "redirect:/goods/goodInfo?goodId=" + goodId; } else { Reply reply = new Reply(); reply.setReviewId(reviewId); reply.setFromUser(fromUser); reply.setFromUserId(fromUserId); reply.setToUser(toUser); reply.setToUserId(toUserId); reply.setText(replyText); if (reviewService.insertReply(reply) == 1 ) { message = "回复成功!" ; return "redirect:/goods/goodInfo?goodId=" + goodId; } else { message = "回复失败!" ; return "redirect:/goods/goodInfo?goodId=" + goodId; } } } else { Review review = new Review(); review.setGoodId(goodId); review.setFromUser(fromUser); review.setFromUserId(fromUserId); review.setToUserId(toUserId); review.setText(reviewText); if (reviewService.insertReview(review) == 1 ) { message = "评论成功!" ; return "redirect:/goods/goodInfo?goodId=" + goodId; } else { message = "评论失败!" ; return "redirect:/goods/goodInfo?goodId=" + goodId;
——————————PayStart——————————
项目链接: https://javayms.github.io?id=292124160703201lb https://javayms.pages.dev?id=292124160703201lb