Pu Zhibing
2024-11-09 f85ea638d98b302c590e65f00e6912d91601613c
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
@@ -211,33 +211,50 @@
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 已使用优惠券记录wrapper
           between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
                    .isNotNull("couponMoney")
                   .between("insertTime", start, end);
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6);
                    .eq("type",1)
                    .ne("purpose", 6)
                    .between("insertTime", start, end);
            // 司机提现
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("type",1)
                    .eq("userType", 2)
                    .between("insertTime", start, end);
            ;
        }else{
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
@@ -276,6 +293,7 @@
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6)
                    .eq("type",1)
                    .between("createTime", start, end);
@@ -368,13 +386,13 @@
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId());
            BigDecimal temp = new BigDecimal(BigInteger.ZERO);
            for (int i = 0; i < objects.size(); i++) {
                String string = objects.getJSONObject(i).getString("money");
                temp = temp.add(new BigDecimal(string));
            if (userRedPacketRecord.getRedPacketMoney()==null){
                continue;
            }
            grantVO.setAmount(temp.toString());
            if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){
                continue;
            }
            grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
@@ -387,13 +405,13 @@
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId());
            BigDecimal temp = new BigDecimal(BigInteger.ZERO);
            for (int i = 0; i < objects.size(); i++) {
                String string = objects.getJSONObject(i).getString("money");
                temp = temp.add(new BigDecimal(string));
            if (userRedPacketRecord.getRedPacketMoney()==null){
                continue;
            }
            grantVO.setAmount(temp.toString());
            if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){
                continue;
            }
            grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
@@ -573,6 +591,7 @@
        List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>();
        // 司机提现
        List<TPubWithdrawal> driverWithdrawal = new ArrayList<>();
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
                ;
        // 专车wrapper
@@ -594,40 +613,55 @@
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>()
                ;
        // 司机提现
        Wrapper<BalanceUsageRecord> between44 = new EntityWrapper<BalanceUsageRecord>()
                ;
        if (time == 5 && !StringUtils.hasLength(insertTime)){
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("type",1)
                    .eq("userType", 2);
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6);
                    .eq("type",1)
                    .ne("purpose", 6)
                    .between("insertTime", start, end);
            // 司机提现
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("type",1)
                    .eq("userType", 2)
                    .between("insertTime", start, end);
            ;
        }else{
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
@@ -665,9 +699,12 @@
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6)
                    .eq("type",1)
                    .between("createTime", start, end);
        }
        }
        // 司机提现wrapper
        if (type!=null){
            switch (type){
                case 1:
@@ -683,8 +720,6 @@
                case 3:
                    // 司机消费记录
                    balanceUsageRecords = balanceUsageRecordService.selectList(between4);
                    // 司机提现记录
                    driverWithdrawal = pubWithdrawalService.selectList(driverWrapper);
                    break;
                case 4:
@@ -727,9 +762,6 @@
        BigDecimal driverWithdrawal1 = new BigDecimal("0");
        // 查询已使用折扣总额
        for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
            if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){
                continue;
            }
            discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString()));
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
@@ -743,9 +775,6 @@
            res.add(grantVO);
        }
        for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) {
            if (tOrderPrivateCar.getState() != 9 &&tOrderPrivateCar.getState() != 8){
                continue;
            }
            discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString()));
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
@@ -758,56 +787,53 @@
            grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
            res.add(grantVO);
        }
        // 查询已领取红包总额
        // 查询已使用红包总额
        for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) {
            if (userRedPacketRecord.getState() != 9 &&userRedPacketRecord.getState() != 8){
                continue;
            }
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId());
            BigDecimal temp = new BigDecimal(BigInteger.ZERO);
            for (int i = 0; i < objects.size(); i++) {
                String string = objects.getJSONObject(i).getString("money");
                temp = temp.add(new BigDecimal(string));
//            JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId());
//            BigDecimal temp = new BigDecimal(BigInteger.ZERO);
//            for (int i = 0; i < objects.size(); i++) {
//                String string = objects.getJSONObject(i).getString("money");
//                temp = temp.add(new BigDecimal(string));
//            }
            if (userRedPacketRecord.getRedPacketMoney()==null){
                continue;
            }
            grantVO.setAmount(temp.toString());
            if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){
                continue;
            }
            grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
            }
            grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum());
            res.add(grantVO);
            redPackage = redPackage.add(new BigDecimal(temp.toString()));
            redPackage = redPackage.add(userRedPacketRecord.getRedPacketMoney());
        }
        for (TOrderLogistics userRedPacketRecord : userRedPacketRecords1) {
            if (userRedPacketRecord.getState() != 9 &&userRedPacketRecord.getState() != 8){
                continue;
            }
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            JSONArray objects = JSONArray.parseArray(userRedPacketRecord.getRedPacketId());
            BigDecimal temp = new BigDecimal(BigInteger.ZERO);
            for (int i = 0; i < objects.size(); i++) {
                String string = objects.getJSONObject(i).getString("money");
                temp = temp.add(new BigDecimal(string));
            if (userRedPacketRecord.getRedPacketMoney()==null){
                continue;
            }
            grantVO.setAmount(temp.toString());
            if (userRedPacketRecord.getRedPacketMoney().compareTo(new BigDecimal("0"))==0){
                continue;
            }
            grantVO.setAmount(userRedPacketRecord.getRedPacketMoney().toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
            }
            grantVO.setRemark("订单号:"+userRedPacketRecord.getOrderNum());
            res.add(grantVO);
            redPackage = redPackage.add(new BigDecimal(temp.toString()));
            redPackage = redPackage.add(new BigDecimal(userRedPacketRecord.getPayMoney().toString()));
        }
        // 查询已领取优惠券总额
        for (TOrderPrivateCar userCouponRecord : userCouponRecords) {
            if (userCouponRecord.getState() != 9 &&userCouponRecord.getState() != 8){
                continue;
            }
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime()));
            grantVO.setType("优惠券");
