Browse Source

c

tiaosheng
Lihong@123456 5 years ago
parent
commit
03b21a9419
  1. 55
      mt/src/main/java/com/ccsens/mt/api/ProvinceController.java
  2. 72
      mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java
  3. 11
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteProject.java
  4. 60
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectExample.java
  5. 60
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  6. 44
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java
  7. 8
      mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java
  8. 53
      mt/src/main/java/com/ccsens/mt/service/IProvinceService.java
  9. 336
      mt/src/main/java/com/ccsens/mt/service/ProvinceService.java
  10. 129
      mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml
  11. 9
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  12. 25
      mt/src/main/resources/mapper_raw/CompeteProjectMapper.xml
  13. 8
      tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java
  14. 15
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  15. 9
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  16. 29
      tall/src/main/java/com/ccsens/tall/web/RoleController.java
  17. 5
      tall/src/main/resources/application.yml
  18. 15
      tall/src/main/resources/mapper_dao/ProRoleDao.xml

55
mt/src/main/java/com/ccsens/mt/api/ProvinceController.java

@ -2,6 +2,7 @@ package com.ccsens.mt.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.vo.CompeteVo;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.service.IProvinceService;
@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author
@ -41,6 +43,57 @@ public class ProvinceController {
}
@MustLogin
@ApiOperation(value = "根据组别查找本单位所有注册的选手", notes = "")
@RequestMapping(value = "/group/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.GroupAndPlayer>> queryPlayerByGroupId(
@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.QueryPlayerByGroup> params) {
log.info("根据组别查找本单位所有注册的选手:{}",params);
List<ProvinceCompeteVo.GroupAndPlayer> groupAndPlayers = provinceService.queryPlayerByGroupId(params.getParam(),params.getUserId());
log.info("根据组别查找本单位所有注册的选手:{}",groupAndPlayers);
return JsonResponse.newInstance().ok(groupAndPlayers);
}
@MustLogin
@ApiOperation(value = "根据大赛id查找所有的一级项目", notes = "")
@RequestMapping(value = "/first/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.FirstProject>> queryFirstProjectByCompeteTimeId(
@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteTime> params) {
log.info("查找所有的一级项目:{}",params);
List<ProvinceCompeteVo.FirstProject> projectList = provinceService.queryFirstProjectByCompeteTimeId(params.getParam(),params.getUserId());
log.info("查找所有的一级项目:{}",projectList);
return JsonResponse.newInstance().ok(projectList);
}
@MustLogin
@ApiOperation(value = "根据一级项目id查找二级比赛项目的信息", notes = "")
@RequestMapping(value = "/second/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.CompeteSecondProject>> queryProjectByFirstProject(
@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.FirstProject> params) {
log.info("查找二级比赛项目的信息:{}",params);
List<ProvinceCompeteVo.CompeteSecondProject> projectList = provinceService.queryProjectByFirstProject(params.getParam(),params.getUserId());
log.info("查找二级比赛项目的信息:{}",projectList);
return JsonResponse.newInstance().ok(projectList);
}
@MustLogin
@ApiOperation(value = "新加/修改参赛人员", notes = "")
@RequestMapping(value = "/save/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveOrUpdatePlayer(@ApiParam QueryDto<ProvinceCompeteDto.PlayerInfo> params) throws Exception {
log.info("新加/修改参赛人员:{}",params);
provinceService.saveOrUpdatePlayer(params.getParam(),params.getUserId());
return JsonResponse.newInstance().ok();
}
@MustLogin
@ApiOperation(value = "查找所有注册的选手", notes = "")
@RequestMapping(value = "/query/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.PlayerByCompanyId>> queryPlayerByCompanyId(@ApiParam QueryDto<ProvinceCompeteDto.CompanyIdVo> params) throws Exception {
log.info("查找所有注册的选手:{}",params);
List<ProvinceCompeteVo.PlayerByCompanyId> playerByCompanyIds = provinceService.queryPlayerByCompanyId(params.getParam(),params.getUserId());
log.info("查找所有注册的选手:{}",playerByCompanyIds);
return JsonResponse.newInstance().ok(playerByCompanyIds);
}
@ApiOperation(value = "查询当前用户参赛单位基本信息", notes = "")
@RequestMapping(value = "/get/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProvinceCompeteVo.CompeteCompany> getCompany(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteTime> params) {
@ -91,6 +144,4 @@ public class ProvinceController {
}
}

72
mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java

