参赛团队成员删除

sale
tianea 3 years ago
parent bc5058acb8
commit 2cbfe68e4d

@ -0,0 +1,15 @@
package com.tz.platform.common.core.bo;
import lombok.Data;
@Data
public class MemberInfo {
private String studentNo;
private Long id;
private String school;
private String name;
private String province;
private Integer provinceId;
private Integer regionId;
private Integer levelId;
}

@ -0,0 +1,43 @@
package com.tz.platform.competitiion.pc;
import com.tz.platform.common.core.base.BaseController;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.competitiion.pc.biz.TeamBiz;
import com.tz.platform.competitiion.pc.dto.PageTeamDTO;
import com.tz.platform.competitiion.pc.vo.AddTeamMemberVO;
import com.tz.platform.competitiion.pc.vo.PageTeamVO;
import com.tz.platform.competitiion.pc.vo.TeamInfoVO;
import com.tz.platform.competitiion.pc.vo.TeamMemberVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/pc/competition/team")
public class CompetitionTeamController extends BaseController {
@Autowired
private TeamBiz teamBiz;
@PostMapping(value = "list")
public Result<PageTeamDTO> list(@RequestBody PageTeamVO vo){
return teamBiz.list(vo);
}
@PostMapping(value = "deleteMember")
public Result<String> deleteMember(@RequestBody TeamMemberVO vo){
return teamBiz.deleteMember(vo);
}
@PostMapping(value = "editTeamInfo")
public Result<String> editTeamInfo(@RequestBody TeamInfoVO vo){
return teamBiz.updateTeamInfo(vo);
}
@PostMapping(value = "addMember")
public Result<String> addTeamMember(@RequestBody AddTeamMemberVO vo){
return teamBiz.addTeamMember(vo);
}
}

@ -0,0 +1,100 @@
package com.tz.platform.competitiion.pc.biz;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.competitiion.pc.dto.PageTeamDTO;
import com.tz.platform.competitiion.pc.vo.AddTeamMemberVO;
import com.tz.platform.competitiion.pc.vo.PageTeamVO;
import com.tz.platform.competitiion.pc.vo.TeamInfoVO;
import com.tz.platform.competitiion.pc.vo.TeamMemberVO;
import com.tz.platform.entity.CompetitionMember;
import com.tz.platform.entity.CompetitionTeam;
import com.tz.platform.feign.user.IFeignUser;
import com.tz.platform.repository.CompetitionMemberDao;
import com.tz.platform.repository.CompetitionTeamDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.*;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class TeamBiz {
@Autowired
private CompetitionTeamDao teamDao;
@Autowired
private CompetitionMemberDao memberDao;
@Autowired
private IFeignUser feignUser;
public Result<PageTeamDTO> list(PageTeamVO vo){
if(vo.getPageSize() == null || vo.getPageSize()<0){
vo.setPageSize(20);
}
vo.setPageNo(vo.getPageNo() -1);
if(vo.getPageNo() == null||vo.getPageNo()<0){
vo.setPageNo(1);
}
if(vo.getCompetitionId() == null){
return Result.error("大赛id不能为空");
}
if(vo.getStageId() == null){
return Result.error("赛段id不能为空");
}
ExampleMatcher matcher = ExampleMatcher.matching().withIgnoreNullValues();
CompetitionTeam team = new CompetitionTeam();
team.setStageId(vo.getStageId());
team.setCompetitionId(vo.getCompetitionId());
Example<CompetitionTeam> example = Example.of(team,matcher);
Pageable pageable = PageRequest.of(vo.getPageNo(),vo.getPageSize());
Page<CompetitionTeam> onePage = teamDao.findAll(example,pageable);
List<Integer> teamIds = onePage.getContent().stream().mapToInt(CompetitionTeam::getId).boxed().collect(Collectors.toList());
List<CompetitionMember> memberList = memberDao.findAllByCompetitionIdAndStageIdAndTeamIdIn(vo.getCompetitionId(),vo.getStageId(),teamIds);
PageTeamDTO dto = new PageTeamDTO();
dto.setList(memberList);
dto.setPage(onePage);
return Result.success(dto);
}
public Result<String> deleteMember(TeamMemberVO vo){
memberDao.deleteById(vo.getId());
return Result.success("success");
}
public Result<String> addTeamMember(AddTeamMemberVO vo){
CompetitionTeam team = teamDao.getById(vo.getTeamId());
if(team == null){
return Result.error("未找到团队信息");
}
if(vo.getStageId() == null){
return Result.error("阶段信息不能为空");
}
return Result.success("");
}
public Result<String> updateTeamInfo(TeamInfoVO vo){
if(vo.getId() == null){
return Result.error("团队id不能这空");
}
if(StringUtils.isEmpty(vo.getName())){
return Result.error("名称不能为空");
}
CompetitionTeam team = teamDao.getById(vo.getId());
if(team == null){
return Result.error("未找到团队信息");
}
if(vo.getType() == 1){
team.setTeamName(vo.getName());
}else{
team.setTeacherName(vo.getName());
}
teamDao.save(team);
return Result.success("success");
}
}

