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-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java index 94912243..6fb8cc11 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/CacheConstants.java @@ -10,12 +10,12 @@ public class CacheConstants /** * 缓存有效期,默认720(分钟) */ - public final static long EXPIRATION = 720; + public final static long EXPIRATION = 7200; /** * 缓存刷新时间,默认120(分钟) */ - public final static long REFRESH_TIME = 120; + public final static long REFRESH_TIME = 1200; /** * 密码最大错误次数 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/CompetitionController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java index 7834fc06..1e3e8ac1 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionController.java @@ -10,6 +10,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.io.IOException; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.bean.BeanUtil; @@ -69,9 +70,9 @@ public class CompetitionController extends BaseController @Autowired private ICompetitionService competitionService; @Autowired - private ICompetitionOfTeamService competitionOfTeamService; + private IUserRoleService userRoleService; @Autowired - private ICompetitionMembersService competitionMembersService; + private ICompetitionSharePermissionsService competitionSharePermissionsService; @Autowired private IWxUserService wxUserService; @@ -132,9 +133,30 @@ public class CompetitionController extends BaseController @ResponseBody @ApiOperation(value = ApiTerminal.wxMiniProgram+"分页获取我参与过的比赛列表") public TableDataInfo getMyJoinCompetition(@RequestBody CompetitionVo entity) { - startPage(); //关键字word包含:球队名称、地点名称、球馆名称,支持模糊搜索; entity.setIsDeleted(0); + LoginUser user = SecurityUtils.getLoginUser(); + List userRoleList = userRoleService.selectRoleByUserId(user.getUserid()); + //查询登录用户的系统角色 + if(ObjectUtil.isNotNull(userRoleList) && userRoleList.size()>0) { + List roles = userRoleList.stream().map(UserRole::getRoleCode).collect(Collectors.toList()); + //如果是管理员就直接可以查看所有的赛事 + if (roles.contains("admin")) { + entity.setUserId(null); + entity.setFounder(null); + }else { + //todo 查询是否有分享的控制权赛会 + CompetitionSharePermissions permissions = new CompetitionSharePermissions(); + permissions.setUserId(user.getUserid()); + permissions.setIsDeleted(0); + List permissionsList = competitionSharePermissionsService.selectCompetitionSharePermissionsList(permissions); + if(ObjectUtil.isNotNull(permissionsList)&&permissionsList.size()>0){ + List competitionIds = permissionsList.stream().map(CompetitionSharePermissions::getCompetitionId).collect(Collectors.toList()); + entity.setCompetitionIds(competitionIds); + } + } + } + startPage(); List list = competitionService.getMyJoinCompetition(entity); return getDataTable(list); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java index 8ec9a3b4..9966de56 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionOfTeamController.java @@ -155,7 +155,14 @@ public class CompetitionOfTeamController extends BaseController { return toAjax(competitionOfTeamService.deleteCompetitionOfTeamByIds(ids)); } - + @PostMapping("/getMyJoinCompetitionTeam") + @ResponseBody + @ApiOperation(value = ApiTerminal.wxMiniProgram+"分页获取【我】参与比赛的球队列表") + public TableDataInfo getMyJoinCompetitionTeam(@RequestBody CompetitionOfTeamVo entity){ + startPage(); + List list =competitionOfTeamService.getMyJoinCompetitionTeam(entity); + return getDataTable(list); + } @ApiOperation(ApiTerminal.wxMiniProgram+"新增") @PostMapping("/add") @ResponseBody @@ -222,23 +229,8 @@ public class CompetitionOfTeamController extends BaseController } @PostMapping("/getJoinCompetitionGroupTeam") @ResponseBody - @ApiOperation(value = ApiTerminal.wxMiniProgram+"获取赛事中参与的球队的分组数据") + @ApiOperation(value = ApiTerminal.wxMiniProgram+"获取赛事中参与的球队的分组的积分情况") public AjaxResult getJoinCompetitionGroupTeam(@RequestBody CompetitionOfTeamVo entity){ - //关键字word包含:球队名称、地点名称、球馆名称,支持模糊搜索; -// List competitionOfTeamVos = competitionOfTeamFeign.getJoinCompetitionGroupTeam(entity); -// List isNotGroupList = list.stream().filter(a -> StringUtils.isEmpty(a.getCompetitionGroup())).collect(Collectors.toList()); -// List list1 = list.stream().filter(a -> !StringUtils.isEmpty(a.getCompetitionGroup())).collect(Collectors.toList()); -// //1.根据字符串类型日期分组,并按照日期升序排序,返回TreeMap,map的key为字符串日期,value为list -// TreeMap> dataGroupMap = list1.stream().collect(Collectors.groupingBy(a->a.getCompetitionGroup(), TreeMap::new,Collectors.toList())); -// List listMap = new ArrayList<>(); -// for(Map.Entry> entry:dataGroupMap.entrySet()){ -// Map resMap =new HashMap(); -// resMap.put("competitionGroup",entry.getKey()); -// resMap.put("competitionOfTeamList",entry.getValue()); -// listMap.add(resMap); -// } -// maps.put("isGroup",listMap); -// maps.put("isNotGroup",isNotGroupList); Map hashMap = new HashMap(); List competitionOfTeamGroupVoList = null; List competitionOfTeamVos = competitionOfTeamService.findCompetitionTeamGroupList(entity); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java index 4b1835ef..51f873fb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionResultController.java @@ -6,6 +6,7 @@ import java.util.Comparator; import java.util.Date; import java.util.List; import java.io.IOException; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; import com.ruoyi.common.core.exception.ServiceException; @@ -127,7 +128,8 @@ public class CompetitionResultController extends BaseController { return toAjax(competitionResultService.deleteCompetitionResultByIds(ids)); } - @ApiOperation(ApiTerminal.wxMiniProgram+"球员数据-新增、编辑") + @ApiOperation(ApiTerminal.wxMiniProgram+"球员数据-新增,编辑") + @Log(title = "赛会中球员比赛得分记录", businessType = BusinessType.UPDATE) @PostMapping("/insertOrUpdateMemberScore") @ResponseBody public AjaxResult insertOrUpdateMemberScore(@RequestBody CompetitionMembersScore request) throws Exception { @@ -137,7 +139,7 @@ public class CompetitionResultController extends BaseController //新增 if(request.getId()==null){ - request.setCreatedBy(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + //request.setCreatedBy(String.valueOf(SecurityUtils.getLoginUser().getUserid())); request.setCreatedTime(new Date()); competitionMembersScoreService.insertCompetitionMembersScore(request); } else {//编辑、 @@ -145,7 +147,7 @@ public class CompetitionResultController extends BaseController throw new ServiceException("id为空"); } request.setLastUpdatedTime(new Date()); - request.setModifiedBy(String.valueOf(SecurityUtils.getLoginUser().getUserid())); + //request.setModifiedBy(String.valueOf(SecurityUtils.getLoginUser().getUserid())); competitionMembersScoreService.updateCompetitionMembersScore(request); } return AjaxResult.success(); @@ -158,34 +160,61 @@ public class CompetitionResultController extends BaseController throw new InvalidParameterException("赛会id不能为"); } List honorResponseList = new ArrayList<>(); - //查询赛会得分数据 List membersScoreList = competitionMembersScoreService.getHonorList(competitionId,null); - if(UtilTool.isNotNull(membersScoreList)){ - honorResponseList = new ArrayList<>(); - - CompetitionMembersScore membersScore = null; + if(membersScoreList.size()>0){ //3分王 - membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get(); - setHonorData(honorResponseList,membersScore,"3分王"); + List threePointList = membersScoreList.stream().filter(a -> a.getThreePoints().longValue() > 0).collect(Collectors.toList()); + if(threePointList.size()>0) { + CompetitionMembersScore threePoint = threePointList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get(); + setHonorData(honorResponseList, threePoint, "3分王"); + }else { + setHonorData(honorResponseList, new CompetitionMembersScore(), "3分王"); + } //篮板王 - membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getBackboard)).get(); - setHonorData(honorResponseList,membersScore,"篮板王"); + List backboardList = membersScoreList.stream().filter(a -> a.getBackboard().longValue() > 0).collect(Collectors.toList()); + if(backboardList.size()>0){ + CompetitionMembersScore backboardMax = backboardList.stream().max(Comparator.comparing(CompetitionMembersScore::getBackboard)).get(); + setHonorData(honorResponseList,backboardMax,"篮板王"); + }else { + setHonorData(honorResponseList,new CompetitionMembersScore(),"篮板王"); + } + //效率王 // membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getThreePoints)).get(); // setHonorData(membersScore,"效率王"); //助攻王 - membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getAssists)).get(); - setHonorData(honorResponseList,membersScore,"助攻王"); + List assistsList = membersScoreList.stream().filter(a -> a.getAssists().longValue() > 0).collect(Collectors.toList()); + if(assistsList.size()>0){ + CompetitionMembersScore assists = assistsList.stream().max(Comparator.comparing(CompetitionMembersScore::getAssists)).get(); + setHonorData(honorResponseList,assists,"助攻王"); + }else { + setHonorData(honorResponseList,new CompetitionMembersScore(),"助攻王"); + } //得分王 - membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getTotalScore)).get(); - setHonorData(honorResponseList,membersScore,"得分王"); + List totalScoreList = membersScoreList.stream().filter(a -> a.getTotalScore().longValue() > 0).collect(Collectors.toList()); + if(totalScoreList.size()>0){ + CompetitionMembersScore totalScore = totalScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getTotalScore)).get(); + setHonorData(honorResponseList,totalScore,"得分王"); + }else { + setHonorData(honorResponseList,new CompetitionMembersScore(),"得分王"); + } //盖帽王 - membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getBlock)).get(); - setHonorData(honorResponseList,membersScore,"盖帽王"); + List blockList = membersScoreList.stream().filter(a -> a.getBlock().longValue() > 0).collect(Collectors.toList()); + if(blockList.size()>0){ + CompetitionMembersScore block = blockList.stream().max(Comparator.comparing(CompetitionMembersScore::getBlock)).get(); + setHonorData(honorResponseList,block,"盖帽王"); + }else { + setHonorData(honorResponseList,new CompetitionMembersScore(),"盖帽王"); + } //抢断王 - membersScore = membersScoreList.stream().max(Comparator.comparing(CompetitionMembersScore::getSnatch)).get(); - setHonorData(honorResponseList,membersScore,"抢断王"); + List snatchList = membersScoreList.stream().filter(a -> a.getSnatch().longValue() > 0).collect(Collectors.toList()); + if(snatchList.size()>0){ + CompetitionMembersScore snatch = snatchList.stream().max(Comparator.comparing(CompetitionMembersScore::getSnatch)).get(); + setHonorData(honorResponseList,snatch,"抢断王"); + }else { + setHonorData(honorResponseList,new CompetitionMembersScore(),"抢断王"); + } } return getDataTable(honorResponseList); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionSharePermissionsController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionSharePermissionsController.java new file mode 100644 index 00000000..6f4ced04 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionSharePermissionsController.java @@ -0,0 +1,131 @@ +package com.ruoyi.system.controller; + +import java.util.List; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.swagger.apiConstants.ApiTerminal; +import com.ruoyi.system.domain.vo.CompetitionSharePermissionsVo; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.ruoyi.system.domain.CompetitionSharePermissions; +import com.ruoyi.system.service.ICompetitionSharePermissionsService; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.utils.poi.ExcelUtil; +import com.ruoyi.common.core.web.page.TableDataInfo; + +/** + * 赛会-权限分享Controller + * + * @author ruoyi + * @date 2023-07-20 + */ +@RestController +@RequestMapping("/competitionPermissions") +public class CompetitionSharePermissionsController extends BaseController +{ + @Autowired + private ICompetitionSharePermissionsService competitionSharePermissionsService; + + /** + * 查询赛会-权限分享列表 + */ + @RequiresPermissions("system:competitionPermissions:list") + @GetMapping("/list") + public TableDataInfo list(CompetitionSharePermissions competitionSharePermissions) + { + startPage(); + List list = competitionSharePermissionsService.selectCompetitionSharePermissionsList(competitionSharePermissions); + return getDataTable(list); + } + + /** + * 导出赛会-权限分享列表 + */ + @RequiresPermissions("system:competitionPermissions:export") + @Log(title = "赛会-权限分享", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, CompetitionSharePermissions competitionSharePermissions) + { + List list = competitionSharePermissionsService.selectCompetitionSharePermissionsList(competitionSharePermissions); + ExcelUtil util = new ExcelUtil(CompetitionSharePermissions.class); + util.exportExcel(response, list, "赛会-权限分享数据"); + } + + /** + * 获取赛会-权限分享详细信息 + */ + @RequiresPermissions("system:competitionPermissions:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(competitionSharePermissionsService.selectCompetitionSharePermissionsById(id)); + } + + /** + * 新增赛会-权限分享 + */ + @RequiresPermissions("system:competitionPermissions:add") + @Log(title = "赛会-权限分享", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody CompetitionSharePermissions competitionSharePermissions) + { + return toAjax(competitionSharePermissionsService.insertCompetitionSharePermissions(competitionSharePermissions)); + } + @ApiOperation(value = ApiTerminal.wxMiniProgram+"分页查询分享数据") + @PostMapping("/getList") + public TableDataInfo getList(@RequestBody CompetitionSharePermissions competitionSharePermissions) + { + startPage(); + List list = competitionSharePermissionsService.getList(competitionSharePermissions); + return getDataTable(list); + } + /** + * 修改赛会-权限分享 + */ + @RequiresPermissions("system:competitionPermissions:edit") + @Log(title = "赛会-权限分享", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody CompetitionSharePermissions competitionSharePermissions) + { + return toAjax(competitionSharePermissionsService.updateCompetitionSharePermissions(competitionSharePermissions)); + } + + /** + * 删除赛会-权限分享 + */ + @RequiresPermissions("system:competitionPermissions:remove") + @Log(title = "赛会-权限分享", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(competitionSharePermissionsService.deleteCompetitionSharePermissionsByIds(ids)); + } + + @Log(title = ApiTerminal.wxMiniProgram+"赛会-批量分享赛会的控制权限", businessType = BusinessType.INSERT) + @ApiOperation(value = ApiTerminal.wxMiniProgram+"批量分享赛会的控制权限") + @PostMapping("/shareCompetitionPermissions") + public AjaxResult shareCompetitionPermissions(@RequestBody CompetitionSharePermissions vo) + { + return AjaxResult.success(competitionSharePermissionsService.shareCompetitionPermissions(vo)); + } + @Log(title = ApiTerminal.wxMiniProgram+"赛会-批量删除分享赛会的控制权限", businessType = BusinessType.DELETE) + @ApiOperation(value = ApiTerminal.wxMiniProgram+"批量删除分享赛会的控制权限") + @PostMapping("/delShareCompetitionPermissions") + public AjaxResult delShareCompetitionPermissions(@RequestBody Long[] ids) + { + return AjaxResult.success(competitionSharePermissionsService.delShareCompetitionPermissions(ids)); + } +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java index c39b8c76..a3011c78 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionTeamVsTeamController.java @@ -2,24 +2,21 @@ package com.ruoyi.system.controller; import java.security.InvalidParameterException; import java.text.ParseException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.io.IOException; -import java.util.Map; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.core.exception.CheckedException; import com.ruoyi.common.swagger.apiConstants.ApiTerminal; import com.ruoyi.system.domain.CompetitionResult; -import com.ruoyi.system.domain.vo.CompetitionTeamIntegralVo; -import com.ruoyi.system.domain.vo.CompetitionTeamVsTeamRequest; -import com.ruoyi.system.domain.vo.CompetitionTeamVsTeamVo; -import com.ruoyi.system.domain.vo.CompetitionUnifiedRecordVo; +import com.ruoyi.system.domain.vo.*; import com.ruoyi.system.utils.UtilTool; import io.seata.core.model.Result; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; @@ -111,6 +108,18 @@ public class CompetitionTeamVsTeamController extends BaseController { return toAjax(competitionTeamVsTeamService.deleteCompetitionTeamVsTeamByIds(ids)); } + @ApiOperation(ApiTerminal.wxMiniProgram+"根据IDS批量删除") + @DeleteMapping("/batchDeleteByIds") + @ResponseBody + public AjaxResult batchDeleteByIds(@RequestBody Ids ids) throws Exception { + if(ObjectUtil.isNull(ids)){ + throw new InvalidParameterException("参数异常,非法操作!"); + } + if(StringUtils.isEmpty(ids.getIdList())||ids.getIdList().size()==0){ + throw new InvalidParameterException("ids不能为空!"); + } + return AjaxResult.success(competitionTeamVsTeamService.deleteBatchByIds(ids)); + } @Log(title = "赛会中球队VS球队比赛结果数据", businessType = BusinessType.OTHER) @ApiOperation("根据ID获取当前比赛赛程的所有统分结果") @GetMapping("/competitionUnifiedRecord/{id}") @@ -119,7 +128,7 @@ public class CompetitionTeamVsTeamController extends BaseController } @Log(title = "赛会中球队VS球队比赛结果数据2", businessType = BusinessType.OTHER) - @ApiOperation("根据ID获取当前比赛赛程的所有统分结果2") + @ApiOperation(ApiTerminal.wxMiniProgram+"根据ID获取当前比赛赛程的所有统分结果2") @GetMapping("/getCompetitionVsRecordById/{id}") public AjaxResult getCompetitionVsRecordById(@PathVariable("id") Long id) { return AjaxResult.success(competitionTeamVsTeamService.getCompetitionVsRecordById(id)); @@ -149,10 +158,47 @@ public class CompetitionTeamVsTeamController extends BaseController @GetMapping("/competitionTeamIntegralList/{id}") @ResponseBody public TableDataInfo competitionTeamIntegralList(@PathVariable("id") Long id) throws Exception { - List list = competitionTeamVsTeamService.getCompetitionTeamIntegralListById(id); + CompetitionTeamIntegralVo vo = new CompetitionTeamIntegralVo(); + vo.setCompetitionId(id); + List list = competitionTeamVsTeamService.getCompetitionTeamIntegralListById(vo); return getDataTable(list); } - + @ApiOperation(ApiTerminal.wxMiniProgram+"根据赛会ID获取所有球队的积分排位") + @PostMapping("/competitionTeamIntegralRanking") + @ResponseBody + public TableDataInfo competitionTeamIntegralRanking(@RequestBody CompetitionTeamIntegralVo vo) throws Exception { + List rankingVoList = new ArrayList<>(); + List list = competitionTeamVsTeamService.getCompetitionTeamIntegralListById(vo); + Map> map = new HashMap<>(); + if(list.size()>0) { + List notGroup = list.stream().filter(a -> ObjectUtil.isNull(a.getCompetitionGroup())).collect(Collectors.toList()); + List yesGroup = list.stream().filter(a -> ObjectUtil.isNotNull(a.getCompetitionGroup())).collect(Collectors.toList()); + if(yesGroup.size()>0) { + map = yesGroup.stream().collect( + Collectors.groupingBy(CompetitionTeamIntegralVo::getCompetitionGroup, HashMap::new, + Collectors.collectingAndThen(Collectors.toList(), + //正序 + //list1 -> list1.stream().sorted(Comparator.comparing(CompetitionTeamIntegralVo::getIntegral)) + //倒序 + list1 -> list1.stream().sorted(Comparator.comparing(CompetitionTeamIntegralVo::getIntegral).reversed()) + .collect(Collectors.toList()) + ))); + for (String key:map.keySet()){ + competitionTeamIntegralRankingVo rankingVo = new competitionTeamIntegralRankingVo(); + rankingVo.setCompetitionGroup(key); + rankingVo.setIntegralList(map.get(key)); + rankingVoList.add(rankingVo); + } + } + if(notGroup.size()>0){ + competitionTeamIntegralRankingVo rankingVo = new competitionTeamIntegralRankingVo(); + rankingVo.setCompetitionGroup("未分"); + rankingVo.setIntegralList(notGroup.stream().sorted(Comparator.comparing(CompetitionTeamIntegralVo::getIntegral).reversed()).collect(Collectors.toList())); + rankingVoList.add(rankingVo); + } + } + return getDataTable(rankingVoList); + } @PostMapping("/competitionScheduleSubmit") @ResponseBody diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index b7b400de..de6409ec 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -127,6 +127,8 @@ public class SysUserController extends BaseController LoginUser sysUserVo = new LoginUser(); sysUserVo.setSysUser(sysUser); sysUserVo.setRoles(roles); + sysUserVo.setUserid(sysUser.getUserId()); + sysUserVo.setUsername(sysUser.getUserName()); sysUserVo.setPermissions(permissions); return R.ok(sysUserVo); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxAppletsController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxAppletsController.java index b4dce3e9..608f5f8e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxAppletsController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxAppletsController.java @@ -3,7 +3,9 @@ package com.ruoyi.system.controller; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.swagger.apiConstants.ApiTerminal; import com.ruoyi.system.api.domain.vo.WxAppletsCodeVo; +import com.ruoyi.system.domain.vo.PhoneRequest; import com.ruoyi.system.service.WxAppletsService; +import io.seata.core.model.Result; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -38,6 +40,33 @@ public class WxAppletsController { @Value("${image.domainName}") private String domainName; + @PostMapping("/getPhoneNumber") + @ApiOperation(ApiTerminal.wxMiniProgram+"微信小程序-获取用户手机号码") + @ResponseBody + public AjaxResult getPhoneNumber(@RequestBody PhoneRequest request) throws Exception { + String tel=""; + // 授权成功 + if (request.getErrMsg().equals("getPhoneNumber:ok")) { + tel = wxAppletsService.getPhoneNumber(request); + }else{ + System.out.println("用户拒绝授权获取手机号码 userid="+request.getUserId()); + } + return AjaxResult.success(tel); + } + + @PostMapping("/updatePhoneNumber") + @ApiOperation(ApiTerminal.wxMiniProgram+"更新获取用户手机号码") + @ResponseBody + public AjaxResult updatePhoneNumber(@RequestBody PhoneRequest request) throws Exception { + String tel=""; + // 授权成功 + if (request.getErrMsg().equals("getPhoneNumber:ok")) { + tel = wxAppletsService.updatePhoneNumber(request); + }else{ + System.out.println("用户拒绝授权获取手机号码 userid="+request.getUserId()); + } + return AjaxResult.success(tel); + } @PostMapping("/getWxacodeunlimit") @ApiOperation(ApiTerminal.wxMiniProgram +"微信小程序-获取小程序码") @ResponseBody diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java index a2681efa..8377d33f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxBuildingInfoController.java @@ -162,6 +162,7 @@ public class WxBuildingInfoController extends BaseController @ApiOperation(ApiTerminal.wxMiniProgram+"获取球场列表") @ResponseBody public TableDataInfo getBuildingByCity(@RequestBody WxBuildingInfo entity){ + startPage(); List list = wxBuildingInfoService.getBuildingByCity(entity); return getDataTable(list); @@ -191,6 +192,7 @@ public class WxBuildingInfoController extends BaseController @ResponseBody @ApiOperation(value = ApiTerminal.wxMiniProgram+"分页获取球场列表") public TableDataInfo getAllBuildingByCondition(@RequestBody BuildingInfoRequest entity){ + startPage(); List list =wxBuildingInfoService.getAllBuildingByCondition(entity); for(BuildingInfoResponse response:list){ if(1==response.getStatus()){ 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..7fbf9187 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,23 @@ 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+"根据用户手机号查询个人数据") + @PostMapping(value = "/getUserInfoBy") + @ResponseBody + public AjaxResult getUserInfoBy(@RequestBody WxUser wxUser) + { + return AjaxResult.success(wxUserService.getUserInfoBy(wxUser)); + } + + @ApiOperation(ApiTerminal.wxMiniProgram+"根据用户id查询个人中心详情") @PostMapping("/detail/{userId}") @ResponseBody diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionMembersScore.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionMembersScore.java index b354dd31..1331a7ee 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionMembersScore.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionMembersScore.java @@ -31,6 +31,16 @@ public class CompetitionMembersScore extends BaseEntity @Excel(name = "赛程id(competition_team_vs_team的ID)") private Long competitionVsId; + + @ApiModelProperty(value = "参赛人员记录id(competition_members的ID)", required = false) + @Excel(name = "competition_members_id") + private Long competitionMembersId; + + + @ApiModelProperty(value = "competition_of_team_id(competition_of_team的主键ID)", required = false) + @Excel(name = "competition_of_team_id") + private Long competitionOfTeamId; + /** 球队ID */ @Excel(name = "球队ID") private Long teamId; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionOfTeam.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionOfTeam.java index 2164f9b1..9542fc5a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionOfTeam.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionOfTeam.java @@ -65,11 +65,11 @@ public class CompetitionOfTeam extends BaseEntity private Long isDeleted; /** 联系人 */ - @Excel(name = "联系人") + @Excel(name = "领队人") private String contacts; /** 联系人电话 */ - @Excel(name = "联系人电话") + @Excel(name = "领队人电话") private String contactsTel; /** 联系人电话区号 */ @@ -79,5 +79,9 @@ public class CompetitionOfTeam extends BaseEntity /** 组内的序号 */ @Excel(name = "组内的序号") private Integer serialNumber; + @Excel(name = "球队logo") + private String teamLogo; + @Excel(name = "球队队长") + private String captain; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionResult.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionResult.java index 3f27886f..1a98e17d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionResult.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionResult.java @@ -31,6 +31,8 @@ public class CompetitionResult extends BaseEntity @Excel(name = "赛程id(competition_team_vs_team的ID)") private Long competitionVsId; + @ApiModelProperty(value = "competition_of_team表的主键ID", required = false) + private Long competitionOfTeamId; /** 球队ID */ @Excel(name = "球队ID") private Long teamId; @@ -98,7 +100,9 @@ public class CompetitionResult extends BaseEntity private Integer integral; @ApiModelProperty(value = "比赛结果", required = false) private String vsResult; - + @ApiModelProperty(value = "比赛类型:0=循环赛,1=淘汰赛", required = false) + private String vsType; @ApiModelProperty(value = "比赛总分", required = false) private Integer totalScore; + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java new file mode 100644 index 00000000..21f2d364 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java @@ -0,0 +1,52 @@ +package com.ruoyi.system.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.core.annotation.Excel; +import com.ruoyi.common.core.web.domain.BaseEntity; + +/** + * 赛会-权限分享对象 competition_share_permissions + * + * @author ruoyi + * @date 2023-07-20 + */ +@Data +public class CompetitionSharePermissions extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 赛事id(competition的ID) */ + @Excel(name = "赛事id(competition的ID)") + private Long competitionId; + + /** 用户ID */ + @Excel(name = "用户ID") + private Long userId; + + /** 用户手机号 */ + @Excel(name = "用户手机号") + private String userTel; + + /** 用户姓名 */ + @Excel(name = "用户姓名") + private String userName; + + /** 状态(sys_data_status) */ + @Excel(name = "状态(sys_data_status)") + private Long status; + + /** 是否删除 */ + @Excel(name = "是否删除") + private Integer isDeleted; + + /** 能操作的功能 */ + @Excel(name = "能操作的功能") + private String canSetType; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/enums/VsResultEnums.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/enums/VsResultEnums.java index 45251655..40840659 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/enums/VsResultEnums.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/enums/VsResultEnums.java @@ -4,6 +4,7 @@ import org.springframework.util.StringUtils; public enum VsResultEnums { win("win", "胜"), + flat("flat","平"), fail("fail", "负"); private String code; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionSharePermissionsVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionSharePermissionsVo.java new file mode 100644 index 00000000..e64b9134 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionSharePermissionsVo.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.domain.vo; + +import com.ruoyi.common.core.annotation.Excel; +import com.ruoyi.system.domain.CompetitionSharePermissions; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author 吴一博 + * @date 2023年07月20日 17:47 + * @Description + */ +@Data +public class CompetitionSharePermissionsVo { + @ApiModelProperty(name = "赛事id(competition的ID)") + private Long competitionId; + @ApiModelProperty(name = "分享的人") + List sharePermissionList; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamIntegralVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamIntegralVo.java index 9782f4cf..6f84289d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamIntegralVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionTeamIntegralVo.java @@ -11,10 +11,13 @@ import java.io.Serializable; */ @Data public class CompetitionTeamIntegralVo implements Serializable { + private Long competitionId; private String teamName; private String teamLogo; private Integer win; private Integer fail; private Integer totalScore; private Integer integral; + private String vsType; + private String competitionGroup; } 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/domain/vo/CompetitionVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionVo.java index 3c14ef73..77800c2a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionVo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionVo.java @@ -2,6 +2,9 @@ package com.ruoyi.system.domain.vo; import com.ruoyi.system.domain.Competition; import io.swagger.annotations.ApiModelProperty; import lombok.*; + +import java.util.List; + @Data @NoArgsConstructor @AllArgsConstructor @@ -16,4 +19,6 @@ public class CompetitionVo extends Competition { @ApiModelProperty(value = "短信验证码", required = false) private String captcha; + @ApiModelProperty(value = "赛会ID集合", required = false) + private List competitionIds; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/Ids.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/Ids.java new file mode 100644 index 00000000..2c4fac31 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/Ids.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.domain.vo; + +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +/** + * guocai + */ +@Setter +@Getter +public class Ids { + + private String ids; + /** + * 前端传的ids 数组 + */ + private List idList; +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/competitionTeamIntegralRankingVo.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/competitionTeamIntegralRankingVo.java new file mode 100644 index 00000000..e7595370 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/competitionTeamIntegralRankingVo.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.domain.vo; + +import lombok.Data; + +import java.util.List; + +/** + * @author 吴一博 + * @date 2023年07月19日 18:27 + * @Description + */ +@Data +public class competitionTeamIntegralRankingVo { + private String competitionGroup; + public List integralList; +} 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/CompetitionOfTeamMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionOfTeamMapper.java index 458dcfb5..260d50fe 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionOfTeamMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionOfTeamMapper.java @@ -74,4 +74,6 @@ public interface CompetitionOfTeamMapper CompetitionOfTeam selectOneByUserId(@Param("competitionId") Long competitionId,@Param("userId") String userId); List getJoinCompetitionGroupTeam(CompetitionOfTeam ofTeam); + + List getMyJoinCompetitionTeam(CompetitionOfTeamVo entity); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionSharePermissionsMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionSharePermissionsMapper.java new file mode 100644 index 00000000..08ed05b0 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionSharePermissionsMapper.java @@ -0,0 +1,63 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.CompetitionSharePermissions; + +/** + * 赛会-权限分享Mapper接口 + * + * @author ruoyi + * @date 2023-07-20 + */ +public interface CompetitionSharePermissionsMapper +{ + /** + * 查询赛会-权限分享 + * + * @param id 赛会-权限分享主键 + * @return 赛会-权限分享 + */ + public CompetitionSharePermissions selectCompetitionSharePermissionsById(Long id); + + /** + * 查询赛会-权限分享列表 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 赛会-权限分享集合 + */ + public List selectCompetitionSharePermissionsList(CompetitionSharePermissions competitionSharePermissions); + + /** + * 新增赛会-权限分享 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 结果 + */ + public int insertCompetitionSharePermissions(CompetitionSharePermissions competitionSharePermissions); + + /** + * 修改赛会-权限分享 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 结果 + */ + public int updateCompetitionSharePermissions(CompetitionSharePermissions competitionSharePermissions); + + /** + * 删除赛会-权限分享 + * + * @param id 赛会-权限分享主键 + * @return 结果 + */ + public int deleteCompetitionSharePermissionsById(Long id); + + /** + * 批量删除赛会-权限分享 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteCompetitionSharePermissionsByIds(Long[] ids); + + List getList(CompetitionSharePermissions competitionSharePermissions); +} 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..54635a32 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; /** @@ -75,5 +76,9 @@ public interface CompetitionTeamVsTeamMapper List getLatelySchedule(CompetitionTeamVsTeam competitionTeamVsTeam); - List getCompetitionTeamIntegralListById(@Param("id") Long id); + List getCompetitionTeamIntegralListById(CompetitionTeamIntegralVo vo); + + int competitionVsTeamStatusUpdate(CompetitionTeamVsTeam competitionTeamVsTeam); + + List getTodaySchedule(ICompetitionResultService competitionResultService); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java index 6b14c0a0..8de84940 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/UserRoleMapper.java @@ -60,4 +60,6 @@ public interface UserRoleMapper public int deleteUserRoleByIds(Long[] ids); UserRole selectByCode(String roleCode); + + List selectRoleByUserId(Long userid); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WxUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WxUserMapper.java index 7f5f403b..47652437 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WxUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/WxUserMapper.java @@ -63,4 +63,6 @@ public interface WxUserMapper WxUser selectByOpenId(String openId); List listByIds(@Param("userIds") List userIds); + + WxUser getUserInfoBy(WxUser wxUser); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionOfTeamService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionOfTeamService.java index 5f9cd864..5c5fa3af 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionOfTeamService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionOfTeamService.java @@ -80,4 +80,6 @@ public interface ICompetitionOfTeamService Boolean edit(CompetitionOfTeam entity); List getJoinCompetitionGroupTeam(CompetitionOfTeam ofTeam); + + List getMyJoinCompetitionTeam(CompetitionOfTeamVo entity); } 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/ICompetitionSharePermissionsService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionSharePermissionsService.java new file mode 100644 index 00000000..3594fcc1 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionSharePermissionsService.java @@ -0,0 +1,68 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.CompetitionSharePermissions; +import com.ruoyi.system.domain.vo.CompetitionSharePermissionsVo; + +/** + * 赛会-权限分享Service接口 + * + * @author ruoyi + * @date 2023-07-20 + */ +public interface ICompetitionSharePermissionsService +{ + /** + * 查询赛会-权限分享 + * + * @param id 赛会-权限分享主键 + * @return 赛会-权限分享 + */ + public CompetitionSharePermissions selectCompetitionSharePermissionsById(Long id); + + /** + * 查询赛会-权限分享列表 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 赛会-权限分享集合 + */ + public List selectCompetitionSharePermissionsList(CompetitionSharePermissions competitionSharePermissions); + + /** + * 新增赛会-权限分享 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 结果 + */ + public int insertCompetitionSharePermissions(CompetitionSharePermissions competitionSharePermissions); + + /** + * 修改赛会-权限分享 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 结果 + */ + public int updateCompetitionSharePermissions(CompetitionSharePermissions competitionSharePermissions); + + /** + * 批量删除赛会-权限分享 + * + * @param ids 需要删除的赛会-权限分享主键集合 + * @return 结果 + */ + public int deleteCompetitionSharePermissionsByIds(Long[] ids); + + /** + * 删除赛会-权限分享信息 + * + * @param id 赛会-权限分享主键 + * @return 结果 + */ + public int deleteCompetitionSharePermissionsById(Long id); + + Boolean shareCompetitionPermissions(CompetitionSharePermissions vo); + + Boolean delShareCompetitionPermissions(Long[] ids); + + List getList(CompetitionSharePermissions competitionSharePermissions); +} 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 be938909..befe4198 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 @@ -69,9 +69,15 @@ public interface ICompetitionTeamVsTeamService Map> getCompetitionSchedule(CompetitionTeamVsTeam entity); - List getCompetitionTeamIntegralListById(Long id); + List getCompetitionTeamIntegralListById(CompetitionTeamIntegralVo vo); Boolean competitionScheduleSubmit(List vsTeamRequestList); 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/IUserRoleService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserRoleService.java index 0efd34a0..df5274c6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserRoleService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IUserRoleService.java @@ -35,6 +35,8 @@ public interface IUserRoleService */ public int insertUserRole(UserRole userRole); + List selectRoleByUserId(Long userid); + /** * 修改【请填写功能名称】 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java index 5c143ccf..2cd1b823 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IWxUserService.java @@ -58,4 +58,6 @@ public interface IWxUserService * @return 结果 */ public int deleteWxUserById(Long id); + + WxUser getUserInfoBy(WxUser wxUser); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionOfTeamServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionOfTeamServiceImpl.java index 26fdc385..bebad494 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionOfTeamServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionOfTeamServiceImpl.java @@ -144,4 +144,12 @@ public class CompetitionOfTeamServiceImpl implements ICompetitionOfTeamService public List getJoinCompetitionGroupTeam(CompetitionOfTeam ofTeam) { return competitionOfTeamMapper.getJoinCompetitionGroupTeam(ofTeam); } + + @Override + public List getMyJoinCompetitionTeam(CompetitionOfTeamVo entity) { + LoginUser user = SecurityUtils.getLoginUser(); + entity.setUserId(user.getUserid()); + List list=competitionOfTeamMapper.getMyJoinCompetitionTeam(entity); + return list; + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionResultServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionResultServiceImpl.java index d89f582c..8316d24e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionResultServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionResultServiceImpl.java @@ -129,7 +129,7 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService CompetitionResultVo team = obj.getMainTeam(); team.setCompetitionId(obj.getTeamVsTeamVo().getCompetitionId()); team.setCompetitionVsId(obj.getTeamVsTeamVo().getId()); - team.setTeamId(obj.getTeamVsTeamVo().getMainTeamId()); + team.setCompetitionOfTeamId(obj.getTeamVsTeamVo().getMainTeamId()); team.setTeamName(obj.getTeamVsTeamVo().getMainTeamName()); competitionResultMapper.insertCompetitionResult(team); }else { @@ -139,7 +139,7 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService CompetitionResultVo team = obj.getGuestTeam(); team.setCompetitionId(obj.getTeamVsTeamVo().getCompetitionId()); team.setCompetitionVsId(obj.getTeamVsTeamVo().getId()); - team.setTeamId(obj.getTeamVsTeamVo().getGuestTeamId()); + team.setCompetitionOfTeamId(obj.getTeamVsTeamVo().getGuestTeamId()); team.setTeamName(obj.getTeamVsTeamVo().getGuestTeamName()); competitionResultMapper.insertCompetitionResult(team); }else { @@ -156,9 +156,9 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService @Override @Transactional(rollbackFor = Exception.class) public Boolean add(CompetitionResult entity) { - LoginUser user = SecurityUtils.getLoginUser(); + LoginUser user = new LoginUser();//SecurityUtils.getLoginUser(); // entity.fillOperationInfo(user.getUserId().toString()); - entity.setCreatedBy(String.valueOf(user.getUserid())); + // entity.setCreatedBy(String.valueOf(user.getUserid())); entity.setCreatedTime(new Date()); competitionResultMapper.insertCompetitionResult(entity); this.calculateScore(entity,user); @@ -204,7 +204,7 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService //合计总分 int score = oneNodeScore+twoNodeScore+threeNodeScore+fourNodeScore+fiveNodeScore+sixNodeScore; //主队 - if(teamVsTeam.getMainTeamId().equals(competitionResult.getTeamId())){ + if(teamVsTeam.getMainTeamId().equals(competitionResult.getCompetitionOfTeamId())){ mainId = competitionResult.getId(); mainScore = score; teamVsTeam.setMainTeamScore(score); @@ -213,13 +213,13 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService gustScore = score; teamVsTeam.setGuestTeamScore(score); //客队标识 - if(entity.getTeamId()==competitionResult.getTeamId()){ + if(entity.getCompetitionOfTeamId()==competitionResult.getCompetitionOfTeamId()){ flag = false; } } //设置更新人 - teamVsTeam.setModifiedBy(String.valueOf(user.getUserid())); + //teamVsTeam.setModifiedBy(String.valueOf(user.getUserid())); teamVsTeam.setLastUpdatedTime(new Date()); competitionTeamVsTeamMapper.updateCompetitionTeamVsTeam(teamVsTeam); } @@ -266,7 +266,7 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService } } } - entity.setModifiedBy(String.valueOf(user.getUserid())); + //entity.setModifiedBy(String.valueOf(user.getUserid())); entity.setLastUpdatedTime(new Date()); competitionResultMapper.updateCompetitionResult(entity); } @@ -274,8 +274,8 @@ public class CompetitionResultServiceImpl implements ICompetitionResultService @Override @Transactional(rollbackFor = Exception.class) public Boolean edit(CompetitionResult entity) { - LoginUser user = SecurityUtils.getLoginUser(); - entity.setModifiedBy(String.valueOf(user.getUserid())); + LoginUser user = new LoginUser(); + // entity.setModifiedBy(String.valueOf(user.getUserid())); entity.setLastUpdatedTime(new Date()); competitionResultMapper.updateCompetitionResult(entity); this.calculateScore(entity,user); 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..8121a9fd 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 @@ -9,6 +9,7 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.crypto.digest.DigestUtil; import com.alibaba.fastjson.JSON; @@ -343,17 +344,6 @@ public class CompetitionServiceImpl implements ICompetitionService @Override public List getMyJoinCompetition(CompetitionVo competition) { - LoginUser user = SecurityUtils.getLoginUser(); - //查询登录用户的系统角色 - List userRoles = userRoleMapper.selectUserRoleList(UserRole.builder().roleCode(UserRoles.ADMIN.code()).build()); - if(!StringUtils.isEmpty(userRoles) && userRoles.size()>0) { - List userIds = userRoles.stream().map(UserRole::getUserId).collect(Collectors.toList()); - //如果是管理员就直接可以查看所有的赛事 - if (userIds.contains(user.getUserid())) { - competition.setUserId(null); - competition.setFounder(null); - } - } List list=competitionMapper.getMyJoinCompetition(competition); for (Competition comp:list){ if(competition.getCompetitionNature()==0){ @@ -480,7 +470,7 @@ public class CompetitionServiceImpl implements ICompetitionService if (StringUtils.isEmpty(competitionCode)) { throw new CheckedException("赛事编码不能为空"); } - System.out.println("赛事编码" + competitionCode); + log.info("开始导入-->赛事编码:" + competitionCode); Row row5 = sheet.getRow(5); Cell cell5_1 = row5.getCell(0); if (cell5_1 == null) { @@ -539,6 +529,10 @@ public class CompetitionServiceImpl implements ICompetitionService if (StringUtils.isEmpty(teamUserNum)) { throw new CheckedException("球队人数不能为空"); } + //todo 校验是否是整数 + if(!NumberUtil.isInteger(teamUserNum)){ + throw new CheckedException("球队人数必须是正整数"); + } //todo 获取到数据后,开始保存数据 LoginUser user = SecurityUtils.getLoginUser(); String userId = null; @@ -622,12 +616,20 @@ public class CompetitionServiceImpl implements ICompetitionService cell = row.getCell(4); if (cell != null) { cell.setCellType(CellType.STRING); + //todo 校验是否是整数 + if(!NumberUtil.isInteger(cell.getStringCellValue())){ + throw new CheckedException(membersVo.getRealName()+" 的身高必须是正整数"); + } membersVo.setHeight(new BigDecimal(cell.getStringCellValue())); } //体重 cell = row.getCell(5); if (cell != null) { cell.setCellType(CellType.STRING); + //todo 校验是否是整数 + if(!NumberUtil.isInteger(cell.getStringCellValue())){ + throw new CheckedException(membersVo.getRealName()+" 的体重必须是正整数"); + } membersVo.setWeight(new BigDecimal(cell.getStringCellValue())); } //证件号码 @@ -688,4 +690,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/CompetitionSharePermissionsServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionSharePermissionsServiceImpl.java new file mode 100644 index 00000000..e268e7f7 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionSharePermissionsServiceImpl.java @@ -0,0 +1,134 @@ +package com.ruoyi.system.service.impl; + +import java.util.Arrays; +import java.util.List; + +import cn.hutool.core.util.ObjectUtil; +import com.ruoyi.common.core.exception.CheckedException; +import com.ruoyi.system.domain.vo.CompetitionSharePermissionsVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.CompetitionSharePermissionsMapper; +import com.ruoyi.system.domain.CompetitionSharePermissions; +import com.ruoyi.system.service.ICompetitionSharePermissionsService; +import org.springframework.transaction.annotation.Transactional; + +/** + * 赛会-权限分享Service业务层处理 + * + * @author ruoyi + * @date 2023-07-20 + */ +@Service +public class CompetitionSharePermissionsServiceImpl implements ICompetitionSharePermissionsService +{ + @Autowired + private CompetitionSharePermissionsMapper competitionSharePermissionsMapper; + + /** + * 查询赛会-权限分享 + * + * @param id 赛会-权限分享主键 + * @return 赛会-权限分享 + */ + @Override + public CompetitionSharePermissions selectCompetitionSharePermissionsById(Long id) + { + return competitionSharePermissionsMapper.selectCompetitionSharePermissionsById(id); + } + + /** + * 查询赛会-权限分享列表 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 赛会-权限分享 + */ + @Override + public List selectCompetitionSharePermissionsList(CompetitionSharePermissions competitionSharePermissions) + { + return competitionSharePermissionsMapper.selectCompetitionSharePermissionsList(competitionSharePermissions); + } + + /** + * 新增赛会-权限分享 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 结果 + */ + @Override + public int insertCompetitionSharePermissions(CompetitionSharePermissions competitionSharePermissions) + { + return competitionSharePermissionsMapper.insertCompetitionSharePermissions(competitionSharePermissions); + } + + /** + * 修改赛会-权限分享 + * + * @param competitionSharePermissions 赛会-权限分享 + * @return 结果 + */ + @Override + public int updateCompetitionSharePermissions(CompetitionSharePermissions competitionSharePermissions) + { + return competitionSharePermissionsMapper.updateCompetitionSharePermissions(competitionSharePermissions); + } + + /** + * 批量删除赛会-权限分享 + * + * @param ids 需要删除的赛会-权限分享主键 + * @return 结果 + */ + @Override + public int deleteCompetitionSharePermissionsByIds(Long[] ids) + { + return competitionSharePermissionsMapper.deleteCompetitionSharePermissionsByIds(ids); + } + + /** + * 删除赛会-权限分享信息 + * + * @param id 赛会-权限分享主键 + * @return 结果 + */ + @Override + public int deleteCompetitionSharePermissionsById(Long id) + { + return competitionSharePermissionsMapper.deleteCompetitionSharePermissionsById(id); + } + + @Transactional + @Override + public Boolean shareCompetitionPermissions(CompetitionSharePermissions vo) { + if(ObjectUtil.isNull(vo.getCompetitionId())){ + throw new CheckedException("competitionId不能为空"); + }if(ObjectUtil.isNull(vo.getUserId())){ + throw new CheckedException("userId不能为空"); + }if(ObjectUtil.isNull(vo.getUserTel())){ + throw new CheckedException("userTel不能为空"); + } + CompetitionSharePermissions permissions= new CompetitionSharePermissions(); + permissions.setIsDeleted(0); + permissions.setCompetitionId(vo.getCompetitionId()); + permissions.setUserTel(vo.getUserTel()); + permissions.setUserId(vo.getUserId()); + List list = competitionSharePermissionsMapper.selectCompetitionSharePermissionsList(permissions); + if(list.size()>0) { + throw new CheckedException("手机号授权重复"); + }else { + competitionSharePermissionsMapper.insertCompetitionSharePermissions(vo); + } + return Boolean.TRUE; + } + + @Override + public Boolean delShareCompetitionPermissions(Long[] ids) { + competitionSharePermissionsMapper.deleteCompetitionSharePermissionsByIds(ids); + return Boolean.TRUE; + } + + @Override + public List getList(CompetitionSharePermissions competitionSharePermissions) { + return competitionSharePermissionsMapper.getList(competitionSharePermissions); + } +} 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 9edae483..e2e736ca 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 @@ -138,7 +138,7 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS //组装队伍球员数据并排序 if(competitionResultList!=null&&competitionResultList.size()>0){ //组装主队数据 - List mainMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getTeamId()==competitionResultList.get(0).getTeamId()).collect(Collectors.toList()); + List mainMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getCompetitionOfTeamId()==competitionResultList.get(0).getCompetitionOfTeamId()).collect(Collectors.toList()); //过滤首发球员 List firstList = mainMembersScoreList.stream().filter(a -> a.getIsFirstLaunch() == 1).collect(Collectors.toList()); firstList.sort((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore())); @@ -150,7 +150,7 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS competitionMembersScoreList.addAll(mainMembersScoreList); //组装客队数据 - List gustMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getTeamId()==competitionResultList.get(1).getTeamId()).collect(Collectors.toList()); + List gustMembersScoreList = membersScoreList.stream().filter(CompetitionMembersScore -> CompetitionMembersScore.getCompetitionOfTeamId()==competitionResultList.get(1).getCompetitionOfTeamId()).collect(Collectors.toList()); //过滤首发球员 List gustFirstList = gustMembersScoreList.stream().filter(a -> a.getIsFirstLaunch() == 1).collect(Collectors.toList()); gustFirstList.sort((o1, o2) -> o2.getTotalScore().compareTo(o1.getTotalScore())); @@ -174,18 +174,18 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS } //获取主队每节数据 List competitionResultList = competitionResultService.findByCompetitionVsId(competitionTeamVsTeamVo.getCompetitionId(),competitionTeamVsTeamVo.getId()); - Optional main = competitionResultList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getMainTeamId())).findFirst(); - Optional guest = competitionResultList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getGuestTeamId())).findFirst(); + Optional main = competitionResultList.stream().filter(a -> a.getCompetitionOfTeamId().equals(competitionTeamVsTeamVo.getMainTeamId())).findFirst(); + Optional guest = competitionResultList.stream().filter(a -> a.getCompetitionOfTeamId().equals(competitionTeamVsTeamVo.getGuestTeamId())).findFirst(); List membersScoreList = competitionMembersScoreMapper.findMembersScoreByCompetitionVsId(competitionTeamVsTeamVo.getCompetitionId(),competitionTeamVsTeamVo.getId()); if(main.isPresent()){ CompetitionResultVo resultVo = main.get(); - List membersScores = membersScoreList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getMainTeamId())).collect(Collectors.toList()); + List membersScores = membersScoreList.stream().filter(a -> a.getCompetitionOfTeamId().equals(competitionTeamVsTeamVo.getMainTeamId())).collect(Collectors.toList()); resultVo.setMembersScoreList(membersScores); recordVo.setMainTeam(resultVo); } if(guest.isPresent()){ CompetitionResultVo resultVo = guest.get(); - List membersScores = membersScoreList.stream().filter(a -> a.getTeamId().equals(competitionTeamVsTeamVo.getGuestTeamId())).collect(Collectors.toList()); + List membersScores = membersScoreList.stream().filter(a -> a.getCompetitionOfTeamId().equals(competitionTeamVsTeamVo.getGuestTeamId())).collect(Collectors.toList()); resultVo.setMembersScoreList(membersScores); recordVo.setGuestTeam(resultVo); } @@ -208,8 +208,8 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS } @Override - public List getCompetitionTeamIntegralListById(Long id) { - return competitionTeamVsTeamMapper.getCompetitionTeamIntegralListById(id); + public List getCompetitionTeamIntegralListById(CompetitionTeamIntegralVo vo) { + return competitionTeamVsTeamMapper.getCompetitionTeamIntegralListById(vo); } @Transactional @Override @@ -292,4 +292,21 @@ public class CompetitionTeamVsTeamServiceImpl implements ICompetitionTeamVsTeamS } return true; } + + @Override + public Boolean deleteBatchByIds(Ids ids) { + Long[] idList = ids.getIdList().stream().toArray(Long[]::new); + 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/java/com/ruoyi/system/service/impl/UserRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserRoleServiceImpl.java index 6e6e4e5c..b181dd7d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserRoleServiceImpl.java @@ -55,6 +55,11 @@ public class UserRoleServiceImpl implements IUserRoleService return userRoleMapper.insertUserRole(userRole); } + @Override + public List selectRoleByUserId(Long userid) { + return userRoleMapper.selectRoleByUserId(userid); + } + /** * 修改【请填写功能名称】 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxAppletsServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxAppletsServiceImpl.java index 5a262012..424b45df 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxAppletsServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxAppletsServiceImpl.java @@ -74,12 +74,12 @@ public class WxAppletsServiceImpl implements WxAppletsService { JSONObject myJson = JSONObject.parseObject(json); log.info("获取AccessToken={}", JSON.toJSONString(myJson)); //保存到缓存 - accessToken = myJson.get("access_token").toString(); + accessToken = String.valueOf(myJson.get("access_token")); Long expires_in=myJson.getLong("expires_in"); redisService.setCacheObject(Constants.WX_APPLETS_REDIS_ACCESS_TOKEN_KEY,accessToken,expires_in-100, TimeUnit.SECONDS); return accessToken; }else { - return (String) redisService.getCacheObject(Constants.WX_APPLETS_REDIS_ACCESS_TOKEN_KEY); + return redisService.getCacheObject(Constants.WX_APPLETS_REDIS_ACCESS_TOKEN_KEY); } } @Override diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxBuildingInfoServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxBuildingInfoServiceImpl.java index c09b5a22..273788ae 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxBuildingInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxBuildingInfoServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl; import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import com.alibaba.fastjson.JSON; @@ -161,12 +162,11 @@ public class WxBuildingInfoServiceImpl implements IWxBuildingInfoService @Override public List getAuditPage(WxBuildingInfo buildingInfo) { LoginUser user = SecurityUtils.getLoginUser(); - System.out.println("user="+ JSON.toJSONString(user)); + // System.out.println("user="+ JSON.toJSONString(user)); // 查询当前登录的用户的系统角色 - List userRoles = userRoleMapper.selectUserRoleList(UserRole.builder().userId(user.getUserid()).build()); + Set userRoles = user.getRoles();//userRoleMapper.selectUserRoleList(UserRole.builder().userId(user.getUserid()).build()); if(!StringUtils.isEmpty(userRoles)&&userRoles.size()>0){ - List roleCodes = userRoles.stream().map(UserRole::getRoleCode).collect(Collectors.toList()); - if(roleCodes.contains("admin")){ + if(userRoles.contains("admin")){ //查询所有 buildingInfo.setCreatedId(null); }else { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java index 669ffb62..407afa9a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WxUserServiceImpl.java @@ -90,4 +90,9 @@ public class WxUserServiceImpl implements IWxUserService { return wxUserMapper.deleteWxUserById(id); } + + @Override + public WxUser getUserInfoBy(WxUser wxUser) { + return wxUserMapper.getUserInfoBy(wxUser); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap-prod.yml b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap-prod.yml index dbe8f771..f9d4c0e6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap-prod.yml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap-prod.yml @@ -5,11 +5,11 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 10.0.1.91:30005 + server-addr: 182.43.49.98:30005 namespace: prod config: # 配置中心地址 - server-addr: 10.0.1.91:30005 + server-addr: 182.43.49.98:30005 # 配置文件格式 file-extension: yml namespace: prod 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..2e0520d1 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 @@ -207,7 +207,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND EXISTS (select 1 from competition_members c WHERE c.user_id=#{userId} and t.id=c.competition_id) - order by t.competition_time desc + + union + select * from competition t where 1=1 + + and t.id in + + #{competitionId} + + + + AND t.status =#{status} + + + AND t.competition_nature =#{competitionNature} + + + AND t.city_code like CONCAT('%',#{cityCode},'%') + + + AND t.city_name like CONCAT('%',#{cityName},'%') + + + AND t.main_team_name like CONCAT('%',#{mainTeamName},'%') + + + AND t.guest_team_name like CONCAT('%',#{guestTeamName},'%') + + + AND t.designated=#{designated} + + + AND t.competition_address like CONCAT('%',#{competitionAddress},'%') + + + AND t.building_name like CONCAT('%',#{buildingName},'%') + + + AND t.id=#{id} + + + AND t.audit_status = #{auditStatus} + + + AND t.is_deleted = #{isDeleted} + + + AND (t.main_team_name like CONCAT('%',#{word},'%') + or t.guest_team_name like CONCAT('%',#{word},'%') + or t.building_name like CONCAT('%',#{word},'%') + or t.competition_address like CONCAT('%',#{word},'%') + ) + + + AND EXISTS (select 1 from competition_members c WHERE c.user_id=#{userId} and t.id=c.competition_id) + + @@ -344,6 +399,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/CompetitionMembersMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersMapper.xml index 0f22d7ff..b119d982 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersMapper.xml @@ -269,7 +269,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - update competition_members set user_id = #{userId} where contacts_tel = #{contactsTel} + update competition_members set user_id = #{userId} where contacts_tel = #{telephone} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersScoreMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersScoreMapper.xml index 1c4ed713..f0c436ea 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersScoreMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionMembersScoreMapper.xml @@ -32,10 +32,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select id, competition_id, competition_vs_id, team_id, team_name, node_num, team_user_id, jersey_number, total_score, two_points, three_points, penalty, backboard, front_plate, back_plate, assists, snatch, block, fault, breaks, created_time, last_updated_time, created_by, modified_by, is_deleted, remark, is_first_launch from competition_members_score + select id, competition_id, competition_vs_id, team_id, team_name, node_num, team_user_id, jersey_number, total_score, two_points, three_points, penalty, backboard, front_plate, back_plate, assists, snatch, block, fault, breaks, created_time, last_updated_time, created_by, modified_by, is_deleted, remark, is_first_launch,competition_of_team_id,competition_members_id from competition_members_score @@ -77,35 +81,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" resultType="com.ruoyi.system.domain.vo.CompetitionMembersScoreVo"> SELECT sco.id, - vs.competition_id as competitionId, - vs.id as competitionVsId, - vs.competition_group as competitionGroup, + vs.competition_id AS competitionId, + vs.id AS competitionVsId, + vs.competition_group AS competitionGroup, team.id AS teamId, - member.user_id as teamUserId, - cm.real_name as realName, - team.team_name as teamName, - sco.node_num as nodeNum, - member.jersey_number as jerseyNumber, - sco.total_score as totalScore, - sco.two_points as twoPoints, - sco.three_points as threePoints, + member.user_id AS teamUserId, + member.id as competitionMembersId, + member.real_name AS realName, + team.team_name AS teamName, + team.id as competitionOfTeamId, + sco.node_num AS nodeNum, + member.jersey_number AS jerseyNumber, + sco.total_score AS totalScore, + sco.two_points AS twoPoints, + sco.three_points AS threePoints, sco.penalty, sco.backboard, - sco.front_plate as frontPlate, - sco.back_plate as backPlate, + sco.front_plate AS frontPlate, + sco.back_plate AS backPlate, sco.assists, sco.snatch, sco.block, sco.fault, sco.breaks, - IFNULL(sco.is_first_launch,0) AS isFirstLaunch + IFNULL( sco.is_first_launch, 0 ) AS isFirstLaunch FROM competition_team_vs_team vs - inner join basketball_team team on (vs.main_team_id=team.id or vs.guest_team_id=team.id) and team.IS_DELETED=0 - left join competition_members member on team.id = member.competition_team_id and member.IS_DELETED=0 - left join competition_members_score sco on (vs.id=sco.competition_vs_id and member.user_id = sco.team_user_id) and sco.is_deleted=0 - left join user_info userInfo on member.user_id = userInfo.id and userInfo.is_deleted=0 - left join competition_members cm on cm.user_id=userInfo.id and cm.is_deleted=0 + INNER JOIN competition_of_team team ON ( vs.main_team_id = team.id OR vs.guest_team_id = team.id ) + AND team.IS_DELETED = 0 + LEFT JOIN competition_members member ON team.id = member.competition_of_team_id + AND member.IS_DELETED = 0 + LEFT JOIN competition_members_score sco ON ( vs.id = sco.competition_vs_id AND member.id = sco.competition_members_id ) + AND sco.is_deleted = 0 + LEFT JOIN user_info userInfo ON member.user_id = userInfo.id + AND userInfo.is_deleted = 0 + LEFT JOIN competition_members cm ON cm.user_id = userInfo.id + AND cm.is_deleted = 0 WHERE 1 = 1 AND vs.is_deleted = 0 AND vs.competition_Id = #{competitionId} @@ -197,6 +208,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_deleted, remark, is_first_launch, + competition_members_id, + competition_of_team_id, #{competitionId}, @@ -225,6 +238,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{isDeleted}, #{remark}, #{isFirstLaunch}, + #{competitionMembersId}, + #{competitionOfTeamId}, + @@ -257,6 +273,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" is_deleted = #{isDeleted}, remark = #{remark}, is_first_launch = #{isFirstLaunch}, + competition_members_id =#{competitionMembersId}, + competition_of_team_id=#{competitionOfTeamId}, where id = #{id} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionOfTeamMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionOfTeamMapper.xml index 41ed6edd..1fd75233 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionOfTeamMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionOfTeamMapper.xml @@ -21,10 +21,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select id, competition_id, team_id, team_name, competition_group, created_time, status, last_updated_time, created_by, modified_by, is_deleted, remark, contacts, contacts_tel, contacts_area_code, serial_number from competition_of_team + select id, competition_id, team_id, team_name, competition_group, created_time, status, last_updated_time, created_by, modified_by, is_deleted, remark, contacts, contacts_tel, contacts_area_code, serial_number,team_logo,captain from competition_of_team @@ -159,6 +168,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND t.contacts_area_code like CONCAT('%',#{contactsAreaCode},'%') + + and t.captain like concat('%',#{captain}, '%') + + order by t.created_time desc + + @@ -180,6 +229,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" contacts_tel, contacts_area_code, serial_number, + team_logo, + captain, #{competitionId}, @@ -197,6 +248,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{contactsTel}, #{contactsAreaCode}, #{serialNumber}, + #{teamLogo}, + #{captain}, @@ -218,6 +271,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" contacts_tel = #{contactsTel}, contacts_area_code = #{contactsAreaCode}, serial_number = #{serialNumber}, + team_logo = #{teamLogo}, + captain = #{captain}, where id = #{id} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionResultMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionResultMapper.xml index 42398ec2..ac018676 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionResultMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionResultMapper.xml @@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -24,11 +25,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select id, competition_id, competition_vs_id, team_id, team_name, one_node_score, two_node_score, competition_group, status, created_time, last_updated_time, created_by, modified_by, is_deleted, remark, three_node_score, four_node_score, five_node_score, six_node_score, integral from competition_result + select id, competition_id, competition_vs_id, team_id, team_name, one_node_score, two_node_score, competition_group, status, created_time, last_updated_time, created_by, modified_by, is_deleted, remark, three_node_score, four_node_score, five_node_score, six_node_score, integral,vs_result,competition_of_team_id,vs_result from competition_result @@ -63,8 +69,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select rs.id, vs.competition_id as competitionId, vs.id as competitionVsId, + team.id as competitionOfTeamId, vs.competition_group as competitionGroup, - team.id as teamId, + team.team_id as teamId, team.team_name as teamName, rs.one_node_score as oneNodeScore, rs.two_node_score as twoNodeScore, @@ -72,10 +79,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" rs.four_node_score as fourNodeScore, rs.five_node_score as fiveNodeScore, rs.six_node_score as sixNodeScore, + rs.vs_result, + vs.vs_type, rs.integral from competition_team_vs_team vs - inner join basketball_team team on (vs.main_team_id=team.id or vs.guest_team_id=team.id) and team.IS_DELETED=0 - left join competition_Result rs on (rs.competition_vs_id=vs.id and team.id = rs.team_id) and rs.is_deleted=0 + inner join competition_of_team team on (vs.main_team_id=team.id or vs.guest_team_id=team.id) and team.IS_DELETED=0 + left join competition_Result rs on (rs.competition_vs_id=vs.id and team.id = rs.competition_of_team_id) and rs.is_deleted=0 where 1=1 and vs.is_deleted=0 AND vs.competition_Id = #{competitionId} @@ -107,6 +116,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" five_node_score, six_node_score, integral, + vs_result, + vs_type, + competition_of_team_id, #{competitionId}, @@ -128,6 +140,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{fiveNodeScore}, #{sixNodeScore}, #{integral}, + #{vsResult}, + #{vsType}, + #{competitionOfTeamId}, @@ -153,6 +168,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" five_node_score = #{fiveNodeScore}, six_node_score = #{sixNodeScore}, integral = #{integral}, + vs_result = #{vsResult}, + vs_type = #{vsType}, + competition_of_team_id = #{competitionOfTeamId}, where id = #{id} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml new file mode 100644 index 00000000..1dbd9cc7 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + select id, create_time, competition_id, user_id, user_tel, user_name, status, update_time, create_by, update_by, is_deleted, remark, can_set_type from competition_share_permissions + + + + + + + + insert into competition_share_permissions + + create_time, + competition_id, + user_id, + user_tel, + user_name, + status, + update_time, + create_by, + update_by, + is_deleted, + remark, + can_set_type, + + + #{createTime}, + #{competitionId}, + #{userId}, + #{userTel}, + #{userName}, + #{status}, + #{updateTime}, + #{createBy}, + #{updateBy}, + #{isDeleted}, + #{remark}, + #{canSetType}, + + + + + update competition_share_permissions + + create_time = #{createTime}, + competition_id = #{competitionId}, + user_id = #{userId}, + user_tel = #{userTel}, + user_name = #{userName}, + status = #{status}, + update_time = #{updateTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + is_deleted = #{isDeleted}, + remark = #{remark}, + can_set_type = #{canSetType}, + + where id = #{id} + + + + delete from competition_share_permissions where id = #{id} + + + + delete from competition_share_permissions where id in + + #{id} + + + + + \ No newline at end of file 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 3fa40085..e86eb5fc 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 @@ -79,7 +79,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" t.competition_time as competitionTime, t.building_id as buildingId, t.building_name as buildingName, - t.competition_address as competitionAddress, + IFNULL(t.competition_address,b.ADDRESS) as competitionAddress, t.competition_group as competitionGroup, t.status, t.vs_type as vsType, @@ -120,11 +120,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" DATE_FORMAT(t.competition_time,'%H:%i') AS theTime, t.remark as remark from competition_team_vs_team t - LEFT JOIN basketball_team b1 ON b1.id = t.main_team_id - left join basketball_team b2 on t.guest_team_id=b2.id + LEFT JOIN competition_of_team b1 ON b1.id = t.main_team_id + left join competition_of_team b2 on t.guest_team_id=b2.id + left join building_info b on b.id = t.building_id where 1=1 AND t.id=#{id} AND t.is_deleted = 0 - LIMIT 1 + LIMIT 1; + insert into competition_team_vs_team @@ -347,6 +449,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} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/UserRoleMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/UserRoleMapper.xml index b3fe3647..656f3bbb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/UserRoleMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/UserRoleMapper.xml @@ -41,6 +41,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into user_role diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxBuildingInfoMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxBuildingInfoMapper.xml index 67684ad9..10700320 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxBuildingInfoMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxBuildingInfoMapper.xml @@ -77,7 +77,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY distance LIMIT 20 - + select info.* from building_info info where info.is_deleted=0 - AND status=#{status} + AND info.status=#{status} - AND building_name like CONCAT('%',#{buildingName},'%') + AND info.building_name like CONCAT('%',#{buildingName},'%') - - AND created_by=#{createdBy} + + AND info.city_code=#{cityCode} + + + AND info.is_supportlive=#{isSupportlive} - AND created_id=#{createdId} + AND info.created_id=#{createdId} + + + AND info.created_by=#{createdBy} diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml index 5822ee0b..726c1a8a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml @@ -31,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select ID, IS_DELETED, CREATED_TIME, CREATED_BY, MODIFIED_BY, LAST_UPDATED_TIME, LOGIN_NAME, PASS_WORD, ROLE, OPENID, AVATAR, GENDER, USER_NAME, TELEPHONE, BIRTHDAY, HEIGHT, WEIGHT, TEAM_POSITION, TAG, ENABLED, UNIONID, OFFICIAL_ACCOUNT_OPENID, real_name from user_info + select ID, IS_DELETED, CREATED_TIME, CREATED_BY, MODIFIED_BY, LAST_UPDATED_TIME, LOGIN_NAME, PASS_WORD, ROLE, OPENID, AVATAR, GENDER, USER_NAME, TELEPHONE, BIRTHDAY, HEIGHT, WEIGHT, TEAM_POSITION, TAG, ENABLED, UNIONID, OFFICIAL_ACCOUNT_OPENID,REAL_NAME from user_info + insert into user_info diff --git a/ruoyi-ui/src/api/system/WxBuilding.js b/ruoyi-ui/src/api/system/WxBuilding.js index 2eb3ff1d..fed698e6 100644 --- a/ruoyi-ui/src/api/system/WxBuilding.js +++ b/ruoyi-ui/src/api/system/WxBuilding.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询球场管理列表 export function listWxBuilding(query) { return request({ - url: '/system/WxBuilding/list', + url: '/system/wxBuildingInfo/list', method: 'get', params: query }) @@ -12,7 +12,7 @@ export function listWxBuilding(query) { // 查询球场管理详细 export function getWxBuilding(id) { return request({ - url: '/system/WxBuilding/' + id, + url: '/system/wxBuildingInfo/' + id, method: 'get' }) } @@ -20,7 +20,7 @@ export function getWxBuilding(id) { // 新增球场管理 export function addWxBuilding(data) { return request({ - url: '/system/WxBuilding', + url: '/system/wxBuildingInfo', method: 'post', data: data }) @@ -36,7 +36,7 @@ export function batchUploadFiles(data,url) { // 修改球场管理 export function updateWxBuilding(data) { return request({ - url: '/system/WxBuilding', + url: '/system/wxBuildingInfo', method: 'put', data: data }) diff --git a/ruoyi-ui/src/api/system/competition.js b/ruoyi-ui/src/api/system/competition.js index b6132330..2c479ac2 100644 --- a/ruoyi-ui/src/api/system/competition.js +++ b/ruoyi-ui/src/api/system/competition.js @@ -12,7 +12,7 @@ export function listCompetition(query) { // 查询比赛信息详细 export function getCompetition(id) { return request({ - url: '/system/competition/' + id, + url: '/system/competition/getInfo/' + id, method: 'get' }) } diff --git a/ruoyi-ui/src/api/system/competitionPermissions.js b/ruoyi-ui/src/api/system/competitionPermissions.js new file mode 100644 index 00000000..79168127 --- /dev/null +++ b/ruoyi-ui/src/api/system/competitionPermissions.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询赛会-权限分享列表 +export function listCompetitionPermissions(query) { + return request({ + url: '/system/competitionPermissions/list', + method: 'get', + params: query + }) +} + +// 查询赛会-权限分享详细 +export function getCompetitionPermissions(id) { + return request({ + url: '/system/competitionPermissions/' + id, + method: 'get' + }) +} + +// 新增赛会-权限分享 +export function addCompetitionPermissions(data) { + return request({ + url: '/system/competitionPermissions', + method: 'post', + data: data + }) +} + +// 修改赛会-权限分享 +export function updateCompetitionPermissions(data) { + return request({ + url: '/system/competitionPermissions', + method: 'put', + data: data + }) +} + +// 删除赛会-权限分享 +export function delCompetitionPermissions(id) { + return request({ + url: '/system/competitionPermissions/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/system/WxBuilding/index.vue b/ruoyi-ui/src/views/system/WxBuilding/index.vue index 92cc8c7b..ef746fcb 100644 --- a/ruoyi-ui/src/views/system/WxBuilding/index.vue +++ b/ruoyi-ui/src/views/system/WxBuilding/index.vue @@ -575,6 +575,8 @@ export default { status: null, isOpen: null, createdId: null, + orderByColumn:"id", + isAsc:"desc" }, // 表单参数 form: {}, diff --git a/ruoyi-ui/src/views/system/area/index.vue b/ruoyi-ui/src/views/system/area/index.vue index ec206ee4..aca7c967 100644 --- a/ruoyi-ui/src/views/system/area/index.vue +++ b/ruoyi-ui/src/views/system/area/index.vue @@ -227,7 +227,7 @@ - + - + 修改 - 删除 + >删除--> - + - + - + - + +
+ + + + + + + + + + + + + + + + + + + + + + + 搜索 + 重置 + + + + + + 新增 + + + 修改 + + + 删除 + + + 导出 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/ruoyi-ui/src/views/system/competitionResult/index.vue b/ruoyi-ui/src/views/system/competitionResult/index.vue index dec1a05f..08cb0b44 100644 --- a/ruoyi-ui/src/views/system/competitionResult/index.vue +++ b/ruoyi-ui/src/views/system/competitionResult/index.vue @@ -238,7 +238,7 @@ - + { + listCompetitionOfTeam({"orderByColumn":"t.id","isAsc":"desc","pageNum": 1, "pageSize": 1000,"competitionId":id}).then(response => { this.competitionOfTeamList = response.rows; }); } @@ -987,7 +987,7 @@ export default { bindConfirm(id,tage){ updateCompetitionOfTeam({"id":id,"status":tage}).then(response => { this.$modal.msgSuccess("球队审核成功"); - listCompetitionOfTeam({"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionOfTeam({"orderByColumn":"t.id","isAsc":"desc","pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionOfTeamList = response.rows; }); }); @@ -1058,7 +1058,7 @@ export default { handleTagClick(tab, event){ console.info(tab.name) if(tab.name=='competitionTeamApprove'){ - listCompetitionOfTeam({"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionOfTeam({"orderByColumn":"t.id","isAsc":"desc","pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionOfTeamList = response.rows; }); }else if(tab.name=='competitionTeamGroup'){ @@ -1067,7 +1067,7 @@ export default { this.competitionTeamGroupList.push({"competitionGroup":"未分","id":null}) }); }else if(tab.name=='competitionVsSet'){ - listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isAsc":"desc","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionTeamVsTeamList = response.rows; }); }else if(tab.name=='competitionSpread'){ @@ -1124,7 +1124,7 @@ export default { arrangeTeamGroupSchedule(param).then(response => { this.$modal.msgSuccess("赛程智能设置成功"); this.mindVisible = false; - listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isAsc":"desc","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionTeamVsTeamList = response.rows; }); }); @@ -1190,7 +1190,7 @@ export default { this.$modal.confirm('是否确认删除赛会中的赛程数据?').then(function() { return delCompetitionTeamVsTeam(ids); }).then(() => { - listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isAsc":"desc","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionTeamVsTeamList = response.rows; }); this.$modal.msgSuccess("删除赛程成功"); @@ -1200,7 +1200,7 @@ export default { editDataCompetitionResult(this.competitionRecord).then(response => { this.$modal.msgSuccess("比赛结果记录成功"); this.vsRecordOpen = false; - listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isAsc":"desc","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionTeamVsTeamList = response.rows; }); }); @@ -1214,7 +1214,7 @@ export default { updateCompetitionTeamVsTeam(this.vsform).then(response => { this.$modal.msgSuccess("编辑赛程成功"); this.vsOpen = false; - listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isAsc":"desc","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionTeamVsTeamList = response.rows; }); }); @@ -1223,7 +1223,7 @@ export default { addCompetitionTeamVsTeam(this.vsform).then(response => { this.$modal.msgSuccess("新增赛程成功"); this.vsOpen = false; - listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { + listCompetitionTeamVsTeam({"orderByColumn":"competition_time","isAsc":"desc","isDeleted":0,"pageNum": 1, "pageSize": 1000,"competitionId":this.competitionObj.id}).then(response => { this.competitionTeamVsTeamList = response.rows; }); }); diff --git a/ruoyi-ui/src/views/system/competitionTeamGroup/index.vue b/ruoyi-ui/src/views/system/competitionTeamGroup/index.vue index c4e4e209..dbbc1c80 100644 --- a/ruoyi-ui/src/views/system/competitionTeamGroup/index.vue +++ b/ruoyi-ui/src/views/system/competitionTeamGroup/index.vue @@ -157,7 +157,7 @@ - + - + - + - +
+ + + - + 修改 - - 删除 - - + - - + + + @@ -118,13 +128,13 @@ @click="handleUpdate(scope.row)" v-hasPermi="['system:wxUser:edit']" >修改 - 删除 + >删除
--> @@ -138,9 +148,9 @@ /> - - - + + + @@ -183,6 +182,9 @@ + + + @@ -200,11 +202,11 @@ - - + + - - + + @@ -259,6 +261,8 @@ export default { pageSize: 10, loginName: null, userName: null, + orderByColumn:"id", + isAsc:"desc" }, // 表单参数 form: {}, @@ -366,6 +370,12 @@ export default { } }); }, + /** 排序触发事件 */ + handleSortChange(column, prop, order) { + this.queryParams.orderByColumn = column.prop; + this.queryParams.isAsc = column.order; + this.getList(); + }, /** 删除按钮操作 */ handleDelete(row) { const ids = row.id || this.ids;