From 7eefb42ca401fcfe1755d2d1c3ee7d1756423d6a Mon Sep 17 00:00:00 2001 From: wuyibo <771227828@qq.com> Date: Sat, 22 Jul 2023 11:51:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=9B=E4=BC=9A=E6=8E=A7=E5=88=B6=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CompetitionController.java | 28 +- .../CompetitionOfTeamController.java | 9 +- ...CompetitionSharePermissionsController.java | 131 ++++++ .../system/controller/WxUserController.java | 9 + .../domain/CompetitionSharePermissions.java | 52 +++ .../vo/CompetitionSharePermissionsVo.java | 21 + .../ruoyi/system/domain/vo/CompetitionVo.java | 5 + .../mapper/CompetitionOfTeamMapper.java | 2 + .../CompetitionSharePermissionsMapper.java | 63 +++ .../ruoyi/system/mapper/UserRoleMapper.java | 2 + .../com/ruoyi/system/mapper/WxUserMapper.java | 2 + .../service/ICompetitionOfTeamService.java | 2 + .../ICompetitionSharePermissionsService.java | 68 ++++ .../system/service/IUserRoleService.java | 2 + .../ruoyi/system/service/IWxUserService.java | 2 + .../impl/CompetitionOfTeamServiceImpl.java | 8 + .../service/impl/CompetitionServiceImpl.java | 11 - ...ompetitionSharePermissionsServiceImpl.java | 134 +++++++ .../service/impl/UserRoleServiceImpl.java | 5 + .../service/impl/WxUserServiceImpl.java | 5 + .../src/main/resources/bootstrap-prod.yml | 4 +- .../mapper/system/CompetitionMapper.xml | 57 ++- .../mapper/system/CompetitionOfTeamMapper.xml | 37 ++ .../CompetitionSharePermissionsMapper.xml | 119 ++++++ .../mapper/system/UserRoleMapper.xml | 3 + .../resources/mapper/system/WxUserMapper.xml | 28 ++ .../src/api/system/competitionPermissions.js | 44 +++ .../system/competitionPermissions/index.vue | 374 ++++++++++++++++++ 28 files changed, 1209 insertions(+), 18 deletions(-) create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CompetitionSharePermissionsController.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/CompetitionSharePermissions.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/CompetitionSharePermissionsVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/CompetitionSharePermissionsMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICompetitionSharePermissionsService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionSharePermissionsServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/CompetitionSharePermissionsMapper.xml create mode 100644 ruoyi-ui/src/api/system/competitionPermissions.js create mode 100644 ruoyi-ui/src/views/system/competitionPermissions/index.vue 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 91b0fb16..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 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/WxUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/WxUserController.java index 67d327b4..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 @@ -128,6 +128,15 @@ public class WxUserController extends BaseController 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/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/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/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/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/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/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/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/CompetitionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CompetitionServiceImpl.java index cabebf9e..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 @@ -344,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){ 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/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/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 1f8a0b9f..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) + + 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 336c8941..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 @@ -173,6 +173,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by t.created_time desc + insert into competition_of_team 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/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/WxUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/WxUserMapper.xml index 1c02a08c..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 @@ -75,6 +75,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + insert into user_info 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/competitionPermissions/index.vue b/ruoyi-ui/src/views/system/competitionPermissions/index.vue new file mode 100644 index 00000000..ccfa23aa --- /dev/null +++ b/ruoyi-ui/src/views/system/competitionPermissions/index.vue @@ -0,0 +1,374 @@ + + +