Merge remote-tracking branch 'origin/main'

main
cheney 11 months ago
commit 40f5df5bf6
  1. 4
      competition/src/main/java/com/huoran/competition/entity/req/PageRegistrationStaffReq.java
  2. 38
      competition/src/main/java/com/huoran/competition/service/impl/CompetitionRegistrationServiceImpl.java
  3. 43
      competition/src/main/java/com/huoran/competition/utils/HandleNameAsteriskReplacementUtil.java
  4. 18
      nakadai/src/main/java/com/huoran/nakadai/mapper/xml/PlatformTeamAccountMapper.xml

@ -32,4 +32,8 @@ public class PageRegistrationStaffReq extends PageReq{
@ApiModelProperty(value = "团队排序标识",example = "null")
private Integer teamOrder;
@ApiModelProperty(value = "查询来源(1.前台/2.后台)")
private Integer querySource;
}

@ -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<CompetitionR
@Override
public R registrationPageConditionQuery(PageRegistrationStaffReq req) {
Page<RegistrationVO> page = new Page<RegistrationVO>(req.getPageNum(), req.getPageSize());
IPage<RegistrationVO> 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<CompetitionR
Competition competition = competitionMapper.selectById(competitionRegistration.getCompetitionId());
//个人赛人数限制
if (competition.getQuantityLimit() != null) {
QueryWrapper<CompetitionRegistration> wrapper = new QueryWrapper<>();
wrapper.eq("competition_id", competitionRegistration.getCompetitionId());
List<CompetitionRegistration> competitionRegistrations = baseMapper.selectList(wrapper);
if (competitionRegistrations != null && competitionRegistrations.size() >= competition.getQuantityLimit()) {
throw new CustomException(ExceptionEnum.TEAM_LIMIT3);
}
//个人赛人数限制
if (competition.getQuantityLimit() != null) {
QueryWrapper<CompetitionRegistration> wrapper = new QueryWrapper<>();
wrapper.eq("competition_id", competitionRegistration.getCompetitionId());
List<CompetitionRegistration> competitionRegistrations = baseMapper.selectList(wrapper);
if (competitionRegistrations != null && competitionRegistrations.size() >= competition.getQuantityLimit()) {
throw new CustomException(ExceptionEnum.TEAM_LIMIT3);
}
}
//内部添加,一路绿灯
QueryWrapper<CompetitionRegistration> wrapper = getCompetitionRegistrationQueryWrapper(competitionRegistration, competition);

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

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

Loading…
Cancel
Save