[Java] RentBikeServiceImpl.java →→→→→进入此内容的聊天室

来自 , 2020-03-06, 写在 Java, 查看 118 次.
URL http://www.code666.cn/view/e816c635
  1. package com.liang.bike.service.rent;
  2.  
  3. import com.liang.bike.bean.base.BikeBase;
  4. import com.liang.bike.bean.base.OrderBase;
  5. import com.liang.bike.bean.base.UserBase;
  6. import com.liang.bike.dao.base.*;
  7. import com.liang.bike.enumeration.BikeStatusEnum;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Transactional;
  11.  
  12. import java.util.Date;
  13. import java.util.HashMap;
  14. import java.util.Map;
  15.  
  16. /**
  17.  * Created by Administrator on 2017/2/23.
  18.  */
  19. @Service
  20. public class RentBikeServiceImpl implements IRentBikeService {
  21.  
  22.     @Autowired
  23.     private UserMapper userMapper;
  24.  
  25.     @Autowired
  26.     private BikeMapper bikeMapper;
  27.  
  28.     @Autowired
  29.     private BikeBaseMapper bikeBaseMapper;
  30.  
  31.     @Autowired
  32.     private OrderBaseMapper orderBaseMapper;
  33.  
  34.     @Autowired
  35.     private OrderMapper orderMapper;
  36.  
  37.     public UserBase selectUserByUserPhone(UserBase userBase) {
  38.         return userMapper.selectUserByUserPhone(userBase);
  39.     }
  40.  
  41.     public BikeBase selectBikeByBikeNo(BikeBase bikeBase) {
  42.         return bikeMapper.selectBikeByBikeNo(bikeBase);
  43.     }
  44.  
  45.     /**
  46.      * 修改自行车使用状态及使用次数
  47.      *
  48.      * @param params
  49.      * @return
  50.      */
  51.     public int updateBikeByStatusTotal(Map<String, Object> params) {
  52.         return bikeMapper.updateBikeStatusTotal(params);
  53.     }
  54.  
  55.     public void generateOrder(OrderBase orderBase) {
  56.         orderBaseMapper.insertSelective(orderBase);
  57.     }
  58.  
  59.     /**
  60.      * 租借自行车
  61.      *
  62.      * @param bikeBase
  63.      * @return
  64.      */
  65.     @Transactional
  66.     public void rentBike(BikeBase bikeBase, UserBase userBase) throws Exception {
  67.         //修改自行车使用状态
  68.         Map<String, Object> params = new HashMap<String, Object>();
  69.         Long bikeNo = bikeBase.getBikeNo();
  70.         String bikeStatus = BikeStatusEnum.USING.getKey();
  71.         Long useTotal = bikeBase.getUseTotal();
  72.         Long useTotalAddOne = useTotal + 1;
  73.         String updateBy = userBase.getUserPhone();
  74.         Date updateDate = new Date();
  75.         params.put("bikeNo", bikeNo);
  76.         params.put("bikeStatus", bikeStatus);
  77.         params.put("useTotal", useTotal);
  78.         params.put("useTotalAddOne", useTotalAddOne);
  79.         params.put("updateBy", updateBy);
  80.         params.put("updateDate", updateDate);
  81.         int i = this.updateBikeByStatusTotal(params);
  82.         if (i == 0) {
  83.             throw new Exception("租借自行车失败RentBikeServiceImpl.rentBike");
  84.         }
  85.  
  86.         OrderBase orderBase = new OrderBase();
  87.         orderBase.setUserId(userBase.getUserId());
  88.         orderBase.setBikeId(bikeBase.getBikeId());
  89.         orderBase.setCreateBy(userBase.getUserPhone());
  90.         orderBase.setCreateDate(new Date());
  91.         orderBase.setUpdateBy(userBase.getUserPhone());
  92.         orderBase.setUpdateDate(new Date());
  93.         orderBase.setReturnBy("");
  94.         this.generateOrder(orderBase);
  95.     }
  96.  
  97.     @Override
  98.     public OrderBase selectOrder(OrderBase orderBase) {
  99.         return orderMapper.selectOrder(orderBase);
  100.     }
  101.  
  102.     @Override
  103.     @Transactional
  104.     public void finishOrder(OrderBase orderBase) {
  105.         orderBaseMapper.updateByPrimaryKeySelective(orderBase);
  106.         BikeBase bikeBase = new BikeBase();
  107.         bikeBase.setBikeStatus(BikeStatusEnum.FREE.getKey());
  108.         bikeBase.setBikeId(orderBase.getBikeId());
  109.         bikeBaseMapper.updateByPrimaryKeySelective(bikeBase);
  110.     }
  111. }
  112.  

回复 "RentBikeServiceImpl.java"

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

captcha