@@ -817,13 +843,10 @@
                grantVO.setName(tUser.getNickName());
            }
            grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum());
            coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString()));
            coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString()));
            res.add(grantVO);
        }
        for (TOrderLogistics userCouponRecord : userCouponRecords1) {
            if (userCouponRecord.getState() != 9 &&userCouponRecord.getState() != 8){
                continue;
            }
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userCouponRecord.getInsertTime()));
            grantVO.setType("优惠券");
@@ -833,12 +856,11 @@
                grantVO.setName(tUser.getNickName());
            }
            grantVO.setRemark("订单号:"+userCouponRecord.getOrderNum());
            coupon = coupon.add(new BigDecimal(userCouponRecord.getCouponMoney().toString()));
            coupon = coupon.add(new BigDecimal(userCouponRecord.getPayMoney().toString()));
            res.add(grantVO);
        }
        // 司机消费奖励
        for (BalanceUsageRecord balanceUsageRecord : balanceUsageRecords) {
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(balanceUsageRecord.getCreateTime()));
            grantVO.setType("司机奖励");
@@ -886,12 +908,14 @@
            driverWithdrawal1 = driverWithdrawal1.add(new BigDecimal(balanceUsageRecord.getMoney().toString()));
            res.add(grantVO);
        }
        // 总额
        total = total.add(redPackage).add(coupon).add(discount).add(driverConsume).add(driverWithdrawal1);
        // 已使用司机奖励合计
        driver = driverConsume.add(driverWithdrawal1);
        UseMoneyVO useMoneyVO = new UseMoneyVO();
        useMoneyVO.setTotal(total.add(driver));
        useMoneyVO.setTotal(total);
        useMoneyVO.setDiscount(discount);
        useMoneyVO.setRedPackage(redPackage);
        useMoneyVO.setCoupon(coupon);
@@ -901,6 +925,8 @@
        return useMoneyVO;
    }
    @Autowired
    private ISysRedPacketRecordService sysRedPacketRecordService;
    /**
     * 发放补贴统计
     */
@@ -1147,10 +1173,11 @@
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
            }
            if (userRedPacketRecord.getRedPacketActivityId() == null){
            if (userRedPacketRecord.getIsGrant() == 1){
                // 后台发放的红包
                grantVO.setRemark("后台指定派发");
                grantVO.setRemark("指定发放");
            }
            UserActivityRedenvelope userActivityRedenvelope =
                    userActivityRedenvelopeService.selectById(userRedPacketRecord.getRedPacketActivityId());
            if (userActivityRedenvelope!=null){