From 801956f3b52d092e88d6c85b809383a1c1f71a05 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期二, 10 十月 2023 08:59:51 +0800
Subject: [PATCH] #pgsql 基础配置 字段值跟新上传

---
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 5 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 9ad6314..2245919 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
@@ -23,6 +23,7 @@
 import com.doumee.dao.business.model.Goodsorder;
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.MemberRides;
+import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
 import com.doumee.dao.business.web.response.*;
 import com.doumee.dao.business.join.MemberRidesJoinMapper;
 import com.doumee.dao.business.model.*;
@@ -341,7 +342,59 @@
         }
     }
 
+    @Override
+    public GoodsorderTotalDataVO getTotalData(Goodsorder param){
 
+            GoodsorderTotalDataVO model = new GoodsorderTotalDataVO();
+            model.setPayMoney(new BigDecimal(0.00));
+            model.setRefundMoney(new BigDecimal(0.00));
+            model.setClosedMoney(new BigDecimal(0.00));
+            model.setUnClosedMoney(new BigDecimal(0.00));
+            model.setClosedNum(0);
+            model.setUnClosedNum(0);
+            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()));
+            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" );
+            //鎸夎鍗曠姸鎬佸垎缁勭粺璁�
+            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.setPayNum(model.getPayNum()+goodsorder.getCountNum());
+                    model.setPayMoney(model.getPayMoney().add(Constants.formatDecimalNum(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.setPayNum(model.getPayNum()+goodsorder.getCountNum());
+                    model.setPayMoney(model.getPayMoney().add(Constants.formatDecimalNum(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().eq(Refund::getIsdeleted, Constants.ZERO);
+        queryWrapper2.select( "count(id) as count_num"
+                ,"sum(money) as money" );
+        //缁熻閫�娆炬暟鎹�
+        Refund  refund = refundMapper.selectOne(queryWrapper2.last("limit 1"));
+        if(refund !=null){
+            model.setRefundNum(Constants.formatIntegerNum(refund.getCountNum()));
+            model.setRefundMoney( Constants.formatDecimalNum(refund.getMoney()));
+        }
+        return  model;
+    }
     @Override
     public RidesDetailResponse getRidesDetailResponse(String id) {
 
@@ -350,11 +403,6 @@
                 .eq(MemberRides::getOrdreId,id);
         List<MemberRides> memberRides = memberRidesMapper.selectList(wrapper);
         if (!CollectionUtils.isEmpty(memberRides)){
-            boolean exitUnBack = memberRides.stream().anyMatch(s -> !Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey().equals(s.getStatus()));
-            if (exitUnBack){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璁㈠崟鏈夋湭瀹屾垚鐨勯獞琛岋紝鏃犳硶寮哄埗缁撶畻");
-            }
-
             PricingRuleDTO pricingRule = pricingRuleService.getPricingRule(memberRides);
             RidesDetailResponse ridesDetailResponse = new RidesDetailResponse();
             List<MemberRidesResponse> collect = memberRides.stream().map(s -> {

--
Gitblit v1.9.3