From 41b60f3df5f3054aad44307c13a26b14f3b32ac0 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 21 十一月 2023 09:46:03 +0800 Subject: [PATCH] 11.21 --- cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 94 insertions(+), 11 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 ff4b14f..3d0af7d 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; + } + + } /** * 获取赛事报名记录 */ @@ -252,7 +284,11 @@ public ResultUtil<List<CompetitionListVo>> queryCompetitionList(String cityCode, String content, Integer registerCondition, String heat){ try { List<CompetitionListVo> competitionListVos = cttService.queryCompetitionList(cityCode, content, registerCondition, heat); - return ResultUtil.success(competitionListVos); + List<CompetitionListVo> filteredList = competitionListVos.stream() + .filter(vo -> vo.getStatus() == 1 || vo.getStatus() == 2) + .collect(Collectors.toList()); + + return ResultUtil.success(filteredList); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -277,6 +313,19 @@ return ResultUtil.tokenErr(); } CompetitionInfo competitionInfo = cttService.queryCompetitionInfo(uid, id, lon, lat); + + + String dateString = competitionInfo.getRegisterEndTime(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date date = sdf.parse(dateString); + if (new Date().after(date)){ + competitionInfo.setHasPass(1); + }else { + competitionInfo.setHasPass(0); + + } + + return ResultUtil.success(competitionInfo); }catch (Exception e){ e.printStackTrace(); @@ -316,7 +365,7 @@ return ResultUtil.tokenErr(); } if (byId.getRegisterCondition()==3){ - Integer counts = coursePackagePaymentClient.isHave(uid); + Integer counts = coursePackagePaymentClient.isHave(paymentCompetitionVo.getIds()); if (counts==0){ return new ResultUtil(0,"当前赛事仅限已购课学员报名"); } @@ -565,20 +614,29 @@ 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); Page<Competition> page = cttService.page(competitionPage, wrapper); + for (Competition record : page.getRecords()) { + + // 查询当前赛事有多少人报名了 + List<UserCompetition> competitionId = ucttService.list(new QueryWrapper<UserCompetition>() + .eq("competitionId", record.getId())); + // 报名数量 + int temp = competitionId.size(); + String value = String.valueOf(temp); + record.setCount(record.getApplicantsNumber()+"-"+value); + } return page; }catch (Exception e){ e.printStackTrace(); @@ -594,7 +652,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()); @@ -624,6 +682,16 @@ @PostMapping("/base/competition/add") public void add(@RequestBody Competition competition){ try { + if (competition.getStartTime().after(new Date())){ + competition.setStatus(1); + } + if (competition.getStartTime().before(new Date())){ + if (competition.getEndTime().after(new Date())){ + competition.setStatus(2); + }else{ + competition.setStatus(3); + } + } competition.setInsertTime(new Date()); cttService.save(competition); }catch (Exception e){ @@ -634,6 +702,16 @@ @PostMapping("/base/competition/update") public void update(@RequestBody Competition competition){ try { + if (competition.getStartTime().after(new Date())){ + competition.setStatus(1); + } + if (competition.getStartTime().before(new Date())){ + if (competition.getEndTime().after(new Date())){ + competition.setStatus(2); + }else{ + competition.setStatus(3); + } + } cttService.updateById(competition); }catch (Exception e){ e.printStackTrace(); @@ -662,6 +740,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; } @@ -794,9 +879,7 @@ map.put("monthsUser",monthsUser); return map; - - - } + } -- Gitblit v1.7.1