无关风月
2024-07-22 0eb94b78e462484bfe92a5c5967eaa0ac0d83fd5
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TSubsidyController.java
@@ -1,5 +1,7 @@
package com.stylefeng.guns.modular.system.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -21,6 +23,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.temporal.TemporalAdjusters;
@@ -86,6 +89,17 @@
    private ISysCouponRecordService sysCouponRecordService;
    @Autowired
    private IUserActivityDiscount1Service userActivityDiscount1Service;
    public static void main(String[] args) {
        String temp = "[{\"money\":14.46,\"id\":91},{\"money\":1,\"id\":90}]";
        JSONArray objects = JSONArray.parseArray(temp);
        BigDecimal temp1 = new BigDecimal(BigInteger.ZERO);
        for (int i = 0; i < objects.size(); i++) {
            String string = objects.getJSONObject(i).getString("money");
            temp1 = temp1.add(new BigDecimal(string));
        }
        System.err.println(temp1);
    }
    /**
     * 使用补贴统计
     */
@@ -168,48 +182,107 @@
        List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>();
        // 司机提现
        List<BalanceUsageRecord> driverWithdrawal = new ArrayList<>();
        // 司机提现wrapper
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
                .eq("state", 2)
                .eq("userType", 2)
                .between("handleTime", start, end);
                ;
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("activityId")
                .isNotNull("discountMoney")
                .between("insertTime", start, end);
                ;
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                .isNotNull("activityId")
                .isNotNull("discountMoney")
                .between("insertTime", start, end);
                ;
        // 已使用优惠券记录wrapper
        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("couponId")
                .isNotNull("couponMoney")
                .between("insertTime", start, end);
                ;
        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>()
                .isNotNull("couponId")
                .isNotNull("couponMoney")
                .between("insertTime", start, end);
                ;
        // 已使用红包记录wrapper
        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("redPacketId")
                .isNotNull("redPacketMoney")
                .between("insertTime", start, end);
                ;
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>()
                .isNotNull("redPacketId")
                .isNotNull("redPacketMoney")
                .between("insertTime", start, end);
                ;
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>()
                .ne("purpose", 6)
                .between("createTime", start, end);
                ;
        // 司机提现
        Wrapper<BalanceUsageRecord> between44 = new EntityWrapper<BalanceUsageRecord>()
                .eq("purpose", 6)
                .between("createTime", start, end);
                ;
        if (time!=null && time == 5){
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("userType", 2)
                    ;
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
            // 已使用优惠券记录wrapper
           between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6);
            // 司机提现
            between44 = new EntityWrapper<BalanceUsageRecord>()
                    .eq("purpose", 6);
        }else{
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("userType", 2)
                    .between("handleTime", start, end);
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 小件物流wrapper
             between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6)
                    .between("createTime", start, end);
            // 司机提现
            between44 = new EntityWrapper<BalanceUsageRecord>()
                    .eq("purpose", 6)
                    .between("createTime", start, end);
        }
        // 司机提现wrapper
        if (type!=null){
            switch (type){
                case 1:
@@ -278,7 +351,7 @@
                grantVO.setName(tUser.getNickName());
            }
            grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
            res.add(grantVO);
        }
        for (TOrderLogistics tOrderPrivateCar : tOrderLogistics) {
            discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString()));
