From bd57b7c6e2307d6dfb07d778adfefc13c1afbffe Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 06 二月 2026 11:48:44 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 97 insertions(+), 8 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java
index 0a6262c..4f6291f 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/WorkbenchServiceImpl.java
@@ -23,6 +23,7 @@
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.system.vo.BusinessDataCountVO;
 import com.doumee.dao.system.vo.CountDataVO;
+import com.doumee.dao.system.vo.NumberDataCountVO;
 import com.doumee.dao.web.dto.CollectDTO;
 import com.doumee.dao.web.dto.MemberDTO;
 import com.doumee.dao.web.dto.MultiFileDTO;
@@ -60,10 +61,16 @@
     @Autowired
     private GoodsorderMapper goodsorderMapper;
     @Autowired
+    private MemberCouponMapper memberCouponMapper;
+    @Autowired
+    private InviteRecordMapper inviteRecordMapper;
+    @Autowired
+    private IntegralMapper integralMapper;
+    @Autowired
     private GoodsorderDetailMapper goodsorderDetailMapper;
     @Override
     public List<BusinessDataCountVO> shopRankList10(CountDataDTO param) {
-        Date startDate = null,endDate = null;
+ /*       Date startDate = null,endDate = null;
         if(param.getYear()!=null && param.getMonth()!=null){
             List<Date> dList = DateUtil.getDatePeriodByYearAndMonth(param.getYear(),param.getMonth()-1);
             startDate = dList.get(0);
@@ -72,7 +79,7 @@
             List<Date> dList = DateUtil.getDatePeriodByYear(param.getYear());
             startDate = dList.get(0);
             endDate = dList.get(1);
-        }
+        }*/
         //缁熻璁㈠崟閿�閲忓拰閿�鍞闆嗗悎
         List<BusinessDataCountVO> list1 =  goodsorderMapper.selectJoinList(BusinessDataCountVO.class,new MPJLambdaWrapper<Goodsorder>()
                 .selectAs(Shop::getName,BusinessDataCountVO::getName)
@@ -80,8 +87,8 @@
                 .select("(select count(t.id) )",BusinessDataCountVO::getNum)
                 .select("(select sum(t.total_price) )",BusinessDataCountVO::getPrice)
                 .leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId)
-                .ge(startDate!=null,Goodsorder::getCreateDate,startDate)
-                .ne(endDate!=null,Goodsorder::getCreateDate,endDate)
+                .apply(param.getYear()!=null,"YEAR ( t.CREATE_DATE )="+param.getYear() )
+                .apply(param.getYear()!=null && param.getMonth()!=null,"MONTH ( t.CREATE_DATE )="+param.getMonth() )
                 .eq(Goodsorder::getIsdeleted,Constants.ZERO)
                 .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey(),Constants.OrderStatus.REFUND.getKey())
                 .groupBy(Goodsorder::getDistributionShopId)
@@ -94,7 +101,7 @@
     }
     @Override
     public List<BusinessDataCountVO> goodsRankList10(CountDataDTO param) {
-        Date startDate = null,endDate = null;
+ /*       Date startDate = null,endDate = null;
         if(param.getYear()!=null && param.getMonth()!=null){
             List<Date> dList = DateUtil.getDatePeriodByYearAndMonth(param.getYear(),param.getMonth()-1);
             startDate = dList.get(0);
@@ -103,7 +110,7 @@
             List<Date> dList = DateUtil.getDatePeriodByYear(param.getYear());
             startDate = dList.get(0);
             endDate = dList.get(1);
-        }
+        }*/
         //缁熻璁㈠崟閿�閲忓拰閿�鍞闆嗗悎
         List<BusinessDataCountVO> list1 =  goodsorderDetailMapper.selectJoinList(BusinessDataCountVO.class,new MPJLambdaWrapper<GoodsorderDetail>()
                 .selectAs(Goods::getName,BusinessDataCountVO::getName)
@@ -111,8 +118,10 @@
                 .select("(select  sum(ifnull(t.price,0) * ifnull(t.goods_num,0)))",BusinessDataCountVO::getPrice)
                 .leftJoin(Goodsorder.class,Goodsorder::getId,GoodsorderDetail::getOrderId)
                 .leftJoin(Goods.class,Goods::getId,GoodsorderDetail::getGoodsId)
-                .ge(startDate!=null,Goodsorder::getCreateDate,startDate)
-                .ne(endDate!=null,Goodsorder::getCreateDate,endDate)
+//                .ge(startDate!=null,Goodsorder::getCreateDate,startDate)
+//                .ne(endDate!=null,Goodsorder::getCreateDate,endDate)
+                .apply(param.getYear()!=null,"YEAR ( t1.CREATE_DATE )="+param.getYear() )
+                .apply(param.getYear()!=null && param.getMonth()!=null,"MONTH ( t1.CREATE_DATE )="+param.getMonth() )
                 .eq(Goodsorder::getIsdeleted,Constants.ZERO)
                 .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey(),Constants.OrderStatus.REFUND.getKey())
                 .groupBy(GoodsorderDetail::getGoodsId)
@@ -122,6 +131,86 @@
         return list1;
     }
     @Override
