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 3896b129..ad15e257 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -78,9 +78,41 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "新加/修改参赛人员", notes = "") @RequestMapping(value = "/save/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse saveOrUpdatePlayer( @ApiParam QueryDto params) { + public JsonResponse saveOrUpdatePlayer(@ApiParam QueryDto 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> queryPlayerByCompanyId(@ApiParam QueryDto params) throws Exception { + log.info("查找所有注册的选手:{}",params); + List 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 getCompany(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询当前用户参赛单位基本信息:{}",params); + ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.getCompany(params.getParam(),params.getUserId()); + log.info("查询当前用户参赛单位基本信息:{}",competeCompany); + return JsonResponse.newInstance().ok(competeCompany); + } + + @MustLogin + @ApiOperation(value = "添加/修改单位信息", notes = "") + @RequestMapping(value = "/save/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse saveCompany(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("添加/修改单位信息:{}",params); + ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.changeCompany(params.getParam()); + log.info("添加/修改单位信息:{}",competeCompany); + return JsonResponse.newInstance().ok(competeCompany); + } + + + } 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 e1b308e0..f3fd7331 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 @@ -228,5 +228,26 @@ public class CompeteDto { @ApiModelProperty("其他参赛人员(亲子组需要)") private String family; } + @Data + @ApiModel("当前用户参赛单位基本信息") + public static class CompeteCompany{ + @ApiModelProperty("参赛单位id") + private Long companyId; + @ApiModelProperty("单位名称") + private String companyName; + @ApiModelProperty("主要联系人姓名") + private String contactsName ; + @ApiModelProperty("联系方式") + private String contactsPhone ; + @ApiModelProperty("教练的人数") + private int coachNum ; + @ApiModelProperty("领队的人数") + private int guideNum ; + @ApiModelProperty("参赛人员的人数") + private int playerNum; + @ApiModelProperty("是否同意安全责任书 0否 1是 只有同意才能报名") + private int authorization; + } + } 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 63b58130..b7da8617 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 @@ -13,6 +13,14 @@ import javax.validation.constraints.NotNull; @Data public class ProvinceCompeteDto { + @Data + @ApiModel("参赛单位id") + public static class CompanyIdVo{ + @ApiModelProperty("参赛单位id") + private Long companyId; + } + + @Data @ApiModel("一级项目id") public static class FirstProject{ 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 22a8500c..0d65ecbc 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 @@ -26,6 +26,18 @@ public class ProvinceCompeteVo { @ApiModelProperty("当前添加的参赛人员的人数") 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{ @@ -33,7 +45,7 @@ public class ProvinceCompeteVo { private Long groupId; @ApiModelProperty("组别名字") private String groupName; - @ApiModelProperty("组别名字") + @ApiModelProperty("选手信息") private List playerList; } @@ -71,4 +83,23 @@ public class ProvinceCompeteVo { @ApiModelProperty("最多人数") private int memberMax; } + + @Data + @ApiModel("查询当前用户参赛单位基本信息") + public static class CompeteCompany { + @ApiModelProperty("参赛单位id") + private Long companyId; + @ApiModelProperty("单位名称") + private String companyName; + @ApiModelProperty("主要联系人姓名") + private String contactsName ; + @ApiModelProperty("联系方式") + private String contactsPhone ; + @ApiModelProperty("教练的人数") + private int coachNum ; + @ApiModelProperty("领队的人数") + private int guideNum ; + @ApiModelProperty("参赛人员的人数") + private int playerNum; + } } 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 91782031..b95fb035 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 @@ -52,4 +52,10 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 返回二级项目信息 */ List queryProjectByFirstProject(@Param("firstProjectId")Long firstProjectId); + + + ProvinceCompeteVo.CompeteCompany getCompany(@Param("competeTimeId")long competeTimeId,@Param("userId")long userId); + + void saveCompany (ProvinceCompeteVo.CompeteCompany competeCompany); + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index 06d3bf79..16cd741f 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -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 queryPlayerByCompanyId(@Param("companyId")Long companyId); } 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 35c06821..efc56efe 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -27,14 +27,6 @@ public interface IProvinceService { */ List queryPlayerByGroupId(ProvinceCompeteDto.QueryPlayerByGroup param, Long userId); -// /** -// * 查找本次大赛所有的项目 -// * @param param 大赛id -// * @param userId userId -// * @return 返回比赛项目的信息 -// */ -// List queryProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId); - /** * 查找一级项目 * @param param 大赛id @@ -57,6 +49,31 @@ public interface IProvinceService { * @param param 选手信息 * @param userId userId */ - void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId); + void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) throws Exception; + + /** + * 查找单位内已注册的成员列表 + * @param param 单位id + * @param userId userId + * @return 返回成员列表 + */ + List queryPlayerByCompanyId(ProvinceCompeteDto.CompanyIdVo param, Long userId); + + /** + * 查询当前用户参赛单位基本信息 + * @param + * @param + * @return + */ + ProvinceCompeteVo.CompeteCompany getCompany(CompeteDto.CompeteTime param, Long userId); + + /** + * 添加或者修改参赛单位信息 + * @param + * @param + * @return + */ + ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany 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 45e79c8f..f61ba394 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -2,20 +2,20 @@ package com.ccsens.mt.service; 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.dto.ProvinceCompeteDto; -import com.ccsens.mt.bean.po.CompeteCompany; -import com.ccsens.mt.bean.po.CompetePlayer; -import com.ccsens.mt.bean.po.CompeteTime; -import com.ccsens.mt.bean.vo.CompeteVo; +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.CompetePlayerMapper; -import com.ccsens.util.NotSupportedFileTypeException; +import com.ccsens.mt.persist.mapper.CommonFileMapper; +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.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -33,13 +33,17 @@ import java.util.List; @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; /** * 查找当前用户填写的信息的概览 @@ -57,13 +61,6 @@ public class ProvinceService implements IProvinceService{ return competeCompanyDao.queryPlayerByGroupId(param.getCompanyId(),param.getGroupId(),param.getProjectId()); } -// /** -// * 查找大赛所有的比赛项目 -// */ -// @Override -// public List queryProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId) { -// return competeCompanyDao.queryProjectByCompeteTimeId(param.getCompeteTimeId()); -// } /** * 查找一级项目 @@ -81,15 +78,14 @@ public class ProvinceService implements IProvinceService{ @Override public List queryProjectByFirstProject(ProvinceCompeteDto.FirstProject param, Long userId) { - List competeSecondProjects = competeCompanyDao.queryProjectByFirstProject(param.getFirstProjectId()); - return null; + return competeCompanyDao.queryProjectByFirstProject(param.getFirstProjectId()); } /** * 添加或修改选手 */ @Override - public void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) { + public void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) throws Exception { //判断选手id是否为空 if(ObjectUtil.isNull(param.getPlayerId())){ //id为空,新加一个选手 @@ -101,25 +97,124 @@ public class ProvinceService implements IProvinceService{ 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 queryPlayerByCompanyId(ProvinceCompeteDto.CompanyIdVo param, Long userId) { + + return competePlayerDao.queryPlayerByCompanyId(param.getCompanyId()); + } + /** * 将上传的图片信息保存,并在数据库添加记录 */ - private Long uploadFile(Part file) throws Exception { - //1.上传文件 - String allowedExts = "jpg,jpeg,png"; + 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, allowedExts, dir); + String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); log.info(dir+""+path); - //获取文件路径,文件名,和文件大小 - String filePath = WebConstant.UPLOAD_PATH_PROJECT + File.separator + path; - String name = UploadFileUtil_Servlet3.getFileNameByPart(file); - //导入数据库 - return null; + + 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(); + return competeCompanyDao.getCompany(competeTimeId,userId); + } + + @Override + public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param) { + //判断当前单位id是否为空, + Long companyid = param.getCompanyId(); + CompeteCompany competeCompany = new CompeteCompany(); + ProvinceCompeteVo.CompeteCompany competeCompany1; + //单位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); + CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); + competeCompanyExample.createCriteria().andIdEqualTo(companyid); + competeCompany1 = (ProvinceCompeteVo.CompeteCompany) competeCompanyDao.selectByExample(competeCompanyExample); + }else { + //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改 + CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); + competeCompanyExample.createCriteria().andIdEqualTo(companyid); + competeCompany = (CompeteCompany) competeCompanyDao.selectByExample(competeCompanyExample); + 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.updateByPrimaryKeySelective(competeCompany); + competeCompanyExample.createCriteria().andIdEqualTo(competeCompany.getId()); + competeCompany1 = (ProvinceCompeteVo.CompeteCompany) competeCompanyDao.selectByExample(competeCompanyExample); + } + return competeCompany1; } } + diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index e3bf8ee4..f42e8bc8 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -134,4 +134,68 @@ and p.level = 2 and p.rec_status = 0 + + + + + insert into t_compete_company + + + id, + + + name, + + + contacts_name, + + + contacts_phone, + + + judgment_num, + + + leader_num, + + + join_num, + + + + + #{companyId,jdbcType=BIGINT}, + + + #{companyName,jdbcType=BIGINT}, + + + #{contactsName,jdbcType=INTEGER}, + + + #{contactsPhone,jdbcType=VARCHAR}, + + + #{coachNum,jdbcType=TIMESTAMP}, + + + #{guideNum,jdbcType=TIMESTAMP}, + + + #{playerNum,jdbcType=TINYINT}, + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index 67511fee..a76b1d0d 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -154,4 +154,13 @@ and p.rec_status = 0 LIMIT 1 + \ No newline at end of file diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index c88e995d..af78a879 100644 --- a/tall/src/main/resources/application.yml +++ b/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 diff --git a/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java b/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java index 50cf2a80..f5d7d93e 100644 --- a/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java +++ b/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java @@ -3,10 +3,8 @@ package com.ccsens.util.bean.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.springframework.validation.annotation.Validated; import javax.validation.Valid; -import javax.validation.constraints.NotNull; /** * @program: ptpro