From 7fdeabbf84c34d2618786d6def69badd52b873c4 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 09:17:48 +0800 Subject: [PATCH 1/5] =?UTF-8?q?20201110=E4=BF=AE=E6=94=B9=E6=8A=A5?= =?UTF-8?q?=E5=90=8D=E8=A7=84=E5=88=99=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/cloudutil/aspect/LogAspect.java | 10 +++ .../ccsens/mt/service/ProvinceService.java | 71 +++---------------- mt/src/main/resources/application.yml | 4 +- .../java/com/ccsens/tall/bean/po/SysLog.java | 11 +++ .../ccsens/tall/bean/po/SysLogExample.java | 60 ++++++++++++++++ .../tall/service/ProTaskDetailService.java | 16 ++--- .../resources/mapper_raw/SysLogMapper.xml | 30 ++++++-- 7 files changed, 122 insertions(+), 80 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java index c88b21a2..5ea780e6 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java @@ -1,6 +1,9 @@ package com.ccsens.cloudutil.aspect; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.bean.tall.dto.LogDto; +import com.ccsens.cloudutil.bean.tall.vo.UserVo; import com.ccsens.cloudutil.feign.TallFeignClient; import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.WebConstant; @@ -74,6 +77,13 @@ public class LogAspect { throw throwable; } if (logDto != null) { + if("/users/signin".equals(logDto.getUrl()) && result != null){ + JSONObject json = JSONObject.parseObject(JSON.toJSONString(result)); + if(json.getIntValue("code") == 200 && json.get("data") != null){ + long userId = json.getJSONObject("data").getLongValue("id"); + logDto.setUserId(userId); + } + } String message = result == null ? null : result.toString().length() > 1000 ? result.toString().substring(0, 1000) : result.toString(); logDto.setResult(message); tallFeignClient.log(logDto); 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 439f1518..aa86061f 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -9,31 +9,24 @@ import cn.hutool.core.util.StrUtil; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.po.*; -import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.dao.CompeteCompanyDao; import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.persist.dao.CompeteTeamDao; import com.ccsens.mt.persist.dao.CompeteTimeDao; import com.ccsens.mt.persist.mapper.*; -import com.ccsens.mt.persist.mapper.CommonFileMapper; import com.ccsens.mt.persist.mapper.CompeteCoachMapper; import com.ccsens.mt.persist.mapper.CompetePlayerMapper; import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; -import com.ccsens.util.PropUtil; -import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.WebConstant; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; -import org.aspectj.apache.bcel.classfile.Code; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import javax.servlet.http.Part; -import java.io.File; import java.util.ArrayList; import java.util.List; @@ -51,8 +44,6 @@ public class ProvinceService implements IProvinceService { @Resource private CompeteTimeDao competeTimeDao; @Resource - private CommonFileMapper commonFileMapper; - @Resource private CompetePlayerDao competePlayerDao; @Resource private CompeteCoachMapper competeCoachMapper; @@ -226,27 +217,6 @@ public class ProvinceService implements IProvinceService { return competePlayerDao.queryPlayerByCompanyId(param.getCompanyId()); } - /** - * 将上传的图片信息保存,并在数据库添加记录 - */ - private Long uploadPhotoFile(Part file,Long userId) throws Exception { - log.info("上传文件:{}", file.getSubmittedFileName()); - String allowedExt = "jpg,jpeg,png"; - String dir = PropUtil.path; - String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); - log.info(dir+""+path); - - CommonFile fileDo = new CommonFile(); - String name = file.getSubmittedFileName(); - fileDo.setId(snowflake.nextId()); - fileDo.setFileName(name); - fileDo.setLocation(dir + File.separator + path); - fileDo.setUserId(userId); - fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); - commonFileMapper.insertSelective(fileDo); - log.info("保存文件:{}", fileDo); - return fileDo.getId(); - } @Override @@ -385,29 +355,6 @@ public class ProvinceService implements IProvinceService { return competeCompanyHeadList; } -// @Override -// public void saveCoach(CompeteDto.AddCoach param) { -// CompeteCoach competeCoach = new CompeteCoach(); -// Long companyId = param.getCompanyId(); -// competeCoach.setCompanyId(companyId); -// Long cpachId = param.getCoachId(); -// competeCoach.setId(cpachId); -// int identity = param.getIdentity(); -// competeCoach.setIdentity((byte) identity); -// String name = param.getName(); -// competeCoach.setName(name); -// int gender = param.getGender(); -// competeCoach.setGender((byte) gender); -// String phone = param.getPhone(); -// competeCoach.setPhone(phone); -// String idCard = param.getIdCard(); -// competeCoach.setIdCard(idCard); -// Long idPhoto = param.getIdPhoto(); -// competeCoach.setIdPhoto(idPhoto); -// Long coachCertificate = param.getCoachCertificate(); -// competeCoach.setCoachCertificate(coachCertificate); -// competeCoachMapper.insertSelective(competeCoach); -// } @Override public void deleteCoach(CompeteDto.LeaderId param) { @@ -424,11 +371,6 @@ public class ProvinceService implements IProvinceService { }else { throw new BaseException(CodeEnum.PARAM_ERROR); } -// else { -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } - - } @Override @@ -590,12 +532,11 @@ public class ProvinceService implements IProvinceService { CompeteTeamMemberExample example = new CompeteTeamMemberExample(); example.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); long memberNum = teamMemberMapper.countByExample(example); - - if(joinCount + memberNum > competeProject.getMemberMax() ){ - throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); - //TODO 参赛人数不满足比赛人数要求 + if(joinCount + memberNum > 0) { + if (joinCount + memberNum > competeProject.getMemberMax() || joinCount + memberNum < competeProject.getMemberMin()) { + throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + } } - for (int i = 0; i < param.getPlayers().size(); i++) { ProvinceCompeteDto.JoinProjectPlayer joinProjectPlayer = param.getPlayers().get(i); CompetePlayer player = competePlayerDao.selectByPrimaryKey(joinProjectPlayer.getPlayerId()); @@ -635,6 +576,10 @@ public class ProvinceService implements IProvinceService { competeTeam.setRecStatus((byte) 2); competeTeamDao.updateByPrimaryKeySelective(competeTeam); }else { + //当前参赛人数不符提示错误信息 + if(teamMemberMapper.countByExample(memberExample) > competeProject.getMemberMax() || teamMemberMapper.countByExample(memberExample) < competeProject.getMemberMin()){ + throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + } //修改团队的性别组和组别备注信息 ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java index 67f4f1c5..a0310ab6 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java @@ -22,6 +22,8 @@ public class SysLog implements Serializable { private String facility; + private Long userId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -96,6 +98,14 @@ public class SysLog implements Serializable { this.facility = facility == null ? null : facility.trim(); } + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -111,6 +121,7 @@ public class SysLog implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", facility=").append(facility); + sb.append(", userId=").append(userId); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java index 36127a35..c327b42a 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java @@ -694,6 +694,66 @@ public class SysLogExample { addCriterion("facility not between", value1, value2, "facility"); return (Criteria) this; } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 3ce1fa2e..122977fd 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -275,14 +275,14 @@ public class ProTaskDetailService implements IProTaskDetailService { if (CollectionUtil.isNotEmpty(secondTaskVoList)) { for (TaskVo.NormalTask normalTask : secondTaskVoList) { - //处理分数 - MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId, normalTask.getProjectId()); - if (ObjectUtil.isNotNull(memberInfo)) { - BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId()); - if (ObjectUtil.isNotNull(score)) { - normalTask.setScore(score); - } - } +// //处理分数 +// MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId, normalTask.getProjectId()); +// if (ObjectUtil.isNotNull(memberInfo)) { +// BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId()); +// if (ObjectUtil.isNotNull(score)) { +// normalTask.setScore(score); +// } +// } //处理插件 managePlugin(currentUserId, roleId, normalTask, imitation); //任务完成状态 diff --git a/tall/src/main/resources/mapper_raw/SysLogMapper.xml b/tall/src/main/resources/mapper_raw/SysLogMapper.xml index 7625c3c5..a9b87760 100644 --- a/tall/src/main/resources/mapper_raw/SysLogMapper.xml +++ b/tall/src/main/resources/mapper_raw/SysLogMapper.xml @@ -11,6 +11,7 @@ + @@ -71,7 +72,8 @@ - id, url, method_desc, params, result, created_at, updated_at, rec_status, facility + id, url, method_desc, params, result, created_at, updated_at, rec_status, facility, + user_id @@ -210,6 +218,9 @@ facility = #{record.facility,jdbcType=VARCHAR}, + + user_id = #{record.userId,jdbcType=BIGINT}, + @@ -225,7 +236,8 @@ created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT}, - facility = #{record.facility,jdbcType=VARCHAR} + facility = #{record.facility,jdbcType=VARCHAR}, + user_id = #{record.userId,jdbcType=BIGINT} @@ -257,6 +269,9 @@ facility = #{facility,jdbcType=VARCHAR}, + + user_id = #{userId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -269,7 +284,8 @@ created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT}, - facility = #{facility,jdbcType=VARCHAR} + facility = #{facility,jdbcType=VARCHAR}, + user_id = #{userId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From dbc98f8d4290086cfcbf9033cbb30f0397ef145d Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 11:05:56 +0800 Subject: [PATCH 2/5] =?UTF-8?q?20201110mt=E6=9F=A5=E7=9C=8B=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E6=AF=94=E8=B5=9B=E5=8F=82=E8=B5=9B=E7=9A=84=E9=80=89?= =?UTF-8?q?=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/ProvinceController.java | 20 ++--- .../com/ccsens/mt/bean/dto/CompeteDto.java | 2 +- .../mt/bean/dto/ProvinceCompeteDto.java | 13 +++ .../com/ccsens/mt/bean/po/CompeteGroup.java | 11 +++ .../mt/bean/po/CompeteGroupExample.java | 60 +++++++++++++ .../com/ccsens/mt/bean/po/CompetePlayer.java | 11 +++ .../mt/bean/po/CompetePlayerExample.java | 60 +++++++++++++ .../mt/persist/dao/CompeteCompanyDao.java | 8 ++ .../ccsens/mt/service/IProvinceService.java | 7 ++ .../ccsens/mt/service/ProvinceService.java | 89 +++++++++++++------ mt/src/main/resources/druid-dev.yml | 2 +- .../mapper_dao/CompeteCompanyDao.xml | 21 +++++ .../mapper_raw/CompeteGroupMapper.xml | 25 ++++-- .../mapper_raw/CompetePlayerMapper.xml | 25 ++++-- .../tall/service/ProTaskDetailService.java | 10 +-- .../main/java/com/ccsens/util/CodeEnum.java | 3 +- 16 files changed, 311 insertions(+), 56 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 86fc6f65..918b95ba 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -132,16 +132,6 @@ public class ProvinceController { log.info("查找此单位的领队和教练信息:{}",competeCompanyHeadList); return JsonResponse.newInstance().ok(competeCompanyHeadList); } -// -// @MustLogin -// @ApiOperation(value = "保存领队和教练信息", notes = "") -// @RequestMapping(value = "/save/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) -// public JsonResponse saveCoach(@ApiParam @Validated @RequestBody QueryDto params) { -// log.info("保存领队和教练信息:{}",params); -// provinceService.saveCoach(params.getParam()); -// log.info("保存领队和教练信息:{}","插入成功"); -// return JsonResponse.newInstance().ok(); -// } @MustLogin @ApiOperation(value = "删除领队和教练信息", notes = "") @@ -191,4 +181,14 @@ public class ProvinceController { log.info("查询教练或领队的详细信息:{}",coachInfo); return JsonResponse.newInstance().ok(coachInfo); } + + @MustLogin + @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") + @RequestMapping(value = "/coachInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询教练或领队的详细信息:{}",params); + List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); + log.info("查询教练或领队的详细信息:{}",groupAndPlayer); + return JsonResponse.newInstance().ok(groupAndPlayer); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 35d18e31..3e9d1ab7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -290,7 +290,7 @@ public class CompeteDto { } @Data - @ApiModel("项目id和组别id") + @ApiModel("要删除的选手id") public static class DelPlayer{ @NotNull @ApiModelProperty("选手id") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index f57e3ab8..c4037cb6 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -51,6 +51,8 @@ public class ProvinceCompeteDto { private Long competeId; @ApiModelProperty("组别id") private Long groupId; + @ApiModelProperty("组别信息 1小学、2中学、3高职院校、4本科院校、5俱乐部") + private int groupRemark; @ApiModelProperty("选手姓名") private String playerName; @ApiModelProperty("性别 0女 1男") @@ -127,4 +129,15 @@ public class ProvinceCompeteDto { @ApiModelProperty("教练证") private Long coachCertificate; //教练证(只有教练需要,文件类型) } + + @Data + @ApiModel("查找团队项目下已参加的选手信息") + public static class GetPlayerByTeamProject{ + @NotNull(message = "请先填写基础信息") + @ApiModelProperty("参赛单位id") + private Long companyId; + @NotNull(message = "请选择项目") + @ApiModelProperty("项目id") + private Long projectId; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java index f25ad54e..5801522e 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java @@ -30,6 +30,8 @@ public class CompeteGroup implements Serializable { private Byte minAge; + private Byte groupRemark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -136,6 +138,14 @@ public class CompeteGroup implements Serializable { this.minAge = minAge; } + 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 CompeteGroup implements Serializable { sb.append(", sex=").append(sex); sb.append(", maxAge=").append(maxAge); sb.append(", minAge=").append(minAge); + sb.append(", groupRemark=").append(groupRemark); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java index a2bba3a7..381b53c7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java @@ -904,6 +904,66 @@ public class CompeteGroupExample { addCriterion("min_age not between", value1, value2, "minAge"); 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/po/CompetePlayer.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java index 69412bf2..26349e0e 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java @@ -48,6 +48,8 @@ public class CompetePlayer implements Serializable { private Long insuranceRecordFile; + private Byte groupRemark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -226,6 +228,14 @@ public class CompetePlayer implements Serializable { this.insuranceRecordFile = insuranceRecordFile; } + public Byte getGroupRemark() { + return groupRemark; + } + + public void setGroupRemark(Byte groupRemark) { + this.groupRemark = groupRemark; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -254,6 +264,7 @@ public class CompetePlayer implements Serializable { sb.append(", studentRecordFile=").append(studentRecordFile); sb.append(", healthRecordFile=").append(healthRecordFile); sb.append(", insuranceRecordFile=").append(insuranceRecordFile); + sb.append(", groupRemark=").append(groupRemark); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java index 65d4bb9f..b23ee7ee 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java @@ -1484,6 +1484,66 @@ public class CompetePlayerExample { addCriterion("insurance_record_file not between", value1, value2, "insuranceRecordFile"); 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/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 9bc2d22d..4e8260a1 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -93,4 +93,12 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 返回详细信息 */ ProvinceCompeteVo.GetCoach getCoachInfo(@Param("coachId")Long coachId); + + /** + * 查找团队项目下的参赛选手信息 + * @param projectId + * @param type + * @return + */ + List getPlayerByTeamProject(@Param("projectId")Long projectId, @Param("type")Byte type); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 7476d969..7d5111fa 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -131,4 +131,11 @@ public interface IProvinceService { * @return 返回详细信息 */ ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param); + + /** + * 查找团队项目下已参加的选手信息 + * @param param 单位id和团体项目id + * @return 返回参加的选手的详细信息,按组别分类 + */ + List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); } 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 aa86061f..9a8066e6 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -119,8 +119,9 @@ public class ProvinceService implements IProvinceService { CompetePlayer player = new CompetePlayer(); player.setId(snowflake.nextId()); player.setName(param.getPlayerName()); - player.setGender((byte) param.getGender()); + + if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.NOT_COMPANY); } //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 @@ -129,14 +130,26 @@ public class ProvinceService implements IProvinceService { if(competePlayerDao.countByExample(competePlayerExample) != 0){ throw new BaseException(CodeEnum.ID_CARD_ALREADY); } - - if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.NOT_COMPANY); } - if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.MT_NOT_GROUP); } - //检查性别与组别是否匹配 - CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(param.getGroupId()); - if(ObjectUtil.isNull(competeGroup) || param.getGender() != competeGroup.getSex()){ - throw new BaseException(CodeEnum.MT_NOT_GROUP); + //验证性别是否正确 + int gender = IdcardUtil.getGenderByIdCard(param.getIdCard()); + if(gender != param.getGender()){ + throw new BaseException(CodeEnum.GENDER_ERROR); } + //通过groupRemark和性别查找选手组别信息 + CompeteGroup competeGroup = new CompeteGroup(); + CompeteGroupExample competeGroupExample = new CompeteGroupExample(); + competeGroupExample.createCriteria().andSexEqualTo((byte) param.getGender()).andGroupRemarkEqualTo((byte) param.getGroupRemark()); + List groupList = competeGroupMapper.selectByExample(competeGroupExample); + if(CollectionUtil.isNotEmpty(groupList)){ + competeGroup = groupList.get(0); + } +// if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.MT_NOT_GROUP); } + +// //检查性别与组别是否匹配 +// CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(param.getGroupId()); +// if(ObjectUtil.isNull(competeGroup) || param.getGender() != competeGroup.getSex()){ +// throw new BaseException(CodeEnum.MT_NOT_GROUP); +// } //获取选手年龄 int ageByIdCard = IdcardUtil.getAgeByIdCard(param.getIdCard()); //判断年龄和分组是否匹配 @@ -153,28 +166,17 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNull(param.getStudentRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("学籍证明")); } if(ObjectUtil.isNull(param.getHealthRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("健康证明")); } if(ObjectUtil.isNull(param.getInsuranceRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("保险证明")); } + player.setGender((byte) param.getGender()); player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); player.setCompeteGroupId(param.getGroupId()); + player.setGroupRemark((byte) param.getGroupRemark()); player.setIdCardFrontFile(param.getIdCardFront()); player.setIdCardBackFile(param.getIdCardBack()); player.setIdPhotoFile(param.getIdPhone()); player.setStudentRecordFile(param.getStudentRecord()); player.setHealthRecordFile(param.getHealthRecord()); player.setInsuranceRecordFile(param.getInsuranceRecord()); - -// //添加身份证正面照片 -// player.setIdCardFrontFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //身份证反面 -// player.setIdCardBackFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //一寸证件照 -// player.setIdPhotoFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //学籍证明 -// player.setStudentRecordFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //健康证明 -// player.setHealthRecordFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //保险证明 -// player.setInsuranceRecordFile(uploadPhotoFile(param.getIdCardFront(),userId)); competePlayerDao.insertSelective(player); log.info("新加参赛选手:{}",player); }else { @@ -182,6 +184,31 @@ public class ProvinceService implements IProvinceService { CompetePlayer player = competePlayerDao.selectByPrimaryKey(param.getPlayerId()); log.info("查找需要修改的选手信息:{}",player); if(ObjectUtil.isNull(player)){ throw new BaseException(CodeEnum.PARAM_ERROR); } + //身份证不能为空,且正确 + if(!IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} + //是否已注册 + CompetePlayerExample competePlayerExample = new CompetePlayerExample(); + competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard()).andIdNotEqualTo(param.getPlayerId()); + if(competePlayerDao.countByExample(competePlayerExample) != 0){throw new BaseException(CodeEnum.ID_CARD_ALREADY);} + //验证性别是否正确 + int gender = IdcardUtil.getGenderByIdCard(param.getIdCard()); + if(gender != param.getGender()){ + throw new BaseException(CodeEnum.GENDER_ERROR); + } + //通过groupRemark和性别查找选手组别信息 + CompeteGroup competeGroup = new CompeteGroup(); + CompeteGroupExample competeGroupExample = new CompeteGroupExample(); + competeGroupExample.createCriteria().andSexEqualTo((byte) param.getGender()).andGroupRemarkEqualTo((byte) param.getGroupRemark()); + List groupList = competeGroupMapper.selectByExample(competeGroupExample); + if(CollectionUtil.isNotEmpty(groupList)){ + competeGroup = groupList.get(0); + } + //获取选手年龄 + int ageByIdCard = IdcardUtil.getAgeByIdCard(param.getIdCard()); + //判断年龄和分组是否匹配 + if(ageByIdCard < competeGroup.getMinAge() || ageByIdCard > competeGroup.getMaxAge()){ + throw new BaseException(CodeEnum.MT_NOT_GROUP); + } //字段不为空则修改 if(StrUtil.isNotEmpty(param.getPlayerName())){player.setName(param.getPlayerName());} if(StrUtil.isNotEmpty(param.getIdCard())){player.setIdCard(param.getIdCard());} @@ -195,13 +222,6 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNotNull(param.getStudentRecord())){player.setStudentRecordFile(param.getStudentRecord());} if(ObjectUtil.isNotNull(param.getHealthRecord())){player.setHealthRecordFile(param.getHealthRecord());} if(ObjectUtil.isNotNull(param.getInsuranceRecord())){player.setInsuranceRecordFile(param.getInsuranceRecord());} - -// if(ObjectUtil.isNotNull(param.getIdCardFront())){player.setIdCardFrontFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getIdCardBack())){player.setIdCardBackFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getIdPhone())){player.setIdPhotoFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getStudentRecord())){ player.setStudentRecordFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getHealthRecord())){ player.setHealthRecordFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getInsuranceRecord())){ player.setInsuranceRecordFile(uploadPhotoFile(param.getIdCardFront(),userId));} competePlayerDao.updateByPrimaryKeySelective(player); } } @@ -606,5 +626,18 @@ public class ProvinceService implements IProvinceService { public ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param) { return competeCompanyDao.getCoachInfo(param.getCoachId()); } + + /** + * 查找团体项目下的参赛选手信息 + */ + @Override + public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { + //查找项目 + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + if(ObjectUtil.isNotNull(competeProject)){ + List groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); + } + return null; + } } diff --git a/mt/src/main/resources/druid-dev.yml b/mt/src/main/resources/druid-dev.yml index 8b496426..5676a291 100644 --- a/mt/src/main/resources/druid-dev.yml +++ b/mt/src/main/resources/druid-dev.yml @@ -32,4 +32,4 @@ spring: username: root validationQuery: SELECT 1 FROM DUAL # env: CCSENS_GAME - env: CCSENS_TALL \ No newline at end of file + env: CCSENS_TALL diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 0cab33f8..48077005 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -232,6 +232,27 @@ WHERE id = #{coachId} + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml b/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml index 9831411f..6be0336f 100644 --- a/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml @@ -15,6 +15,7 @@ + @@ -76,7 +77,7 @@ id, group_name, description, start_age, end_age, sequence, type, created_at, updated_at, - rec_status, sex, max_age, min_age + rec_status, sex, max_age, min_age, group_remark @@ -253,6 +260,9 @@ min_age = #{record.minAge,jdbcType=TINYINT}, + + group_remark = #{record.groupRemark,jdbcType=TINYINT}, + @@ -272,7 +282,8 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, sex = #{record.sex,jdbcType=TINYINT}, max_age = #{record.maxAge,jdbcType=TINYINT}, - min_age = #{record.minAge,jdbcType=TINYINT} + min_age = #{record.minAge,jdbcType=TINYINT}, + group_remark = #{record.groupRemark,jdbcType=TINYINT} @@ -316,6 +327,9 @@ min_age = #{minAge,jdbcType=TINYINT}, + + group_remark = #{groupRemark,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -332,7 +346,8 @@ rec_status = #{recStatus,jdbcType=TINYINT}, sex = #{sex,jdbcType=TINYINT}, max_age = #{maxAge,jdbcType=TINYINT}, - min_age = #{minAge,jdbcType=TINYINT} + min_age = #{minAge,jdbcType=TINYINT}, + group_remark = #{groupRemark,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml b/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml index 1488ee21..bbcc90d4 100644 --- a/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml @@ -24,6 +24,7 @@ + @@ -87,7 +88,7 @@ id, user_id, name, id_card, phone, gender, id_card_front, id_card_back, prove_img, compete_group_id, company_id, authorization, created_at, updated_at, rec_status, compete_time_id, id_card_front_file, id_card_back_file, id_photo_file, student_record_file, - health_record_file, insurance_record_file + health_record_file, insurance_record_file, group_remark @@ -351,6 +358,9 @@ insurance_record_file = #{record.insuranceRecordFile,jdbcType=BIGINT}, + + group_remark = #{record.groupRemark,jdbcType=TINYINT}, + @@ -379,7 +389,8 @@ id_photo_file = #{record.idPhotoFile,jdbcType=BIGINT}, student_record_file = #{record.studentRecordFile,jdbcType=BIGINT}, health_record_file = #{record.healthRecordFile,jdbcType=BIGINT}, - insurance_record_file = #{record.insuranceRecordFile,jdbcType=BIGINT} + insurance_record_file = #{record.insuranceRecordFile,jdbcType=BIGINT}, + group_remark = #{record.groupRemark,jdbcType=TINYINT} @@ -450,6 +461,9 @@ insurance_record_file = #{insuranceRecordFile,jdbcType=BIGINT}, + + group_remark = #{groupRemark,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -475,7 +489,8 @@ id_photo_file = #{idPhotoFile,jdbcType=BIGINT}, student_record_file = #{studentRecordFile,jdbcType=BIGINT}, health_record_file = #{healthRecordFile,jdbcType=BIGINT}, - insurance_record_file = #{insuranceRecordFile,jdbcType=BIGINT} + insurance_record_file = #{insuranceRecordFile,jdbcType=BIGINT}, + group_remark = #{groupRemark,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 122977fd..fbe80a26 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -201,11 +201,11 @@ public class ProTaskDetailService implements IProTaskDetailService { List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime, roleId); if (CollectionUtil.isNotEmpty(secondNormalTaskList)) { for (TaskVo.NormalTask task : secondNormalTaskList) { - //处理分数 - BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(), task.getDetailId()); - if (ObjectUtil.isNotNull(score)) { - task.setScore(score); - } +// //处理分数 +// BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(), task.getDetailId()); +// if (ObjectUtil.isNotNull(score)) { +// task.setScore(score); +// } //处理插件 managePlugin(currentUserId, roleId, task, imitation); //二级任务完成状态 diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 1ec281e0..9d96e5ce 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -173,7 +173,8 @@ public enum CodeEnum { NOT_COMPANY(142,"请先填写基础信息",true), MT_NOT_GROUP(143,"请选择正确的组别信息",true), CONTACTS_NAME_EMPTY(144,"联系人名称不能为空",true), - MEMBER_NUM_ERROR(144,"参赛人数不满足比赛人数要求",true), + MEMBER_NUM_ERROR(145,"参赛人数不满足比赛人数要求",true), + GENDER_ERROR(146,"请选择正确的性别",true), ; From 735a4da26ddb70ecc8c3db101e18dc409af9b7ea Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 11:08:44 +0800 Subject: [PATCH 3/5] =?UTF-8?q?20201110mt=E6=9F=A5=E7=9C=8B=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E6=AF=94=E8=B5=9B=E5=8F=82=E8=B5=9B=E7=9A=84=E9=80=89?= =?UTF-8?q?=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mt/src/main/java/com/ccsens/mt/api/ProvinceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 918b95ba..920f75c3 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -184,7 +184,7 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") - @RequestMapping(value = "/coachInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询教练或领队的详细信息:{}",params); List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); From b8f0618c54d9d41d26d682efd2682a30c3347e15 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 11:30:48 +0800 Subject: [PATCH 4/5] 20201110mtV1.3 --- mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java | 2 ++ mt/src/main/java/com/ccsens/mt/service/ProvinceService.java | 2 +- mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml | 2 +- mt/src/main/resources/mapper_dao/CompetePlayerDao.xml | 4 +--- 4 files changed, 5 insertions(+), 5 deletions(-) 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 c715fe57..88911e1d 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 @@ -154,6 +154,8 @@ public class ProvinceCompeteVo { private Long competeId; @ApiModelProperty("组别id") private Long groupId; + @ApiModelProperty("组别信息") + private int groupRemark; @ApiModelProperty("选手姓名") private String playerName; @ApiModelProperty("性别") 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 9a8066e6..3233b232 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -169,7 +169,7 @@ public class ProvinceService implements IProvinceService { player.setGender((byte) param.getGender()); player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); - player.setCompeteGroupId(param.getGroupId()); + player.setCompeteGroupId(competeGroup.getId()); player.setGroupRemark((byte) param.getGroupRemark()); player.setIdCardFrontFile(param.getIdCardFront()); player.setIdCardBackFile(param.getIdCardBack()); diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 9daf7c6a..33da3934 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -50,7 +50,7 @@ if(pp.id is null and a.mId is null,0,1) as joinProject FROM t_compete_group cg - LEFT JOIN t_compete_player p on cg.id = p.compete_group_id + LEFT JOIN t_compete_player p on cg.sex = p.gender_group and cg.group_remark = p.group_remark LEFT JOIN t_compete_project_player pp on p.id = pp.player_id and pp.project_id = #{projectId} and pp.rec_status = 0 LEFT JOIN ( SELECT diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index f9e89461..24d3a093 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -178,6 +178,7 @@ id_card as idCard, company_id as competeId, compete_group_id as groupId, + group_remark as groupRemark, (SELECT id FROM t_common_file WHERE id = id_card_front_file) as idCardFrontId, (SELECT visit_location FROM t_common_file WHERE id = id_card_front_file) as idCardFront, (SELECT id FROM t_common_file WHERE id = id_card_back_file) as idCardBackId, @@ -196,9 +197,7 @@ id = #{playerId} and rec_status = 0 -<<<<<<< HEAD -======= ->>>>>>> c32326aa81c6ae6a4ce3e0a067a7617201458f50 \ No newline at end of file From d831e3e8b6cf8405969bfb06679f0643e1830869 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 16:35:37 +0800 Subject: [PATCH 5/5] 20201110mtV1.4 --- .../com/ccsens/mt/api/ProvinceController.java | 14 ++++++- .../mt/bean/dto/ProvinceCompeteDto.java | 15 +++++++ .../mt/persist/dao/CompeteCompanyDao.java | 11 +++++ .../ccsens/mt/service/IProvinceService.java | 7 ++++ .../ccsens/mt/service/ProvinceService.java | 34 +++++++++++++-- .../mapper_dao/CompeteCompanyDao.xml | 42 ++++++++++++++++++- tall/src/main/resources/druid-dev.yml | 2 +- tall/src/main/resources/druid-prod.yml | 2 +- tall/src/main/resources/druid-test.yml | 2 +- 9 files changed, 120 insertions(+), 9 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 920f75c3..d5e4dbeb 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -186,9 +186,19 @@ public class ProvinceController { @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { - log.info("查询教练或领队的详细信息:{}",params); + log.info("查找团体比赛已报名的选手信息:{}",params); List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); - log.info("查询教练或领队的详细信息:{}",groupAndPlayer); + log.info("查找团体比赛已报名的选手信息:{}",groupAndPlayer); + return JsonResponse.newInstance().ok(groupAndPlayer); + } + + @MustLogin + @ApiOperation(value = "团体报名查询可以参加和已经参加的选手", notes = "") + @RequestMapping(value = "/rule/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getPlayerByTeamProjectWithRule(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("团体报名查询可以参加和已经参加的选手:{}",params); + List groupAndPlayer = provinceService.getPlayerByTeamProjectWithRule(params.getParam()); + log.info("团体报名查询可以参加和已经参加的选手:{}",groupAndPlayer); return JsonResponse.newInstance().ok(groupAndPlayer); } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index c4037cb6..423b39eb 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -140,4 +140,19 @@ public class ProvinceCompeteDto { @ApiModelProperty("项目id") private Long projectId; } + + @Data + @ApiModel("查找团队项目下符合规则的选手信息") + public static class GetPlayerByTeamProjectWithRule{ + @NotNull(message = "请先填写基础信息") + @ApiModelProperty("参赛单位id") + private Long companyId; + @NotNull(message = "请选择项目") + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("性别组") + private int gender; + @ApiModelProperty("组别信息") + private int groupRemark; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 50874fc4..023a69cc 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -116,4 +116,15 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return */ List selectByCompanyId(@Param("companyId")Long companyId); + + /** + * 查找该项目下所有可以参赛和已经参赛的选手 + * @param companyId 单位id + * @param projectId 项目id + * @param type 比赛类型 + * @param groupRemark 组别备注信息 + * @param gender 性别 0女 1男 2混合 + * @return 返回选手信息 + */ + List getPlayerByTeamProjectWithRule(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("type")Byte type, @Param("groupRemark")int groupRemark, @Param("gender")int gender); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 7d5111fa..965a40a3 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -138,4 +138,11 @@ public interface IProvinceService { * @return 返回参加的选手的详细信息,按组别分类 */ List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); + + /** + * 查找团队下符合规则的选手信息 + * @param param 单位id 项目id 组别和性别信息 + * @return 返回所有可参赛的选手和已经参赛的选手 + */ + List getPlayerByTeamProjectWithRule(ProvinceCompeteDto.GetPlayerByTeamProjectWithRule param); } 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 3233b232..5eaf9556 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -213,7 +213,8 @@ public class ProvinceService implements IProvinceService { if(StrUtil.isNotEmpty(param.getPlayerName())){player.setName(param.getPlayerName());} if(StrUtil.isNotEmpty(param.getIdCard())){player.setIdCard(param.getIdCard());} if(ObjectUtil.isNotNull(param.getGender())){player.setGender((byte) param.getGender());} - if(ObjectUtil.isNotNull(param.getGroupId())){player.setCompeteGroupId(param.getGroupId());} + if(ObjectUtil.isNotNull(competeGroup)){player.setCompeteGroupId(competeGroup.getId());} + if(ObjectUtil.isNotNull(param.getGroupRemark())){player.setGroupRemark((byte) param.getGroupRemark());} if(ObjectUtil.isNotNull(param.getCompeteId())){player.setCompanyId(param.getCompeteId());} if(ObjectUtil.isNotNull(param.getIdCardFront())){player.setIdCardFrontFile(param.getIdCardFront());} @@ -632,12 +633,39 @@ public class ProvinceService implements IProvinceService { */ @Override public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { + List groupAndPlayerList = null; //查找项目 CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNotNull(competeProject)){ - List groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); + groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); } - return null; + return groupAndPlayerList; + } + + /** + * 查找符合参赛规则的选手信息 + */ + @Override + public List getPlayerByTeamProjectWithRule(ProvinceCompeteDto.GetPlayerByTeamProjectWithRule param) { + List groupAndPlayerList = new ArrayList<>(); + //查找项目 + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + if(ObjectUtil.isNotNull(competeProject) && competeProject.getTeam() == 1){ + //如果同单位不限组别 + if(competeProject.getJoinRule() == 1){ + groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId()); + } + //如果同单位限制组别 + if(competeProject.getJoinRule() == 0){ + /*每个单位每个组别可以报名,报名过其他组的选手不能再次报名, + 例:1单位a同学报名了q比赛的小学男子组,a同学就无法再报名q比赛小学混合组 + b同学报名了r比赛的小学混合组,b同学就无法再报名r比赛的女子组和男子组,无论b同学是男还是女*/ + //查找此单位下所有该组的选手,如果选择混合组,则男女都查找 + //排除已经报名别的组的选手 + groupAndPlayerList = competeCompanyDao.getPlayerByTeamProjectWithRule(param.getCompanyId(),competeProject.getId(),competeProject.getType(),param.getGroupRemark(),param.getGender()); + } + } + return groupAndPlayerList; } } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 33da3934..1eda459c 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -50,7 +50,7 @@ if(pp.id is null and a.mId is null,0,1) as joinProject FROM t_compete_group cg - LEFT JOIN t_compete_player p on cg.sex = p.gender_group and cg.group_remark = p.group_remark + LEFT JOIN t_compete_player p on (cg.id = p.compete_group_id or (cg.sex = p.gender and cg.group_remark = p.group_remark)) LEFT JOIN t_compete_project_player pp on p.id = pp.player_id and pp.project_id = #{projectId} and pp.rec_status = 0 LEFT JOIN ( SELECT @@ -283,5 +283,45 @@ where tcc.`company_id`= #{companyId} + \ No newline at end of file diff --git a/tall/src/main/resources/druid-dev.yml b/tall/src/main/resources/druid-dev.yml index 7b6e738f..9b9ea832 100644 --- a/tall/src/main/resources/druid-dev.yml +++ b/tall/src/main/resources/druid-dev.yml @@ -27,7 +27,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://49.233.89.188:3306/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai + url: jdbc:mysql://49.233.89.188:3306/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_TALL \ No newline at end of file diff --git a/tall/src/main/resources/druid-prod.yml b/tall/src/main/resources/druid-prod.yml index ee0316bc..20a6ff77 100644 --- a/tall/src/main/resources/druid-prod.yml +++ b/tall/src/main/resources/druid-prod.yml @@ -28,7 +28,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_HEALTH \ No newline at end of file diff --git a/tall/src/main/resources/druid-test.yml b/tall/src/main/resources/druid-test.yml index b52b019f..656c54f2 100644 --- a/tall/src/main/resources/druid-test.yml +++ b/tall/src/main/resources/druid-test.yml @@ -29,7 +29,7 @@ spring: testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 # url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8 - url: jdbc:mysql://test.tall.wiki/tall?useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://test.tall.wiki/tall?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_TALL \ No newline at end of file