@ -0,0 +1,13 @@
package com.tz.platform.competitiion.pc.vo;
import lombok.Data;
import java.util.List;
@Data
public class AddTeamMemberVO {
private Integer teamId;
private Long competitionId;
private Integer stageId;
private List<Long> ids;
}

@ -1,5 +1,7 @@
package com.tz.platform.feign.user;
import com.tz.platform.common.core.bo.MemberImport;
import com.tz.platform.common.core.bo.MemberInfo;
import com.tz.platform.feign.user.vo.UserVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@ -20,4 +22,9 @@ public interface IFeignUser {
@PostMapping(value = "feign/user/batchInsert")
int batchInser(@RequestBody List<UserVo> userVoList);
@PostMapping(value = "feign/user/batchSave")
List<MemberInfo> batchInsert(@RequestBody List<MemberImport> list);
List<MemberInfo> listByIds(@RequestBody List<Long> ids);
}

@ -4,8 +4,6 @@ import com.tz.platform.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -22,6 +20,10 @@ public interface UserDao extends JpaRepository<User,Long> {
User getById(Long id);
User getByStudentNo(String studentNo);
User getByName(String name);
/**
*
* @param username
@ -39,4 +41,6 @@ public interface UserDao extends JpaRepository<User,Long> {
Page<User> findAllByUserType(Integer type,Pageable pageable);
List<User> findAllByStudentNoIn(List<String> studentNoList);
List<User> findAllByIdIn(List<Long> ids);
}

@ -1,5 +1,7 @@
package com.tz.platform.user.feign;
import com.tz.platform.common.core.bo.MemberImport;
import com.tz.platform.common.core.bo.MemberInfo;
import com.tz.platform.user.feign.biz.FeignUserBiz;
import com.tz.platform.feign.user.IFeignUser;
import com.tz.platform.feign.user.vo.UserVo;
@ -29,4 +31,14 @@ public class FeignUserController implements IFeignUser {
public int batchInser(List<UserVo> userVoList) {
return 0;
}
@Override
public List<MemberInfo> batchInsert(List<MemberImport> list) {
return feignUserBiz.batchSave(list);
}
@Override
public List<MemberInfo> listByIds(List<Long> ids) {
return feignUserBiz.findByIds(ids);
}
}

@ -1,19 +1,39 @@
package com.tz.platform.user.feign.biz;
import cn.hutool.crypto.digest.DigestUtil;
import com.tz.platform.common.core.base.BaseException;
import com.tz.platform.common.core.bo.MemberImport;
import com.tz.platform.common.core.bo.MemberInfo;
import com.tz.platform.common.core.enmus.UserTypeEnum;
import com.tz.platform.common.core.tools.BeanUtils;
import com.tz.platform.common.core.tools.StrUtil;
import com.tz.platform.entity.User;
import com.tz.platform.feign.IFeignProvince;
import com.tz.platform.feign.IFeignStudentLevel;
import com.tz.platform.feign.vo.ProvinceVO;
import com.tz.platform.feign.vo.StudentLevelVo;
import com.tz.platform.repository.UserDao;
import com.tz.platform.feign.user.vo.UserVo;
import net.bytebuddy.implementation.bytecode.Throw;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class FeignUserBiz {
@Autowired
private UserDao userDao;
@Autowired
private IFeignProvince feignProvince;
@Autowired
private IFeignStudentLevel feignStudentLevel;
public UserVo getByUserNo(Long userNo){
User user = userDao.findById(userNo).orElse(null);
if(user == null) {
@ -26,4 +46,51 @@ public class FeignUserBiz {
User user = userDao.findByMobile(mobile);
return BeanUtils.copyProperties(user,UserVo.class);
}
public List<MemberInfo> findByIds(List<Long> ids){
List<User> userList = userDao.findAllByIdIn(ids);
return BeanUtils.copyProperties(userList,MemberInfo.class);
}
public List<MemberInfo> batchSave(List<MemberImport> list){
if(list.size()==0){
throw new BaseException("导入数据为空");
}
List<ProvinceVO> provinceVOList = feignProvince.list();
List<StudentLevelVo> levelList = feignStudentLevel.list();
List<User> userList = new ArrayList<>();
List<String> nos = list.stream().map(MemberImport::getStudentNo).collect(Collectors.toList());
List<User> studentNoList = userDao.findAllByStudentNoIn(nos);
List<String> existedList = studentNoList.stream().map(User::getStudentNo).collect(Collectors.toList());
List<MemberImport> needSaveList =list.stream().filter(m -> !existedList.contains(m.getStudentNo())).collect(Collectors.toList());
needSaveList.forEach(m->{
User user = new User();
user.setUsername(m.getStudentNo());
user.setUserNo(m.getCreateId());
user.setStudentNo(m.getStudentNo());
user.setName(m.getName());
user.setGmtCreate(new Date());
user.setGmtModified(new Date());
user.setSchool(m.getSchool());
user.setMobileSalt(StrUtil.get32UUID());
user.setMobilePsw(DigestUtil.sha1Hex(user.getMobileSalt() + "tz2022"));
user.setUserType(UserTypeEnum.USER.getCode());
ProvinceVO provinceVO = provinceVOList.stream().filter(p -> p.getName().contains(m.getProvince())).findFirst().orElse(null);
StudentLevelVo levelVo = levelList.stream().filter(l -> l.getName().contains(m.getLevel())).findFirst().orElse(null);
if(provinceVO!=null){
user.setProvinceId(provinceVO.getId());
user.setProvince(provinceVO.getName());
user.setRegionId(provinceVO.getRegionId());
}
if(levelVo!=null){
user.setLevelId(levelVo.getId());
}
userList.add(user);
});
List<User> rsList = userDao.saveAll(userList);
studentNoList.addAll(rsList);
List<MemberInfo> memberInfoList = BeanUtils.copyProperties(studentNoList,MemberInfo.class);
return memberInfoList;
}
}

@ -4,7 +4,9 @@ import com.tz.platform.common.core.base.BaseController;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.user.pc.biz.PcUserInfoBiz;
import com.tz.platform.user.pc.bo.UserPageBO;
import com.tz.platform.user.pc.dto.UserDTO;
import com.tz.platform.user.pc.dto.UserPageDTO;
import com.tz.platform.user.pc.vo.GetUserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -24,4 +26,10 @@ public class PcUserInfoController extends BaseController {
public Result<String> importUser(MultipartFile file){
return Result.success("success");
}
}
@PostMapping(value = "get")
public Result<UserDTO> getUser(@RequestBody GetUserVO vo){
return pcUserInfoBiz.getUser(vo);
}
}
Loading…
Cancel
Save