From dc1a49110695832cd7379b837bcbce1f2bb862ab Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 6 Nov 2020 11:17:33 +0800 Subject: [PATCH 1/3] =?UTF-8?q?20201106v1.0=E8=B7=B3=E7=BB=B3=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/mt/service/ProvinceService.java | 7 +++++++ tall/src/main/resources/application.yml | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 027c0496..434a0337 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -146,6 +146,12 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNull(competeGroup) || param.getGender() != competeGroup.getSex()){ throw new BaseException(CodeEnum.MT_NOT_GROUP); } + //获取选手年龄 + int ageByIdCard = IdcardUtil.getAgeByIdCard(param.getIdCard()); + //判断年龄和分组是否匹配 + if(ageByIdCard < competeGroup.getMinAge() || ageByIdCard > competeGroup.getMaxAge()){ + throw new BaseException(CodeEnum.MT_NOT_GROUP); + } //判断各种证件是否为空 if(ObjectUtil.isNull(param.getIdCardFront()) && ObjectUtil.isNotNull(param.getIdCardBack())){ param.setIdCardFront(param.getIdCardBack()); @@ -165,6 +171,7 @@ public class ProvinceService implements IProvinceService { player.setStudentRecordFile(param.getStudentRecord()); player.setHealthRecordFile(param.getHealthRecord()); player.setInsuranceRecordFile(param.getInsuranceRecord()); + // //添加身份证正面照片 // player.setIdCardFrontFile(uploadPhotoFile(param.getIdCardFront(),userId)); // //身份证反面 diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index e75cc2c3..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: prod - include: util-prod,common + active: dev + include: util-dev,common From 5174fb638f67d82ffb29991123ade7edc76b748c Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 7 Nov 2020 19:53:40 +0800 Subject: [PATCH 2/3] =?UTF-8?q?20201107=E6=B7=BB=E5=8A=A0=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E6=80=A7=E5=88=AB=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/DebugController.java | 13 ++-- .../com/ccsens/mt/api/ExcelController.java | 2 + .../com/ccsens/mt/bean/po/CompeteTeam.java | 11 ++++ .../ccsens/mt/bean/po/CompeteTeamExample.java | 60 +++++++++++++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 7 +++ .../mt/persist/dao/CompetePlayerDao.java | 7 +++ .../com/ccsens/mt/service/ExcelService.java | 22 +++---- .../ccsens/mt/service/ProvinceService.java | 37 +++++++----- .../java/com/ccsens/mt/util/Constant.java | 51 ++++++++++++++++ .../resources/mapper_dao/CompetePlayerDao.xml | 16 +++++ .../resources/mapper_dao/CompeteTimeDao.xml | 2 +- .../mapper_raw/CompeteTeamMapper.xml | 25 ++++++-- 12 files changed, 214 insertions(+), 39 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/DebugController.java b/mt/src/main/java/com/ccsens/mt/api/DebugController.java index eb2fca5f..05b970a4 100644 --- a/mt/src/main/java/com/ccsens/mt/api/DebugController.java +++ b/mt/src/main/java/com/ccsens/mt/api/DebugController.java @@ -1,7 +1,10 @@ package com.ccsens.mt.api; import com.ccsens.mt.bean.dto.LevelDto; +import com.ccsens.mt.bean.po.CompetePlayer; import com.ccsens.mt.bean.po.LevelUser; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.service.ILevelUpService; import com.ccsens.util.JsonResponse; import com.ccsens.util.RedisUtil; @@ -29,6 +32,8 @@ public class DebugController { private RedisUtil redisUtil; @Resource private ILevelUpService levelUpService; + @Resource + private CompetePlayerDao competePlayerDao; @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ @@ -66,10 +71,10 @@ public class DebugController { @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ }) - @RequestMapping(value="file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) - public JsonResponse debug(HttpServletRequest request, @RequestParam() Part files) throws Exception { - System.out.println(files.getSize()); - return JsonResponse.newInstance().ok("测试"); + @RequestMapping(value="/file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + public JsonResponse debug() throws Exception { + + return JsonResponse.newInstance().ok(); } } diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 2a82986e..77106588 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -40,4 +40,6 @@ public class ExcelController { String path = excelService.competeJoin(params); return JsonResponse.newInstance().ok(path); } + + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java index d88d0524..fa2c36fe 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java @@ -30,6 +30,8 @@ public class CompeteTeam implements Serializable { private Long companyId; + private Byte groupRemark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -136,6 +138,14 @@ public class CompeteTeam implements Serializable { this.companyId = companyId; } + public Byte getGroupRemark() { + return groupRemark; + } + + public void setGroupRemark(Byte groupRemark) { + this.groupRemark = groupRemark; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -155,6 +165,7 @@ public class CompeteTeam implements Serializable { sb.append(", competeGroupId=").append(competeGroupId); sb.append(", success=").append(success); sb.append(", companyId=").append(companyId); + sb.append(", groupRemark=").append(groupRemark); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java index f447e9ef..a65a1587 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java @@ -894,6 +894,66 @@ public class CompeteTeamExample { addCriterion("company_id not between", value1, value2, "companyId"); return (Criteria) this; } + + public Criteria andGroupRemarkIsNull() { + addCriterion("group_remark is null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIsNotNull() { + addCriterion("group_remark is not null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkEqualTo(Byte value) { + addCriterion("group_remark =", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotEqualTo(Byte value) { + addCriterion("group_remark <>", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThan(Byte value) { + addCriterion("group_remark >", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThanOrEqualTo(Byte value) { + addCriterion("group_remark >=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThan(Byte value) { + addCriterion("group_remark <", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThanOrEqualTo(Byte value) { + addCriterion("group_remark <=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIn(List values) { + addCriterion("group_remark in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotIn(List values) { + addCriterion("group_remark not in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkBetween(Byte value1, Byte value2) { + addCriterion("group_remark between", value1, value2, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotBetween(Byte value1, Byte value2) { + addCriterion("group_remark not between", value1, value2, "groupRemark"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 62be8623..19cce2d8 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -212,4 +212,11 @@ public class ProvinceCompeteVo { @ApiModelProperty("教练证(浏览路径)") private String coachCertificate; } + + + @Data + public static class TeamGroupRemark{ + private int sexGroup; + private String groupRemark = "123"; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index 11e4b350..0441abb4 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -60,4 +60,11 @@ public interface CompetePlayerDao extends CompetePlayerMapper { * @return 返回详细信息 */ ProvinceCompeteVo.PlayerInfo getPlayerByPlayerId(@Param("playerId")Long playerId); + + /** + * 查找团队的性别组和组别信息备注 + * @param teamId 团队id + * @return 返回性别组和备注 + */ + ProvinceCompeteVo.TeamGroupRemark getTeamGroupRemark(@Param("teamId")Long teamId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index f1205e4d..e53d0bea 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -16,8 +16,12 @@ import com.ccsens.util.PoiUtil; import com.ccsens.util.PropUtil; import com.ccsens.util.RedisUtil; import com.ccsens.util.bean.dto.QueryDto; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; @@ -26,17 +30,15 @@ import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; - +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class ExcelService implements IExcelService { @Resource private CompeteTimeDao competeTimeDao; @Resource - private RedisUtil redisUtil; - @Resource private CompeteCompanyMapper competeCompanyMapper; @Resource - private Snowflake snowflake; - @Resource private CompeteTeamDao competeTeamDao; @Resource private CompetePlayerDao competePlayerDao; @@ -49,16 +51,6 @@ public class ExcelService implements IExcelService { @Resource private CompeteGroupMapper competeGroupMapper; @Resource - private ILevelUpService levelUpService; - @Resource - private CompetePlayerFamilyMapper competePlayerFamilyMapper; - @Resource - private CompeteProjectGroupMapper competeProjectGroupMapper; - @Resource - private CompeteEnrollDao competeEnrollDao; - @Resource - private TallFeignClient tallFeignClient; - @Resource private CommonFileMapper commonFileMapper; diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 38f59804..439f1518 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -517,19 +517,8 @@ public class ProvinceService implements IProvinceService { CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } -// //检查参赛人数是否符合 -// int joinCount = 0; -// for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ -// if(joinProject.getJoinProject() == 1){ -// joinCount++; -// } -// } -//// if(joinCount > competeProject.getMemberMax() ){ -//// throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); -//// } //判断项目是个人还是团队,参加 if(competeProject.getTeam() == 0){ -// param.getPlayers().forEach(joinPlayer -> { for(ProvinceCompeteDto.JoinProjectPlayer joinPlayer : param.getPlayers()){ //检查此用户之前是否参加此项目 CompeteProjectPlayerExample example = new CompeteProjectPlayerExample(); @@ -570,7 +559,6 @@ public class ProvinceService implements IProvinceService { projectPlayer.setGenderGroup(player.getGender()); projectPlayerMapper.insertSelective(projectPlayer); } -// }); } }else { //查找当前公司是否已经报名此项目 @@ -638,10 +626,31 @@ public class ProvinceService implements IProvinceService { teamMember.setCompeteTeamId(competeTeam.getId()); teamMember.setPlayerId(player.getId()); teamMemberMapper.insertSelective(teamMember); - } } - + //查询团队内的成员,如果没有则删除团队 + CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); + memberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + if(teamMemberMapper.countByExample(memberExample) == 0){ + competeTeam.setRecStatus((byte) 2); + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + }else { + //修改团队的性别组和组别备注信息 + ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); + if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { + competeTeam.setGenderGroup((byte) teamGroupRemark.getSexGroup()); + if (ObjectUtil.isNull(competeTeam.getGroupRemark()) || competeTeam.getGroupRemark() == 0) { + String groupRemark = teamGroupRemark.getGroupRemark().substring(0, teamGroupRemark.getGroupRemark().length() - 3); + Constant.COMPETE_TEAM_GROUP_REMARK remark = Constant.COMPETE_TEAM_GROUP_REMARK.phaseOf(groupRemark); + if (ObjectUtil.isNotNull(remark)) { + competeTeam.setGroupRemark((byte) remark.value); + } else { + competeTeam.setGroupRemark((byte) 0); + } + } + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + } + } } } diff --git a/mt/src/main/java/com/ccsens/mt/util/Constant.java b/mt/src/main/java/com/ccsens/mt/util/Constant.java index 394481f1..5f3052c7 100644 --- a/mt/src/main/java/com/ccsens/mt/util/Constant.java +++ b/mt/src/main/java/com/ccsens/mt/util/Constant.java @@ -1,5 +1,7 @@ package com.ccsens.mt.util; +import com.ccsens.util.WebConstant; + /** * @description: * @author: whj @@ -63,4 +65,53 @@ public class Constant { //团体赛按名次 public final static byte RULE_TEAM_RANK = 5; } + + + public enum COMPETE_TEAM_GROUP_REMARK{ + primary_school(1,"小学") + ,middle_school(2,"中学") + ,high_school(3,"高职院校") + ,university(4,"本科院校") + ,club(5,"俱乐部"); + public int value; + public String phase; + COMPETE_TEAM_GROUP_REMARK(int value,String thePhase){ + this.value = value; + this.phase = thePhase; + } + /** + * 手写的从int到enum的转换函数 + */ + public static Constant.COMPETE_TEAM_GROUP_REMARK valueOf(int value) { + switch (value) { + case 1: return primary_school; + case 2: return middle_school; + case 3: return high_school; + case 4: return university; + case 5: return club; + default: return null; + } + } + /** + * 手写的从String到enum的转换函数 + */ + public static Constant.COMPETE_TEAM_GROUP_REMARK phaseOf(String phase) { + if(phase.equalsIgnoreCase(primary_school.phase)) { + return primary_school; + } + if(phase.equalsIgnoreCase(middle_school.phase)) { + return middle_school; + } + if(phase.equalsIgnoreCase(high_school.phase)) { + return high_school; + } + if(phase.equalsIgnoreCase(university.phase)) { + return university; + } + if(phase.equalsIgnoreCase(club.phase)) { + return club; + } + return null; + } + } } diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index b5918284..60e2cc41 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -189,4 +189,20 @@ id = #{playerId} and rec_status = 0 + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml index 53ed4b2e..3bbe88b0 100644 --- a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml @@ -41,7 +41,7 @@ select @@ -113,12 +114,12 @@ compete_time_id, gender_group, certificate, qr_code, created_at, updated_at, rec_status, compete_group_id, success, - company_id) + company_id, group_remark) values (#{id,jdbcType=BIGINT}, #{creator,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{genderGroup,jdbcType=TINYINT}, #{certificate,jdbcType=TINYINT}, #{qrCode,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{competeGroupId,jdbcType=BIGINT}, #{success,jdbcType=TINYINT}, - #{companyId,jdbcType=BIGINT}) + #{companyId,jdbcType=BIGINT}, #{groupRemark,jdbcType=TINYINT}) insert into t_compete_team @@ -162,6 +163,9 @@ company_id, + + group_remark, + @@ -203,6 +207,9 @@ #{companyId,jdbcType=BIGINT}, + + #{groupRemark,jdbcType=TINYINT}, + SELECT p.id AS playerId, @@ -205,4 +212,54 @@ and m.rec_status = 0 and g.rec_status = 0 + + + \ No newline at end of file