无关风月
2025-01-21 8f2abbbda6c87c59d0c2c5da9979e78ea38e74db
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java
@@ -1,5 +1,7 @@
package com.dsh.guns.modular.system.controller.code;
import com.dsh.course.feignClient.account.*;
import com.dsh.course.feignClient.communityWorldCup.Model.WorldCupIncomeVO;
import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
import com.dsh.course.feignClient.competition.model.Competition;
import com.dsh.course.feignClient.competition.model.CompetitionQuery;
import com.dsh.course.feignClient.competition.model.PaymentCompetition;
@@ -36,6 +38,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -237,12 +241,14 @@
        model.addAttribute("roleType",objectType);
        return PREFIX + "Income.html";
    }
    @Autowired
    private WorldCupClient worldCupClient;
    /**
     * 获取收入管理列表
     */
    @RequestMapping(value = "/incomeListAll")
    @ResponseBody
    public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) {
    public List<IncomeVO> incomeListAll(String time,Integer incomeType,String userName,String amount) throws ParseException {
        // 充值记录查询query
        RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
@@ -260,6 +266,8 @@
        IncomeQuery incomeQuery = new IncomeQuery();
        // 场地预约记录查询query
        SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
        // 世界杯记录查询query
        WorldCupQuery worldCupQuery = new WorldCupQuery();
        AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
        appUserByNameAndPhoneDTO.setUserName(userName);
        if (userName!=null){
@@ -272,6 +280,7 @@
                query.setUserIds(collect);
                incomeQuery.setUserIds(collect);
                siteBookingQuery.setUserIds(collect);
                worldCupQuery.setUserIds(collect);
            }
        }
        if (amount==null || amount.equals("")){
@@ -280,13 +289,16 @@
            rechargeRecordsQuery.setAmount(null);
            competitionQuery.setAmount(null);
            incomeQuery.setAmount(null);
            worldCupQuery.setAmount(null);
        }else {
            siteBookingQuery.setAmount(new BigDecimal(amount));
            query.setAmount(new BigDecimal(amount));
            rechargeRecordsQuery.setAmount(new BigDecimal(amount));
            competitionQuery.setAmount(new BigDecimal(amount));
            incomeQuery.setAmount(new BigDecimal(amount));
            worldCupQuery.setAmount(new BigDecimal(amount));
        }
        if (UserExt.getUser().getObjectType()==2){
            // 拿到门店集合id
            List<Integer> operatorId = storeService.list(new QueryWrapper<TStore>()
@@ -296,16 +308,23 @@
            competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
            siteBookingQuery.setStoreIds(operatorId);
        }
        if (UserExt.getUser().getObjectType()==3){
            // 拿到门店集合id
            List<Integer> integers = new ArrayList<>();
            integers.add(UserExt.getUser().getObjectId());
            siteBookingQuery.setStoreIds(integers);
            query.setStoresIds(integers);
            competitionQuery.setStoreId(UserExt.getUser().getObjectId());
        }
        siteBookingQuery.setTime(time);
        query.setRegisterTime(time);
        rechargeRecordsQuery.setTime(time);
        competitionQuery.setTime(time);
        incomeQuery.setTime(time);
        worldCupQuery.setTime(time);
        Integer roleType = UserExt.getUser().getObjectType();
        IncomeVO incomeVO = new IncomeVO();
        List<IncomeVO> incomeVOS = new ArrayList<>();
            if ( incomeType==null || incomeType == 1){
            // 会员支付记录
            List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
@@ -315,7 +334,7 @@
                    }
                    TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
                    IncomeVO temp = new IncomeVO();
                    temp.setId(vipPayment.getId());
                    temp.setId(vipPayment.getId().toString());
                    if (tAppUser!=null){
                        if (tAppUser.getProvince()!=null){
                            temp.setProvince(tAppUser.getProvince());
@@ -346,7 +365,7 @@
                    }
                    TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
                    IncomeVO temp = new IncomeVO();
                    temp.setId(rechargeRecordsVO.getId().intValue());
                    temp.setId(rechargeRecordsVO.getId().toString());
                    if (tAppUser!=null){
                        if (tAppUser.getProvince()!=null){
                            temp.setProvince(tAppUser.getProvince());
@@ -377,7 +396,7 @@
                    }
                    TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
                    IncomeVO temp = new IncomeVO();
                    temp.setId(registerOrderVO.getId().intValue());
                    temp.setId(registerOrderVO.getId().toString());
                    if (tAppUser!=null){
                        if (tAppUser.getProvince()!=null){
                            temp.setProvince(tAppUser.getProvince());
@@ -396,11 +415,16 @@
                        temp.setAmount(registerOrderVO.getMoney());
                    }
                    temp.setIncomeType(3);
                    temp.setState(registerOrderVO.getPayStatus());
                    if (registerOrderVO.getPayStatus() == 1){
                        temp.setState(2);
                    }
                    if (registerOrderVO.getPayStatus() == 2){
                        temp.setState(1);
                    }
                    incomeVOS.add(temp);
                }
            }
            if(roleType !=3) {
                if (incomeType == null || incomeType == 4) {
                    // 报名活动
                    List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
@@ -430,7 +454,7 @@
                            temp.setStoreName(substring);
                        }
                        temp.setId(competition.getId().intValue());
                        temp.setId(competition.getId().toString());
                        if (tAppUser!=null){
                            if (tAppUser.getProvince()!=null){
                                temp.setProvince(tAppUser.getProvince());
@@ -446,11 +470,15 @@
                            temp.setAmount(new BigDecimal(competition.getAmount().toString()));
                        }
                        temp.setIncomeType(4);
                        temp.setState(competition.getPayStatus());
                        if (competition.getPayStatus() == 1){
                            temp.setState(2);
                        }else if (competition.getPayStatus() == 2){
                            temp.setState(1);
                        }
                        incomeVOS.add(temp);
                    }
                }
            }
            if (incomeType == null || incomeType == 5) {
                // 预约场地
                List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
@@ -464,7 +492,7 @@
                    TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
                    Store store = storeClient.getStoreById(siteBooking.getStoreId());
                    temp.setId(siteBooking.getId());
                    temp.setId(siteBooking.getId().toString());
                    temp.setProvince(siteBooking.getProvince());
                    temp.setCity(siteBooking.getCity());
                    temp.setStoreName(store.getName());
@@ -487,6 +515,25 @@
                    incomeVOS.add(temp);
                }
            }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (roleType == 1 && (incomeType == null || incomeType == 6)){
                List<WorldCupIncomeVO> worldCupIncome = worldCupClient.getWorldCupIncome(worldCupQuery);
                for (WorldCupIncomeVO worldCupIncomeVO : worldCupIncome) {
                    IncomeVO temp = new IncomeVO();
                    temp.setId(worldCupIncomeVO.getId());
                    temp.setProvince(worldCupIncomeVO.getProvince());
                    temp.setCity(worldCupIncomeVO.getCity());
                    temp.setStoreName(worldCupIncomeVO.getStoreName());
                    temp.setPayUser(worldCupIncomeVO.getUserName());
                    temp.setPhone(worldCupIncomeVO.getPhone());
                    temp.setAmount(new BigDecimal(worldCupIncomeVO.getAmount()));
                    temp.setIncomeType(6);
                    temp.setState(1);
                    temp.setInsertTime(simpleDateFormat.parse(worldCupIncomeVO.getPayTime()));
                    incomeVOS.add(temp);
                }
            }
        return incomeVOS;
    }
