From 3d58925015cfd3da9a899d440333437d6f7c80ac Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 06 十一月 2023 17:16:24 +0800
Subject: [PATCH] bug

---
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |  130 +++++++++++++++++++++++++++----------------
 1 files changed, 82 insertions(+), 48 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 f18226c..a5e4e76 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
@@ -20,6 +20,7 @@
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.MemberRidesMapper;
 import com.doumee.dao.business.join.GoodsorderJoinMapper;
+import com.doumee.dao.business.join.RefundJoinMapper;
 import com.doumee.dao.business.model.Bikes;
 import com.doumee.dao.business.model.Goodsorder;
 import com.doumee.dao.business.model.Member;
@@ -86,6 +87,8 @@
 
     @Autowired
     private RefundMapper refundMapper;
+    @Autowired
+    private RefundJoinMapper refundJoinMapper;
 
     @Autowired
     private MemberRidesJoinMapper memberRidesJoinMapper;
@@ -170,39 +173,59 @@
     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 = 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()));
+        IPage<GoodsorderExportVO> goodsorderExportVOIPage = null;
+        if (Constants.formatIntegerNum(model.getType())==Constants.ZERO){
+            MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
+            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);
+            goodsorderExportVOIPage = goodsorderJoinMapper.selectJoinPage(page, GoodsorderExportVO.class, queryWrapper);
+        }else{
+            MPJLambdaWrapper<Refund> queryWrapper = new MPJLambdaWrapper<>();
+            queryWrapper.selectAs(Refund::getMoney,GoodsorderExportVO::getRefundMoney);
+            queryWrapper.selectAs(Refund::getDoneDate,GoodsorderExportVO::getRefundDate);
+            queryWrapper.selectAs(Goodsorder::getCloseMoney,GoodsorderExportVO::getCloseMoney);
+            queryWrapper.selectAs(Goodsorder::getMoney,GoodsorderExportVO::getMoney);
+            queryWrapper.selectAs(Goodsorder::getId,GoodsorderExportVO::getId);
+            queryWrapper.selectAs(Goodsorder::getCode,GoodsorderExportVO::getCode);
+            queryWrapper.selectAs(Goodsorder::getPayDate,GoodsorderExportVO::getPayDate);
+            queryWrapper.selectAs(Member::getOpenid, GoodsorderExportVO::getOpenid);
+            queryWrapper.leftJoin(Goodsorder.class, Goodsorder::getId  ,Refund::getObjId);
+            queryWrapper.leftJoin(Goodsorder.class, Goodsorder::getId  ,Refund::getObjId);
+            queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
+            //鏃堕棿娈电瓫閫�
+            if (Objects.nonNull(model.getStartDate())){
+                queryWrapper.ge(Refund::getDoneDate, Utils.Date.getStart(model.getStartDate()));
+            }
+            if (Objects.nonNull(model.getEndDate())){
+                queryWrapper.le( Refund::getDoneDate, Utils.Date.getEnd(model.getEndDate()));
+            }
+            queryWrapper.eq(Refund::getStatus,Constants.TWO);//閫�娆惧畬鎴�
+            queryWrapper.orderByAsc(Refund::getDoneDate);
+            goodsorderExportVOIPage = refundJoinMapper.selectJoinPage(page, GoodsorderExportVO.class, queryWrapper);
         }
 
-        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->{
                 s.setMoney(Constants.translateMoney(s.getMoney()));
@@ -215,8 +238,35 @@
     @Override
     public   List<GoodsorderExportVO> findExportAccountDetailPage(Goodsorder model){
         model.setPayStatus(Constants.ONE); //鍙煡璇㈡敮浠樻垚鍔熺殑
-        MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(model);
-        List<GoodsorderExportVO> goodsorderList = goodsorderJoinMapper.selectJoinList(GoodsorderExportVO.class,queryWrapper);
+        List<GoodsorderExportVO> goodsorderList = null;
+        if(Constants.formatIntegerNum(model.getType())==Constants.ZERO){
+            MPJLambdaWrapper<Goodsorder> queryWrapper = initQueryParamByModel(model);
+           goodsorderList = goodsorderJoinMapper.selectJoinList(GoodsorderExportVO.class,queryWrapper);
+
+        }else{
+            MPJLambdaWrapper<Refund> queryWrapper = new MPJLambdaWrapper<>();
+            queryWrapper.selectAs(Refund::getMoney,GoodsorderExportVO::getRefundMoney);
+            queryWrapper.selectAs(Refund::getDoneDate,GoodsorderExportVO::getRefundDate);
+            queryWrapper.selectAs(Goodsorder::getCode,GoodsorderExportVO::getCode);
+            queryWrapper.selectAs(Goodsorder::getId,GoodsorderExportVO::getId);
+            queryWrapper.selectAs(Goodsorder::getPayDate,GoodsorderExportVO::getPayDate);
+            queryWrapper.selectAs(Goodsorder::getCloseMoney,GoodsorderExportVO::getCloseMoney);
+            queryWrapper.selectAs(Goodsorder::getMoney,GoodsorderExportVO::getMoney);
+            queryWrapper.selectAs(Member::getOpenid, GoodsorderExportVO::getOpenid);
+            queryWrapper.leftJoin(Goodsorder.class, Goodsorder::getId  ,Refund::getObjId);
+            queryWrapper.leftJoin(Goodsorder.class, Goodsorder::getId  ,Refund::getObjId);
+            queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);
+            //鏃堕棿娈电瓫閫�
+            if (Objects.nonNull(model.getStartDate())){
+                queryWrapper.ge(Refund::getDoneDate, Utils.Date.getStart(model.getStartDate()));
+            }
+            if (Objects.nonNull(model.getEndDate())){
+                queryWrapper.le( Refund::getDoneDate, Utils.Date.getEnd(model.getEndDate()));
+            }
+            queryWrapper.eq(Refund::getStatus,Constants.TWO);//閫�娆惧畬鎴�
+            queryWrapper.orderByAsc(Refund::getDoneDate);
+            goodsorderList = refundJoinMapper.selectJoinList(GoodsorderExportVO.class,queryWrapper);
+        }
         if (!CollectionUtils.isEmpty(goodsorderList)){
             goodsorderList.forEach(s->{
                 s.setMoney(Constants.translateMoney(s.getMoney()));
@@ -224,27 +274,11 @@
                 s.setRefundMoney(Constants.translateMoney(s.getRefundMoney()));
             });
         }
-       /*   List<GoodsorderExportVO> list = new ArrayList<>();
-        if(goodsorderList!=null){
-            for(Goodsorder order : goodsorderList){
-                GoodsorderExportVO vo = new GoodsorderExportVO();
-                vo.setId(order.getId());
-                vo.setCode(order.getCode());
-                vo.setOpenid(order.getMemberOpenid());
-                vo.setPayDate(order.getPayDate());
-                vo.setCloseDate(order.getCloseDate());
-                vo.setMoney(Constants.translateMoney(order.getMoney()));
-                vo.setCloseMoney(Constants.translateMoney(order.getCloseMoney()));
-                vo.setRefundDate(order.getRefundDate());
-                vo.setRefundMoney(Constants.translateMoney(order.getRefundMoney()));
-                list.add(vo);
-            }
-        }*/
         return goodsorderList;
     }
     private MPJLambdaWrapper<Goodsorder> initQueryParamByModel(Goodsorder model) {
-        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(model);
+        MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Goodsorder.class);
         queryWrapper.selectAs(Member::getOpenid, Goodsorder::getOpenid);
         queryWrapper.leftJoin(Member.class, Member::getId  ,Goodsorder::getMemberId);

--
Gitblit v1.9.3