diff --git a/pom.xml b/pom.xml index 76fa5e7a..b5f5605d 100644 --- a/pom.xml +++ b/pom.xml @@ -190,6 +190,11 @@ mybatis-plus-boot-starter 3.5.3.1 --> + + com.xuxueli + xxl-job-core + 2.2.0 + com.baidu.aip java-sdk diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index 5b65a044..14822bf3 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -96,6 +96,10 @@ org.projectlombok lombok + + com.xuxueli + xxl-job-core + diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxUserController.java index ecaeafc2..67d327b4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxUserController.java @@ -120,6 +120,14 @@ public class WxUserController extends BaseController return toAjax(wxUserService.deleteWxUserByIds(ids)); } + @ApiOperation(ApiTerminal.wxMiniProgram+"根据用户id修改个人数据") + @PostMapping(value = "/edit") + @ResponseBody + public AjaxResult editInfo(@RequestBody WxUser wxUser) + { + return AjaxResult.success(wxUserService.updateWxUser(wxUser)); + } + @ApiOperation(ApiTerminal.wxMiniProgram+"根据用户id查询个人中心详情") @PostMapping("/detail/{userId}") @ResponseBody diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamVsTeamVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamVsTeamVo.java index 65943b90..bf30ad24 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamVsTeamVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamVsTeamVo.java @@ -20,7 +20,11 @@ public class CompetitionTeamVsTeamVo extends CompetitionTeamVsTeam { @ApiModelProperty(value = "客队logo", required = false) private String guestTeamLogo; + @ApiModelProperty(value = "客队队长openid", required = false) + private String guestTeamOpenId; + @ApiModelProperty(value = "主队队长openid", required = false) + private String mainTeamOpenId; @ApiModelProperty(value = "中文状态", required = false) private String statusName; @ApiModelProperty(value = "比赛日期", required = false) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/job/CompetitionJobHandler.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/job/CompetitionJobHandler.java new file mode 100644 index 00000000..7675d14a --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/job/CompetitionJobHandler.java @@ -0,0 +1,103 @@ +package com.ruoyi.system.job; +import com.ruoyi.system.domain.Competition; +import com.ruoyi.system.domain.CompetitionTeamVsTeam; +import com.ruoyi.system.domain.enums.CompetitionStatusEnum; +import com.ruoyi.system.domain.enums.WxAppletsTemplateIdsEnum; +import com.ruoyi.system.domain.vo.CompetitionTeamVsTeamVo; +import com.ruoyi.system.domain.vo.TemplateDataVo; +import com.ruoyi.system.domain.vo.WxMssVo; +import com.ruoyi.system.service.ICompetitionService; +import com.ruoyi.system.service.ICompetitionTeamVsTeamService; +import com.ruoyi.system.service.WxAppletsService; +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +public class CompetitionJobHandler { + @Resource + private ICompetitionService competitionService; + + @Resource + private ICompetitionTeamVsTeamService competitionTeamVsTeamService; + + @Resource + private WxAppletsService wxAppletsService; + + /** 赛会状态修改 + * 根据比赛时间修改比赛完成-定时任务 + * @param param + * @return + * @throws Exception + */ + @XxlJob("competitionFinishJob") + public ReturnT execute(String param) throws Exception { + competitionService.updateCompetitionFinish(); + return ReturnT.SUCCESS; + } + + /** + * 根据比赛时间修改比赛-队长完成-定时任务 + * @param param + * @return + * @throws Exception + */ + @XxlJob("competitionVsFinishJob") + public ReturnT competitionVsFinishJob(String param) throws Exception { + CompetitionTeamVsTeam competitionTeamVsTeam = new CompetitionTeamVsTeam(); + competitionTeamVsTeamService.competitionVsTeamStatusUpdate(competitionTeamVsTeam); + return ReturnT.SUCCESS; + } + /** + * 根据 球队VS球队 推送给队长-定时任务 + * @param param + * @return + * @throws Exception + */ + @XxlJob("pushScheduleTeamVsTeamJob") + public ReturnT pushScheduleTeamVsTeamJob(String param) throws Exception { + CompetitionTeamVsTeam competitionTeamVsTeam=new CompetitionTeamVsTeam(); + competitionTeamVsTeam.setIsDeleted(0); + List list = competitionTeamVsTeamService.getTodaySchedule(competitionTeamVsTeam); + //循环推送消息 + for (CompetitionTeamVsTeamVo vo : list) { + //主队 + if(!StringUtils.isEmpty(vo)&&!StringUtils.isEmpty(vo.getMainTeamOpenId())) { + // Competition competition = competitionService.getById(vo.getCompetitionId()); + WxMssVo wxMssVo = new WxMssVo(); + wxMssVo.setTemplate_id(WxAppletsTemplateIdsEnum.COMPETITION_COURSE_REMIND.getCode()); + wxMssVo.setTouser(vo.getMainTeamOpenId()); + Map map = new HashMap<>(); + map.put("thing1", new TemplateDataVo(vo.getMainTeamName()+" VS "+vo.getGuestTeamName())); + map.put("thing2", new TemplateDataVo(vo.getCompetitionDate() +" " +vo.getTheTime())); + map.put("thing3", new TemplateDataVo(vo.getVsType())); + map.put("thing4", new TemplateDataVo("你的球队今天有比赛哦,快去为自己的球队冲榜")); + wxMssVo.setData(map); + wxAppletsService.pushOneUser(wxMssVo); + } + //客队 + if(!StringUtils.isEmpty(vo)&&!StringUtils.isEmpty(vo.getGuestTeamOpenId())) { + // Competition competition = competitionService.getById(vo.getCompetitionId()); + WxMssVo wxMssVo = new WxMssVo(); + wxMssVo.setTemplate_id(WxAppletsTemplateIdsEnum.COMPETITION_COURSE_REMIND.getCode()); + wxMssVo.setTouser(vo.getGuestTeamOpenId()); + Map map = new HashMap<>(); + map.put("thing1", new TemplateDataVo(vo.getMainTeamName()+" VS "+vo.getGuestTeamName())); + map.put("thing2", new TemplateDataVo(vo.getCompetitionDate() +" " +vo.getTheTime())); + map.put("thing3", new TemplateDataVo(vo.getVsType())); + map.put("thing4", new TemplateDataVo("你的球队今天有比赛哦,快去为自己的球队冲榜")); + wxMssVo.setData(map); + wxAppletsService.pushOneUser(wxMssVo); + } + } + return ReturnT.SUCCESS; + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionMapper.java index 1dfebb4c..9b925312 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionMapper.java @@ -66,4 +66,6 @@ public interface CompetitionMapper CompetitionExcleVo getTeamEnrollExcleImpData(Long competitionId, Long userId); List getMyJoinCompetition(CompetitionVo competition); + + int updateCompetitionFinish(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionTeamVsTeamMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionTeamVsTeamMapper.java index e244f3e2..0aca3a95 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionTeamVsTeamMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionTeamVsTeamMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.system.domain.CompetitionTeamVsTeam; import com.ruoyi.system.domain.vo.CompetitionTeamIntegralVo; import com.ruoyi.system.domain.vo.CompetitionTeamVsTeamVo; +import com.ruoyi.system.service.ICompetitionResultService; import org.apache.ibatis.annotations.Param; /** @@ -76,4 +77,8 @@ public interface CompetitionTeamVsTeamMapper List getLatelySchedule(CompetitionTeamVsTeam competitionTeamVsTeam); List getCompetitionTeamIntegralListById(@Param("id") Long id); + + int competitionVsTeamStatusUpdate(CompetitionTeamVsTeam competitionTeamVsTeam); + + List getTodaySchedule(ICompetitionResultService competitionResultService); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionService.java index b79b3cef..af1b5dff 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionService.java @@ -87,4 +87,6 @@ public interface ICompetitionService Boolean edit(Competition entity); CompetitionExcleVo importExcleData(Long competitionId,Map maplist, Sheet sheet); + //根据当前时间修改已经完成的赛会数据 + int updateCompetitionFinish(); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionTeamVsTeamService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionTeamVsTeamService.java index f816dba8..2a8c63bf 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionTeamVsTeamService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionTeamVsTeamService.java @@ -76,4 +76,8 @@ public interface ICompetitionTeamVsTeamService Boolean competitionScoreSubmit(List request); Boolean deleteBatchByIds(Ids ids); + + int competitionVsTeamStatusUpdate(CompetitionTeamVsTeam competitionTeamVsTeam); + + List getTodaySchedule(CompetitionTeamVsTeam competitionTeamVsTeam); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionServiceImpl.java index 856b3892..83450fe5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionServiceImpl.java @@ -688,4 +688,9 @@ public class CompetitionServiceImpl implements ICompetitionService } return excleVo; } + + @Override + public int updateCompetitionFinish() { + return competitionMapper.updateCompetitionFinish(); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionTeamVsTeamServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionTeamVsTeamServiceImpl.java index 29188138..db5db4e1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionTeamVsTeamServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionTeamVsTeamServiceImpl.java @@ -299,4 +299,14 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS competitionTeamVsTeamMapper.deleteCompetitionTeamVsTeamByIds(idList); return Boolean.TRUE; } + + @Override + public int competitionVsTeamStatusUpdate(CompetitionTeamVsTeam competitionTeamVsTeam) { + return competitionTeamVsTeamMapper.competitionVsTeamStatusUpdate(competitionTeamVsTeam); + } + + @Override + public List getTodaySchedule(CompetitionTeamVsTeam competitionTeamVsTeam) { + return competitionTeamVsTeamMapper.getTodaySchedule(competitionResultService); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMapper.xml index 9260abe7..1f8a0b9f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMapper.xml @@ -344,6 +344,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update competition set status = 2 where status <> 2 and competition_end_time now() + delete from competition where id = #{id} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionTeamVsTeamMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionTeamVsTeamMapper.xml index 71318972..bdb2ff6a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionTeamVsTeamMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionTeamVsTeamMapper.xml @@ -251,6 +251,100 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY t.competition_of_team_id ORDER BY sum(t.integral) desc + insert into competition_team_vs_team @@ -348,6 +442,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and batch_number = #{batchNumber} + + update competition_team_vs_team set status = 2 where status <> 2 and competition_time now() + delete from competition_team_vs_team where id = #{id}