From c52f83ef5f702b3c178881d3eee72267c77e7751 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期三, 24 七月 2024 17:26:46 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/PlayPai into 2.0 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java | 39 ++++ cloud-server-account/src/main/resources/mapper/TStudentMapper.xml | 2 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java | 3 cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java | 19 ++ cloud-server-management/src/main/webapp/static/modular/system/finance/income.js | 2 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java | 124 ++++++++++++--- cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html | 7 cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java | 3 cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml | 12 cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 133 ++++++++++++++++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java | 59 +++++++ cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java | 2 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 19 ++ 13 files changed, 381 insertions(+), 43 deletions(-) diff --git a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml index 7bd94c7..3a87c3b 100644 --- a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml +++ b/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 diff --git a/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml b/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml index 078ea64..4447d04 100644 --- a/cloud-server-account/src/main/resources/mapper/TStudentMapper.xml +++ b/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> diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java index 067d8e2..aa10f8f 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java +++ b/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; + } diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index 8b004c1..82f7bde 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/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<>(); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java index 597b4f1..f6a0238 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackageController.java +++ b/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; } diff --git a/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java b/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java index b6f7a22..2ac69c3 100644 --- a/cloud-server-management/src/main/java/com/dsh/course/feignClient/communityWorldCup/WorldCupClient.java +++ b/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 diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java index 27b13d2..fa40e6e 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TAppUserController.java +++ b/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 diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java index 98ae1de..f039285 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TFinanceController.java +++ b/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; diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java index e110d25..05e06df 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java +++ b/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()); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java index 2538a07..b42bef9 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/IncomeVO.java +++ b/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; diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html index 4d2ad36..b015ebb 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/finance/Income.html +++ b/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"> diff --git a/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js b/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js index e427dbb..317fad4 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/finance/income.js +++ b/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', diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java index ae37dce..84b2775 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/controller/BallController.java +++ b/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; } -- Gitblit v1.7.1