From e40a072541e1b31add7ed345e47adf61c49ecf4f Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 13 十月 2023 09:05:39 +0800
Subject: [PATCH] #获取可退款信息

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index 0ec50d7..a5b5d32 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -25,9 +25,12 @@
 import com.doumee.dao.business.web.response.BikeLogDTO;
 import com.doumee.dao.business.web.response.MemberRidesDTO;
 import com.doumee.dao.business.web.response.MemberRidesDetailResponse;
+import com.doumee.dao.system.SystemDictDataMapper;
+import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.service.business.DeviceService;
 import com.doumee.service.business.GoodsorderService;
 import com.doumee.service.business.MemberRidesService;
+import com.doumee.service.system.SystemDictDataService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -38,9 +41,8 @@
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 鐢ㄦ埛楠戣璁板綍琛⊿ervice瀹炵幇
@@ -78,6 +80,10 @@
     @Autowired
     private GoodsorderService goodsorderService;
 
+
+
+    @Autowired
+    private SystemDictDataMapper systemDictDataMapper;
 
     @Override
     public String create(MemberRides memberRides) {
@@ -168,7 +174,7 @@
 
         MPJLambdaWrapper<MemberRides> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId);
-        queryWrapper.eq(MemberRides::getMemberId, id);
+        queryWrapper.eq(MemberRides::getId, id);
         queryWrapper.selectAll(MemberRides.class);
         queryWrapper.selectAs(BaseParam::getName,MemberRidesDTO::getBikeType) ;
         queryWrapper.last("limit 1");
@@ -211,13 +217,17 @@
         queryWrapper.le(model.getRentDateEnd()!=null, MemberRides::getRentDate,model.getRentDateEnd());
         queryWrapper.eq(model.getCloseStatus()!=null,MemberRides::getCloseStatus, model.getCloseStatus());
         queryWrapper.eq(model.getGoodsorderId()!=null,MemberRides::getOrdreId, model.getGoodsorderId());
-        queryWrapper.selectAs(Member::getOpenid,MemberRidesDTO::getOpenid)
+        queryWrapper
+                .selectAs(MemberRides::getId,MemberRidesDTO::getId)
+                .selectAs(Member::getOpenid,MemberRidesDTO::getOpenid)
                 .selectAs(MemberRides::getBikeCode,MemberRidesDTO::getBikeCode)
                 .selectAs(MemberRides::getCloseStatus,MemberRidesDTO::getCloseStatus)
                 .selectAs(MemberRides::getStatus,MemberRidesDTO::getStatus)
                 .selectAs(BaseParam::getName,MemberRidesDTO::getBikeType)
                 .selectAs(MemberRides::getDuration,MemberRidesDTO::getDuration)
                 .selectAs(MemberRides::getRentDate,MemberRidesDTO::getRentDate)
+                .selectAs(MemberRides::getRentLockId,MemberRidesDTO::getRentLockId)
+                .selectAs(MemberRides::getRentSiteId,MemberRidesDTO::getRentSiteId)
                 .selectAs(MemberRides::getBackDate,MemberRidesDTO::getBackDate);
         return queryWrapper;
     }
@@ -243,7 +253,7 @@
     @Override
     public  void updateDuration(MemberRides memberRides){
         LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        if(StringUtils.isBlank(memberRides.getMemberId())
+        if(StringUtils.isBlank(memberRides.getId())
                 ||StringUtils.isBlank(memberRides.getBackReason())
                 || memberRides.getDuration() == null){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -304,10 +314,9 @@
      */
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public   void forceBack(MemberRides memberRides){
+    public void forceBack(MemberRides memberRides){
         LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-         if(StringUtils.isBlank(memberRides.getMemberId())
-                ||StringUtils.isBlank(memberRides.getBackReason())){
+         if(StringUtils.isBlank(memberRides.getBackReason())){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         MemberRides model = findJoinById(memberRides.getId());
@@ -317,6 +326,12 @@
         if(Constants.formatIntegerNum(model.getStatus()) != Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey() ){
             throw  new BusinessException( ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍙兘閽堝鏈繕杞﹁締杩涜寮哄埗杩樿溅鎿嶄綔锛�" );
         }
+        QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK));
+        List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
+        Map<String, SystemDictData> collect = systemDictData.stream().collect(Collectors.toMap(s -> s.getLabel(), s -> s));
+
         MemberRides update = new MemberRides();
         update.setId(model.getId());
         update.setEditDate(new Date());
@@ -326,6 +341,9 @@
         update.setBackReason(memberRides.getBackReason());
         update.setBackUserid(user.getId());
         update.setBackType(Constants.ONE);
+        update.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());
+        update.setBackSiteId(collect.get(Constants.FORCE_BACK_SITE).getCode());
+        update.setBackLockId(collect.get(Constants.FORCE_BACK_LOCK).getCode());
         //璁$畻楠戣璁¤垂鏃堕暱
         update.setDuration(DateUtil.betweenMin(model.getRentDate(), update.getBackDate()));
         memberRidesMapper.updateById(update);

--
Gitblit v1.9.3