参赛团队成员添加
parent
62f146515a
commit
bc5058acb8
@ -0,0 +1,120 @@
|
|||||||
|
package com.tz.platform.competitiion.pc.biz;
|
||||||
|
|
||||||
|
import com.tz.platform.common.core.base.Result;
|
||||||
|
import com.tz.platform.common.core.bo.MemberImport;
|
||||||
|
import com.tz.platform.common.core.bo.MemberInfo;
|
||||||
|
import com.tz.platform.common.core.tools.ExcelUtil;
|
||||||
|
import com.tz.platform.competitiion.pc.bo.TeamInfo;
|
||||||
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class TeamTemplateImportBiz {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IFeignUser user;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CompetitionTeamDao teamDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CompetitionMemberDao memberDao;
|
||||||
|
|
||||||
|
public Result<String> excelImport(MultipartFile file,Long userNo,Long competitionId,Integer stageId){
|
||||||
|
if(competitionId==null||stageId == null){
|
||||||
|
return Result.error("大赛或赛段不能为空");
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
ExcelUtil util = new ExcelUtil(file.getInputStream());
|
||||||
|
List<TeamInfo> teamInfoList = new ArrayList<>();
|
||||||
|
List<MemberImport> neesSave = new ArrayList<>();
|
||||||
|
for(int rowNo = 2;rowNo <util.getLastRowNum();rowNo++) {
|
||||||
|
TeamInfo teamInfo = new TeamInfo();
|
||||||
|
Row row = util.getRow(rowNo);
|
||||||
|
String teamName = util.getCellValue(row.getCell(0));
|
||||||
|
String teacher = util.getCellValue(row.getCell(1));
|
||||||
|
String school = util.getCellValue(row.getCell(2));
|
||||||
|
String level = util.getCellValue(row.getCell(3));
|
||||||
|
String province =util.getCellValue(row.getCell(4));
|
||||||
|
List<MemberImport> memberInfoList = new ArrayList<>();
|
||||||
|
for(int i = 5;i<=14;i+=2){
|
||||||
|
String member1No = util.getCellValue(row.getCell(i));
|
||||||
|
String member1Name = util.getCellValue(row.getCell(i+1));
|
||||||
|
MemberImport memberInfo = new MemberImport();
|
||||||
|
if(StringUtils.isEmpty(member1No)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
memberInfo.setName(member1Name);
|
||||||
|
memberInfo.setStudentNo(member1No);
|
||||||
|
memberInfo.setSchool(school);
|
||||||
|
memberInfo.setLevel(level);
|
||||||
|
memberInfo.setProvince(province);
|
||||||
|
memberInfoList.add(memberInfo);
|
||||||
|
}
|
||||||
|
if(memberInfoList.size()>0){
|
||||||
|
neesSave.addAll(memberInfoList);
|
||||||
|
}
|
||||||
|
|
||||||
|
teamInfo.setLevel(level);
|
||||||
|
teamInfo.setProvince(province);
|
||||||
|
teamInfo.setSchool(school);
|
||||||
|
teamInfo.setTeamName(teamName);
|
||||||
|
teamInfo.setTeacher(teacher);
|
||||||
|
teamInfo.setMemberList(memberInfoList);
|
||||||
|
teamInfoList.add(teamInfo);
|
||||||
|
}
|
||||||
|
teamInfoList.forEach(info -> {
|
||||||
|
System.out.println(info.getTeamName()+" "+info.getSchool()+" "+info.getLevel()+ " "+info.getTeacher()+" memberCount:"+info.getMemberList().size());
|
||||||
|
});
|
||||||
|
|
||||||
|
List<MemberInfo> mList = user.batchInsert(neesSave);
|
||||||
|
|
||||||
|
teamInfoList.forEach(team->{
|
||||||
|
CompetitionTeam t = new CompetitionTeam();
|
||||||
|
t.setCompetitionId(competitionId);
|
||||||
|
t.setStageId(stageId);
|
||||||
|
t.setTeacherName(team.getTeacher());
|
||||||
|
t.setTeamName(team.getTeamName());
|
||||||
|
t.setSchool(team.getSchool());
|
||||||
|
CompetitionTeam teamInfo = teamDao.save(t);
|
||||||
|
List<CompetitionMember> memberList = new ArrayList<>();
|
||||||
|
team.getMemberList().forEach(m->{
|
||||||
|
MemberInfo info = mList.stream().filter(m2 -> m.getStudentNo().equals(m2.getStudentNo())).findFirst().orElse(null);
|
||||||
|
if(info!=null){
|
||||||
|
CompetitionMember member = new CompetitionMember();
|
||||||
|
member.setCompetitionId(competitionId);
|
||||||
|
member.setName(m.getName());
|
||||||
|
member.setSchool(m.getSchool());
|
||||||
|
member.setStudentNo(m.getStudentNo());
|
||||||
|
member.setUserId(info.getId());
|
||||||
|
member.setStageId(stageId);
|
||||||
|
member.setTeamId(teamInfo.getId());
|
||||||
|
memberList.add(member);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
memberDao.saveAll(memberList);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
System.out.println(mList.size());
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return Result.error("上传失败");
|
||||||
|
}
|
||||||
|
return Result.success("success");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.tz.platform.competitiion.pc.dto;
|
||||||
|
|
||||||
|
import com.tz.platform.entity.CompetitionMember;
|
||||||
|
import com.tz.platform.entity.CompetitionTeam;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PageTeamDTO implements Serializable {
|
||||||
|
private Page<CompetitionTeam> page;
|
||||||
|
private List<CompetitionMember> list;
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package com.tz.platform.competitiion.pc.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PageTeamVO {
|
||||||
|
private Long competitionId;
|
||||||
|
private Integer stageId;
|
||||||
|
private Integer pageNo;
|
||||||
|
private Integer pageSize;
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package com.tz.platform.competitiion.pc.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TeamInfoVO {
|
||||||
|
private Integer id;
|
||||||
|
private String name;
|
||||||
|
private Integer type;
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.tz.platform.competitiion.pc.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class TeamMemberVO {
|
||||||
|
private Integer id;
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
package com.tz.platform.feign;
|
||||||
|
|
||||||
|
import com.tz.platform.feign.vo.ProvinceVO;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
@FeignClient(value = "tz-system-service")
|
||||||
|
public interface IFeignProvince {
|
||||||
|
@RequestMapping(value = "/feign/system/province/list")
|
||||||
|
List<ProvinceVO> list();
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package com.tz.platform.feign.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ProvinceVO {
|
||||||
|
private Integer id;
|
||||||
|
private String name;
|
||||||
|
private Integer regionId;
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.tz.platform.system.feign;
|
||||||
|
|
||||||
|
import com.tz.platform.feign.IFeignProvince;
|
||||||
|
import com.tz.platform.feign.vo.ProvinceVO;
|
||||||
|
import com.tz.platform.system.feign.biz.FeignProvinceBiz;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class FeignProvinceController implements IFeignProvince {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FeignProvinceBiz feignProvinceBiz;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ProvinceVO> list() {
|
||||||
|
return feignProvinceBiz.list();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.tz.platform.system.feign.biz;
|
||||||
|
|
||||||
|
import com.tz.platform.common.core.tools.BeanUtils;
|
||||||
|
import com.tz.platform.entity.Province;
|
||||||
|
import com.tz.platform.feign.vo.ProvinceVO;
|
||||||
|
import com.tz.platform.repository.ProvinceDao;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class FeignProvinceBiz {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ProvinceDao provinceDao;
|
||||||
|
|
||||||
|
public List<ProvinceVO> list(){
|
||||||
|
List<Province> provinces = provinceDao.findAll();
|
||||||
|
List<ProvinceVO> provinceVOList = BeanUtils.copyProperties(provinces,ProvinceVO.class);
|
||||||
|
return provinceVOList;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
package com.tz.platform.user.pc.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserDTO implements Serializable {
|
||||||
|
private Long id;
|
||||||
|
private String studentNo;
|
||||||
|
private String school;
|
||||||
|
private String name;
|
||||||
|
private String province;
|
||||||
|
private Integer provinceId;
|
||||||
|
private Integer regionId;
|
||||||
|
private Integer levelId;
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
package com.tz.platform.user.pc.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class GetUserVO {
|
||||||
|
private String name;
|
||||||
|
}
|
Loading…
Reference in New Issue