赛会控制权

This commit is contained in:
wuyibo
2023-07-22 11:51:42 +08:00
parent d14ad66f3a
commit 7eefb42ca4
28 changed files with 1209 additions and 18 deletions

View File

@@ -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<UserRole> userRoleList = userRoleService.selectRoleByUserId(user.getUserid());
//查询登录用户的系统角色
if(ObjectUtil.isNotNull(userRoleList) && userRoleList.size()>0) {
List<String> 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<CompetitionSharePermissions> permissionsList = competitionSharePermissionsService.selectCompetitionSharePermissionsList(permissions);
if(ObjectUtil.isNotNull(permissionsList)&&permissionsList.size()>0){
List<Long> competitionIds = permissionsList.stream().map(CompetitionSharePermissions::getCompetitionId).collect(Collectors.toList());
entity.setCompetitionIds(competitionIds);
}
}
}
startPage();
List<Competition> list = competitionService.getMyJoinCompetition(entity);
return getDataTable(list);
}

View File

@@ -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<CompetitionOfTeamVo> list =competitionOfTeamService.getMyJoinCompetitionTeam(entity);
return getDataTable(list);
}
@ApiOperation(ApiTerminal.wxMiniProgram+"新增")
@PostMapping("/add")
@ResponseBody

View File

@@ -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<CompetitionSharePermissions> 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<CompetitionSharePermissions> list = competitionSharePermissionsService.selectCompetitionSharePermissionsList(competitionSharePermissions);
ExcelUtil<CompetitionSharePermissions> util = new ExcelUtil<CompetitionSharePermissions>(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<CompetitionSharePermissions> 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));
}
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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<CompetitionSharePermissions> sharePermissionList;
}

View File

@@ -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<Long> competitionIds;
}

View File

@@ -74,4 +74,6 @@ public interface CompetitionOfTeamMapper
CompetitionOfTeam selectOneByUserId(@Param("competitionId") Long competitionId,@Param("userId") String userId);
List<CompetitionOfTeamVo> getJoinCompetitionGroupTeam(CompetitionOfTeam ofTeam);
List<CompetitionOfTeamVo> getMyJoinCompetitionTeam(CompetitionOfTeamVo entity);
}

View File

@@ -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<CompetitionSharePermissions> 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<CompetitionSharePermissions> getList(CompetitionSharePermissions competitionSharePermissions);
}

View File

@@ -60,4 +60,6 @@ public interface UserRoleMapper
public int deleteUserRoleByIds(Long[] ids);
UserRole selectByCode(String roleCode);
List<UserRole> selectRoleByUserId(Long userid);
}

View File

@@ -63,4 +63,6 @@ public interface WxUserMapper
WxUser selectByOpenId(String openId);
List<WxUser> listByIds(@Param("userIds") List<Long> userIds);
WxUser getUserInfoBy(WxUser wxUser);
}

View File

@@ -80,4 +80,6 @@ public interface ICompetitionOfTeamService
Boolean edit(CompetitionOfTeam entity);
List<CompetitionOfTeamVo> getJoinCompetitionGroupTeam(CompetitionOfTeam ofTeam);
List<CompetitionOfTeamVo> getMyJoinCompetitionTeam(CompetitionOfTeamVo entity);
}

View File

@@ -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<CompetitionSharePermissions> 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<CompetitionSharePermissions> getList(CompetitionSharePermissions competitionSharePermissions);
}

View File

@@ -35,6 +35,8 @@ public interface IUserRoleService
*/
public int insertUserRole(UserRole userRole);
List<UserRole> selectRoleByUserId(Long userid);
/**
* 修改【请填写功能名称】
*

View File

@@ -58,4 +58,6 @@ public interface IWxUserService
* @return 结果
*/
public int deleteWxUserById(Long id);
WxUser getUserInfoBy(WxUser wxUser);
}

View File

@@ -144,4 +144,12 @@ public class CompetitionOfTeamServiceImpl implements ICompetitionOfTeamService
public List<CompetitionOfTeamVo> getJoinCompetitionGroupTeam(CompetitionOfTeam ofTeam) {
return competitionOfTeamMapper.getJoinCompetitionGroupTeam(ofTeam);
}
@Override
public List<CompetitionOfTeamVo> getMyJoinCompetitionTeam(CompetitionOfTeamVo entity) {
LoginUser user = SecurityUtils.getLoginUser();
entity.setUserId(user.getUserid());
List<CompetitionOfTeamVo> list=competitionOfTeamMapper.getMyJoinCompetitionTeam(entity);
return list;
}
}

