From 1a0c0fc8b02415e919e17c0b6ffbf99d08dec8f5 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 07 四月 2023 17:40:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java |   36 ++++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
index 3ba7242..9c49cd6 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TAgentServiceImpl.java
@@ -1,11 +1,13 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.modular.system.controller.resp.TAgentResp;
 import com.stylefeng.guns.modular.system.dao.*;
 import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
 import com.stylefeng.guns.modular.system.enums.PayStatusEnum;
+import com.stylefeng.guns.modular.system.enums.StatusEnum;
 import com.stylefeng.guns.modular.system.enums.UserTypeEnum;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.ITAgentService;
@@ -19,6 +21,7 @@
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -67,6 +70,11 @@
             Date endTime = DateUtil.getDate_str4(split[1]);
             wrapper.between("createTime",startTime,endTime);
         }
+        // 判断是否为代理商
+        if(Objects.requireNonNull(ShiroKit.getUser()).getRoleType() == 3){
+            wrapper.eq("id",ShiroKit.getUser().getObjectId());
+        }
+        wrapper.ne("status", StatusEnum.DELETE.getCode());
         return wrapper;
     }
 
@@ -82,6 +90,7 @@
         model.addAttribute("principal",tAgent.getPrincipal());
         model.addAttribute("principalPhone",tAgent.getPrincipalPhone());
         model.addAttribute("email",tAgent.getEmail());
+        model.addAttribute("serviceCalls",tAgent.getServiceCalls());
         model.addAttribute("area",tAgent.getProvinceName()+tAgent.getCityName());
         // 订单信息
         // 订单总量
@@ -106,7 +115,7 @@
         }
         // 优惠券信息
         // 过滤代理商发放的优惠券
-        List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>().eq("agentId", tAgent.getId()));
+        List<TCoupon> tCoupons = tCouponMapper.selectList(new EntityWrapper<TCoupon>());
         model.addAttribute("issuedCoupon",tCoupons.size());
         // 司机信息
         // 司机数
@@ -143,15 +152,15 @@
 
             if(!CollectionUtils.isEmpty(tOrders)){
                 // 订单总量
-                List<TOrder> orderList = tOrders.stream().filter(order -> order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList());
+                List<TOrder> orderList = tOrders.stream().filter(order -> tAgent.getId().equals(order.getAgentId())).collect(Collectors.toList());
                 tAgentResp.setOrderSum(orderList.size());
                 // 过滤已完成和待评价订单,且支付金额在14元以上
                 List<TOrder> orders = tOrders.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()))
-                        && 0 < order.getPayMoney().compareTo(new BigDecimal("14")) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList());
+                        && 0 < order.getPayMoney().compareTo(new BigDecimal("14")) && tAgent.getId().equals(order.getAgentId())).collect(Collectors.toList());
                 tAgentResp.setValidOrder(orders.size());
                 // 过滤已使用优惠券
                 List<TOrder> usedCoupon = tOrders.stream().filter(order -> (order.getState().equals(OrderStateEnum.FINISH.getCode()) || order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()))
-                        && Objects.nonNull(order.getCouponId()) && order.getAgentId().equals(tAgent.getId())).collect(Collectors.toList());
+                        && Objects.nonNull(order.getCouponId()) && tAgent.getId().equals(order.getAgentId())).collect(Collectors.toList());
                 tAgentResp.setUsedCoupon(usedCoupon.size());
                 // 已使用优惠券金额求和,已使用优惠券id
                 List<Integer> usedCouponId = usedCoupon.stream().map(TOrder::getCouponId).collect(Collectors.toList());
@@ -162,13 +171,13 @@
 
             if(!CollectionUtils.isEmpty(tCoupons)){
                 // 过滤代理商发放的优惠券
-                List<TCoupon> coupons = tCoupons.stream().filter(coupon -> coupon.getAgentId().equals(tAgent.getId())).collect(Collectors.toList());
+                List<TCoupon> coupons = tCoupons.stream().filter(coupon -> tAgent.getId().equals(coupon.getAgentId())).collect(Collectors.toList());
                 tAgentResp.setIssuedCoupon(coupons.size());
             }
 
             if(!CollectionUtils.isEmpty(tDrivers)){
                 // 司机数
-                List<TDriver> drivers = tDrivers.stream().filter(driver -> driver.getAgentId().equals(tAgent.getId())).collect(Collectors.toList());
+                List<TDriver> drivers = tDrivers.stream().filter(driver -> tAgent.getId().equals(driver.getAgentId())).collect(Collectors.toList());
                 tAgentResp.setDriverCount(drivers.size());
                 // 司机充值计算
                 List<Integer> driverIds = drivers.stream().map(TDriver::getId).collect(Collectors.toList());
@@ -182,4 +191,19 @@
         }
         return tAgentRespList;
     }
+
+    @Override
+    public void getDataStatistics(Integer agentId, Model model) {
+        // 代理商总数
+        Integer agentTotal = tAgentMapper.selectCount(new EntityWrapper<TAgent>()
+                .eq("id", agentId));
+        // 代理商最近一个月新增数量
+        LocalDate now = LocalDate.now();
+        LocalDate localDate = now.plusMonths(1);
+        Integer agentMonthTotal = tAgentMapper.selectCount(new EntityWrapper<TAgent>()
+                .eq("id", agentId)
+                .between("createTime", localDate, now));
+        model.addAttribute("agentTotal",agentTotal);
+        model.addAttribute("agentMonthTotal",agentMonthTotal);
+    }
 }

--
Gitblit v1.7.1