From a43add470fa7d7c9413ef9622558cee0a68f56d0 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 03 十一月 2023 18:13:06 +0800
Subject: [PATCH] # 空字符串判断

---
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 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 bcf3b1e..9cf544e 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
@@ -170,7 +170,38 @@
     public PageData<GoodsorderExportVO> findAccountDetailPage(PageWrap<Goodsorder> pageWrap) {
         IPage<Goodsorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         pageWrap.getModel().setPayStatus(Constants.ONE); //鍙煡璇㈡敮浠樻垚鍔熺殑
-        MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(pageWrap.getModel());
+        // 鍥犱负淇敼鎺掑簭闂
+//        MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(pageWrap.getModel());
+
+        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
+        Goodsorder model = pageWrap.getModel();
+        Utils.MP.blankToNull(model);
+        queryWrapper.selectAll(Goodsorder.class);
+        queryWrapper.selectAs(Member::getOpenid, Goodsorder::getOpenid);
+        queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
+        queryWrapper.select("(select max(r.done_date) from refund r where r.obj_id=t.id  and r.status=2 ) as refund_date");
+        queryWrapper.select("(select sum(r.money) from refund r where r.obj_id=t.id and r.status=2) as refund_money");
+        //鏃堕棿娈电瓫閫�
+        if (Objects.nonNull(model.getStartDate())){
+            queryWrapper.ge(Goodsorder::getPayDate, Utils.Date.getStart(model.getStartDate()));
+        }
+        if (Objects.nonNull(model.getEndDate())){
+            queryWrapper.le( Goodsorder::getPayDate, Utils.Date.getEnd(model.getEndDate()));
+        }
+
+        queryWrapper.eq(model.getPayStatus() !=null,Goodsorder::getPayStatus,model.getPayStatus());
+        queryWrapper.like(model.getCode() !=null,Goodsorder::getCode,model.getCode());
+        queryWrapper.like(model.getId() !=null,Goodsorder::getId,model.getId());
+        queryWrapper.eq(model.getStatus() !=null,Goodsorder::getStatus,model.getStatus());
+        queryWrapper.like(model.getOnlineOrderid() !=null,Goodsorder::getOnlineOrderid,model.getOnlineOrderid());
+        queryWrapper.like(model.getOpenid() !=null,Member::getOpenid,model.getOpenid());
+        queryWrapper.eq(Goodsorder::getIsdeleted,Constants.ZERO);
+        queryWrapper.eq(Goodsorder::getPayStatus,Constants.ONE);
+        queryWrapper.orderByAsc(Goodsorder::getPayDate);
+        //type 1 涓洪��娆捐褰�
+        if (Objects.equals(model.getType(),Constants.ONE)){
+            queryWrapper.exists("select * from refund re where re.obj_id = t.id");
+        }
         IPage<GoodsorderExportVO> goodsorderExportVOIPage = goodsorderJoinMapper.selectJoinPage(page, GoodsorderExportVO.class, queryWrapper);
         if (!CollectionUtils.isEmpty(goodsorderExportVOIPage.getRecords())){
             goodsorderExportVOIPage.getRecords().forEach(s->{
@@ -623,7 +654,8 @@
                 if(Constants.formatIntegerNum(goodsorder.getStatus()) == Constants.GOODSORDER_STATUS.CLOSE.getKey()){
                     //宸茬粨绠�
                     model.setClosedNum(model.getClosedNum()+goodsorder.getCountNum());
-                    model.setClosedMoney(model.getClosedMoney().add(Constants.translateMoney(goodsorder.getCloseMoney())));
+                    //淇敼bug 缁撶畻鏀跺叆 = 鏀粯閲戦-閫�娆�-鏈粨绠�
+//                    model.setClosedMoney(model.getClosedMoney().add(Constants.translateMoney(goodsorder.getCloseMoney())));
 
                     model.setPayNum(model.getPayNum()+goodsorder.getCountNum());
                     model.setPayMoney(model.getPayMoney().add(Constants.translateMoney(goodsorder.getMoney())));
@@ -652,6 +684,7 @@
             model.setRefundNum(Constants.formatIntegerNum(refund.getCountNum()));
             model.setRefundMoney(Constants.translateMoney(Constants.formatDecimalNum(refund.getMoney())));
         }
+        model.setClosedMoney(model.getPayMoney().subtract(model.getRefundMoney()).subtract(model.getUnClosedMoney()));
         return  model;
     }
     @Override

--
Gitblit v1.9.3