Browse Source

合并冲突

pt
zy_Java 4 years ago
parent
commit
a3df92fd55
  1. 188
      mt/src/main/java/com/ccsens/mt/service/ImportService.java
  2. 4
      mt/src/main/resources/application.yml
  3. 25
      mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml
  4. 8
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  5. 16
      wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java
  6. 4
      wisdomcar/src/main/resources/application.yml

188
mt/src/main/java/com/ccsens/mt/service/ImportService.java

@ -5,16 +5,19 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.ccsens.mt.bean.po.CompeteCompany;
import com.ccsens.mt.bean.po.CompetePlayer;
import com.ccsens.mt.bean.po.CompeteProject;
import com.ccsens.mt.bean.po.CompeteProjectExample;
import com.ccsens.mt.bean.po.*;
import com.ccsens.mt.bean.vo.CompeteExcelVo;
import com.ccsens.mt.persist.dao.CompeteCompanyDao;
import com.ccsens.mt.persist.dao.CompetePlayerDao;
import com.ccsens.mt.persist.dao.CompeteProjectDao;
import com.ccsens.mt.persist.dao.CompeteTeamDao;
import com.ccsens.mt.persist.mapper.CompeteCoachMapper;
import com.ccsens.mt.persist.mapper.CompeteGroupMapper;
import com.ccsens.mt.persist.mapper.CompeteProjectPlayerMapper;
import com.ccsens.mt.persist.mapper.CompeteTeamMemberMapper;
import com.ccsens.util.ExcelUtil;
import com.ccsens.util.StringUtil;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -45,6 +48,16 @@ public class ImportService implements IImportService{
private CompetePlayerDao competePlayerDao;
@Resource
private CompeteProjectDao competeProjectDao;
@Resource
private CompeteGroupMapper groupMapper;
@Resource
private CompeteProjectPlayerMapper projectPlayerMapper;
@Resource
private CompeteTeamDao teamDao;
@Resource
private CompeteTeamMemberMapper teamMemberMapper;
@Resource
private CompeteCoachMapper coachMapper;
@Override
@ -69,11 +82,6 @@ public class ImportService implements IImportService{
type = 6;
}
}
//查找决赛的项目
CompeteProjectExample projectExample = new CompeteProjectExample();
projectExample.createCriteria().andTypeEqualTo((byte) 7);
List<CompeteProject> projectList = competeProjectDao.selectByExample(projectExample);
Map<String,Object> projectMap = new HashMap<>();
//读取sheet内的信息
readSheet(sheet,type,errorPlayers);
}
@ -82,28 +90,47 @@ public class ImportService implements IImportService{
}
private void readSheet(XSSFSheet sheet, int type, List<CompeteExcelVo.ErrorPlayer> errorPlayers) {
Map<String,CompeteCompany> companyMap = new HashMap<>();
Map<String,CompetePlayer> playerMap = new HashMap<>();
Map<String, CompeteCompany> companyMap = new HashMap<>();
Map<String, CompetePlayer> playerMap = new HashMap<>();
Map<String, CompeteProject> projectMap = new HashMap<>();
Map<String, CompeteGroup> groupMap = new HashMap<>();
Map<String, Long> oldCompanyMap = new HashMap<>();
//查找比赛项目的projectMap
CompeteProjectExample projectExample = new CompeteProjectExample();
projectExample.createCriteria().andTypeEqualTo((byte)7);
List<CompeteProject> competeProjects = competeProjectDao.selectByExample(projectExample);
if (CollectionUtil.isNotEmpty(competeProjects)){
for (CompeteProject competeProject : competeProjects) {
projectMap.put(competeProject.getName(),competeProject);
}
}
//查找比赛组的groupMap
CompeteGroupExample groupExample = new CompeteGroupExample();
groupExample.createCriteria().andTypeEqualTo((byte)7);
List<CompeteGroup> competeGroups = groupMapper.selectByExample(groupExample);
if (CollectionUtil.isNotEmpty(competeGroups)){
for (CompeteGroup competeGroup : competeGroups) {
groupMap.put(competeGroup.getGroupName(),competeGroup);
}
}
for (int i = 1; i < sheet.getLastRowNum(); i++) {
//参赛单位
String companyCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(2)));
String companyCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(0)));
//参赛项目
String projectCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(0)));
String projectCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(1)));
//组别
String groupCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(1)));
String groupCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(2)));
//选手姓名
String playerCell = StringUtil.replaceStrSpace(ExcelUtil.getCellValue(sheet.getRow(i).getCell(3)));
String[] playerNames = new String[]{playerCell};
if(StrUtil.isNotBlank(playerCell)){
playerNames = playerCell.split("、");
}
//查找参赛单位
//查找参赛单位 项目名字(projectCell)没有用来查询
if (!companyMap.containsKey(companyCell)){
String[] playerNames = playerCell.split("、");
List<CompeteCompany> company = competeCompanyDao.getCompanyByNameAndType(companyCell,playerNames[0],projectCell,type);
if (CollectionUtil.isNotEmpty(company)){
oldCompanyMap.put(companyCell,company.get(0).getId());
//查看是该单位是否已经进决赛
List<CompeteCompany> companyByNameAndType = competeCompanyDao.getCompanyByNameAndType(companyCell, playerNames[0], projectCell, 7);
List<CompeteCompany> companyByNameAndType = competeCompanyDao.getCompanyByNameAndType(companyCell, playerCell, projectCell, 7);
if (CollectionUtil.isEmpty(companyByNameAndType)){
//复制参赛单位到决赛
CompeteCompany newCompany = new CompeteCompany();
@ -113,6 +140,19 @@ public class ImportService implements IImportService{
newCompany.setCompeteTimeId(7L);
competeCompanyDao.insertSelective(newCompany);
companyMap.put(companyCell,newCompany);
//复制教练
CompeteCoachExample coachExample = new CompeteCoachExample();
coachExample.createCriteria().andCompanyIdEqualTo(company.get(0).getId());
List<CompeteCoach> competeCoaches = coachMapper.selectByExample(coachExample);
if (CollectionUtil.isNotEmpty(competeCoaches)){
for (CompeteCoach competeCoach : competeCoaches) {
CompeteCoach newCoach = new CompeteCoach();
BeanUtil.copyProperties(competeCoach,newCoach);
newCoach.setId(snowflake.nextId());
newCoach.setCompanyId(newCompany.getId());
coachMapper.insertSelective(newCoach);
}
}
}
}else{
CompeteExcelVo.ErrorPlayer errorPlayer = new CompeteExcelVo.ErrorPlayer();
@ -120,18 +160,108 @@ public class ImportService implements IImportService{
errorPlayer.setRowNum(i);
errorPlayer.setRemark("未查找原参赛单位");
errorPlayers.add(errorPlayer);
log.info("报错相关信息学:{}",errorPlayer);
throw new BaseException("未查找原参赛单位:"+i+"行"+"信息"+companyCell);
}
}
//添加选手信息
List<CompetePlayer> playerList = competePlayerDao.getPlayerByNameAndCompany(playerCell,companyMap.get(companyCell).getId());
if (CollectionUtil.isNotEmpty(playerList)){
CompetePlayer newPlayer = new CompetePlayer();
BeanUtil.copyProperties(playerList.get(0),newPlayer);
newPlayer.setId(snowflake.nextId());
newPlayer.setCompanyId(companyMap.get(companyCell).getId());
//添加比赛成员
if (StrUtil.isNotBlank(playerCell)){
String[] playerNames = playerCell.split("、");
for (String playerName : playerNames) {
if (!playerMap.containsKey(playerName)){
List<CompeteCompany> company = competeCompanyDao.getCompanyByNameAndType(companyCell,playerName,projectCell,type);
if (CollectionUtil.isNotEmpty(company)){
//查找旧的成员信息
List<CompetePlayer> playerList = competePlayerDao.getPlayerByNameAndCompany(playerName,oldCompanyMap.get(companyCell));
if (CollectionUtil.isNotEmpty(playerList)){
CompetePlayer newPlayer = new CompetePlayer();
BeanUtil.copyProperties(playerList.get(0),newPlayer);
newPlayer.setId(snowflake.nextId());
newPlayer.setCompanyId(companyMap.get(companyCell).getId());
newPlayer.setCreatedAt(null);
newPlayer.setUpdatedAt(null);
// newPlayer.setCompeteGroupId(groupMap.get(groupCell).getId());
competePlayerDao.insertSelective(newPlayer);
playerMap.put(playerName,newPlayer);
}else{
CompeteExcelVo.ErrorPlayer errorPlayer = new CompeteExcelVo.ErrorPlayer();
errorPlayer.setSheetName(playerName);
errorPlayer.setRowNum(i);
errorPlayer.setRemark("未找到该比赛成员信息");
errorPlayers.add(errorPlayer);
log.info("报错相关信息学:{}",errorPlayer);
throw new BaseException("未找到该比赛成员信息:"+i+"行"+"信息"+playerName);
}
}
}
}
}
CompeteProject project = projectMap.get(projectCell);
if (ObjectUtil.isNotNull(project)){
//个人项目
if (0 == project.getTeam()){
CompeteProjectPlayer projectPlayer = new CompeteProjectPlayer();
projectPlayer.setId(snowflake.nextId());
projectPlayer.setPlayerId(playerMap.get(playerCell).getId());
projectPlayer.setProjectId(projectMap.get(projectCell).getId());
projectPlayer.setCompeteGroupId(groupMap.get(groupCell).getId());
projectPlayer.setCompeteTimeId(7L);
projectPlayerMapper.insertSelective(projectPlayer);
}
//团队项目
if (1 == project.getTeam()){
if (groupCell.contains("男子") || groupCell.contains("女子")){
CompeteTeam newTeam = new CompeteTeam();
newTeam.setId(snowflake.nextId());
newTeam.setProjectId(projectMap.get(projectCell).getId());
newTeam.setCompeteTimeId(7L);
newTeam.setGenderGroup(groupMap.get(groupCell).getSex());
newTeam.setCompeteGroupId(groupMap.get(groupCell).getId());
newTeam.setGroupRemark(groupMap.get(groupCell).getGroupRemark());
newTeam.setCompanyId(companyMap.get(companyCell).getId());
teamDao.insertSelective(newTeam);
if (StrUtil.isNotBlank(playerCell)){
String[] playNames = playerCell.split("、");
for (String playName : playNames) {
CompeteTeamMember teamMember = new CompeteTeamMember();
teamMember.setId(snowflake.nextId());
teamMember.setPlayerId(playerMap.get(playName).getId());
teamMember.setCompeteTeamId(newTeam.getId());
teamMemberMapper.insertSelective(teamMember);
}
}
}
if (groupCell.contains("不限")){
CompeteTeam newTeam = new CompeteTeam();
newTeam.setId(snowflake.nextId());
newTeam.setProjectId(projectMap.get(projectCell).getId());
newTeam.setCompeteTimeId(7L);
//TODO 性别 组别id 组别描述 暂时使用默认值
newTeam.setCompanyId(companyMap.get(companyCell).getId());
teamDao.insertSelective(newTeam);
if (StrUtil.isNotBlank(playerCell)){
String[] playNames = playerCell.split("、");
for (String playName : playNames) {
CompeteTeamMember teamMember = new CompeteTeamMember();
teamMember.setId(snowflake.nextId());
teamMember.setPlayerId(playerMap.get(playName).getId());
teamMember.setCompeteTeamId(newTeam.getId());
teamMemberMapper.insertSelective(teamMember);
}
}
}
}
}else{
CompeteExcelVo.ErrorPlayer errorPlayer = new CompeteExcelVo.ErrorPlayer();
errorPlayer.setSheetName(projectCell);
errorPlayer.setRowNum(i);
errorPlayer.setRemark("未查找到该比赛项目");
errorPlayers.add(errorPlayer);
log.info("报错相关信息学:{}",errorPlayer);
throw new BaseException("未查找比赛项目:"+i+"行"+"信息"+projectCell);
}
}
}
}

