Browse Source

20201107添加团队性别组

tiaosheng
zy_Java 5 years ago
parent
commit
5174fb638f
  1. 13
      mt/src/main/java/com/ccsens/mt/api/DebugController.java
  2. 2
      mt/src/main/java/com/ccsens/mt/api/ExcelController.java
  3. 11
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java
  4. 60
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java
  5. 7
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  6. 7
      mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java
  7. 22
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  8. 37
      mt/src/main/java/com/ccsens/mt/service/ProvinceService.java
  9. 51
      mt/src/main/java/com/ccsens/mt/util/Constant.java
  10. 16
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  11. 2
      mt/src/main/resources/mapper_dao/CompeteTimeDao.xml
  12. 25
      mt/src/main/resources/mapper_raw/CompeteTeamMapper.xml

13
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();
}
}

2
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);
}
}

11
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();
}

60
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<Byte> values) {
addCriterion("group_remark in", values, "groupRemark");
return (Criteria) this;
}
public Criteria andGroupRemarkNotIn(List<Byte> 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 {

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

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

22
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;

37
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);
}
}
}
}

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

16
mt/src/main/resources/mapper_dao/CompetePlayerDao.xml

@ -189,4 +189,20 @@
id = #{playerId}
and rec_status = 0
</select>
<select id="getTeamGroupRemark" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$TeamGroupRemark">
SELECT
g.group_name as groupRemark,
p.name as playerName,
if(AVG(p.gender)=0 or AVG(p.gender)=1, AVG(p.gender),2) as sexGroup
FROM
t_compete_player p
LEFT JOIN t_compete_team_member m on p.id = m.player_id
LEFT JOIN t_compete_group g on p.compete_group_id = g.id
WHERE
m.compete_team_id = #{teamId}
and p.rec_status = 0
and m.rec_status = 0
and g.rec_status = 0
</select>
</mapper>

2
mt/src/main/resources/mapper_dao/CompeteTimeDao.xml

@ -41,7 +41,7 @@
<select id="queryCompeteGroupByType" parameterType="java.util.Map" resultType="com.ccsens.mt.bean.vo.CompeteVo$CompeteGroup">
SELECT
id as groupId,
group_name as groupName,
concat(group_name,description) as groupName,
description as groupDescription
FROM
t_compete_group

25
mt/src/main/resources/mapper_raw/CompeteTeamMapper.xml

@ -15,6 +15,7 @@
<result column="compete_group_id" jdbcType="BIGINT" property="competeGroupId" />
<result column="success" jdbcType="TINYINT" property="success" />
<result column="company_id" jdbcType="BIGINT" property="companyId" />
<result column="group_remark" jdbcType="TINYINT" property="groupRemark" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -76,7 +77,7 @@
</sql>
<sql id="Base_Column_List">
id, creator, project_id, compete_time_id, gender_group, certificate, qr_code, created_at,
updated_at, rec_status, compete_group_id, success, company_id
updated_at, rec_status, compete_group_id, success, company_id, group_remark
</sql>
<select id="selectByExample" parameterType="com.ccsens.mt.bean.po.CompeteTeamExample" resultMap="BaseResultMap">
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>
<insert id="insertSelective" parameterType="com.ccsens.mt.bean.po.CompeteTeam">
insert into t_compete_team
@ -162,6 +163,9 @@
<if test="companyId != null">
company_id,
</if>
<if test="groupRemark != null">
group_remark,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -203,6 +207,9 @@
<if test="companyId != null">
#{companyId,jdbcType=BIGINT},
</if>
<if test="groupRemark != null">
#{groupRemark,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.mt.bean.po.CompeteTeamExample" resultType="java.lang.Long">
@ -253,6 +260,9 @@
<if test="record.companyId != null">
company_id = #{record.companyId,jdbcType=BIGINT},
</if>
<if test="record.groupRemark != null">
group_remark = #{record.groupRemark,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -272,7 +282,8 @@
rec_status = #{record.recStatus,jdbcType=TINYINT},
compete_group_id = #{record.competeGroupId,jdbcType=BIGINT},
success = #{record.success,jdbcType=TINYINT},
company_id = #{record.companyId,jdbcType=BIGINT}
company_id = #{record.companyId,jdbcType=BIGINT},
group_remark = #{record.groupRemark,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -316,6 +327,9 @@
<if test="companyId != null">
company_id = #{companyId,jdbcType=BIGINT},
</if>
<if test="groupRemark != null">
group_remark = #{groupRemark,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -332,7 +346,8 @@
rec_status = #{recStatus,jdbcType=TINYINT},
compete_group_id = #{competeGroupId,jdbcType=BIGINT},
success = #{success,jdbcType=TINYINT},
company_id = #{companyId,jdbcType=BIGINT}
company_id = #{companyId,jdbcType=BIGINT},
group_remark = #{groupRemark,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
Loading…
Cancel
Save