zhibing.pu
2024-07-24 c52f83ef5f702b3c178881d3eee72267c77e7751
Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0
13个文件已修改
422 ■■■■■ 已修改文件
cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/resources/mapper/TStudentMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/finance/income.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
@@ -65,16 +65,14 @@
            <if test="query.salesmanUser!=null and query.salesmanUser!= ''">
                and t1.salesmanUserId = #{query.salesmanUser}
            </if>
            <if test="query.insertType!=null and query.insertType!= ''">
                and t1.insertType = #{query.insertType}
            </if>
            <if test="query.typeId!=null and query.typeId!= ''">
                and t1.addUserId = #{query.typeId}
            <if test="query.userIds!=null and query.userIds.size()>0">
                t1.id in
                <foreach collection="query.userIds" item="id" index="index" open="(" close=")" separator=",">
                    #{id}
                </foreach>
            </if>
            and t1.state != 3
        </where>
    </select>
    <select id="getSelects" resultType="com.dsh.account.dto.SelectDto">
        SELECT ts.id ,ts.`name` as value
cloud-server-account/src/main/resources/mapper/TStudentMapper.xml
@@ -35,7 +35,6 @@
        t_student st
        LEFT JOIN t_app_user us on st.appUserId = us.id) o
        <where>
            <if test="item.province != null and item.province != ''">
                and o.province = #{item.province}
            </if>