4
mt/src/main/resources/application.yml

@ -1,6 +1,6 @@
spring:
profiles:
active: dev
include: common, util-dev
active: test
include: common, util-test

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

@ -476,22 +476,25 @@
<select id="getCompanyByNameAndType" resultType="com.ccsens.mt.bean.po.CompeteCompany">
SELECT
id,
`name`,
type,
compete_time_id AS competeTimeId,
contacts_name AS contactsName,
contacts_phone AS contactsPhone,
user_id AS userId,
join_num AS joinNum,
leader_num AS leaderNum,
coach_num AS coachNum,
authorization AS authorization
cc.id,
cc.`name`,
cc.type,
cc.compete_time_id AS competeTimeId,
cc.contacts_name AS contactsName,
cc.contacts_phone AS contactsPhone,
cc.user_id AS userId,
cc.join_num AS joinNum,
cc.leader_num AS leaderNum,
cc.coach_num AS coachNum,
cc.authorization AS authorization
FROM
t_compete_company AS cc
LEFT JOIN t_compete_player AS cp ON cc.id = cp.company_id
WHERE
cc.`name` = #{companyName}
AND cc.type = #{type}
AND cc.rec_status = 0
AND cp.`name` = #{playerName}
AND cp.rec_status = 0
</select>
</mapper>

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

