From d06c577a634528b11bc4b83c2769f48992913cad Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 十月 2023 09:07:30 +0800
Subject: [PATCH] 修复bug

---
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index 2a55636..189e8c6 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -26,6 +26,7 @@
 import com.doumee.dao.business.model.MemberRides;
 import com.doumee.dao.business.vo.GoodsorderExportVO;
 import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
+import com.doumee.dao.business.web.request.BikeRepairDTO;
 import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
 import com.doumee.dao.business.web.request.MemberRidesQuery;
 import com.doumee.dao.business.web.request.RefundDTO;
@@ -170,13 +171,27 @@
         IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         pageWrap.getModel().setPayStatus(Constants.ONE); //鍙煡璇㈡敮浠樻垚鍔熺殑
         MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(pageWrap.getModel());
-        return PageData.from(goodsorderJoinMapper.selectJoinPage(page, GoodsorderExportVO.class,queryWrapper));
+        IPage<GoodsorderExportVO> goodsorderExportVOIPage = goodsorderJoinMapper.selectJoinPage(page, GoodsorderExportVO.class, queryWrapper);
+        if (!CollectionUtils.isEmpty(goodsorderExportVOIPage.getRecords())){
+            goodsorderExportVOIPage.getRecords().forEach(s->{
+                s.setMoney(Constants.translateMoney(s.getMoney()));
+                s.setRefundMoney(Constants.translateMoney(s.getRefundMoney()));
+            });
+        }
+        return PageData.from(goodsorderExportVOIPage);
     }
     @Override
     public   List<GoodsorderExportVO> findExportAccountDetailPage(Goodsorder model){
         model.setPayStatus(Constants.ONE); //鍙煡璇㈡敮浠樻垚鍔熺殑
         MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(model);
         List<GoodsorderExportVO> goodsorderList = goodsorderJoinMapper.selectJoinList(GoodsorderExportVO.class,queryWrapper);
+        if (!CollectionUtils.isEmpty(goodsorderList)){
+            goodsorderList.forEach(s->{
+                s.setMoney(Constants.translateMoney(s.getMoney()));
+                s.setCloseMoney(Constants.translateMoney(s.getCloseMoney()));
+                s.setRefundMoney(Constants.translateMoney(s.getRefundMoney()));
+            });
+        }
        /*   List<GoodsorderExportVO> list = new ArrayList<>();
         if(goodsorderList!=null){
             for(Goodsorder order : goodsorderList){
@@ -394,6 +409,8 @@
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     @Override
     public void closeGoodsorder( Goodsorder goodsorder ,int type ) {
+
+//
         List<MemberRides> memberRides = getMemberRidesForClose(goodsorder.getId());
         //榛樿缁撶畻涓烘娂閲戦噾棰�
         BigDecimal closeMoney = new BigDecimal(0.00);
@@ -424,6 +441,8 @@
         if(Constants.REFUND_TYPE.PLAT_FORCE.getKey() == type){
             //濡傛灉鏄己鍒剁粨绠�
             update.setCloseType(Constants.ONE);
+            LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+            update.setEditor(principal.getId());
         }else  if(Constants.REFUND_TYPE.NORMAL.getKey() == type){
             //濡傛灉鏄嚜琛岀祼绠�
             update.setCloseType(Constants.ZERO);
@@ -441,6 +460,7 @@
             refundDTO.setTotalAmount(goodsorder.getMoney());
             refundDTO.setMemberId(goodsorder.getMemberId());
             refundDTO.setReason(Constants.REFUND_TYPE.get(type).getName());
+            refundDTO.setCreator(update.getEditor());
             refundDTO.setType(type);
             Refund refund = wxMiniUtilService.wxRefund(refundDTO);
             update.setCloseId(refund.getId());
@@ -529,7 +549,7 @@
         BigDecimal refundMoney = total == null?new BigDecimal(0):Constants.formatDecimalNum(total.getMoney());
         //鍙��鍓╀綑 鍗曚綅鍏�
         BigDecimal canBalance =Constants.translateMoney(Constants.formatDecimalNum(goodsorder.getMoney()).subtract(refundMoney));
-        if(canBalance.compareTo(money) > Constants.ZERO){
+        if(canBalance.compareTo(money) >= Constants.ZERO){
             RefundDTO refundDTO = new RefundDTO();
             refundDTO.setOrderId(orderId);
             refundDTO.setCanBalance(canBalance);
@@ -565,7 +585,7 @@
         BigDecimal reduce =  total!=null?Constants.formatDecimalNum(total.getMoney()):new BigDecimal(0);
         goodsorderCanBanlanceDTO.setHasRefundMoney(Constants.translateMoney(reduce));
 
-        BigDecimal subtract = Constants.translateMoney(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getCloseMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney());
+        BigDecimal subtract = Constants.translateMoney(goodsorder.getMoney()).subtract(goodsorderCanBanlanceDTO.getHasRefundMoney());
         goodsorderCanBanlanceDTO.setCanBanlanceMoney(subtract.compareTo(new BigDecimal("0")) > 0 ? subtract : new BigDecimal("0"));
         return goodsorderCanBanlanceDTO;
     }
@@ -583,8 +603,12 @@
             model.setPayNum(0);
             model.setRefundNum(0);
             QueryWrapper<Goodsorder> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().ge(param.getStartDate() !=null,Goodsorder::getPayDate, Utils.Date.getStart(param.getStartDate()));
-            queryWrapper.lambda().le(param.getEndDate() !=null,Goodsorder::getPayDate, Utils.Date.getEnd(param.getEndDate()));
+            if(Objects.nonNull(param.getStartDate())){
+                queryWrapper.lambda().ge(param.getStartDate() !=null,Goodsorder::getPayDate, Utils.Date.getStart(param.getStartDate()));
+            }
+            if(Objects.nonNull(param.getEndDate())) {
+                queryWrapper.lambda().le(param.getEndDate() != null, Goodsorder::getPayDate, Utils.Date.getEnd(param.getEndDate()));
+            }
             queryWrapper.lambda().eq(Goodsorder::getPayStatus, Constants.ONE);//宸叉敮浠�
             queryWrapper.lambda().eq(Goodsorder::getIsdeleted, Constants.ZERO);
             queryWrapper.lambda().groupBy(Goodsorder::getStatus);
@@ -596,17 +620,17 @@
                 if(Constants.formatIntegerNum(goodsorder.getStatus()) == Constants.GOODSORDER_STATUS.CLOSE.getKey()){
                     //宸茬粨绠�
                     model.setClosedNum(model.getClosedNum()+goodsorder.getCountNum());
-                    model.setClosedMoney(Constants.translateMoney(model.getClosedMoney().add(Constants.formatDecimalNum(goodsorder.getCloseMoney()))));
+                    model.setClosedMoney(model.getClosedMoney().add(Constants.translateMoney(goodsorder.getCloseMoney())));
 
                     model.setPayNum(model.getPayNum()+goodsorder.getCountNum());
-                    model.setPayMoney(Constants.translateMoney(model.getPayMoney().add(Constants.formatDecimalNum(goodsorder.getMoney()))));
+                    model.setPayMoney(model.getPayMoney().add(Constants.translateMoney(goodsorder.getMoney())));
                 }else  if(Constants.formatIntegerNum(goodsorder.getStatus()) == Constants.GOODSORDER_STATUS.HAVING_PAY.getKey()){
                     //宸叉敮浠樻湭缁撶畻
                     model.setUnClosedNum(model.getUnClosedNum()+goodsorder.getCountNum());
-                    model.setUnClosedMoney(Constants.translateMoney(model.getUnClosedMoney().add(Constants.formatDecimalNum(goodsorder.getMoney()))));
+                    model.setUnClosedMoney(model.getUnClosedMoney().add(Constants.translateMoney(goodsorder.getMoney())));
 
                     model.setPayNum(model.getPayNum()+goodsorder.getCountNum());
-                    model.setPayMoney(Constants.translateMoney(model.getPayMoney().add(Constants.formatDecimalNum(goodsorder.getMoney()))));
+                    model.setPayMoney(model.getPayMoney().add(Constants.translateMoney(goodsorder.getMoney())));
                 }
             }
         QueryWrapper<Refund> queryWrapper2 = new QueryWrapper<>();
@@ -630,8 +654,13 @@
             throw  new BusinessException(ResponseStatus.DATA_EMPTY);
         }
 
-        List<MemberRides> memberRides = memberRidesJoinMapper.selectList(new QueryWrapper<MemberRides>()
-                .lambda().eq(MemberRides::getOrdreId,id).orderByDesc(MemberRides::getCreateDate));
+        List<MemberRides> memberRides = memberRidesJoinMapper.selectJoinList(MemberRides.class,new MPJLambdaWrapper<MemberRides>()
+                .selectAll(MemberRides.class)
+                .selectAs(BaseParam::getName,MemberRides::getParamName)
+                .leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId)
+                .eq(MemberRides::getOrdreId,id)
+                .in(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey(),Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey())
+                .orderByDesc(MemberRides::getCreateDate));
         if (!CollectionUtils.isEmpty(memberRides)){
             //棰勮缁撶畻浠锋牸鍜岃绠楁椂闀�
             int freeTime = 0;

--
Gitblit v1.9.3