@@ -57,6 +56,7 @@
                    #{id}
                </foreach>
            </if>
        and o.state!=3
        </where>
    </select>
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java
@@ -1,6 +1,7 @@
package com.dsh.communityWorldCup.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.communityWorldCup.entity.*;
@@ -30,6 +31,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -98,7 +100,77 @@
    private GameClient gameClient;
    /**
     * 查询社区世界杯收入--管理后台
     * @param storeId
     * @return
     */
    @ResponseBody
    @PostMapping("/worldCup/getWorldCupIncome")
    public List<WorldCupIncomeVO> getWorldCupIncome(@RequestBody WorldCupQuery query){
        String STime = null;
        String ETime = null;
        if (StringUtils.hasLength(query.getTime())) {
            STime = query.getTime().split(" - ")[0] + " 00:00:00";
            ETime = query.getTime().split(" - ")[1] + " 23:59:59";
        }
        QueryWrapper<WorldCupPayment> in = new QueryWrapper<WorldCupPayment>()
                .eq("payStatus", 2)
                ;
        if (STime != null){
            in.between("payTime", STime, ETime);
        }
        if (query.getUserIds() != null){
            if (!query.getUserIds().isEmpty()){
                in.in("appUserId", query.getUserIds());
            }
        }
        if (query.getAmount() != null){
            in.le("amount", query.getAmount().toString());
        }
        List<WorldCupPayment> list = worldCupPaymentService.list(in);
        List<WorldCupIncomeVO> res = new ArrayList<>();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        for (WorldCupPayment worldCupPayment : list) {
            if (worldCupPayment.getPayType() == 0){
                // 不计算免费的
                continue;
            }
            WorldCupIncomeVO worldCupIncomeVO = new WorldCupIncomeVO();
            WorldCup byId = worldCupService.getById(worldCupPayment.getWorldCupId());
            if (byId!=null){
                worldCupIncomeVO.setProvince(byId.getProvince());
                worldCupIncomeVO.setCity(byId.getCity());
                List<WorldCupStore> worldCupId = worldCupStoreService.list(new QueryWrapper<WorldCupStore>()
                        .eq("worldCupId", byId.getId()));
                StringBuilder temp = new StringBuilder();
                for (WorldCupStore worldCupStore : worldCupId) {
                    Store store = storeClient.queryStoreById(worldCupStore.getStoreId());
                    if (store!=null){
                        temp.append(store.getName()).append(",");
                    }
                }
                if (temp.length() > 0){
                    worldCupIncomeVO.setStoreName(temp.substring(0, temp.length() - 1));
                }
            }
            AppUser appUser = appUserClient.getAppUser(worldCupPayment.getAppUserId());
            worldCupIncomeVO.setId(worldCupPayment.getId().toString());
            if (appUser!=null){
                worldCupIncomeVO.setUserName(appUser.getName());
                worldCupIncomeVO.setPhone(appUser.getPhone());
            }
            if (worldCupPayment.getPayTime()!=null){
                String format = simpleDateFormat.format(worldCupPayment.getPayTime());
                worldCupIncomeVO.setPayTime(format);
            }
            worldCupIncomeVO.setAmount(worldCupPayment.getAmount().toString());
            res.add(worldCupIncomeVO);
        }
        return res;
    }
    /**
     * 根据门店id获取门店关系数据
@@ -609,6 +681,67 @@
    public Map<String, Object> getWorldCupListAll(@RequestBody WorldCupListAll worldCupListAll){
        return worldCupService.getWorldCupListAll(worldCupListAll);
    }
    /**
     * 根据门店ids 获取归属学员
     * @param storeIds
     * @return
     */
    @ResponseBody
    @PostMapping("/worldCup/getStudentIds")
    public List<Integer> getStudentIds(@RequestBody StoreIds storeIds){
        List<Integer> res = new ArrayList<>();
        // 获取门店ids 所举办的世界杯ids 查询学员参赛
        List<Integer> collect = worldCupStoreService.list(new QueryWrapper<WorldCupStore>()
                        .in("storeId", storeIds.getStoreIds())).stream()
                .map(WorldCupStore::getWorldCupId).collect(Collectors.toList());
        List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>()
                .in("worldCupId", collect)
                .eq("payStatus", 2));
        for (WorldCupPayment worldCupPayment : list) {
            JSONArray jsonArray = JSON.parseArray(worldCupPayment.getEntrant());
            for (int i = 0; i < jsonArray.size(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                Integer isStudent = jsonObject.getInteger("isStudent");
                if (isStudent!=1){
                    continue;
                }
                Long id = jsonObject.getLong("id");
                String string = id.toString();
                res.add(Integer.parseInt(string));
            }
        }
        List<Long> collect1 = worldCupCompetitorService.list(new QueryWrapper<WorldCupCompetitor>()
                        .in("worldCupId", collect)
                        .eq("participantType", 1)).stream()
                .map(WorldCupCompetitor::getParticipantId).collect(Collectors.toList());
        // 将collect1中的数据全部转化为Integer类型
        List<Integer> temp = new ArrayList<>();
        temp = collect1.stream().map(Long::intValue).collect(Collectors.toList());
        res.addAll(temp);
        return res;
    }
    /**
     * 根据门店ids 获取归属用户
     * @param storeIds
     * @return
     */
    @ResponseBody
    @PostMapping("/worldCup/getUserIds")
    public List<Integer> getUserIds(@RequestBody StoreIds storeIds){
        List<Integer> res = new ArrayList<>();
        // 获取门店ids 所举办的世界杯ids 查询用户
        List<Integer> collect = worldCupStoreService.list(new QueryWrapper<WorldCupStore>()
                        .in("storeId", storeIds.getStoreIds())).stream()
                .map(WorldCupStore::getWorldCupId).collect(Collectors.toList());
        List<WorldCupPayment> list = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>()
                .in("worldCupId", collect)
                .eq("payStatus", 2));
        for (WorldCupPayment worldCupPayment : list) {
            res.add(worldCupPayment.getAppUserId());
        }
        return res;
    }
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -110,11 +110,12 @@
        // 获取到赛事id集合 去重
        List<Integer> collect = comIds.stream().distinct().collect(Collectors.toList());
        // 根据赛事id 查询赛事支付记录 获取用户ids
        if (collect.size() == 0) {
        if (collect.isEmpty()) {
            return new ArrayList<>();
        } else {
            List<Integer> userIds = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
                    .in("competitionId", collect)).stream()
                    .in("competitionId", collect)
                            .eq("payStatus",2)).stream()
                    .map(PaymentCompetition::getAppUserId).collect(Collectors.toList());
            return userIds;
        }