@ -0,0 +1,72 @@
package com.ccsens.mt.bean.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.servlet.http.Part;
import javax.validation.constraints.NotNull;
/**
* @author
*/
@Data
public class ProvinceCompeteDto {
@Data
@ApiModel("参赛单位id")
public static class CompanyIdVo{
@ApiModelProperty("参赛单位id")
private Long companyId;
}
@Data
@ApiModel("一级项目id")
public static class FirstProject{
@NotNull
@ApiModelProperty("一级项目id")
private Long firstProjectId;
}
@Data
@ApiModel("通过组别查找本单位注册的选手")
public static class QueryPlayerByGroup{
@NotNull
@ApiModelProperty("参赛单位id")
private Long companyId;
@ApiModelProperty("组别id")
private Long groupId;
@ApiModelProperty("项目id")
private Long projectId;
}
@Data
@ApiModel("添加或修改选手")
public static class PlayerInfo{
@ApiModelProperty("选手id")
private Long playerId ;
@ApiModelProperty("参赛单位id")
private Long competeId;
@ApiModelProperty("组别id")
private Long groupId;
@ApiModelProperty("选手姓名")
private String playerName;
@ApiModelProperty("性别")
private int gender;
@ApiModelProperty("身份证号")
private String idCard;
@ApiModelProperty("身份证正面照片")
private Part idCardFront;
@ApiModelProperty("身份证反面照片")
private Part idCardBack;
@ApiModelProperty("证件照")
private Part idPhone;
@ApiModelProperty("学籍照片")
private Part studentRecord;
@ApiModelProperty("体检证明照片")
private Part healthRecord;
@ApiModelProperty("保险证明照片")
private Part insuranceRecord;
}
}

11
mt/src/main/java/com/ccsens/mt/bean/po/CompeteProject.java