@ -470,13 +470,7 @@
<select id="getPlayerByNameAndCompany" resultType="com.ccsens.mt.bean.po.CompetePlayer">
SELECT
id,
user_id AS userId,
NAME,
id_card AS idCard,
phone,
gender,
company_id AS companyId
*
FROM
t_compete_player AS cp
WHERE

16
wisdomcar/src/main/java/com/ccsens/wisdomcar/service/RecordService.java

@ -227,9 +227,21 @@ public class RecordService implements IRecordService{
prev = cur;
}
}
if (types.length > 1) {
if (types.length > 1 && CollectionUtil.isNotEmpty(records)) {
log.info("重新排序");
Collections.sort(records, (o1, o2) -> (int) (o1.getTime() - o2.getTime()));
Collections.sort(records, (o1, o2) ->{
log.info("o1:{},o2:{}",o1,o2);
if (o1 == null || o1.getTime() == null) {
if (o2 == null || o2.getTime() == null) {
return 0;
}
return -1;
}
if (o2 == null || o2.getTime() == null) {
return -1;
}
return o1.getTime() - o2.getTime() > 0 ? 1 : -1;
} );
}
return records;
}

4
wisdomcar/src/main/resources/application.yml

@ -1,7 +1,7 @@
spring:
profiles:
active: test
include: common, util-test
active: prod
include: common, util-prod

Loading…
Cancel
Save