Java 实战范例之校园二手市场系统的实现

作者:qq_1334611189 时间:2023-06-10 12:52:17 

一、项目简述( +IW文档)

功能:本系统分用户前台和管理员后台。 本系统用例模型有三种,分别是游客、注册用户和系统管 理员。下面分别对这三个角色的功能进行描述: 1) 诞 游客是未注册的用户,他们可以浏览物物品,可以搜索物 品,如需购买物品,必须先注册成为网站用户。游客主要 功触吓: a.浏览物品 b.搜索物品 c.注册成为网站用户 2) 注册用户 注册用户是经过网站合法认证的用户,登录网站后可以浏 览物品、搜索物品、发布物品、关注物品、购买物品和查 看个人中心。 3) 系统管理员 系统管理员主要负责系统的后台管理工作,主要功能如 下: 用户管理,商品管理等等。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe ( IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

Java 实战范例之校园二手市场系统的实现

Java 实战范例之校园二手市场系统的实现

Java 实战范例之校园二手市场系统的实现

Java 实战范例之校园二手市场系统的实现

Java 实战范例之校园二手市场系统的实现

Java 实战范例之校园二手市场系统的实现

用户信息管理控制器:


@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
public class OrderController {
private final GoodService goodService;
private final OrderService orderService;

@Autowired
public OrderController(GoodService goodService, OrderService orderService) {
this.goodService = goodService;
this.orderService = orderService;
}

@RequestMapping(value = "/user/orderInfo", method = RequestMethod.GET)
public String getOrderInfo(ModelMap model,
@RequestParam(value = "orderId", required = false) Integer orderId,
HttpSession session) {
User sessionUser = (User) session.getAttribute("user");
if (sessionUser == null) {
return "redirect:/";
}
Order orderInfo = orderService.getOrderById(orderId);
List<Order> orders = orderService.getOtherOrderByCustomerId(
sessionUser.getId(), orderId);
model.addAttribute("orderInfo", orderInfo);
model.addAttribute("orders", orders);
return "user/orderInfo";
}

@RequestMapping(value = "/user/sellerInfo", method = RequestMethod.GET)
public String getSellerInfo(ModelMap model,
@RequestParam(value = "orderId", required = false) Integer orderId,
HttpSession session) {
User sessionUser = (User) session.getAttribute("user");
if (sessionUser == null) {
return "redirect:/";
}
Order orderInfo = orderService.getOrderById(orderId);
List<Order> orders = orderService.getOtherOrderBySellerId(
sessionUser.getId(), orderId);
model.addAttribute("orderInfo", orderInfo);
model.addAttribute("orders", orders);
System.out.println("sellerInfo.size:" + orders.size());
return "user/sellerInfo";
}

@RequestMapping(value = "/user/order/delete/{orderId}", method = RequestMethod.GET)
public ResponseEntity deleteOrderById(@PathVariable Integer orderId) {
Boolean success;
success = orderService.deleteOrderById(orderId) > 0;
return ResponseEntity.ok(success);
}

@RequestMapping(value = "/user/sellerOrder/delete/{orderId}&{goodId}", method = RequestMethod.GET)
public ResponseEntity deleteSellerOrderById(@PathVariable Integer orderId,
@PathVariable Integer goodId) {
Boolean success;
success = goodService.updateGoodStatusId(1, goodId) > 0;
if (success) {
success = orderService.deleteOrderById(orderId) > 0;
}
return ResponseEntity.ok(success);
}

@RequestMapping(value = "/user/order/update/status/{orderId}&{statusId}", method = RequestMethod.GET)
public ResponseEntity updateOrderStatus(@PathVariable Integer orderId,
@PathVariable Integer statusId) {
Boolean success = orderService.updateStatus(statusId, orderId) > 0;
if (success) {
Order order = orderService.getOrderById(orderId);
return ResponseEntity.ok(order);
}
return ResponseEntity.ok(success);
}

@RequestMapping(value = "/user/order/create", method = RequestMethod.POST)
public ResponseEntity createOrder(@RequestBody Order order) {
Boolean success = orderService.insertOrder(order) > 0;
if (success) {
success = goodService.updateGoodStatusId(0, order.getGoodId()) > 0;
if (success) {
return ResponseEntity.ok(order.getId());
} else {
orderService.deleteOrderById(order.getId());
return ResponseEntity.ok(success);
}
}
return ResponseEntity.ok(success);
}

@RequestMapping(value = "/user/order/allOrder", method = RequestMethod.GET)
public ResponseEntity getAllOrders() {
List<Order> orderList = orderService.getOrderList();
return ResponseEntity.ok(orderList);
}
}

后台用户管理控制器:


@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);
   }

}

来源:https://blog.csdn.net/m0_59687645/article/details/121471806

标签:Java,二手市场系统,实战
0
投稿

猜你喜欢

  • Maven 配置文件 生命周期 常用命令详解

    2022-07-05 19:59:39
  • Android编程之防止反编译的实现方法

    2021-10-31 04:23:35
  • C# Fiddler插件实现网站离线浏览功能

    2022-10-09 01:46:14
  • Android利用Hero实现列表与详情页无缝切换动画

    2023-07-22 08:04:39
  • winfrom 在业务层实现事务控制的小例子

    2021-11-16 14:19:50
  • 解决unity rotate旋转物体 限制物体旋转角度的大坑

    2022-01-14 01:41:49
  • Android mvvm之LiveData原理案例详解

    2023-09-29 11:49:26
  • 浅谈java泛型的作用及其基本概念

    2022-08-10 07:53:47
  • java程序员常见的sql错误

    2021-11-06 22:24:14
  • Netty实战入门教程之 什么是Netty

    2023-10-14 01:08:09
  • Windows+Apache+resin配置

    2023-10-16 08:53:07
  • JAVA实现单例模式的四种方法和一些特点

    2023-11-02 05:38:20
  • java实现简单计算器功能

    2021-06-17 11:21:23
  • java开发工作中对InheritableThreadLocal使用思考

    2023-11-24 21:46:44
  • Android nativePollOnce函数解析

    2022-05-29 01:51:26
  • 在WPF中动态加载XAML中的控件实例代码

    2023-06-23 12:27:30
  • C#发送邮箱实现代码

    2022-04-16 11:57:57
  • Android实现波浪球效果

    2021-09-02 16:07:53
  • C#实现图片切割、切图、裁剪

    2022-10-24 15:12:19
  • Java ExecutorService四种线程池使用详解

    2023-05-17 07:12:56
  • asp之家 软件编程 m.aspxhome.com