@ -30,6 +30,8 @@ public class CompeteProject implements Serializable {
private Byte recStatus;
private Long competeTimeId;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -136,6 +138,14 @@ public class CompeteProject implements Serializable {
this.recStatus = recStatus;
}
public Long getCompeteTimeId() {
return competeTimeId;
}
public void setCompeteTimeId(Long competeTimeId) {
this.competeTimeId = competeTimeId;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -155,6 +165,7 @@ public class CompeteProject implements Serializable {
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", competeTimeId=").append(competeTimeId);
sb.append("]");
return sb.toString();
}

60
mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectExample.java

@ -894,6 +894,66 @@ public class CompeteProjectExample {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andCompeteTimeIdIsNull() {
addCriterion("compete_time_id is null");
return (Criteria) this;
}
public Criteria andCompeteTimeIdIsNotNull() {
addCriterion("compete_time_id is not null");
return (Criteria) this;
}
public Criteria andCompeteTimeIdEqualTo(Long value) {
addCriterion("compete_time_id =", value, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdNotEqualTo(Long value) {
addCriterion("compete_time_id <>", value, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdGreaterThan(Long value) {
addCriterion("compete_time_id >", value, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdGreaterThanOrEqualTo(Long value) {
addCriterion("compete_time_id >=", value, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdLessThan(Long value) {
addCriterion("compete_time_id <", value, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdLessThanOrEqualTo(Long value) {
addCriterion("compete_time_id <=", value, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdIn(List<Long> values) {
addCriterion("compete_time_id in", values, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdNotIn(List<Long> values) {
addCriterion("compete_time_id not in", values, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdBetween(Long value1, Long value2) {
addCriterion("compete_time_id between", value1, value2, "competeTimeId");
return (Criteria) this;
}
public Criteria andCompeteTimeIdNotBetween(Long value1, Long value2) {
addCriterion("compete_time_id not between", value1, value2, "competeTimeId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

60
mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java

@ -4,7 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author
@ -26,6 +27,63 @@ public class ProvinceCompeteVo {
private int playerNum;
}
@Data
@ApiModel("查找单位内的参赛选手列表")
public static class PlayerByCompanyId{
@ApiModelProperty("选手id")
private Long playerId;
@ApiModelProperty("组别名字")
private String playerName;
@ApiModelProperty("组别名字")
private String groupName;
}
@Data
@ApiModel("查找组别和组别下的选手信息")
public static class GroupAndPlayer{
@ApiModelProperty("组别id")
private Long groupId;
@ApiModelProperty("组别名字")
private String groupName;
@ApiModelProperty("选手信息")
private List<PlayerInfoByGroup> playerList;
}
@Data
@ApiModel("组别下选手信息")
public static class PlayerInfoByGroup{
@ApiModelProperty("选手id")
private Long playerId;
@ApiModelProperty("选手名称")
private String playerName;
@ApiModelProperty("是否参加了本项目")
private int joinProject;
}
@Data
@ApiModel("查找一级比赛项目信息")
public static class FirstProject {
@ApiModelProperty("一级项目id")
private Long projectId;
@ApiModelProperty("一级项目名字")
private String projectName;
}
@Data
@ApiModel("根据一级项目id查找二级项目id")
public static class CompeteSecondProject {
@ApiModelProperty("项目id")
private Long id;
@ApiModelProperty("名字")
private String name;
@ApiModelProperty("是否是团队项目 0否 1是")
private byte team;
@ApiModelProperty("最少人数")
private int memberMin;
@ApiModelProperty("最多人数")
private int memberMax;
}
@Data
@ApiModel("查询当前用户参赛单位基本信息")
public static class CompeteCompany {

44
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java

@ -1,19 +1,61 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.vo.CompeteVo;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.persist.mapper.CompeteCompanyMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* @author
*/
@Repository
public interface CompeteCompanyDao extends CompeteCompanyMapper {
ProvinceCompeteVo.CompeteOverview getCompanyOverview(Long competeTimeId, Long userId);
/**
* 查找当前用户填写的信息的概览
* @param competeTimeId 大赛id
* @param userId userId
* @return 返回信息概览
*/
ProvinceCompeteVo.CompeteOverview getCompanyOverview(@Param("competeTimeId")Long competeTimeId, @Param("userId")Long userId);
/**
* 通过组别id查询选手信息
* @param companyId 单位id
* @param groupId 组别id
* @param projectId 项目id
* @return 返回选手信息
*/
List<ProvinceCompeteVo.GroupAndPlayer> queryPlayerByGroupId(@Param("companyId")Long companyId,@Param("groupId")Long groupId,@Param("projectId")Long projectId);
/**
* 查找大赛所有的比赛项目
* @param competeTimeId 大赛id
* @return 返回所有比赛项目信息
*/
List<CompeteVo.CompeteProject> queryProjectByCompeteTimeId(@Param("competeTimeId")Long competeTimeId);
/**
* 查找一级项目
* @param type 比赛类型
* @return 返回一级项目信息
*/
List<ProvinceCompeteVo.FirstProject> queryFirstProjectByCompeteTimeId(@Param("type")int type);
/**
* 查找二级项目
* @param firstProjectId 一级项目id
* @return 返回二级项目信息
*/
List<ProvinceCompeteVo.CompeteSecondProject> queryProjectByFirstProject(@Param("firstProjectId")Long firstProjectId);
ProvinceCompeteVo.CompeteCompany getCompany(@Param("competeTimeId")long competeTimeId,@Param("userId")long userId);
void saveCompany (ProvinceCompeteVo.CompeteCompany competeCompany);
}

8
mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java

@ -1,6 +1,7 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.vo.CompeteVo;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.persist.mapper.CompetePlayerMapper;
import org.apache.ibatis.annotations.Param;
@ -45,4 +46,11 @@ public interface CompetePlayerDao extends CompetePlayerMapper {
String getTeamMemberNamesByProjectId(@Param("companyId")Long companyId,@Param("competeProjectId")Long competeProjectId,@Param("genderGroup")int genderGroup);
Long getCompanyIdByUser(@Param("userId")Long userId);
/**
* 查找单位内的成员列表
* @param companyId 单位id
* @return 返回成员列表
*/
List<ProvinceCompeteVo.PlayerByCompanyId> queryPlayerByCompanyId(@Param("companyId")Long companyId);
}

53
mt/src/main/java/com/ccsens/mt/service/IProvinceService.java

@ -1,19 +1,64 @@
package com.ccsens.mt.service;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.vo.CompeteVo;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import java.util.List;
/**
* @author
*/
public interface IProvinceService {
/**
* 查找当前用户填写的信息的概览
* @param param
* @param userId
* @return
* @param param 大赛id
* @param userId userId
* @return 返回当前用户填写的信息的概览
*/
ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId);
/**
* 通过组别查找当前单位的选手
* @param param 组别单位信息
* @param userId userId
* @return 返回选手id姓名和是否参赛的信息
*/
List<ProvinceCompeteVo.GroupAndPlayer> queryPlayerByGroupId(ProvinceCompeteDto.QueryPlayerByGroup param, Long userId);
/**
* 查找一级项目
* @param param 大赛id
* @param userId userId
* @return 返回一级项目
*/
List<ProvinceCompeteVo.FirstProject> queryFirstProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId);
/**
* 查找二级项目信息
* @param param 二级项目信息
* @param userId userId
* @return 返回二级项目信息
*/
List<ProvinceCompeteVo.CompeteSecondProject> queryProjectByFirstProject(ProvinceCompeteDto.FirstProject param, Long userId);
/**
* 添加或修改选手
* @param param 选手信息
* @param userId userId
*/
void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) throws Exception;
/**
* 查找单位内已注册的成员列表
* @param param 单位id
* @param userId userId
* @return 返回成员列表
*/
List<ProvinceCompeteVo.PlayerByCompanyId> queryPlayerByCompanyId(ProvinceCompeteDto.CompanyIdVo param, Long userId);
/**
* 查询当前用户参赛单位基本信息
* @param
@ -30,6 +75,7 @@ public interface IProvinceService {
*/
ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param);
/**
* 查找此单位的领队和教练信息
* @param
@ -53,4 +99,5 @@ public interface IProvinceService {
* @return
*/
void deleteCoach(CompeteDto.AddCoach param);
}

336
mt/src/main/java/com/ccsens/mt/service/ProvinceService.java

@ -1,18 +1,184 @@
//
//package com.ccsens.mt.service;
//
//import cn.hutool.core.bean.BeanUtil;
//import cn.hutool.core.lang.Snowflake;
//import cn.hutool.core.util.ObjectUtil;
//import com.ccsens.mt.bean.dto.CompeteDto;
//import com.ccsens.mt.bean.po.CompeteCoach;
//import com.ccsens.mt.bean.po.CompeteCompany;
//import com.ccsens.mt.bean.po.CompeteCompanyExample;
//import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
//
//import com.ccsens.mt.persist.dao.CompeteCompanyDao;
//import com.ccsens.mt.persist.mapper.CompeteCoachMapper;
//import com.ccsens.mt.persist.mapper.CompeteCompanyMapper;
//import com.ccsens.util.CodeEnum;
//import com.ccsens.util.exception.BaseException;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Propagation;
//import org.springframework.transaction.annotation.Transactional;
//
//import javax.annotation.Resource;
//
//
///**
// * @author 逗
// */
//@Slf4j
//@Service
//@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
//public class ProvinceService implements IProvinceService{
// @Resource
// private CompeteCompanyDao competeCompanyDao;
// @Resource
// private Snowflake snowflake;
// @Resource
// private CompeteCoachMapper competeCoachMapper;
//
// @Override
// public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) {
// return competeCompanyDao.getCompanyOverview(param.getCompeteTimeId(),userId);
// }
//
// @Override
// public ProvinceCompeteVo.CompeteCompany getCompany(CompeteDto.CompeteTime param, Long userId) {
// Long competeTimeId = param.getCompeteTimeId();
// ProvinceCompeteVo.CompeteCompany competeCompany = competeCompanyDao.getCompany(competeTimeId,userId);
// return competeCompany;
// }
//
// @Override
// public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param) {
// //判断当前单位id是否为空,
// Long companyid = param.getCompanyId();
// CompeteCompany competeCompany = new CompeteCompany();
// ProvinceCompeteVo.CompeteCompany competeCompany1 =new ProvinceCompeteVo.CompeteCompany();
// //单位id为空,新增
// if (ObjectUtil.isNull(companyid)){
// Long id = snowflake.nextId();
// competeCompany.setId(id);
// competeCompany.setCoachNum(param.getCoachNum());
// competeCompany.setName(param.getCompanyName());
// competeCompany.setContactsName(param.getContactsName());
// competeCompany.setContactsPhone(param.getContactsPhone());
// competeCompany.setLeaderNum(param.getGuideNum());
// competeCompany.setJoinNum(param.getPlayerNum());
// competeCompanyDao.insertSelective(competeCompany);
// competeCompany1.setCompanyName(competeCompany.getName());
// competeCompany1.setPlayerNum(competeCompany.getJoinNum());
// competeCompany1.setGuideNum(competeCompany.getLeaderNum());
// competeCompany1.setContactsPhone(competeCompany.getContactsPhone());
// competeCompany1.setContactsName(competeCompany.getContactsName());
// competeCompany1.setCoachNum(competeCompany.getCoachNum());
// }else {
// //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改
// competeCompany = competeCompanyDao.selectByPrimaryKey(companyid);
// if (ObjectUtil.isNotNull(param.getCoachNum())){
// competeCompany.setCoachNum(param.getCoachNum());
// }
// if (ObjectUtil.isNotNull(param.getCompanyName())) {
// competeCompany.setName(param.getCompanyName());
// }
// if (ObjectUtil.isNotNull(param.getContactsName())) {
// competeCompany.setContactsName(param.getContactsName());
// }
// if (ObjectUtil.isNotNull(param.getContactsPhone())) {
// competeCompany.setContactsPhone(param.getContactsPhone());
// }
// if (ObjectUtil.isNotNull(param.getGuideNum())) {
// competeCompany.setLeaderNum(param.getGuideNum());
// }
// if (ObjectUtil.isNotNull(param.getPlayerNum())) {
// competeCompany.setJoinNum(param.getPlayerNum());
// }
// competeCompanyDao.updateByPrimaryKey(competeCompany);
// competeCompany1.setCompanyName(competeCompany.getName());
// competeCompany1.setPlayerNum(competeCompany.getJoinNum());
// competeCompany1.setGuideNum(competeCompany.getLeaderNum());
// competeCompany1.setContactsPhone(competeCompany.getContactsPhone());
// competeCompany1.setContactsName(competeCompany.getContactsName());
// competeCompany1.setCoachNum(competeCompany.getCoachNum());
// }
// return competeCompany1;
// }
//
// @Override
// public ProvinceCompeteVo.CompeteCompanyCoach queryCoach(CompeteDto.CompeteCompany param) {
// Long company = param.getCompanyId();
// CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(company);
// if (ObjectUtil.isNull(competeCoach)){
// throw new BaseException(CodeEnum.PARAM_ERROR);
// }
// ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach();
// if (competeCoach.getIdentity() == 0){
// //给领队赋值
// competeCompanyCoach.setCoachName(competeCoach.getName());
// competeCompanyCoach.setCoachId(competeCoach.getId());
// competeCompanyCoach.setGender(competeCoach.getGender());
// competeCompanyCoach.setPhone(competeCoach.getPhone());
// }else {
// competeCompanyCoach.setGuideName(competeCoach.getName());
// competeCompanyCoach.setCoachId(competeCoach.getId());
// competeCompanyCoach.setGender(competeCoach.getGender());
// competeCompanyCoach.setPhone(competeCoach.getPhone());
// }
// return competeCompanyCoach;
// }
//
// @Override
// public void saveCoach(CompeteDto.AddCoach param) {
// CompeteCoach competeCoach = new CompeteCoach();
// Long companyId = param.getCompanyId();
// competeCoach.setCompanyId(companyId);
// Long cpachId = param.getCpachId();
// 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.AddCoach param) {
// Long cpachId = param.getCpachId();
// CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(cpachId);
// competeCoachMapper.deleteByPrimaryKey(competeCoach.getId());
// }
//
//
//}
//=======
package com.ccsens.mt.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.po.CompeteCoach;
import com.ccsens.mt.bean.po.CompeteCompany;
import com.ccsens.mt.bean.po.CompeteCompanyExample;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.po.*;
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.CompeteTimeDao;
import com.ccsens.mt.persist.mapper.CommonFileMapper;
import com.ccsens.mt.persist.mapper.CompeteCoachMapper;
import com.ccsens.mt.persist.mapper.CompeteCompanyMapper;
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.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -20,7 +186,10 @@ 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;
/**
* @author
@ -28,24 +197,139 @@ import javax.annotation.Resource;
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ProvinceService implements IProvinceService{
public class ProvinceService implements IProvinceService {
@Resource
private CompeteCompanyDao competeCompanyDao;
@Resource
private Snowflake snowflake;
@Resource
private CompeteTimeDao competeTimeDao;
@Resource
private CommonFileMapper commonFileMapper;
@Resource
private CompetePlayerDao competePlayerDao;
@Resource
private CompeteCoachMapper competeCoachMapper;
/**
* 查找当前用户填写的信息的概览
*/
@Override
public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) {
return competeCompanyDao.getCompanyOverview(param.getCompeteTimeId(),userId);
}
/**
* 通过组别id查找本单位的注册选手
*/
@Override
public List<ProvinceCompeteVo.GroupAndPlayer> queryPlayerByGroupId(ProvinceCompeteDto.QueryPlayerByGroup param, Long userId) {
return competeCompanyDao.queryPlayerByGroupId(param.getCompanyId(),param.getGroupId(),param.getProjectId());
}
/**
* 查找一级项目
*/
@Override
public List<ProvinceCompeteVo.FirstProject> queryFirstProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId) {
List<ProvinceCompeteVo.FirstProject> firstProjects = new ArrayList<>();
//根据比赛类型查找大赛id
CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId());
if(ObjectUtil.isNotNull(competeTime)){
firstProjects = competeCompanyDao.queryFirstProjectByCompeteTimeId(competeTime.getType());
}
return firstProjects;
}
@Override
public List<ProvinceCompeteVo.CompeteSecondProject> queryProjectByFirstProject(ProvinceCompeteDto.FirstProject param, Long userId) {
return competeCompanyDao.queryProjectByFirstProject(param.getFirstProjectId());
}
/**
* 添加或修改选手
*/
@Override
public void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) throws Exception {
//判断选手id是否为空
if(ObjectUtil.isNull(param.getPlayerId())){
//id为空,新加一个选手
CompetePlayer player = new CompetePlayer();
player.setId(snowflake.nextId());
player.setName(param.getPlayerName());
player.setGender((byte) param.getGender());
player.setIdCard(param.getIdCard());
player.setCompanyId(param.getCompeteId());
player.setCompeteGroupId(param.getGroupId());
//添加身份证正面照片
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 {
//否则修改选手信息
CompetePlayer player = competePlayerDao.selectByPrimaryKey(param.getPlayerId());
log.info("查找需要修改的选手信息:{}",player);
if(ObjectUtil.isNull(player)){ throw new BaseException(CodeEnum.PARAM_ERROR); }
//字段不为空则修改
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(param.getCompeteId())){player.setCompanyId(param.getCompeteId());}
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);
}
}
@Override
public List<ProvinceCompeteVo.PlayerByCompanyId> queryPlayerByCompanyId(ProvinceCompeteDto.CompanyIdVo param, Long userId) {
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
public ProvinceCompeteVo.CompeteCompany getCompany(CompeteDto.CompeteTime param, Long userId) {
Long competeTimeId = param.getCompeteTimeId();
ProvinceCompeteVo.CompeteCompany competeCompany = competeCompanyDao.getCompany(competeTimeId,userId);
return competeCompany;
return competeCompanyDao.getCompany(competeTimeId,userId);
}
@Override
@ -53,7 +337,7 @@ public class ProvinceService implements IProvinceService{
//判断当前单位id是否为空,
Long companyid = param.getCompanyId();
CompeteCompany competeCompany = new CompeteCompany();
ProvinceCompeteVo.CompeteCompany competeCompany1 =new ProvinceCompeteVo.CompeteCompany();
ProvinceCompeteVo.CompeteCompany competeCompany1;
//单位id为空,新增
if (ObjectUtil.isNull(companyid)){
Long id = snowflake.nextId();
@ -65,15 +349,14 @@ public class ProvinceService implements IProvinceService{
competeCompany.setLeaderNum(param.getGuideNum());
competeCompany.setJoinNum(param.getPlayerNum());
competeCompanyDao.insertSelective(competeCompany);
competeCompany1.setCompanyName(competeCompany.getName());
competeCompany1.setPlayerNum(competeCompany.getJoinNum());
competeCompany1.setGuideNum(competeCompany.getLeaderNum());
competeCompany1.setContactsPhone(competeCompany.getContactsPhone());
competeCompany1.setContactsName(competeCompany.getContactsName());
competeCompany1.setCoachNum(competeCompany.getCoachNum());
CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample();
competeCompanyExample.createCriteria().andIdEqualTo(companyid);
competeCompany1 = (ProvinceCompeteVo.CompeteCompany) competeCompanyDao.selectByExample(competeCompanyExample);
}else {
//不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改
competeCompany = competeCompanyDao.selectByPrimaryKey(companyid);
CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample();
competeCompanyExample.createCriteria().andIdEqualTo(companyid);
competeCompany = (CompeteCompany) competeCompanyDao.selectByExample(competeCompanyExample);
if (ObjectUtil.isNotNull(param.getCoachNum())){
competeCompany.setCoachNum(param.getCoachNum());
}
@ -92,16 +375,13 @@ public class ProvinceService implements IProvinceService{
if (ObjectUtil.isNotNull(param.getPlayerNum())) {
competeCompany.setJoinNum(param.getPlayerNum());
}
competeCompanyDao.updateByPrimaryKey(competeCompany);
competeCompany1.setCompanyName(competeCompany.getName());
competeCompany1.setPlayerNum(competeCompany.getJoinNum());
competeCompany1.setGuideNum(competeCompany.getLeaderNum());
competeCompany1.setContactsPhone(competeCompany.getContactsPhone());
competeCompany1.setContactsName(competeCompany.getContactsName());
competeCompany1.setCoachNum(competeCompany.getCoachNum());
}
return competeCompany1;
competeCompanyDao.updateByPrimaryKeySelective(competeCompany);
competeCompanyExample.createCriteria().andIdEqualTo(competeCompany.getId());
competeCompany1 = (ProvinceCompeteVo.CompeteCompany) competeCompanyDao.selectByExample(competeCompanyExample);
}
return competeCompany1;
}
@Override
public ProvinceCompeteVo.CompeteCompanyCoach queryCoach(CompeteDto.CompeteCompany param) {
@ -157,5 +437,5 @@ public class ProvinceService implements IProvinceService{
competeCoachMapper.deleteByPrimaryKey(competeCoach.getId());
}
}

129
mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml

@ -2,8 +2,137 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.mt.persist.dao.CompeteCompanyDao">
<resultMap id="compete_project" type="com.ccsens.mt.bean.vo.CompeteVo$CompeteProject">
<id column="parentProjectId" property="parentProjectId"/>
<result column="parentProjectName" property="parentProjectName"/>
<result column="type" property="type"/>
<collection property="secondProjects" ofType="com.ccsens.mt.bean.vo.CompeteVo$CompeteSecondProject">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="team" property="team"/>
<result column="certificate" property="certificate"/>
<result column="memberMin" property="memberMin"/>
<result column="memberMax" property="memberMax"/>
</collection>
</resultMap>
<resultMap id="group_player" type="com.ccsens.mt.bean.vo.ProvinceCompeteVo$GroupAndPlayer">
<id column="groupId" property="groupId"/>
<result column="groupName" property="groupName"/>
<collection property="playerList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$PlayerInfoByGroup">
<id column="playerId" property="playerId"/>
<result column="playerName" property="playerName"/>
<result column="joinProject" property="joinProject"/>
</collection>
</resultMap>
<select id="getCompanyOverview" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$CompeteOverview">
SELECT
cc.id as companyId,
cc.`name` as companyName,
(SELECT count(id) FROM t_compete_coach WHERE cc.id = company_id and identity = 1 and rec_status = 0) as coachNum,
(SELECT count(id) FROM t_compete_coach WHERE cc.id = company_id and identity = 0 and rec_status = 0) as guideNum,
(SELECT count(id) FROM t_compete_player WHERE cc.id = company_id and rec_status = 0) as playerNum
FROM
t_compete_company cc
WHERE
cc.compete_time_id = #{competeTimeId}
and cc.user_id = #{userId}
and cc.rec_status = 0
</select>
<select id="queryPlayerByGroupId" resultMap="group_player">
SELECT
cg.id as groupId,
cg.group_name as groupName,
p.id as playerId,
p.`name` as playerName,
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.group_id
LEFT JOIN t_compete_project_player pp on p.id = pp.player_id and pp.project_id = 1
LEFT JOIN
( SELECT
m.id as mId,
m.player_id as mPlayerId
FROM
t_compete_team t
LEFT JOIN t_compete_team_member m on t.id = m.compete_team_id
WHERE
t.project_id = #{projectId}
and t.rec_status = 0
and m.rec_status = 0
) a on a.mPlayerId = p.id
WHERE
p.company_id = #{companyId}
<if test="groupId != null">
AND p.compete_group_id = #{groupId}
</if>
and p.rec_status = 0
and pp.rec_status = 0
</select>
<select id="queryProjectByCompeteTimeId" resultMap="compete_project">
SELECT
p.id as parentProjectId,
p.`name` as parentProjectName,
p.type as type,
t.id as id,
t.`name` as name,
t.team as team,
t.join_rule as joinRule,
t.certificate as certificate,
t.member_min as memberMin,
t.member_max as memberMax
FROM
t_compete_project p LEFT JOIN
(
SELECT
id,
parent_id,
`name`,
team,
join_rule,
certificate,
member_min,
member_max
FROM
t_compete_project
WHERE
rec_status = 0
and
level = 2
) t on t.parent_id = p.id
WHERE
compete_time_id = #{competeTimeId}
and level = 1
and rec_status = 0
</select>
<select id="queryFirstProjectByCompeteTimeId" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$FirstProject">
SELECT
p.id as projectId,
p.`name` as projectName
FROM
t_compete_project p
where
p.type = #{type}
and p.level = 1
and p.rec_status = 0
</select>
<select id="queryProjectByFirstProject" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$CompeteSecondProject">
SELECT
p.id as id,
p.`name` as `name`,
team,
member_min as memberMin,
member_max as memberMax
FROM
t_compete_project p
where
p.parent_id = #{firstProjectId}
and p.level = 2
and p.rec_status = 0
</select>
<select id="getCompany" parameterType="java.util.Map" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$CompeteCompany">

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

@ -154,4 +154,13 @@
and p.rec_status = 0
LIMIT 1
</select>
<select id="queryPlayerByCompanyId" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$PlayerByCompanyId">
SELECT
p.id as playerId,
p.`name` as playerName,
g.group_name as groupName
FROM `t_compete_player` p LEFT JOIN t_compete_group g on p.compete_group_id = g.id
WHERE p.company_id = #{companyId}
and p.rec_status = 0
</select>
</mapper>

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

@ -15,6 +15,7 @@
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="compete_time_id" jdbcType="BIGINT" property="competeTimeId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -76,7 +77,7 @@
</sql>
<sql id="Base_Column_List">
id, name, parent_id, level, team, join_rule, certificate, member_min, member_max,
type, created_at, updated_at, rec_status
type, created_at, updated_at, rec_status, compete_time_id
</sql>
<select id="selectByExample" parameterType="com.ccsens.mt.bean.po.CompeteProjectExample" resultMap="BaseResultMap">
select
@ -113,12 +114,12 @@
level, team, join_rule,
certificate, member_min, member_max,
type, created_at, updated_at,
rec_status)
rec_status, compete_time_id)
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT},
#{level,jdbcType=TINYINT}, #{team,jdbcType=TINYINT}, #{joinRule,jdbcType=TINYINT},
#{certificate,jdbcType=TINYINT}, #{memberMin,jdbcType=INTEGER}, #{memberMax,jdbcType=INTEGER},
#{type,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP},
#{recStatus,jdbcType=TINYINT})
#{recStatus,jdbcType=TINYINT}, #{competeTimeId,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.mt.bean.po.CompeteProject">
insert into t_compete_project
@ -162,6 +163,9 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="competeTimeId != null">
compete_time_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -203,6 +207,9 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="competeTimeId != null">
#{competeTimeId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.mt.bean.po.CompeteProjectExample" resultType="java.lang.Long">
@ -253,6 +260,9 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.competeTimeId != null">
compete_time_id = #{record.competeTimeId,jdbcType=BIGINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -272,7 +282,8 @@
type = #{record.type,jdbcType=TINYINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
rec_status = #{record.recStatus,jdbcType=TINYINT},
compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -316,6 +327,9 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="competeTimeId != null">
compete_time_id = #{competeTimeId,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -332,7 +346,8 @@
type = #{type,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
rec_status = #{recStatus,jdbcType=TINYINT},
compete_time_id = #{competeTimeId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

8
tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java

@ -3,6 +3,7 @@ package com.ccsens.tall.persist.dao;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.tall.bean.po.ProRole;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.mapper.ProRoleMapper;
import org.apache.ibatis.annotations.Param;
@ -52,6 +53,13 @@ public interface ProRoleDao extends ProRoleMapper{
ProjectVo.RoleInfo getRoleInfoByRoleId(@Param("roleId")Long roleId);
/**
* 通过项目id查找所有项目下的角色包括全体成员
* @param projectId 项目id
* @return 返回角色信息
*/
List<RoleVo.RoleByProjectId> queryRoleByProjectId(@Param("projectId")Long projectId);
// /**
// * 查找项目下的所有成员的名字用“,”分隔
// * @param projectId 项目id

15
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -3,6 +3,7 @@ package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.ProRole;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo;
import java.util.List;
@ -31,7 +32,7 @@ public interface IProRoleService {
ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole);
void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
ProjectVo.RoleInfo saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember);
@ -49,10 +50,10 @@ public interface IProRoleService {
*/
void updateRoleShow(Long currentUserId, RoleDto.UpdateRoleShow roleShow);
// /**
// * 查找项目下的角色包含“全体成员”
// * @param projectId 项目id
// * @return
// */
// RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId);
/**
* 查找项目下的角色包含全体成员
* @param projectId 项目id
* @return
*/
List<RoleVo.RoleByProjectId> queryRoleByProjectId(Long projectId);
}

9
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -9,6 +9,7 @@ import com.ccsens.tall.bean.dto.MemberRoleDto;
import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.persist.mapper.ProUserAttentionRoleMapper;
@ -417,7 +418,7 @@ public class ProRoleService implements IProRoleService {
}
@Override
public void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) {
public ProjectVo.RoleInfo saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember) {
//检查成员是否为空
ProMember member = proMemberDao.selectByPrimaryKey(saveMember.getMemberId());
if (ObjectUtil.isNull(member)) {
@ -436,6 +437,7 @@ public class ProRoleService implements IProRoleService {
proMemberRole.setRoleId(saveMember.getRoleId());
proMemberRole.setMemberId(member.getId());
memberRoleDao.insertSelective(proMemberRole);
return getRoleInfoByRoleId(saveMember.getRoleId());
}
@Override
@ -537,4 +539,9 @@ public class ProRoleService implements IProRoleService {
});
}
}
@Override
public List<RoleVo.RoleByProjectId> queryRoleByProjectId(Long projectId) {
return proRoleDao.queryRoleByProjectId(projectId);
}
}

29
tall/src/main/java/com/ccsens/tall/web/RoleController.java

@ -1,7 +1,9 @@
package com.ccsens.tall.web;
import com.ccsens.tall.bean.dto.ProjectDto;
import com.ccsens.tall.bean.dto.RoleDto;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.service.IProRoleService;
import com.ccsens.util.JsonResponse;
@ -63,11 +65,11 @@ public class RoleController {
@ApiImplicitParams({
})
@RequestMapping(value = "/saveMember", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveMemberByRole(HttpServletRequest request,
public JsonResponse<ProjectVo.RoleInfo> saveMemberByRole(HttpServletRequest request,
@ApiParam @Validated @RequestBody RoleDto.SaveMember saveMember) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.saveMemberByRole(currentUserId,saveMember);
return JsonResponse.newInstance().ok();
ProjectVo.RoleInfo roleInfo = proRoleService.saveMemberByRole(currentUserId,saveMember);
return JsonResponse.newInstance().ok(roleInfo);
}
@ApiOperation(value = "删除角色下的成员",notes = "")
@ -81,17 +83,6 @@ public class RoleController {
return JsonResponse.newInstance().ok();
}
// @ApiOperation(value = "通过",notes = "")
// @ApiImplicitParams({
// })
// @RequestMapping(value = "/deleteMember", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<RoleVo.RoleByProjectId> queryRoleByProjectId(HttpServletRequest request,
// @RequestParam(required = true)Long projectId) throws Exception {
// Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
// RoleVo.RoleByProjectId roleInfo = proRoleService.queryRoleByProjectId(projectId);
// return JsonResponse.newInstance().ok(roleInfo);
// }
@ApiOperation(value = "点击项目角色查询一级任务及里程碑",notes = "")
@ApiImplicitParams({
})
@ -113,4 +104,14 @@ public class RoleController {
return JsonResponse.newInstance().ok();
}
@ApiOperation(value = "查找项目内所有的二级角色(包括“全体成员”)",notes = "")
@ApiImplicitParams({
})
@RequestMapping(value = "/query/allRole", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<RoleVo.RoleByProjectId>> queryRoleByProject(HttpServletRequest request, @ApiParam @Validated @RequestBody ProjectDto.ProjectIdDto projectIdDto) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
List<RoleVo.RoleByProjectId> roleByProjectIdList = proRoleService.queryRoleByProjectId(projectIdDto.getProjectId());
return JsonResponse.newInstance().ok(roleByProjectIdList);
}
}

5
tall/src/main/resources/application.yml

@ -1,4 +1,9 @@
spring:
profiles:
<<<<<<< HEAD
active: test
include: util-test,common
=======
active: dev
include: util-dev,common
>>>>>>> f7d8f099ca8ad4f99f76e5616b35eb8202fecdf8

15
tall/src/main/resources/mapper_dao/ProRoleDao.xml

@ -234,5 +234,20 @@
AND (mr.rec_status = 0 or mr.rec_status is null)
AND (m.rec_status = 0 or m.rec_status is null)
</select>
<select id="queryRoleByProjectId" resultType="com.ccsens.tall.bean.vo.RoleVo$RoleByProjectId">
SELECT
r.id as roleId,
r.name as roleName
FROM
t_pro_role r
WHERE
r.project_id = #{projectId}
AND
(SELECT name FROM t_pro_role pr WHERE r.parent_id = pr.id) in ('PM','Member')
AND
r.name not IN ('观众','MVP')
AND
r.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save