+    public    NumberDataCountVO couponData(CountDataDTO param){
+        NumberDataCountVO data = new NumberDataCountVO();
+        //鍙戞斁绫诲瀷缁熻
+        List<MemberCoupon> r1 =  memberCouponMapper.selectList(new MPJLambdaWrapper<MemberCoupon>()
+                .select("(select count(t.id) )",MemberCoupon::getNum)
+                .select( MemberCoupon::getCouponType)
+                .apply(param.getYear()!=null,"YEAR ( t.CREATE_DATE )="+param.getYear() )
+                .eq(MemberCoupon::getIsdeleted,Constants.ZERO)
+                .groupBy(MemberCoupon::getCouponType));
+        if(r1!=null){
+            for(MemberCoupon c : r1){
+                if(Constants.equalsInteger(c.getCouponType(),Constants.ZERO)){
+                    data.setNum(Constants.formatLongNum(c.getNum()));//婊″噺鍒�
+                }else{
+                    data.setNum1(Constants.formatLongNum(c.getNum()));//婊″噺鍒�
+                }
+            }
+        }
+        //宸蹭娇鐢�
+        Long r2 =  memberCouponMapper.selectCount(new MPJLambdaWrapper<MemberCoupon>()
+                .apply(param.getYear()!=null,"YEAR ( t.use_Date )="+param.getYear() )
+                .eq(MemberCoupon::getIsdeleted,Constants.ZERO));
+        data.setUseNum(Constants.formatLongNum(r2));
+        //浼樻儬閲戦鍜屼氦鏄撻噾棰�
+        Goodsorder r3 =  goodsorderMapper.selectOne(new MPJLambdaWrapper<Goodsorder>()
+                .select("(select sum(t.total_price) )",Goodsorder::getTotalPrice)
+                .select("(select sum(t.coupon_price) )",Goodsorder::getCouponPrice)
+                .apply(param.getYear()!=null,"YEAR ( t.CREATE_DATE )="+param.getYear() )
+                .eq(Goodsorder::getIsdeleted,Constants.ZERO)
+                .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey(),Constants.OrderStatus.REFUND.getKey()) );
+        if(r3!=null){
+            data.setPrice(Constants.formatBigdecimal(r3.getCouponPrice()));
+            data.setOrderPrice(Constants.formatBigdecimal(r3.getTotalPrice()));
+        }
+        return  data;
+
+    }
+    @Override
+    public    NumberDataCountVO integralData(CountDataDTO param){
+        NumberDataCountVO data = new NumberDataCountVO();
+        //鍙戞斁绉垎绫诲瀷缁熻
+        List<Integral> r1 =  integralMapper.selectList(new MPJLambdaWrapper<Integral>()
+                .select("(select sum(t.num) )",Integral::getNum)
+                .select( Integral::getObjType)
+                .apply(param.getYear()!=null,"YEAR ( t.CREATE_DATE )="+param.getYear() )
+                .eq(Integral::getIsdeleted,Constants.ZERO)
+                .eq(Integral::getType,Constants.ZERO)
+                .in(Integral::getObjType,Constants.IntegralObjType.REGISTER.getKey(),
+                        Constants.IntegralObjType.INVITENEWUSER.getKey(),
+                        Constants.IntegralObjType.ORDER_DONATE.getKey(),
+                        Constants.IntegralObjType.SYSTEM_RECHARGE.getKey())
+                .groupBy(Integral::getObjType));
+        if(r1!=null){
+            for(Integral c : r1){
+                if(Constants.equalsInteger(c.getObjType(),Constants.IntegralObjType.SYSTEM_RECHARGE.getKey())){
+                    data.setNum(Constants.formatBigdecimal(c.getNum()).longValue());//骞冲彴娣诲姞
+                }else if(Constants.equalsInteger(c.getObjType(),Constants.IntegralObjType.INVITENEWUSER.getKey())){
+                    data.setNum1(Constants.formatBigdecimal(c.getNum()).longValue());//閭�璇�
+                }else if(Constants.equalsInteger(c.getObjType(),Constants.IntegralObjType.ORDER_DONATE.getKey())){
+                    data.setNum2(Constants.formatBigdecimal(c.getNum()).longValue());//娑堣垂杩斿埄
+                }else if(Constants.equalsInteger(c.getObjType(),Constants.IntegralObjType.REGISTER.getKey())){
+                    data.setNum3(Constants.formatBigdecimal(c.getNum()).longValue());//娉ㄥ唽
+                }
+            }
+        }
+        //浼樻儬閲戦鍜屼氦鏄撻噾棰�
+        Goodsorder r3 =  goodsorderMapper.selectOne(new MPJLambdaWrapper<Goodsorder>()
+                .select("(select sum(t.integral) )",Goodsorder::getIntegral)
+                .select("(select sum(t.use_integral) )",Goodsorder::getUseIntegral)
+                .apply(param.getYear()!=null,"YEAR ( t.CREATE_DATE )="+param.getYear() )
+                .eq(Goodsorder::getIsdeleted,Constants.ZERO)
+                .in(Goodsorder::getStatus,Constants.OrderStatus.DONE.getKey(),Constants.OrderStatus.REFUND.getKey()) );
+        if(r3!=null){
+            data.setUseNum(Constants.formatBigdecimal(r3.getUseIntegral()).longValue());
+            data.setPrice(Constants.formatBigdecimal(r3.getIntegral()));
+        }
+        return  data;
+
+    }
+    @Override
     public BusinessDataCountVO businessData(CountDataDTO param) {
         BusinessDataCountVO data = new BusinessDataCountVO();
         int dataType = param.getDateType();//0浠婃棩 1杩戜竷鏃� 2杩�30鏃� 3杩�1骞�

--
Gitblit v1.9.3