From 687d0fc2de844e09864cc2ea2b24550069a50546 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 26 十月 2023 16:00:38 +0800
Subject: [PATCH] Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/parkBike into dev

---
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |   61 ++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 16 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 95ab98a..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,35 +603,39 @@
             model.setPayNum(0);
             model.setRefundNum(0);
             QueryWrapper<Goodsorder> queryWrapper = new QueryWrapper<>();
-            queryWrapper.lambda().ge(param.getStartDate() !=null,Goodsorder::getPayDate,DateUtil.getShortDateStr(param.getStartDate()));
-            queryWrapper.lambda().le(param.getEndDate() !=null,Goodsorder::getPayDate,DateUtil.getShortDateStr(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);
-            queryWrapper.select( "count(id) as count_num"
-                    ,"sum(money) as money" );
+            queryWrapper.select( "status ","count(id) as count_num"
+                    ,"sum(money) as money","sum(close_money) as close_money" );
             //鎸夎鍗曠姸鎬佸垎缁勭粺璁�
             List<Goodsorder> detailList = goodsorderMapper.selectList(queryWrapper);
             for(Goodsorder goodsorder : detailList){
                 if(Constants.formatIntegerNum(goodsorder.getStatus()) == Constants.GOODSORDER_STATUS.CLOSE.getKey()){
                     //宸茬粨绠�
                     model.setClosedNum(model.getClosedNum()+goodsorder.getCountNum());
-                    model.setClosedMoney(model.getClosedMoney().add(Constants.formatDecimalNum(goodsorder.getCloseMoney())));
+                    model.setClosedMoney(model.getClosedMoney().add(Constants.translateMoney(goodsorder.getCloseMoney())));
 
                     model.setPayNum(model.getPayNum()+goodsorder.getCountNum());
-                    model.setPayMoney(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(model.getUnClosedMoney().add(Constants.formatDecimalNum(goodsorder.getMoney())));
+                    model.setUnClosedMoney(model.getUnClosedMoney().add(Constants.translateMoney(goodsorder.getMoney())));
 
                     model.setPayNum(model.getPayNum()+goodsorder.getCountNum());
-                    model.setPayMoney(model.getPayMoney().add(Constants.formatDecimalNum(goodsorder.getMoney())));
+                    model.setPayMoney(model.getPayMoney().add(Constants.translateMoney(goodsorder.getMoney())));
                 }
             }
         QueryWrapper<Refund> queryWrapper2 = new QueryWrapper<>();
-        queryWrapper2.lambda().ge(param.getStartDate() !=null,Refund::getDoneDate,DateUtil.getShortDateStr(param.getStartDate()));
-        queryWrapper2.lambda().le(param.getEndDate() !=null,Refund::getDoneDate,DateUtil.getShortDateStr(param.getEndDate()));
+        queryWrapper2.lambda().ge(param.getStartDate() !=null,Refund::getDoneDate,Utils.Date.getStart(param.getStartDate()));
+        queryWrapper2.lambda().le(param.getEndDate() !=null,Refund::getDoneDate,Utils.Date.getEnd(param.getEndDate()));
         queryWrapper2.lambda().eq(Refund::getIsdeleted, Constants.ZERO);
         queryWrapper2.select( "count(id) as count_num"
                 ,"sum(money) as money" );
@@ -619,7 +643,7 @@
         Refund  refund = refundMapper.selectOne(queryWrapper2.last("limit 1"));
         if(refund !=null){
             model.setRefundNum(Constants.formatIntegerNum(refund.getCountNum()));
-            model.setRefundMoney( Constants.formatDecimalNum(refund.getMoney()));
+            model.setRefundMoney(Constants.translateMoney(Constants.formatDecimalNum(refund.getMoney())));
         }
         return  model;
     }
@@ -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