[Java] 租借自行车RentBikeController →→→→→进入此内容的聊天室

来自 , 2020-11-16, 写在 Java, 查看 115 次.
URL http://www.code666.cn/view/83cdcec0
  1. package com.liang.bike.controller.rent;
  2.  
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.liang.bike.bean.base.BikeBase;
  5. import com.liang.bike.bean.base.OrderBase;
  6. import com.liang.bike.bean.base.UserBase;
  7. import com.liang.bike.enumeration.BikeStatusEnum;
  8. import com.liang.bike.enumeration.OperateEnum;
  9. import com.liang.bike.service.rent.IRentBikeService;
  10. import com.liang.bike.utill.ReturnUtill;
  11. import org.apache.log4j.Logger;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.ui.Model;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17.  
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpSession;
  20. import java.util.Date;
  21. import java.util.HashMap;
  22. import java.util.Map;
  23.  
  24. /**
  25.  * Created by Administrator on 2017/2/22.
  26.  */
  27. @Controller
  28. @RequestMapping("/rent")
  29. public class RentBikeController {
  30.  
  31.     Logger logger = Logger.getLogger(RentBikeController.class);
  32.  
  33.     @Autowired
  34.     private IRentBikeService rentBikeService;
  35.  
  36.     //获取用户信息
  37.     public UserBase getUser(HttpServletRequest request) {
  38.         HttpSession session = request.getSession();
  39.         return (UserBase) session.getAttribute("user");
  40.     }
  41.  
  42.     /**
  43.      * 生成租借自行车订单
  44.      *
  45.      * @param request
  46.      * @param bikeBase 自行车信息
  47.      * @return
  48.      */
  49.  
  50.  
  51.     @RequestMapping("/bike")
  52.     public String rentBike(HttpServletRequest request, Model model, BikeBase bikeBase) {
  53.         UserBase userBase = getUser(request);
  54.         String page = "user/rent";
  55.         try {
  56.             //查询自行车是否存在
  57.             BikeBase bike = rentBikeService.selectBikeByBikeNo(bikeBase);
  58.             model.addAttribute("bike", bike);
  59.             if (bike == null) {
  60.                 model.addAttribute("index", OperateEnum.BIKE_BIKE_NOT_EXIST.getIndex());
  61.                 model.addAttribute("desc", OperateEnum.BIKE_BIKE_NOT_EXIST.getDesc());
  62.                 return page;
  63.             }
  64.             //自行车是否在空闲状态
  65.             String status = bike.getBikeStatus();
  66.             if (status != null && !status.equals(BikeStatusEnum.FREE.getKey())) {
  67.                 //如果正在使用自行车的正是当前用户
  68.                 if (status.equals(BikeStatusEnum.USING.getKey())) {
  69.                     OrderBase orderBase = new OrderBase();
  70.                     orderBase.setUserId(userBase.getUserId());
  71.                     orderBase.setBikeId(bikeBase.getBikeId());
  72.                     orderBase.setReturnBy("");
  73.                     OrderBase order = rentBikeService.selectOrder(orderBase);
  74.                     if (order != null) {
  75.                         page = "user/running";
  76.                         model.addAttribute("order", order);
  77.                         model.addAttribute("createDate", order.getCreateDate().getTime());
  78.                         return page;
  79.                     }
  80.                 }
  81.                 model.addAttribute("index", status);
  82.                 model.addAttribute("desc", OperateEnum.getOperateDesc(status));
  83.  
  84.                 return page;
  85.             }
  86.             //修改自行车使用状态并生成订单
  87.             rentBikeService.rentBike(bike, userBase);
  88.             //自行车状态描述
  89.         } catch (Exception e) {
  90.             //e.printStackTrace();
  91.             logger.info("租借自行车失败RentBikeController.rentBike" + e.getMessage());
  92.             model.addAttribute("index", OperateEnum.OPERATE_ERROR.getIndex());
  93.             model.addAttribute("desc", OperateEnum.OPERATE_ERROR.getDesc());
  94.             return page;
  95.         }
  96.         model.addAttribute("index", OperateEnum.OPERATE_SUCCESS.getIndex());
  97.         return page;
  98.     }
  99.  
  100.     /**
  101.      * 完成订单
  102.      *
  103.      * @param request
  104.      * @param model
  105.      * @param orderBase
  106.      * @return
  107.      */
  108.     @RequestMapping("/finish")
  109.     @ResponseBody
  110.     public JSONObject finish(HttpServletRequest request, Model model, OrderBase orderBase) {
  111.         JSONObject json = new JSONObject();
  112.         UserBase userBase = getUser(request);
  113.         orderBase.setReturnBy(userBase.getUserName());
  114.         orderBase.setReturnDate(new Date());
  115.         boolean flag = false;
  116.         try {
  117.             rentBikeService.finishOrder(orderBase);
  118.             flag = true;
  119.         } catch (Exception e) {
  120.             e.printStackTrace();
  121.         }
  122.         json.put("flag", flag);
  123.         return json;
  124.     }
  125. }
  126.  

回复 "租借自行车RentBikeController"

这儿你可以回复上面这条便签

captcha