|
@@ -4528,15 +4528,16 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
.eq(TopOldOrderReplenish::getStatus, 1)
|
|
|
.last("limit 1"));
|
|
|
if (ObjectUtils.isNotNull(replenish)){
|
|
|
+ BigDecimal received = BigDecimal.ZERO;
|
|
|
if (StringUtils.isNotBlank(replenish.getProceedsJson())){
|
|
|
String proceedsJson = replenish.getProceedsJson();
|
|
|
Map map = JSON.parseObject(proceedsJson, Map.class);
|
|
|
vo.setProceedsJsonMap((Map<String,BigDecimal>)map);
|
|
|
+ //总收款
|
|
|
+ for (Object value : map.values()) {
|
|
|
+ received = received.add(new BigDecimal(value.toString()));
|
|
|
+ }
|
|
|
}
|
|
|
- BigDecimal uncollected = ObjectUtils.isNotNull(replenish.getOrderResidue())?replenish.getOrderResidue():new BigDecimal(0.00);
|
|
|
- vo.setUncollected(uncollected);
|
|
|
- vo.setReceived(vo.getPriceTotal().subtract(uncollected));
|
|
|
- vo.setProceedsRecord(replenish.getProceedsRecord());
|
|
|
//已退
|
|
|
BigDecimal refunded = new BigDecimal("0.00");
|
|
|
TopOldOrder orderBySn = baseMapper.getOrderBySn(vo.getOrderSn());
|
|
@@ -4559,7 +4560,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
}
|
|
|
vo.setRefunded(refunded);
|
|
|
- vo.setPractical(vo.getPriceTotal().subtract(refunded));
|
|
|
+ //实际
|
|
|
+ BigDecimal practical = vo.getPriceTotal().subtract(refunded);
|
|
|
+ vo.setPractical(practical);
|
|
|
+ vo.setReceived(received);
|
|
|
+ vo.setUncollected(practical.subtract(received));
|
|
|
+ vo.setProceedsRecord(replenish.getProceedsRecord());
|
|
|
//发票
|
|
|
List<TopNuoMplatformLog> fromLogs = topNuoMplatformLogService
|
|
|
.list(new LambdaQueryWrapper<TopNuoMplatformLog>()
|
|
@@ -4583,9 +4589,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
vo.setProceedsChange(replenish.getProceedsChange());
|
|
|
vo.setCost(replenish.getCost());
|
|
|
}else {
|
|
|
- BigDecimal uncollected = vo.getPriceTotal();
|
|
|
- vo.setUncollected(uncollected);
|
|
|
- vo.setReceived(vo.getPriceTotal().subtract(uncollected));
|
|
|
//已退
|
|
|
BigDecimal refunded = new BigDecimal("0.00");
|
|
|
TopOldOrder orderBySn = baseMapper.getOrderBySn(vo.getOrderSn());
|
|
@@ -4608,7 +4611,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
}
|
|
|
vo.setRefunded(refunded);
|
|
|
- vo.setPractical(vo.getPriceTotal().subtract(refunded));
|
|
|
+ //实际
|
|
|
+ BigDecimal practical = vo.getPriceTotal().subtract(refunded);
|
|
|
+ vo.setUncollected(practical);
|
|
|
+ vo.setReceived(BigDecimal.ZERO);
|
|
|
+ vo.setPractical(practical);
|
|
|
//发票
|
|
|
List<TopNuoMplatformLog> fromLogs = topNuoMplatformLogService
|
|
|
.list(new LambdaQueryWrapper<TopNuoMplatformLog>()
|
|
@@ -4699,7 +4706,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
//补考次数
|
|
|
if (queryBo.getOrderBase() == 1){
|
|
|
TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, queryBo.getOrderSn()));
|
|
|
- User user = userService.getByCardNoTenant(EncryptHandler.decrypt(item.getUserCard()));
|
|
|
+ User user = userService.getByCardNoTenant(EncryptHandler.decryptTwo(item.getUserCard()));
|
|
|
Order orderOne = orderService.getOne(new LambdaQueryWrapper<Order>()
|
|
|
.eq(Order::getInputOrderSn, order.getInputOrderSn())
|
|
|
.eq(Order::getUserId,user.getUserId())
|
|
@@ -5060,10 +5067,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Override
|
|
|
public TopQuestionImportVo importOrderQuestion(List<TopOrderQuestionImportBo> questionImportBos) {
|
|
|
TopQuestionImportVo vo = new TopQuestionImportVo();
|
|
|
- vo.setTotal(questionImportBos.size());
|
|
|
- Integer correct = 0;
|
|
|
- Integer errorNum = 0;
|
|
|
+ //正确的数据集合
|
|
|
List<TopOldOrderQuestionVo> questionVos = new ArrayList<>();
|
|
|
+
|
|
|
Map<String, List<TopOrderQuestionImportBo>> collect =
|
|
|
questionImportBos.stream().collect(Collectors.groupingBy(TopOrderQuestionImportBo::getCreateNo));
|
|
|
collect.forEach((k,v) -> {
|
|
@@ -5085,30 +5091,73 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (!businessFullName.contains("考前培训") && !businessFullName.contains("施工现场专业人员")){
|
|
|
continue;
|
|
|
}
|
|
|
- //过滤
|
|
|
- List<TopOrderQuestionImportBo> collect1 = v.stream().filter(x -> x.getUserName().equals(orderGoods.getUserName())
|
|
|
- && x.getUserCard().equals(EncryptHandler.decryptTwo(orderGoods.getUserCard())) && x.getMajorName().equals(orderGoods.getMajorName())).collect(Collectors.toList());
|
|
|
- if (CollectionUtils.isEmpty(collect1)){
|
|
|
- continue;
|
|
|
- }
|
|
|
- //新增题库开通记录
|
|
|
- List<TopOldOrderQuestion> collect2 = collect1.stream().map(i -> {
|
|
|
- TopOldOrderQuestion question = new TopOldOrderQuestion();
|
|
|
- question.setOrderSn(orderGoods.getOrderSn());
|
|
|
- question.setOrderGoodsId(orderGoods.getOrderGoodsId());
|
|
|
- question.setOpenDate(DateUtils.dateTimeSec("yyyy/MM/dd", i.getOpenDate()));
|
|
|
- question.setSign(i.getSign());
|
|
|
- question.setRemark(i.getRemark());
|
|
|
- question.setStatus(1);
|
|
|
- question.setCreateTime(DateUtils.getNowTime());
|
|
|
- question.setUpdateTime(DateUtils.getNowTime());
|
|
|
- return question;
|
|
|
- }).collect(Collectors.toList());
|
|
|
+ List<TopOldOrderQuestion> questionList = topOldOrderQuestionService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderQuestion>()
|
|
|
+ .eq(TopOldOrderQuestion::getOrderSn, oldOrder.getOrderSn())
|
|
|
+ .eq(TopOldOrderQuestion::getOrderGoodsId, orderGoods.getOrderGoodsId())
|
|
|
+ .eq(TopOldOrderQuestion::getStatus, 1));
|
|
|
+ v.forEach(item -> {
|
|
|
+ if (item.getUserName().equals(orderGoods.getUserName())
|
|
|
+ && item.getUserCard().equals(EncryptHandler.decryptTwo(orderGoods.getUserCard())) && item.getMajorName().equals(orderGoods.getMajorName())){
|
|
|
+ //判断是否已开通
|
|
|
+ if (questionList.stream().anyMatch(x -> x.getOpenDate().equals(DateUtils.dateTimeSec("yyyy/MM/dd",item.getOpenDate())))){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //正确的
|
|
|
+ TopOldOrderQuestionVo questionVo = new TopOldOrderQuestionVo();
|
|
|
+ questionVo.setOrderSn(orderGoods.getOrderSn());
|
|
|
+ questionVo.setOrderGoodsId(orderGoods.getOrderGoodsId());
|
|
|
+ questionVo.setCreateNo(item.getCreateNo());
|
|
|
+ questionVo.setOpenDate(DateUtils.dateTimeSec("yyyy/MM/dd", item.getOpenDate()));
|
|
|
+ questionVo.setSign(item.getSign());
|
|
|
+ questionVo.setRemark(item.getRemark());
|
|
|
+ questionVo.setUserName(item.getUserName());
|
|
|
+ questionVo.setUserCard(item.getUserCard());
|
|
|
+ questionVo.setMajorName(item.getMajorName());
|
|
|
+ questionVo.setEduName("考前培训");
|
|
|
+ questionVo.setBusinessName("施工现场专业人员");
|
|
|
+ questionVo.setCheck(1);
|
|
|
+ questionVos.add(questionVo);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
+ List<TopOldOrderQuestionVo> collect1 = questionImportBos.stream().map(item -> {
|
|
|
+ if (CollectionUtils.isNotEmpty(questionVos)) {
|
|
|
+ TopOldOrderQuestionVo questionVo = questionVos.stream().filter(x -> x.getUserName().equals(item.getUserName())
|
|
|
+ && x.getUserCard().equals(EncryptHandler.decryptTwo(item.getUserCard()))
|
|
|
+ && x.getMajorName().equals(item.getMajorName())
|
|
|
+ && x.getCreateNo().equals(item.getCreateNo())).findFirst().orElse(null);
|
|
|
+ if (ObjectUtils.isNotNull(questionVo)) {
|
|
|
+ return questionVo;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ TopOldOrderQuestionVo questionVo = BeanUtil.toBean(item, TopOldOrderQuestionVo.class);
|
|
|
+ questionVo.setOpenDate(DateUtils.dateTimeSec("yyyy/MM/dd", item.getOpenDate()));
|
|
|
+ questionVo.setCheck(2);
|
|
|
+ return questionVo;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ //正确的数量
|
|
|
+ Long count = collect1.stream().filter(x -> ObjectUtils.isNotNull(x.getCheck()) && x.getCheck() == 1).count();
|
|
|
+ vo.setTotal(collect1.size());
|
|
|
+ vo.setErrorNum(collect1.size() - count.intValue());
|
|
|
+ vo.setCorrectNum(count.intValue());
|
|
|
+ vo.setDataList(collect1);
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean batchSaveOrderQuestion(List<TopOrderRepQuestionBo> bos) {
|
|
|
+ List<TopOldOrderQuestion> collect = bos.stream().map(item -> {
|
|
|
+ TopOldOrderQuestion question = BeanUtil.toBean(item, TopOldOrderQuestion.class);
|
|
|
+ question.setStatus(1);
|
|
|
+ question.setCreateTime(DateUtils.getNowTime());
|
|
|
+ question.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ return question;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return topOldOrderQuestionService.saveBatch(collect);
|
|
|
+ }
|
|
|
+
|
|
|
private String hideIDCard(String idCard) {
|
|
|
if (idCard == null || idCard.length() != 18) {
|
|
|
return idCard;
|