From ddbb38c54db9c3670e5ff53f4bf713525de1099d Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期二, 14 十一月 2023 09:12:10 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 103 +++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 79 insertions(+), 24 deletions(-) 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 a2db34d..a032a8d 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 @@ -2,6 +2,7 @@ import cn.hutool.core.date.DateUtil; +import cn.hutool.poi.excel.ExcelUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -33,7 +34,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; import java.io.PrintWriter; +import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.CompletionService; @@ -75,7 +78,36 @@ @Autowired private AppUserClient appUserClient; + /** + * 根据门店ids 获取对应的赛事 根据赛事支付记录获取用户ids + */ + @ResponseBody + @PostMapping("/base/competition/getUserIds") + public List<Integer> getUserIds(@RequestBody ListQuery query){ + List<Competition> list = cttService.list(new QueryWrapper<Competition>()); + // 赛事id集合 + List<Integer> comIds = new ArrayList<>(); + for (Integer id : query.getIds()) { + for (Competition competition : list) { + if (competition.getStoreId().contains(id.toString())){ + comIds.add(competition.getId()); + } + } + } + // 获取到赛事id集合 去重 + List<Integer> collect = comIds.stream().distinct().collect(Collectors.toList()); + // 根据赛事id 查询赛事支付记录 获取用户ids + if (collect.size() == 0){ + return new ArrayList<>(); + }else{ + List<Integer> userIds = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() + .in("competitionId", collect)).stream() + .map(PaymentCompetition::getAppUserId).collect(Collectors.toList()); + return userIds; + } + + } /** * 获取赛事报名记录 */ @@ -204,6 +236,38 @@ } + @PostMapping("/base/competition/getCompetitionsDetails1") + public List<PurchaseRecordVo> getStuSourseList1(@RequestBody GetStuSourseList sourseList){ + + List<PurchaseRecordVo> recordVos = new ArrayList<>(); + + ArrayList<Integer> integers = new ArrayList<>(); + integers.add(4); + List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>() + .in("payType",integers ) + .eq("appUserId", sourseList.getAppUserId()) + .eq("state",1)); + if (list.size() > 0){ + List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList()); + List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>() + .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() ) + .eq("appUserId", sourseList.getAppUserId()) + .in("paymentCompetitionId",comIds )); + if (userCompetitions.size() > 0){ + userCompetitions.forEach(coms ->{ + PurchaseRecordVo recordVo = new PurchaseRecordVo(); + recordVo.setPurchaseType("报名赛事"); + recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime())); + PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId()); + recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount()); + recordVos.add(recordVo); + }); + } + } + + return recordVos; + } + @@ -271,10 +335,9 @@ public synchronized ResultUtil paymentCompetition(PaymentCompetitionVo paymentCompetitionVo){ try { - - Competition byId = competitionService.getById(paymentCompetitionVo.getId()); - Date date = byId.getEndTime(); // Assuming you have a Date object + Date date = byId.getEndTime(); + // Assuming you have a Date object // Check if the date is past the current time boolean isPast = date.after(new Date()); if (!isPast) { @@ -284,18 +347,12 @@ if(null == uid){ return ResultUtil.tokenErr(); } - - - - if (byId.getRegisterCondition()==3){ Integer counts = coursePackagePaymentClient.isHave(uid); if (counts==0){ return new ResultUtil(0,"当前赛事仅限已购课学员报名"); } } - - if (byId.getRegisterCondition()==2){ AppUser appUser = appUserClient.queryAppUser(uid); if (appUser.getIsVip()==0){ @@ -303,17 +360,11 @@ }else { Date vipEndTime = appUser.getVipEndTime(); Date currentTime = new Date(); // Current time - if (vipEndTime.before(currentTime)) { return new ResultUtil(0,"您的年度会员已过期,请续费"); } - } - - } - - return cttService.paymentCompetition(uid, paymentCompetitionVo); }catch (Exception e){ e.printStackTrace(); @@ -546,15 +597,14 @@ wrapper.like(Competition::getName,listQuery.getEventName()); } if(ToolUtil.isNotEmpty(listQuery.getTime())){ - wrapper.gt(Competition::getStartTime,listQuery.getTime().split(" - ")[0]+" 00:00:00"); - wrapper.lt(Competition::getEndTime,listQuery.getTime().split(" - ")[1]+" 23:59:59"); + wrapper.lt(Competition::getStartTime,listQuery.getTime().split(" - ")[0]+" 00:00:00"); + wrapper.gt(Competition::getEndTime,listQuery.getTime().split(" - ")[1]+" 23:59:59"); } - if(ToolUtil.isNotEmpty(listQuery.getState())){ - wrapper.eq(Competition::getStatus,listQuery.getState()); - } + if(ToolUtil.isNotEmpty(listQuery.getRegisterCondition())){ wrapper.eq(Competition::getRegisterCondition,listQuery.getRegisterCondition()); } + wrapper.in(Competition::getStoreId,listQuery.getIds()); wrapper.eq(Competition::getAuditStatus,2); wrapper.orderByDesc(Competition::getInsertTime); @@ -575,7 +625,7 @@ wrapper.eq(Competition::getProvinceCode,listQuery.getProvinceCode()); } if(ToolUtil.isNotEmpty(listQuery.getCityCode())){ - wrapper.eq(Competition::getProvinceCode,listQuery.getCityCode()); + wrapper.eq(Competition::getCityCode,listQuery.getCityCode()); } if(ToolUtil.isNotEmpty(listQuery.getEventName())){ wrapper.like(Competition::getName,listQuery.getEventName()); @@ -643,6 +693,13 @@ e.printStackTrace(); return null; } + } + @PostMapping("/base/competition/getPeoples") + @ResponseBody + public List<CompetitionUser> getPeoples(@RequestBody GetPeopleQuery getPeopleQuery){ + List<CompetitionUser> list = participantService.getPeoples( + getPeopleQuery.getId(),getPeopleQuery.getState()); + return list; } @@ -775,9 +832,7 @@ map.put("monthsUser",monthsUser); return map; - - - } + } -- Gitblit v1.7.1