区域接口

sale
tianea 3 years ago
parent 1a63ec533d
commit 58d218a6dc

@ -3,6 +3,7 @@ package com.tz.platform.competitiion.pc.biz;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.common.core.bo.MemberInfo;
import com.tz.platform.competitiion.pc.dto.PageTeamDTO;
import com.tz.platform.competitiion.pc.dto.PageTeamMemberDTO;
import com.tz.platform.competitiion.pc.vo.*;
import com.tz.platform.entity.CompetitionMember;
import com.tz.platform.entity.CompetitionTeam;
@ -97,6 +98,7 @@ public class TeamBiz {
member.setUserId(m.getId());
member.setStageId(team.getStageId());
member.setTeamId(team.getId());
member.setTeamName(team.getTeamName());
memberList.add(member);
});
@ -127,14 +129,20 @@ public class TeamBiz {
@Transactional
public Result<String> addTeam(AddTeamVO vo){
CompetitionTeam team = teamDao.getByTeamName(vo.getTeamName());
if(team !=null){
CompetitionTeam teamT = teamDao.getByTeamName(vo.getTeamName());
if(teamT !=null){
return Result.error("团队名称已存在");
}
if(vo.getIds() == null||vo.getIds().size() == 0){
return Result.error("请选择团队成员");
}
if(vo.getCompetitionId() == null ||vo.getCompetitionId()<=0){
return Result.error("大赛信息不能为空");
}
if(vo.getStageId() == null||vo.getStageId()<=0){
return Result.error("阶段信息不能为空");
}
CompetitionTeam team = new CompetitionTeam();
team.setTeamName(vo.getTeamName());
team.setTeacherName(vo.getTeacher());
team.setCompetitionId(vo.getCompetitionId());
@ -150,14 +158,33 @@ public class TeamBiz {
member.setCompetitionId(teamInfo.getCompetitionId());
member.setName(m.getName());
member.setSchool(m.getSchool());
team.setSchool(m.getSchool());
member.setStudentNo(m.getStudentNo());
member.setUserId(m.getId());
member.setStageId(teamInfo.getStageId());
member.setTeamId(teamInfo.getId());
member.setTeamName(teamInfo.getTeamName());
memberList.add(member);
});
memberDao.saveAll(memberList);
return Result.success("success");
}
public Result<PageTeamMemberDTO> listTeamMember(PageTeamMemberVO vo){
if(vo.getPageNo() <= 0){
vo.setPageNo(0);
}else{
vo.setPageNo(vo.getPageNo() -1);
}
if(vo.getPageSize()<= 0){
vo.setPageSize(20);
}
Pageable pageable = PageRequest.of(vo.getPageNo(),vo.getPageSize());
Page<CompetitionMember> onePage = memberDao.findAllByCompetitionIdAndStageId(vo.getCompetitionId(),vo.getStageId(),pageable);
PageTeamMemberDTO dto = new PageTeamMemberDTO();
dto.setPage(onePage);
return Result.success(dto);
}
}

@ -102,6 +102,7 @@ public class TeamTemplateImportBiz {
member.setUserId(info.getId());
member.setStageId(stageId);
member.setTeamId(teamInfo.getId());
member.setTeamName(teamInfo.getTeamName());
memberList.add(member);
}
});

@ -19,4 +19,10 @@ public class CompetitionMember {
private String name;
private String school;
private Integer teamId;
private String teamName;
private String accountId;
private String accountPwd;
private Long examSore;
private Long financeSore;
private Long examCostTime;
}

@ -0,0 +1,17 @@
package com.tz.platform.system.feign;
import com.tz.platform.feign.IFeignRegion;
import com.tz.platform.feign.vo.RegionVO;
import com.tz.platform.system.feign.biz.FeignRegionBiz;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class FeignRegionController implements IFeignRegion {
private FeignRegionBiz biz;
@Override
public List<RegionVO> list() {
return biz.list();
}
}

@ -0,0 +1,21 @@
package com.tz.platform.system.feign.biz;
import com.tz.platform.common.core.tools.BeanUtils;
import com.tz.platform.entity.Region;
import com.tz.platform.feign.vo.RegionVO;
import com.tz.platform.repository.RegionDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class FeignRegionBiz {
@Autowired
private RegionDao regionDao;
public List<RegionVO> list(){
List<Region> regionList = regionDao.findAll();
return BeanUtils.copyProperties(regionList,RegionVO.class);
}
}

@ -0,0 +1,24 @@
package com.tz.platform.user.pc;
import com.tz.platform.common.core.base.BaseController;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.user.pc.biz.ImportUserBiz;
import com.tz.platform.user.pc.dto.ListUploadUserDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("/api/user/upload")
public class UploadUserController extends BaseController {
@Autowired
private ImportUserBiz biz;
@PostMapping(value = "importUser")
public Result<ListUploadUserDTO> importUser(MultipartFile file){
return biz.importUser(file,getUserNo());
}
}

