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; }