@@ -291,13 +364,20 @@
                grantVO.setName(tUser.getNickName());
            }
            grantVO.setRemark("订单号:"+tOrderPrivateCar.getOrderNum());
            res.add(grantVO);
        }
        // 查询已领取红包总额
        // 查询已使用红包总额
        for (TOrderPrivateCar userRedPacketRecord : userRedPacketRecords) {
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            grantVO.setAmount(userRedPacketRecord.getPayMoney().toString());
            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));
            }
            grantVO.setAmount(temp.toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
@@ -310,7 +390,13 @@
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            grantVO.setAmount(userRedPacketRecord.getPayMoney().toString());
            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));
            }
            grantVO.setAmount(temp.toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
@@ -485,59 +571,105 @@
        List<BalanceUsageRecord> balanceUsageRecords = new ArrayList<>();
        // 司机提现
        List<BalanceUsageRecord> driverWithdrawal = new ArrayList<>();
        // 司机提现wrapper
        Wrapper<TPubWithdrawal> driverWrapper = new EntityWrapper<TPubWithdrawal>()
                .eq("state", 2)
                .eq("userType", 2)
                .between("handleTime", start, end);
                ;
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("activityId")
                .isNotNull("discountMoney")
                .between("insertTime", start, end)
                ;
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                .isNotNull("activityId")
                .isNotNull("discountMoney")
                .between("insertTime", start, end)
                ;
        // 已使用优惠券记录wrapper
        Wrapper<TOrderPrivateCar> between2 = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("couponId")
                .isNotNull("couponMoney")
                .between("insertTime", start, end)
                ;
        Wrapper<TOrderLogistics> between22 = new EntityWrapper<TOrderLogistics>()
                .isNotNull("couponId")
                .isNotNull("couponMoney")
                .between("insertTime", start, end)
                ;
        // 已使用红包记录wrapper
        Wrapper<TOrderPrivateCar> between3 = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("redPacketId")
                .isNotNull("redPacketMoney")
                .between("insertTime", start, end)
                ;
        Wrapper<TOrderLogistics> between33 = new EntityWrapper<TOrderLogistics>()
                .isNotNull("redPacketId")
                .isNotNull("redPacketMoney")
                .between("insertTime", start, end)
                ;
        // 司机已消费金额
        Wrapper<BalanceUsageRecord> between4 = new EntityWrapper<BalanceUsageRecord>()
                .ne("purpose", 6)
                .between("createTime", start, end);
                ;
        // 司机提现
        Wrapper<BalanceUsageRecord> between44 = new EntityWrapper<BalanceUsageRecord>()
                .eq("purpose", 6)
                .between("createTime", start, end);
                ;
        if (time!=null && time == 5){
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("userType", 2)
            ;
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney");
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney");
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney");
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6);
            // 司机提现
            between44 = new EntityWrapper<BalanceUsageRecord>()
                    .eq("purpose", 6);
        }else{
            driverWrapper = new EntityWrapper<TPubWithdrawal>()
                    .eq("state", 2)
                    .eq("userType", 2)
                    .between("handleTime", start, end);
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("activityId")
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end);
            // 已使用优惠券记录wrapper
            between2 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            between22 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("couponId")
                    .isNotNull("couponMoney")
                    .between("insertTime", start, end);
            // 已使用红包记录wrapper
            between3 = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            between33 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("redPacketId")
                    .isNotNull("redPacketMoney")
                    .between("insertTime", start, end);
            // 司机已消费金额
            between4 = new EntityWrapper<BalanceUsageRecord>()
                    .ne("purpose", 6)
                    .between("createTime", start, end);
            // 司机提现
            between44 = new EntityWrapper<BalanceUsageRecord>()
                    .eq("purpose", 6)
                    .between("createTime", start, end);
        }
        if (type!=null){
            switch (type){
@@ -636,7 +768,13 @@
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            grantVO.setAmount(userRedPacketRecord.getPayMoney().toString());
            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));
            }
            grantVO.setAmount(temp.toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
@@ -652,7 +790,13 @@
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(userRedPacketRecord.getInsertTime()));
            grantVO.setType("红包");
            grantVO.setAmount(userRedPacketRecord.getPayMoney().toString());
            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));
            }
            grantVO.setAmount(temp.toString());
            TUser tUser = appUserService.selectById(userRedPacketRecord.getUserId());
            if (tUser!=null){
                grantVO.setName(tUser.getNickName());
@@ -846,31 +990,69 @@
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                .isNotNull("discountMoney")
                .between("insertTime", start, end)
                ;
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                .between("insertTime", start, end)
                .isNotNull("discountMoney")
                ;
        // 优惠券领取记录wrapper
        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
                .ne("couponUseType", 2)
                .ne("couponUseType", 3)
                .between("insertTime", start, end);
                ;
        // 红包领取记录wrapper
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
                .ne("orderType", 2)
                .ne("orderType", 3)
                .between("insertTime", start, end);
                ;
        // 司机奖励
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
                .eq("carryOut", 2)
                .between("insertTime", start, end);
                ;
        if (time == 5){
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    ;
            // 小件物流wrapper
           between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("discountMoney")
                    ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    ;
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    ;
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    ;
        }else{
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end)
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .between("insertTime", start, end)
                    .isNotNull("discountMoney")
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    .between("insertTime", start, end);
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    .between("insertTime", start, end);
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    .between("insertTime", start, end);
        }
        if (type!=null){
            switch (type){
@@ -919,10 +1101,6 @@
            if (tOrderPrivateCar.getDiscountMoney()==null){
                continue;
            }
            if (tOrderPrivateCar.getState() != 8 && tOrderPrivateCar.getState()!=9){
                    continue;
            }
            discount = discount.add(new BigDecimal(tOrderPrivateCar.getDiscountMoney().toString()));
            GrantVO grantVO = new GrantVO();
            grantVO.setInsertTime(format.format(tOrderPrivateCar.getInsertTime()));
@@ -945,9 +1123,7 @@
            if (tOrderPrivateCar.getDiscountMoney()==null){
                continue;
            }
            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()));
