puzhibing
2023-08-16 d5b3e5a413bcfccba294793ee093722f31b2448a
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBranchOfficeServiceImpl.java
@@ -5,6 +5,7 @@
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.modular.system.controller.resp.TBranchOfficeResp;
import com.stylefeng.guns.modular.system.dao.*;
import com.stylefeng.guns.modular.system.enums.StatusEnum;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.ITBranchOfficeService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -75,7 +76,8 @@
        // 优惠券数据,,,通过订单找到该区域的下单人,找出优惠券信息
        List<Integer> userIds = orders.stream().map(TOrder::getUserId).collect(Collectors.toList());
        List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>().in("userId", userIds));
        List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>().eq("objectId", tBranchOfficeId)
                .eq("roleType",2));
        // 优惠券有效数量
        int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();
        // 过期数量
@@ -125,6 +127,8 @@
        if(Objects.nonNull(status)){
            wrapper.eq("status",status);
        }
        wrapper.ne("status", StatusEnum.DELETE.getCode());
        wrapper.orderBy("createTime",false);
        // 判断代理商 分公司
        Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
        Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
@@ -150,9 +154,13 @@
    public void queryOtherInfo(List<TBranchOfficeResp> tBranchOfficeRespList) {
        List<TOrder> orders = tOrderMapper.selectList(new EntityWrapper<TOrder>());
        for (TBranchOfficeResp tBranchOfficeResp : tBranchOfficeRespList) {
            List<TOrder> orderList = orders.stream().filter(t -> tBranchOfficeResp.getId().equals(t.getBranchOfficeId())).collect(Collectors.toList());
            List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>().eq("objectId", tBranchOfficeResp.getId())
                    .eq("roleType",2));
            if(!CollectionUtils.isEmpty(orderList)){
@@ -163,29 +171,31 @@
                // 优惠券数据,,,通过订单找到该区域的下单人,找出优惠券信息
                List<Integer> userIds = orderList.stream().map(TOrder::getUserId).collect(Collectors.toList());
                List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>().in("userId", userIds));
                // 优惠券有效数量
                int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();
                // 过期数量
                int expireCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getExpireCount).sum();
                // 总数量
                int totalCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
                // 已使用优惠券;总数量减去有效数量
                tBranchOfficeResp.setUsedCount(totalCount-validCount-expireCount);
            }
                // 已发放优惠券
                tBranchOfficeResp.setTotalCount(totalCount);
            // 优惠券有效数量
            int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum();
            // 过期数量
            int expireCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getExpireCount).sum();
            // 总数量
            int totalCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum();
            // 已使用优惠券;总数量减去有效数量
            tBranchOfficeResp.setUsedCount(totalCount-validCount-expireCount);
                BigDecimal orderPriceCount = new BigDecimal("0");
            // 已发放优惠券
            tBranchOfficeResp.setTotalCount(totalCount);
                // 累计优惠券金额
                for (TUserToCoupon tUserToCoupon : tUserToCoupons) {
                    TCoupon tCoupon = tCouponMapper.selectById(tUserToCoupon.getCouponId());
            BigDecimal orderPriceCount = BigDecimal.ZERO;
            // 累计优惠券金额
            for (TUserToCoupon tUserToCoupon : tUserToCoupons) {
                TCoupon tCoupon = tCouponMapper.selectById(tUserToCoupon.getCouponId());
                if(Objects.nonNull(tCoupon)){
                    BigDecimal price = tCoupon.getCouponPreferentialAmount().multiply(new BigDecimal(tUserToCoupon.getCouponTotal()));
                    orderPriceCount = orderPriceCount.add(price);
                }
                tBranchOfficeResp.setOrderPriceCount(orderPriceCount);
            }
            tBranchOfficeResp.setOrderPriceCount(orderPriceCount);
            // 司机数量
            Integer driverCount = tDriverMapper.selectCount(new EntityWrapper<TDriver>().eq("branchOfficeId", tBranchOfficeResp.getId()));
            tBranchOfficeResp.setDriverCount(driverCount);
@@ -218,10 +228,11 @@
            }
            tBranchOffice.setDistrictName(area.getName());
            tBranchOffice.setDistrictCode(area.getCode());
        }else {
            tBranchOffice.setDistrictName("");
            tBranchOffice.setDistrictCode("");
        }
        /*else {
            tBranchOffice.setDistrictName(city.getName());
            tBranchOffice.setDistrictCode(city.getCode());
        }*/
        // 通过省市查询代理商
        List<TAgent> tAgent = tAgentMapper.selectList(new EntityWrapper<TAgent>().eq("provinceCode", province.getCode())