View File

@@ -344,17 +344,6 @@ public class CompetitionServiceImpl implements ICompetitionService
@Override
public List<Competition> getMyJoinCompetition(CompetitionVo competition) {
LoginUser user = SecurityUtils.getLoginUser();
//查询登录用户的系统角色
List<UserRole> userRoles = userRoleMapper.selectUserRoleList(UserRole.builder().roleCode(UserRoles.ADMIN.code()).build());
if(!StringUtils.isEmpty(userRoles) && userRoles.size()>0) {
List<Long> userIds = userRoles.stream().map(UserRole::getUserId).collect(Collectors.toList());
//如果是管理员就直接可以查看所有的赛事
if (userIds.contains(user.getUserid())) {
competition.setUserId(null);
competition.setFounder(null);
}
}
List<Competition> list=competitionMapper.getMyJoinCompetition(competition);
for (Competition comp:list){
if(competition.getCompetitionNature()==0){

View File

@@ -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<CompetitionSharePermissions> 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<CompetitionSharePermissions> 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<CompetitionSharePermissions> getList(CompetitionSharePermissions competitionSharePermissions) {
return competitionSharePermissionsMapper.getList(competitionSharePermissions);
}
}

View File

@@ -55,6 +55,11 @@ public class UserRoleServiceImpl implements IUserRoleService
return userRoleMapper.insertUserRole(userRole);
}
@Override
public List<UserRole> selectRoleByUserId(Long userid) {
return userRoleMapper.selectRoleByUserId(userid);
}
/**
* 修改【请填写功能名称】
*

View File

@@ -90,4 +90,9 @@ public class WxUserServiceImpl implements IWxUserService
{
return wxUserMapper.deleteWxUserById(id);
}
@Override
public WxUser getUserInfoBy(WxUser wxUser) {
return wxUserMapper.getUserInfoBy(wxUser);
}
}

View File

@@ -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

View File

@@ -207,7 +207,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="userId != null ">
AND EXISTS (select 1 from competition_members c WHERE c.user_id=#{userId} and t.id=c.competition_id)
</if>
order by t.competition_time desc
<if test="competitionIds != null and competitionIds.size() > 0">
union
select * from competition t where 1=1
<if test="competitionIds != null and competitionIds.size() > 0">
and t.id in
<foreach collection="competitionIds" item="competitionId" open=" (" separator="," close=")">
#{competitionId}
</foreach>
</if>
<if test="status != null ">
AND t.status =#{status}
</if>
<if test="competitionNature != null ">
AND t.competition_nature =#{competitionNature}
</if>
<if test="cityCode != null and cityCode != ''">
AND t.city_code like CONCAT('%',#{cityCode},'%')
</if>
<if test="cityName != null and cityName != ''">
AND t.city_name like CONCAT('%',#{cityName},'%')
</if>
<if test="mainTeamName != null and mainTeamName != ''">
AND t.main_team_name like CONCAT('%',#{mainTeamName},'%')
</if>
<if test="guestTeamName != null and guestTeamName != ''">
AND t.guest_team_name like CONCAT('%',#{guestTeamName},'%')
</if>
<if test="designated != null ">
AND t.designated=#{designated}
</if>
<if test="competitionAddress != null and competitionAddress != '' ">
AND t.competition_address like CONCAT('%',#{competitionAddress},'%')
</if>
<if test="buildingName != null and buildingName != '' ">
AND t.building_name like CONCAT('%',#{buildingName},'%')
</if>
<if test="id != null ">
AND t.id=#{id}
</if>
<if test="auditStatus != null ">
AND t.audit_status = #{auditStatus}
</if>
<if test="isDeleted != null ">
AND t.is_deleted = #{isDeleted}
</if>
<if test="word != null and word != ''">
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},'%')
)
</if>
<if test="userId != null ">
AND EXISTS (select 1 from competition_members c WHERE c.user_id=#{userId} and t.id=c.competition_id)
</if>
</if>
</select>
<insert id="insertCompetition" parameterType="Competition" useGeneratedKeys="true" keyProperty="id">

View File

@@ -173,6 +173,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
order by t.created_time desc
</select>
<select id="getMyJoinCompetitionTeam" resultType="com.ruoyi.system.domain.vo.CompetitionOfTeamVo">
select t.* from competition_of_team t where t.is_deleted = 0
<if test="id != null ">
AND t.id=#{id}
</if>
<if test="competitionId != null ">
AND t.competition_id=#{competitionId}
</if>
<if test="status != null ">
AND t.status =#{status}
</if>
<if test="teamId != null ">
AND t.team_id =#{teamId}
</if>
<if test="competitionGroup != null ">
AND t.competition_group =#{competitionGroup}
</if>
<if test="teamName != null and teamName != ''">
AND t.team_name like CONCAT('%',#{teamName},'%')
</if>
<if test="contacts != null and contacts != ''">
AND t.contacts like CONCAT('%',#{contacts},'%')
</if>
<if test="contactsTel != null and contactsTel != ''">
AND t.contacts_tel like CONCAT('%',#{contactsTel},'%')
</if>
<if test="contactsAreaCode != null and contactsAreaCode != ''">
AND t.contacts_area_code like CONCAT('%',#{contactsAreaCode},'%')
</if>
<if test="isDeleted != null ">
AND t.is_deleted = #{isDeleted}
</if>
<if test="userId != null ">
AND EXISTS (select 1 from competition_members c WHERE c.user_id=#{userId} and t.competition_id = c.competition_id and t.id=c.competition_of_team_id)
</if>
order by t.created_time desc
</select>
<insert id="insertCompetitionOfTeam" parameterType="CompetitionOfTeam" useGeneratedKeys="true" keyProperty="id">
insert into competition_of_team

View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.CompetitionSharePermissionsMapper">
<resultMap type="CompetitionSharePermissions" id="CompetitionSharePermissionsResult">
<result property="id" column="id" />
<result property="createTime" column="create_time" />
<result property="competitionId" column="competition_id" />
<result property="userId" column="user_id" />
<result property="userTel" column="user_tel" />
<result property="userName" column="user_name" />
<result property="status" column="status" />
<result property="updateTime" column="update_time" />
<result property="createBy" column="create_by" />
<result property="updateBy" column="update_by" />
<result property="isDeleted" column="is_deleted" />
<result property="remark" column="remark" />
<result property="canSetType" column="can_set_type" />
</resultMap>
<sql id="selectCompetitionSharePermissionsVo">
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
</sql>
<select id="selectCompetitionSharePermissionsList" parameterType="CompetitionSharePermissions" resultMap="CompetitionSharePermissionsResult">
<include refid="selectCompetitionSharePermissionsVo"/>
<where>
<if test="competitionId != null "> and competition_id = #{competitionId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userTel != null and userTel != ''"> and user_tel = #{userTel}</if>
<if test="userName != null and userName != ''"> and user_name like concat('%', #{userName}, '%')</if>
<if test="status != null "> and status = #{status}</if>
<if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>
<if test="canSetType != null and canSetType != ''"> and can_set_type = #{canSetType}</if>
</where>
</select>
<select id="selectCompetitionSharePermissionsById" parameterType="Long" resultMap="CompetitionSharePermissionsResult">
<include refid="selectCompetitionSharePermissionsVo"/>
where id = #{id}
</select>
<insert id="insertCompetitionSharePermissions" parameterType="CompetitionSharePermissions" useGeneratedKeys="true" keyProperty="id">
insert into competition_share_permissions
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="createTime != null">create_time,</if>
<if test="competitionId != null">competition_id,</if>
<if test="userId != null">user_id,</if>
<if test="userTel != null and userTel != ''">user_tel,</if>
<if test="userName != null and userName != ''">user_name,</if>
<if test="status != null">status,</if>
<if test="updateTime != null">update_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateBy != null">update_by,</if>
<if test="isDeleted != null">is_deleted,</if>
<if test="remark != null">remark,</if>
<if test="canSetType != null">can_set_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="createTime != null">#{createTime},</if>
<if test="competitionId != null">#{competitionId},</if>
<if test="userId != null">#{userId},</if>
<if test="userTel != null and userTel != ''">#{userTel},</if>
<if test="userName != null and userName != ''">#{userName},</if>
<if test="status != null">#{status},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="isDeleted != null">#{isDeleted},</if>
<if test="remark != null">#{remark},</if>
<if test="canSetType != null">#{canSetType},</if>
</trim>
</insert>
<update id="updateCompetitionSharePermissions" parameterType="CompetitionSharePermissions">
update competition_share_permissions
<trim prefix="SET" suffixOverrides=",">
<if test="createTime != null">create_time = #{createTime},</if>
<if test="competitionId != null">competition_id = #{competitionId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="userTel != null and userTel != ''">user_tel = #{userTel},</if>
<if test="userName != null and userName != ''">user_name = #{userName},</if>
<if test="status != null">status = #{status},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="isDeleted != null">is_deleted = #{isDeleted},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="canSetType != null">can_set_type = #{canSetType},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteCompetitionSharePermissionsById" parameterType="Long">
delete from competition_share_permissions where id = #{id}
</delete>
<delete id="deleteCompetitionSharePermissionsByIds" parameterType="String">
delete from competition_share_permissions where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="getList" resultType="com.ruoyi.system.domain.CompetitionSharePermissions">
<include refid="selectCompetitionSharePermissionsVo"/>
<where>
<if test="competitionId != null "> and competition_id = #{competitionId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="userName != null and userName != ''"> AND user_name like CONCAT('%',#{userName},'%')</if>
<if test="userTel != null and userTel != ''"> and user_tel like CONCAT('%',#{userTel},'%')</if>
<if test="status != null "> and status = #{status}</if>
<if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>
<if test="canSetType != null and canSetType != ''"> and can_set_type = #{canSetType}</if>
</where>
</select>
</mapper>

View File

@@ -41,6 +41,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectByCode" resultType="com.ruoyi.system.domain.UserRole">
select * from user_role where role_code = #{roleCode} limit 1
</select>
<select id="selectRoleByUserId" resultType="com.ruoyi.system.domain.UserRole">
select * from user_role where USER_ID = #{userId}
</select>
<insert id="insertUserRole" parameterType="UserRole" useGeneratedKeys="true" keyProperty="id">
insert into user_role

View File

@@ -75,6 +75,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</select>
<select id="getUserInfoBy" resultType="com.ruoyi.system.domain.WxUser">
<include refid="selectWxUserVo"/>
<where>
<if test="isDeleted != null "> and IS_DELETED = #{isDeleted}</if>
<if test="createdTime != null "> and CREATED_TIME = #{createdTime}</if>
<if test="createdBy != null and createdBy != ''"> and CREATED_BY = #{createdBy}</if>
<if test="modifiedBy != null and modifiedBy != ''"> and MODIFIED_BY = #{modifiedBy}</if>
<if test="lastUpdatedTime != null "> and LAST_UPDATED_TIME = #{lastUpdatedTime}</if>
<if test="loginName != null and loginName != ''"> and LOGIN_NAME like concat('%', #{loginName}, '%')</if>
<if test="passWord != null and passWord != ''"> and PASS_WORD = #{passWord}</if>
<if test="role != null and role != ''"> and ROLE = #{role}</if>
<if test="openid != null and openid != ''"> and OPENID = #{openid}</if>
<if test="avatar != null and avatar != ''"> and AVATAR = #{avatar}</if>
<if test="gender != null and gender != ''"> and GENDER = #{gender}</if>
<if test="userName != null and userName != ''"> and USER_NAME like concat('%', #{userName}, '%')</if>
<if test="telephone != null and telephone != ''"> and TELEPHONE = #{telephone}</if>
<if test="birthday != null "> and BIRTHDAY = #{birthday}</if>
<if test="height != null "> and HEIGHT = #{height}</if>
<if test="weight != null "> and WEIGHT = #{weight}</if>
<if test="teamPosition != null and teamPosition != ''"> and TEAM_POSITION = #{teamPosition}</if>
<if test="tag != null and tag != ''"> and TAG = #{tag}</if>
<if test="enabled != null and enabled != ''"> and ENABLED = #{enabled}</if>
<if test="unionid != null and unionid != ''"> and UNIONID = #{unionid}</if>
<if test="officialAccountOpenid != null and officialAccountOpenid != ''"> and OFFICIAL_ACCOUNT_OPENID = #{officialAccountOpenid}</if>
<if test="realName != null and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
</where>
limit 1
</select>
<insert id="insertWxUser" parameterType="WxUser" useGeneratedKeys="true" keyProperty="id">
insert into user_info