@@ -133,6 +134,20 @@
            List<Integer> operatorId = cttService.list(new QueryWrapper<Competition>()
                    .eq("operatorId", operatorId1)).stream().map(Competition::getId).collect(Collectors.toList());
            query.setUserIds(operatorId);
        } else if (query.getStoreId() != null) {
            List<Competition> list = cttService.list(new QueryWrapper<Competition>());
            List<Integer> integers = new ArrayList<>();
            for (Competition competition : list) {
                for (String s : competition.getStoreId().split(",")) {
                    if (s.equals(""+query.getStoreId())){
                        integers.add(competition.getId());
                    }
                }
            }
            if (integers.isEmpty()){
                integers.add(-1);
            }
            query.setUserIds(integers);
        }
        List<PaymentCompetition> paymentCompetitions = paymentCompetitionService.listAll(query);
        List<PaymentCompetition> result = new ArrayList<>();
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java
@@ -72,7 +72,8 @@
            if (courseIds.size() == 0) {
                return new ArrayList<>();
            } else {
                List<Integer> userIds = tcppmenService.list(new QueryWrapper<TCoursePackagePayment>().in("coursePackageId", courseIds))
                List<Integer> userIds = tcppmenService.list(new QueryWrapper<TCoursePackagePayment>().in("coursePackageId", courseIds)
                                .eq("payStatus",2))
                        .stream().map(TCoursePackagePayment::getAppUserId).collect(Collectors.toList());
                return userIds;
            }
cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java
@@ -1,10 +1,13 @@
package com.dsh.course.feignClient.communityWorldCup;
import com.dsh.course.feignClient.communityWorldCup.Model.*;
import com.dsh.guns.modular.system.model.WorldCupQuery;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
/**
@@ -13,8 +16,24 @@
 */
