diff --git a/competition/src/main/java/com/huoran/competition/entity/req/PageRegistrationStaffReq.java b/competition/src/main/java/com/huoran/competition/entity/req/PageRegistrationStaffReq.java index 0a9f02d..3a00dba 100644 --- a/competition/src/main/java/com/huoran/competition/entity/req/PageRegistrationStaffReq.java +++ b/competition/src/main/java/com/huoran/competition/entity/req/PageRegistrationStaffReq.java @@ -32,4 +32,8 @@ public class PageRegistrationStaffReq extends PageReq{ @ApiModelProperty(value = "团队排序标识",example = "null") private Integer teamOrder; + + @ApiModelProperty(value = "查询来源(1.前台/2.后台)") + private Integer querySource; + } \ No newline at end of file diff --git a/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java b/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java index 2a25baf..f027552 100644 --- a/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java +++ b/competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java @@ -12,7 +12,10 @@ import com.huoran.common.entity.School; import com.huoran.common.exception.CustomException; import com.huoran.common.exception.ExceptionEnum; import com.huoran.common.response.R; -import com.huoran.competition.entity.*; +import com.huoran.competition.entity.Competition; +import com.huoran.competition.entity.CompetitionRegistration; +import com.huoran.competition.entity.CompetitionTeam; +import com.huoran.competition.entity.CompleteCompetitionSetup; import com.huoran.competition.entity.req.PageRegistrationStaffReq; import com.huoran.competition.entity.vo.ExcelData; import com.huoran.competition.entity.vo.PersonalExcelData; @@ -23,12 +26,14 @@ import com.huoran.competition.service.CompetitionRegistrationService; import com.huoran.competition.service.CompetitionTeamService; import com.huoran.competition.service.TeamParticipantService; import com.huoran.competition.utils.ExcelStyleUtil; +import com.huoran.competition.utils.HandleNameAsteriskReplacementUtil; import org.apache.poi.ss.usermodel.Workbook; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -77,8 +82,23 @@ public class CompetitionRegistrationServiceImpl extends ServiceImpl page = new Page(req.getPageNum(), req.getPageSize()); IPage pageList = baseMapper.selectRegistrationByCondition(page, req); + + //默认设置后台 + + if (ObjectUtils.isEmpty(req.getQuerySource())){ + req.setQuerySource(2); + } + if (req.getQuerySource() == 1) { + pageList + .getRecords().forEach(registrationVO -> { + registrationVO.setUsername(HandleNameAsteriskReplacementUtil.desensitizedName(registrationVO.getUsername())); + }); + } + return R.ok().put("data", pageList); } @@ -196,15 +216,15 @@ public class CompetitionRegistrationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); - wrapper.eq("competition_id", competitionRegistration.getCompetitionId()); - List competitionRegistrations = baseMapper.selectList(wrapper); - if (competitionRegistrations != null && competitionRegistrations.size() >= competition.getQuantityLimit()) { - throw new CustomException(ExceptionEnum.TEAM_LIMIT3); - } + //个人赛人数限制 + if (competition.getQuantityLimit() != null) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("competition_id", competitionRegistration.getCompetitionId()); + List competitionRegistrations = baseMapper.selectList(wrapper); + if (competitionRegistrations != null && competitionRegistrations.size() >= competition.getQuantityLimit()) { + throw new CustomException(ExceptionEnum.TEAM_LIMIT3); } + } //内部添加,一路绿灯 QueryWrapper wrapper = getCompetitionRegistrationQueryWrapper(competitionRegistration, competition); diff --git a/competition/src/main/java/com/huoran/competition/utils/HandleNameAsteriskReplacementUtil.java b/competition/src/main/java/com/huoran/competition/utils/HandleNameAsteriskReplacementUtil.java new file mode 100644 index 0000000..b394c82 --- /dev/null +++ b/competition/src/main/java/com/huoran/competition/utils/HandleNameAsteriskReplacementUtil.java @@ -0,0 +1,43 @@ +package com.huoran.competition.utils; + +import org.apache.commons.lang3.StringUtils; + +public class HandleNameAsteriskReplacementUtil { + /** + * @description: 名字脱敏 + * 脱敏规则: 隐藏中中间部分,比如:李某人 置换为 李*人 , 李某置换为 *某,司徒司翘置换为 司**翘 + * @return: + * @author: *** + * @time: 2022/6/22 + */ + public static String desensitizedName(String fullName) { + if (!com.mysql.cj.util.StringUtils.isNullOrEmpty(fullName)) { + int length = fullName.length(); + if (length == 2) { + return fullName.substring(0, 1).concat("*"); + } else if (length == 3) { + return StringUtils.left(fullName, 1).concat("*").concat(StringUtils.right(fullName, 1)); + } else if (length > 3) { + return StringUtils.left(fullName, 1).concat(generateAsterisk(fullName.substring(1, length - 1).length())).concat(StringUtils.right(fullName, 1)); + } else { + return fullName; + } + } + return fullName; + } + + + /** + * @description: 返回指定长度*字符串 + * @return: + * @author: *** + * @time: 2022/6/22 + */ + private static String generateAsterisk(int length) { + String result = ""; + for (int i = 0; i < length; i++) { + result += "*"; + } + return result; + } +} diff --git a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamAccountMapper.xml b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamAccountMapper.xml index 78c1f2c..9a456a8 100644 --- a/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamAccountMapper.xml +++ b/nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamAccountMapper.xml @@ -112,9 +112,21 @@ resultType="com.huoran.nakadai.entity.res.PlatformTeamAccountResp"> SELECT hpa.manage_id, - hpa.invitation_account, - u.user_name, - u.last_login_time, + hpa.invitation_account + , + ( + SELECT + u.user_name + FROM + hr_user_account ua + INNER JOIN hr_user_info u ON u.user_id = ua.user_id + AND u.is_del = 0 + WHERE + ua.is_del = 0 + AND ua.app_open_id = a.app_open_id + AND ua.platform_id = 7 + ) AS userName, + u.last_login_time, u.login_number, a.work_number, a.user_id,