@@ -1115,34 +1291,68 @@
        // 专车wrapper
        Wrapper<TOrderPrivateCar> between = new EntityWrapper<TOrderPrivateCar>()
                .between("insertTime", start, end)
                .isNotNull("discountMoney")
//                .eq("state", 8)
//                .or()
//                .eq("state", 9)
                ;
        // 小件物流wrapper
        Wrapper<TOrderLogistics> between1 = new EntityWrapper<TOrderLogistics>()
                .between("insertTime", start, end)
                .isNotNull("discountMoney")
//                .eq("state", 8)
//                .or()
//                .eq("state", 9)
                ;
        // 优惠券领取记录wrapper
        Wrapper<UserCouponRecord> between2 = new EntityWrapper<UserCouponRecord>()
                .ne("couponUseType", 2)
                .ne("couponUseType", 3)
                .between("insertTime", start, end);
                ;
        // 红包领取记录wrapper
        Wrapper<UserRedPacketRecord> between3 = new EntityWrapper<UserRedPacketRecord>()
                .ne("orderType", 2)
                .ne("orderType", 3)
                .between("insertTime", start, end);
                ;
        // 司机奖励
        Wrapper<DriverActivityHistory> between4 = new EntityWrapper<DriverActivityHistory>()
                .eq("carryOut", 2)
                .between("insertTime", start, end);
                ;
        if (time == 5){
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .isNotNull("discountMoney")
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
            ;
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
            ;
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
            ;
        }else{
            // 专车wrapper
            between = new EntityWrapper<TOrderPrivateCar>()
                    .isNotNull("discountMoney")
                    .between("insertTime", start, end)
            ;
            // 小件物流wrapper
            between1 = new EntityWrapper<TOrderLogistics>()
                    .between("insertTime", start, end)
                    .isNotNull("discountMoney")
            ;
            // 优惠券领取记录wrapper
            between2 = new EntityWrapper<UserCouponRecord>()
                    .ne("couponUseType", 2)
                    .ne("couponUseType", 3)
                    .between("insertTime", start, end);
            // 红包领取记录wrapper
            between3 = new EntityWrapper<UserRedPacketRecord>()
                    .between("insertTime", start, end);
            // 司机奖励
            between4 = new EntityWrapper<DriverActivityHistory>()
                    .eq("carryOut", 2)
                    .between("insertTime", start, end);
        }
        if (type!=null){
            switch (type){