@FeignClient("mb-cloud-communityWorldCup")
public interface WorldCupClient {
    @PostMapping("/worldCup/getWorldCupIncome")
    List<WorldCupIncomeVO> getWorldCupIncome( WorldCupQuery query);
    /**
     * 门店角色:查询属于门店的学员
     * @param storeIds
     * @return
     */
    @PostMapping("/worldCup/getStudentIds")
    List<Integer> getStudentIds(StoreIds storeIds);
    /**
     * 门店角色:查询属于门店的会员
     * @param storeIds
     * @return
     */
    @PostMapping("/worldCup/getUserIds")
    List<Integer> getUserIds(StoreIds storeIds);
    /**
     * 获取比赛管理列表页数据
     * @param worldCupListAll
     * @return
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java
@@ -13,6 +13,8 @@
import com.dsh.course.feignClient.activity.model.BodySideAppointment;
import com.dsh.course.feignClient.activity.model.QueryBodySideAppointment;
import com.dsh.course.feignClient.activity.model.QueryBodySideAppointmentVO;
import com.dsh.course.feignClient.communityWorldCup.Model.StoreIds;
import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
import com.dsh.course.feignClient.competition.CompetitionClient;
import com.dsh.course.feignClient.competition.model.Competition;
import com.dsh.course.feignClient.competition.model.ListQuery;
@@ -167,6 +169,8 @@
        return PREFIX + "TAppUser_edit.html";
    }
    @Autowired
    private WorldCupClient worldCupClient;
    /**
     * 获取所有用户信息
     * @return
@@ -212,14 +216,69 @@
            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
            // 获取游戏记录 拿到用户ids
            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
            // 查询世界杯记录 获取用户ids
            StoreIds storeIds1 = new StoreIds();
            storeIds1.setStoreIds(storeIds);
            List<Integer> userIds = worldCupClient.getUserIds(storeIds1);
            // 用户ids
            List<Integer> users = new ArrayList<>();
            users.addAll(list);
            users.addAll(siteUsers);
            users.addAll(cpUsers);
            users.addAll(gameUsers);
            users.addAll(userIds);
            // 去重后的用户id
            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
            if (collect.isEmpty()){
                collect.add(-1);
            }
            queryAppUser.setUserIds(collect);
//            List<QueryAppUserVO> queryAppUserVOS1 = new ArrayList<>();
//            // 根据用户消费记录 去查询用户ids
//            for (Integer integer : collect) {
//                if (!collect1.contains(integer)){
//                    TAppUser tAppUser = appUserClient.queryAppUser1(integer);
//                    QueryAppUserVO queryAppUserVO = new QueryAppUserVO();
//                    BeanUtils.copyProperties(tAppUser,queryAppUserVO);
//                    queryAppUserVOS.add(queryAppUserVO);
//                }
//            }
        }
        if (objectType == 3){
            // 获取运营商下的所有门店id集合
            List<Integer> storeIds = new ArrayList<>();
            storeIds.add(objectId);
            // 根据门店id集合查询 属于该运营商下的门店举办的赛事
            ListQuery listQuery = new ListQuery();
            listQuery.setIds(storeIds);
            // 通过门店ids 获取赛事的支付记录 获取到用户的ids
            List<Integer> list = competitionClient.getUserIds(listQuery);
            // 获取场地预约记录 拿到用户ids
            List<Integer> siteUsers = siteBookingService.list(new QueryWrapper<SiteBooking>().in("storeId", storeIds)
                            .ne("status",0)
                            .ne("status",5)
                    )
                    .stream().map(SiteBooking::getAppUserId).collect(Collectors.toList());
            // 获取课程购买记录 拿到用户ids
            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
            // 获取游戏记录 拿到用户ids
            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
            StoreIds storeIds1 = new StoreIds();
            storeIds1.setStoreIds(storeIds);
            // 查询世界杯记录 获取用户ids
            List<Integer> userIds = worldCupClient.getUserIds(storeIds1);
            // 用户ids
            List<Integer> users = new ArrayList<>();
            users.addAll(list);
            users.addAll(siteUsers);
            users.addAll(cpUsers);
            users.addAll(gameUsers);
            users.addAll(userIds);
            // 去重后的用户id
            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
            if (collect.isEmpty()){
                collect.add(-1);
            }
            queryAppUser.setUserIds(collect);
//            List<QueryAppUserVO> queryAppUserVOS1 = new ArrayList<>();
//            // 根据用户消费记录 去查询用户ids
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);
            }
        }
        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;
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -9,6 +9,8 @@
import com.dsh.course.feignClient.account.AppUserClient;
import com.dsh.course.feignClient.account.StudentClient;
import com.dsh.course.feignClient.account.model.TAppUser;
import com.dsh.course.feignClient.communityWorldCup.Model.StoreIds;
import com.dsh.course.feignClient.communityWorldCup.WorldCupClient;
import com.dsh.course.feignClient.competition.CompetitionClient;
import com.dsh.course.feignClient.competition.model.ListQuery;
import com.dsh.course.feignClient.course.CoursePackageClient;
@@ -389,6 +391,8 @@
    private ISiteBookingService siteBookingService;
    @Autowired
    private BallClient ballClient;
    @Autowired
    private WorldCupClient worldCupClient;
    /**
     * 获取列表
     */
@@ -398,11 +402,39 @@
        List<Integer> ids = new ArrayList<>();
        if(UserExt.getUser().getObjectType()==3){
            List<Integer> storeIds = new ArrayList<>();
            storeIds.add(UserExt.getUser().getObjectId());
            ListQuery listQuery = new ListQuery();
            listQuery.setIds(storeIds);
            // 赛事
            List<Integer> list = competitionClient.getUserIds(listQuery);
            // 获取场地预约记录 拿到用户ids
            List<Integer> siteUsers = siteBookingService.list(new QueryWrapper<SiteBooking>().in("storeId", storeIds))
                    .stream().map(SiteBooking::getAppUserId).collect(Collectors.toList());
            // 获取课程购买记录 拿到用户ids
            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
            // 获取游戏记录 拿到用户ids
            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
            // 世界杯参与记录 拿到用户ids
            StoreIds req = new StoreIds();
            req.setStoreIds(storeIds);
            List<Integer> studentIds = worldCupClient.getStudentIds(req);
            // 用户ids
            List<Integer> users = new ArrayList<>();
            users.addAll(list);
            users.addAll(siteUsers);
            users.addAll(cpUsers);
            users.addAll(gameUsers);
            users.addAll(studentIds);
            // 去重后的用户id
            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
            ids = appUserClient.getUserStore(UserExt.getUser().getObjectId());
            ids.addAll(collect);
            List<Integer> collect1 = ids.stream().distinct().collect(Collectors.toList());
            if(ids.size()==0){
                ids.add(-1);
            }
            search.setIds(ids);
            search.setIds(collect1);
        }
        if(UserExt.getUser().getObjectType()==2){
            // 获取运营商下的所有门店id集合
@@ -422,12 +454,17 @@
            List<Integer> cpUsers = coursePackageClient.getCoursePackageByStoreIds(storeIds);
            // 获取游戏记录 拿到用户ids
            List<Integer> gameUsers = ballClient.getGameByStoreIds(storeIds);
            // 世界杯参与记录 拿到学员ids
            StoreIds req = new StoreIds();
            req.setStoreIds(storeIds);
            List<Integer> studentIds = worldCupClient.getStudentIds(req);
            // 用户ids
            List<Integer> users = new ArrayList<>();
            users.addAll(list);
            users.addAll(siteUsers);
            users.addAll(cpUsers);
            users.addAll(gameUsers);
            users.addAll(studentIds);
            // 去重后的用户id
            List<Integer> collect = users.stream().distinct().collect(Collectors.toList());
            ids = appUserClient.getUserYYs(UserExt.getUser().getObjectId());
cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java
@@ -22,7 +22,7 @@
              formatter:function (data) {return{1:"加入会员",2:"充值",3:"报名课程",4:"报名赛事活动",5:"预约场地"}[data]}},
          {title:  '状态', field: 'state', visible: true, align: 'center', valign: 'middle',formatter:function (data) {return{1:"已支付",2:"未支付"}[data]}}
     */
    private Integer id;
    private String id;
    private String province;
    private String city;
    private String storeName;
cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html
@@ -22,10 +22,13 @@
                                <option value="2">充值</option>
                                @}
                                <option value="3">报名课程</option>
                                @if(roleType != 3){
                                <option value="4">报名赛事活动</option>
                                @}
                                <option value="5">预约场地</option>
                                @if(roleType == 1){
                                <option value="6">世界杯</option>
                                @}
                            </#SelectCon>
                        </div>
                            <div class="col-sm-3">
cloud-server-management/src/main/webapp/static/modular/system/finance/income.js
@@ -25,7 +25,7 @@
        {title:  '消费时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle'},
        {title:  '收入类型', field: 'incomeType', visible: true, align: 'center', valign: 'middle',
            formatter:function (data) {
                return{1:"加入会员",2:"充值",3:"报名课程",4:"报名赛事活动",5:"预约场地"}[data]
                return{1:"加入会员",2:"充值",3:"报名课程",4:"报名赛事活动",5:"预约场地",6:"世界杯"}[data]
            }
        },
        {title:  '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java
@@ -87,7 +87,8 @@
            return new ArrayList<>();
        } else {
            // 根据游戏id获取游戏记录 获取用户Ids
            List<Integer> userId = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gamesId))
            List<Integer> userId = gameRecordService.list(new QueryWrapper<TGameRecord>().in("gameId", gamesId)
                            .eq("status",1))
                    .stream().map(TGameRecord::getUserId).collect(Collectors.toList());
            return userId;
        }