|
@@ -2,6 +2,7 @@ package com.zhongzheng.modules.user.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
+import cn.hutool.core.lang.Validator;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
@@ -389,14 +390,17 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public List<UserSubscribeImport> importData(List<UserSubscribeImport> userSubscribeImportList) throws ParseException {
|
|
|
+ public Map<String, Object> importData(List<UserSubscribeImport> userSubscribeImportList) throws ParseException {
|
|
|
if (CollectionUtils.isEmpty(userSubscribeImportList)) {
|
|
|
throw new IllegalArgumentException("请勿导入空表格");
|
|
|
}
|
|
|
List<UserSubscribeImport> userSubscribeImports = new ArrayList<>();
|
|
|
+ List<UserSubscribeImport> successImports = new ArrayList<>();
|
|
|
for (UserSubscribeImport userSubscribeImport : userSubscribeImportList) {
|
|
|
UserSubscribeAddBo userSubscribeAddBo = new UserSubscribeAddBo();
|
|
|
- if (StringUtils.isEmpty(userSubscribeImport.getUserName()) && StringUtils.isEmpty(userSubscribeImport.getApplyName()) && StringUtils.isEmpty(userSubscribeImport.getUserName())){
|
|
|
+ if (StringUtils.isEmpty(userSubscribeImport.getApplyName()) ||StringUtils.isEmpty(userSubscribeImport.getApplySiteAddress())){
|
|
|
+ userSubscribeImport.setCause("考试信息错误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
continue;
|
|
|
}
|
|
|
//查询商品
|
|
@@ -426,54 +430,148 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
|
}
|
|
|
userSubscribeAddBo.setUserId(userId);
|
|
|
|
|
|
- if (StringUtils.isEmpty(userSubscribeImport.getSubscribeStatus())) {
|
|
|
- userSubscribeImport.setCause("预约状态为空");
|
|
|
+
|
|
|
+ //预约状态
|
|
|
+ userSubscribeAddBo.setSubscribeStatus(1);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ userSubscribeAddBo.setExamStatus(0);
|
|
|
+
|
|
|
+
|
|
|
+ if (!StringUtils.isEmpty(userSubscribeImport.getCertificateCode())) {
|
|
|
+ userSubscribeAddBo.setCertificateCode(userSubscribeImport.getCertificateCode());
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(userSubscribeImport.getApplyName())) {
|
|
|
+ userSubscribeImport.setCause("考试标题有误");
|
|
|
userSubscribeImports.add(userSubscribeImport);
|
|
|
continue;
|
|
|
}
|
|
|
- if (userSubscribeImport.getSubscribeStatus().equals("正常")) {
|
|
|
- userSubscribeAddBo.setSubscribeStatus(1);
|
|
|
+ Long applyId = baseMapper.selectApplyId(userSubscribeImport.getApplyName());
|
|
|
+ if (applyId == null) {
|
|
|
+ userSubscribeImport.setCause("考试标题有误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
}
|
|
|
- if (userSubscribeImport.getSubscribeStatus().equals("取消")) {
|
|
|
- userSubscribeImport.setCause("预约状态为取消");
|
|
|
+ userSubscribeAddBo.setApplyId(applyId);
|
|
|
+
|
|
|
+ Long subscribeId = baseMapper.selectSubscribeId(applyId, goodsId, userId);
|
|
|
+ if (subscribeId != null) {
|
|
|
+ userSubscribeImport.setCause("该学员在考试计划中有预约考试数据,请确认该学员预约考试状况");
|
|
|
userSubscribeImports.add(userSubscribeImport);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- if (!StringUtils.isEmpty(userSubscribeImport.getBeforeStatus()) && !StringUtils.isEmpty(userSubscribeImport.getBeforeName())) {
|
|
|
- Long beforeId = baseMapper.selectBeforeId(userSubscribeImport.getBeforeName());
|
|
|
- if (beforeId == null) {
|
|
|
- userSubscribeImport.setCause("前培标题有误");
|
|
|
- userSubscribeImports.add(userSubscribeImport);
|
|
|
- continue;
|
|
|
+ if (!StringUtils.isEmpty(userSubscribeImport.getStudentTypeName())) {
|
|
|
+ if (userSubscribeImport.getStudentTypeName().equals("非补考学员")) {
|
|
|
+ userSubscribeAddBo.setStudentType(1);
|
|
|
+ } else {
|
|
|
+ userSubscribeAddBo.setStudentType(2);
|
|
|
}
|
|
|
- userSubscribeAddBo.setBeforeStatus(1);
|
|
|
- userSubscribeAddBo.setBeforeId(beforeId);
|
|
|
- userSubscribeAddBo.setBeforeExpend(1);
|
|
|
+ } else {
|
|
|
+ userSubscribeImport.setCause("学员报名类型有误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
- if (!StringUtils.isEmpty(userSubscribeImport.getExamStatus())) {
|
|
|
- if (userSubscribeImport.getExamStatus().equals("待登记")) {
|
|
|
- userSubscribeAddBo.setExamStatus(0);
|
|
|
- } else if (userSubscribeImport.getExamStatus().equals("正常")) {
|
|
|
- userSubscribeAddBo.setExamStatus(1);
|
|
|
- } else if (userSubscribeImport.getExamStatus().equals("缺考")) {
|
|
|
- userSubscribeAddBo.setExamStatus(2);
|
|
|
- } else if (userSubscribeImport.getExamStatus().equals("作弊")) {
|
|
|
- userSubscribeAddBo.setExamStatus(3);
|
|
|
- } else if (userSubscribeImport.getExamStatus().equals("替考")) {
|
|
|
- userSubscribeAddBo.setExamStatus(4);
|
|
|
- }
|
|
|
+ if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteAddress())) {
|
|
|
+ userSubscribeAddBo.setApplySiteAddress(userSubscribeImport.getApplySiteAddress());
|
|
|
+ } else {
|
|
|
+ userSubscribeImport.setCause("考试地址未填");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
- if (!StringUtils.isEmpty(userSubscribeImport.getResult())) {
|
|
|
- if (userSubscribeImport.getResult().equals("不通过")) {
|
|
|
- userSubscribeAddBo.setResult(0);
|
|
|
- } else if (userSubscribeImport.getResult().equals("通过")) {
|
|
|
- userSubscribeAddBo.setResult(1);
|
|
|
+ if (userSubscribeImport.getApplySiteExamTime() != null) {
|
|
|
+ userSubscribeAddBo.setApplySiteExamTime(Convert.toLong(userSubscribeImport.getApplySiteExamTime().getTime())/1000);
|
|
|
+ } else {
|
|
|
+ userSubscribeImport.setCause("考试时间未填");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteTime())) {
|
|
|
+ String[] split = userSubscribeImport.getApplySiteTime().split(":");
|
|
|
+ if (split.length < 2) {
|
|
|
+ userSubscribeImport.setCause("考试时间段错误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
}
|
|
|
+ String startTime = split[0];
|
|
|
+ String endTime = split[1];
|
|
|
+ /* startTime = startTime.replace(":", "-");
|
|
|
+ endTime = endTime.replace(":", "-");*/
|
|
|
+
|
|
|
+ userSubscribeAddBo.setApplySiteStartTime(startTime);
|
|
|
+ userSubscribeAddBo.setApplySiteEndTime(endTime);
|
|
|
+ } else {
|
|
|
+ userSubscribeImport.setCause("考试时间段未填");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
+ userSubscribeAddBo.setCreateTime(DateUtils.getNowTime());
|
|
|
+ userSubscribeAddBo.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ this.insertByAddBo(userSubscribeAddBo);
|
|
|
+ successImports.add(userSubscribeImport);
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String,Object> resultMap = new HashMap<>();
|
|
|
+ resultMap.put("errorList",userSubscribeImports);
|
|
|
+ resultMap.put("successList",successImports);
|
|
|
+ return resultMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> importTrainData(List<UserSubscribeImport> userSubscribeImportList) throws ParseException {
|
|
|
+ if (CollectionUtils.isEmpty(userSubscribeImportList)) {
|
|
|
+ throw new IllegalArgumentException("请勿导入空表格");
|
|
|
+ }
|
|
|
+ List<UserSubscribeImport> userSubscribeImports = new ArrayList<>();
|
|
|
+ List<UserSubscribeImport> successImports = new ArrayList<>();
|
|
|
+ for (UserSubscribeImport userSubscribeImport : userSubscribeImportList) {
|
|
|
+ UserSubscribeAddBo userSubscribeAddBo = new UserSubscribeAddBo();
|
|
|
+ if (StringUtils.isEmpty(userSubscribeImport.getApplyName()) ||StringUtils.isEmpty(userSubscribeImport.getApplySiteAddress())){
|
|
|
+ userSubscribeImport.setCause("考试信息错误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ //查询商品
|
|
|
+ if (StringUtils.isEmpty(userSubscribeImport.getCode())) {
|
|
|
+ userSubscribeImport.setCause("未填商品编码");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Long goodsId = baseMapper.selectGoodsId(userSubscribeImport.getCode());
|
|
|
+ if (goodsId == null) {
|
|
|
+ userSubscribeImport.setCause("商品编码错误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ userSubscribeAddBo.setGoodsId(goodsId);
|
|
|
+ //查询学员Id
|
|
|
+ if (StringUtils.isEmpty(userSubscribeImport.getUserName()) || userSubscribeImport.getIdCard() == null) {
|
|
|
+ userSubscribeImport.setCause("学员信息未填");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Long userId = baseMapper.selectUserId(userSubscribeImport.getUserName(), userSubscribeImport.getIdCard());
|
|
|
+ if (userId == null) {
|
|
|
+ userSubscribeImport.setCause("用户信息错误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ userSubscribeAddBo.setUserId(userId);
|
|
|
+
|
|
|
+
|
|
|
+ //预约状态
|
|
|
+ userSubscribeAddBo.setSubscribeStatus(1);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ userSubscribeAddBo.setExamStatus(0);
|
|
|
+
|
|
|
+
|
|
|
if (!StringUtils.isEmpty(userSubscribeImport.getCertificateCode())) {
|
|
|
userSubscribeAddBo.setCertificateCode(userSubscribeImport.getCertificateCode());
|
|
|
}
|
|
@@ -512,7 +610,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
|
if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteAddress())) {
|
|
|
userSubscribeAddBo.setApplySiteAddress(userSubscribeImport.getApplySiteAddress());
|
|
|
} else {
|
|
|
- userSubscribeImport.setCause("地址未填");
|
|
|
+ userSubscribeImport.setCause("考试地址未填");
|
|
|
userSubscribeImports.add(userSubscribeImport);
|
|
|
continue;
|
|
|
}
|
|
@@ -546,9 +644,11 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
|
}
|
|
|
|
|
|
|
|
|
- if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteAddressTrain())) {
|
|
|
- userSubscribeAddBo.setApplySiteAddressTrain(userSubscribeImport.getApplySiteAddressTrain());
|
|
|
+ if (StringUtils.isEmpty(userSubscribeImport.getApplySiteAddressTrain())|| Validator.isEmpty(userSubscribeImport.getApplySiteExamTrainTime())|| Validator.isEmpty(userSubscribeImport.getApplySiteTime())) {
|
|
|
+ userSubscribeImport.setCause("考培数据错误");
|
|
|
+ userSubscribeImports.add(userSubscribeImport);
|
|
|
}
|
|
|
+ userSubscribeAddBo.setApplySiteAddressTrain(userSubscribeImport.getApplySiteAddressTrain());
|
|
|
|
|
|
if (userSubscribeImport.getApplySiteExamTrainTime() != null) {
|
|
|
userSubscribeAddBo.setApplySiteExamTrainTime(Convert.toLong(userSubscribeImport.getApplySiteExamTrainTime().getTime()/1000));
|
|
@@ -557,7 +657,7 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
|
if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteTrainTime())) {
|
|
|
String[] split = userSubscribeImport.getApplySiteTrainTime().split(":");
|
|
|
if (split.length < 2) {
|
|
|
- userSubscribeImport.setCause("考试时间段错误");
|
|
|
+ userSubscribeImport.setCause("考培时间段错误");
|
|
|
userSubscribeImports.add(userSubscribeImport);
|
|
|
continue;
|
|
|
}
|
|
@@ -573,8 +673,13 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
|
|
|
userSubscribeAddBo.setCreateTime(DateUtils.getNowTime());
|
|
|
userSubscribeAddBo.setUpdateTime(DateUtils.getNowTime());
|
|
|
this.insertByAddBo(userSubscribeAddBo);
|
|
|
+ successImports.add(userSubscribeImport);
|
|
|
}
|
|
|
- return userSubscribeImports;
|
|
|
+
|
|
|
+ Map<String,Object> resultMap = new HashMap<>();
|
|
|
+ resultMap.put("errorList",userSubscribeImports);
|
|
|
+ resultMap.put("successList",successImports);
|
|
|
+ return resultMap;
|
|
|
}
|
|
|
|
|
|
@Override
|