@@ -495,7 +542,7 @@
     */
    @RequestMapping(value = "/getIncomeData")
    @ResponseBody
    public Object getIncomeData(String time,Integer incomeType,String userName,String amount) {
    public Object getIncomeData(String time,Integer incomeType,String userName,String amount) throws ParseException {
        // 充值记录查询query
        RechargeRecordsQuery rechargeRecordsQuery = new RechargeRecordsQuery();
        // 报名课程查询query
@@ -510,6 +557,8 @@
        IncomeQuery incomeQuery = new IncomeQuery();
        // 场地预约记录查询query
        SiteBookingQuery siteBookingQuery = new SiteBookingQuery();
        // 世界杯查询query
        WorldCupQuery worldCupQuery = new WorldCupQuery();
        AppUserByNameAndPhoneDTO appUserByNameAndPhoneDTO = new AppUserByNameAndPhoneDTO();
        appUserByNameAndPhoneDTO.setUserName(userName);
        if (userName!=null){
@@ -522,6 +571,7 @@
                query.setUserIds(collect);
                incomeQuery.setUserIds(collect);
                siteBookingQuery.setUserIds(collect);
                worldCupQuery.setUserIds(collect);
            }
        }
        if (amount==null || amount.equals("")){
@@ -530,12 +580,14 @@
            rechargeRecordsQuery.setAmount(null);
            competitionQuery.setAmount(null);
            incomeQuery.setAmount(null);
            worldCupQuery.setAmount(null);
        }else {
            siteBookingQuery.setAmount(new BigDecimal(amount));
            query.setAmount(new BigDecimal(amount));
            rechargeRecordsQuery.setAmount(new BigDecimal(amount));
            competitionQuery.setAmount(new BigDecimal(amount));
            incomeQuery.setAmount(new BigDecimal(amount));
            worldCupQuery.setAmount(new BigDecimal(amount));
        }
        if (UserExt.getUser().getObjectType()==2){
            // 拿到门店集合id
@@ -546,16 +598,22 @@
            competitionQuery.setOperatorId(UserExt.getUser().getObjectId());
            siteBookingQuery.setStoreIds(operatorId);
        }
        if (UserExt.getUser().getObjectType()==3){
            // 拿到门店集合id
            List<Integer> integers = new ArrayList<>();
            integers.add(UserExt.getUser().getObjectId());
            siteBookingQuery.setStoreIds(integers);
            query.setStoresIds(integers);
            competitionQuery.setStoreId(UserExt.getUser().getObjectId());
        }
        siteBookingQuery.setTime(time);
        query.setRegisterTime(time);
        rechargeRecordsQuery.setTime(time);
        competitionQuery.setTime(time);
        incomeQuery.setTime(time);
        worldCupQuery.setTime(time);
        Integer roleType = UserExt.getUser().getObjectType();
        IncomeVO incomeVO = new IncomeVO();
        List<IncomeVO> incomeVOS = new ArrayList<>();
        if ( incomeType==null || incomeType == 1){
            // 会员支付记录
            List<VipPayment> vipPayments = vipPaymentClient.registrationList(incomeQuery);
@@ -565,7 +623,7 @@
                }
                TAppUser tAppUser = appUserClient.queryById(vipPayment.getAppUserId());
                IncomeVO temp = new IncomeVO();
                temp.setId(vipPayment.getId());
                temp.setId(vipPayment.getId().toString());
                if (tAppUser!=null){
                    if (tAppUser.getProvince()!=null){
                        temp.setProvince(tAppUser.getProvince());
@@ -596,7 +654,7 @@
                }
                TAppUser tAppUser = appUserClient.queryById(rechargeRecordsVO.getAppUserId());
                IncomeVO temp = new IncomeVO();
                temp.setId(rechargeRecordsVO.getId().intValue());
                temp.setId(rechargeRecordsVO.getId().toString());
                if (tAppUser!=null){
                    if (tAppUser.getProvince()!=null){
                        temp.setProvince(tAppUser.getProvince());
@@ -627,7 +685,7 @@
                }
                TAppUser tAppUser = appUserClient.queryById(registerOrderVO.getAppUserId());
                IncomeVO temp = new IncomeVO();
                temp.setId(registerOrderVO.getId().intValue());
                temp.setId(registerOrderVO.getId().toString());
                if (registerOrderVO.getPayStatus()==2) {
                    temp.setState(2);
                } else {
@@ -655,7 +713,6 @@
                incomeVOS.add(temp);
            }
        }
        if(roleType !=3) {
            if (incomeType == null || incomeType == 4) {
                // 报名活动
                List<PaymentCompetition> competitions = competitionClient.listAllPayment(competitionQuery);
@@ -690,7 +747,7 @@
                    } else {
                        temp.setState(1);
                    }
                    temp.setId(competition.getId().intValue());
                    temp.setId(competition.getId().toString());
                    if (tAppUser!=null){
                        if (tAppUser.getProvince()!=null){
                            temp.setProvince(tAppUser.getProvince());
@@ -710,7 +767,6 @@
                    incomeVOS.add(temp);
                }
            }
        }
        if (incomeType == null || incomeType == 5) {
            // 预约场地
            List<SiteBooking> siteBookings = siteClient.listAll(siteBookingQuery);
@@ -724,7 +780,7 @@
                TAppUser tAppUser = appUserClient.queryAppUser1(siteBooking.getAppUserId());
                Store store = storeClient.getStoreById(siteBooking.getStoreId());
                temp.setId(siteBooking.getId());
                temp.setId(siteBooking.getId().toString());
                temp.setProvince(siteBooking.getProvince());
                temp.setCity(siteBooking.getCity());
                temp.setStoreName(store.getName());
@@ -747,9 +803,25 @@
                incomeVOS.add(temp);
            }
        }
        BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        if (roleType == 1 && (incomeType == null || incomeType == 6)){
            List<WorldCupIncomeVO> worldCupIncome = worldCupClient.getWorldCupIncome(worldCupQuery);
            for (WorldCupIncomeVO worldCupIncomeVO : worldCupIncome) {
                IncomeVO temp = new IncomeVO();
                temp.setId(worldCupIncomeVO.getId());
                temp.setProvince(worldCupIncomeVO.getProvince());
                temp.setCity(worldCupIncomeVO.getCity());
                temp.setStoreName(worldCupIncomeVO.getStoreName());
                temp.setPayUser(worldCupIncomeVO.getUserName());
                temp.setPhone(worldCupIncomeVO.getPhone());
                temp.setAmount(new BigDecimal(worldCupIncomeVO.getAmount()));
                temp.setIncomeType(6);
                temp.setState(1);
                temp.setInsertTime(simpleDateFormat.parse(worldCupIncomeVO.getPayTime()));
                incomeVOS.add(temp);
            }
        }
         BigDecimal totalAmount = BigDecimal.ZERO; // 初始化累加变量为0
        for (IncomeVO vo : incomeVOS) {
            if (vo.getAmount() == null ){
                BigDecimal temp = BigDecimal.ZERO;