@ -0,0 +1,127 @@
package com.tz.platform.user.pc.biz;
import cn.hutool.crypto.digest.DigestUtil;
import com.tz.platform.common.core.base.Result;
import com.tz.platform.common.core.config.SystemUtil;
import com.tz.platform.common.core.enmus.UserTypeEnum;
import com.tz.platform.common.core.tools.ExcelUtil;
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.IFeignRegion;
import com.tz.platform.feign.IFeignStudentLevel;
import com.tz.platform.feign.vo.ProvinceVO;
import com.tz.platform.feign.vo.RegionVO;
import com.tz.platform.feign.vo.StudentLevelVo;
import com.tz.platform.repository.UserDao;
import com.tz.platform.user.pc.dto.ListUploadUserDTO;
import com.tz.platform.user.pc.dto.UploadUserDTO;
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.Date;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class ImportUserBiz {
@Autowired
private UserDao userDao;
@Autowired
private IFeignProvince feignProvince;
@Autowired
private IFeignStudentLevel feignStudentLevel;
public Result<ListUploadUserDTO> importUser(MultipartFile file, Long userNo){
if(userNo == null|| userNo<=0){
return Result.error("无权操作");
}
List<ProvinceVO> provinceList = feignProvince.list();
List<StudentLevelVo> levelList = feignStudentLevel.list();
try {
ExcelUtil util = new ExcelUtil(file.getInputStream());
List<UploadUserDTO> uploadList = new ArrayList<>();
List<String> studentNoList =new ArrayList<>();
for(int rowNo = 1;rowNo <=util.getLastRowNum();rowNo++) {
Row row = util.getRow(rowNo);
UploadUserDTO d = new UploadUserDTO();
String studentNo = util.getCellValue(row.getCell(0));
String name = util.getCellValue(row.getCell(1));
String school = util.getCellValue(row.getCell(2));
String mobile = util.getCellValue(row.getCell(3));
String province = util.getCellValue(row.getCell(4));
String level = util.getCellValue(row.getCell(5));
if(StringUtils.isEmpty(studentNo)){
d.setStatus("空学号");
continue;
}else{
if(studentNoList.contains(studentNo)){
d.setStatus("学号重复");
}else{
studentNoList.add(studentNo);
}
}
d.setStudentNo(studentNo);
d.setName(name);
d.setSchool(school);
d.setMobile(mobile);
d.setProvince(province);
d.setLevel(level);
uploadList.add(d);
}
List<User> existList = userDao.findAllByStudentNoIn(studentNoList);
List<String> tmpList = existList.stream().map(User::getStudentNo).collect(Collectors.toList());
List<UploadUserDTO> willAddList = uploadList.stream().filter(uploadUserDTO -> {
boolean rs =!tmpList.contains(uploadUserDTO.getStudentNo());
if(rs ==false){
uploadUserDTO.setStatus("已存在");
}
return rs;
}).collect(Collectors.toList());
List<User> userList = new ArrayList<>();
willAddList.forEach(dto->{
User user = new User();
user.setUsername(dto.getStudentNo());
user.setStudentNo(dto.getStudentNo());
user.setGmtCreate(new Date());
user.setGmtModified(new Date());
user.setSchool(dto.getSchool());
user.setProvince(dto.getProvince());
user.setName(dto.getName());
user.setMobile(dto.getMobile());
StudentLevelVo level = levelList.stream().filter(l -> l.getName().equals(dto.getLevel())).findFirst().orElse(null);
if(level !=null){
user.setLevelId(level.getId());
}
ProvinceVO province = provinceList.stream().filter(p-> p.getName().contains(dto.getProvince())).findFirst().orElse(null);
if(province!=null){
user.setProvince(dto.getProvince());
user.setProvinceId(province.getId());
user.setRegionId(province.getRegionId());
}
user.setUserType(UserTypeEnum.USER.getCode());
user.setMobileSalt(StrUtil.get32UUID());
user.setMobilePsw(DigestUtil.sha1Hex(user.getMobileSalt() + SystemUtil.INIT_PASSWORD));
user.setUserType(UserTypeEnum.USER.getCode());
userList.add(user);
});
userDao.saveAll(userList);
ListUploadUserDTO dto = new ListUploadUserDTO();
dto.setList(uploadList);
return Result.success(dto);
} catch (Exception e) {
e.printStackTrace();
return Result.error("文件解析失败");
}
}
}
Loading…
Cancel
Save