|
|
@@ -28,14 +28,17 @@ import com.zhongzheng.modules.course.domain.*;
|
|
|
import com.zhongzheng.modules.course.service.*;
|
|
|
import com.zhongzheng.modules.goods.domain.Goods;
|
|
|
import com.zhongzheng.modules.goods.service.IGoodsService;
|
|
|
+import com.zhongzheng.modules.grade.domain.ClassGradeGoods;
|
|
|
import com.zhongzheng.modules.grade.domain.ClassGradeUser;
|
|
|
import com.zhongzheng.modules.grade.domain.UserPeriod;
|
|
|
+import com.zhongzheng.modules.grade.service.IClassGradeGoodsService;
|
|
|
import com.zhongzheng.modules.grade.service.IClassGradeUserService;
|
|
|
import com.zhongzheng.modules.grade.service.IUserPeriodService;
|
|
|
import com.zhongzheng.modules.inform.bo.InformSysUserAddBo;
|
|
|
import com.zhongzheng.modules.inform.service.IInformRemindService;
|
|
|
import com.zhongzheng.modules.inform.service.IInformSysUserService;
|
|
|
import com.zhongzheng.modules.inform.vo.InformRemindVo;
|
|
|
+import com.zhongzheng.modules.order.bo.OrderInputDataAddBo;
|
|
|
import com.zhongzheng.modules.order.bo.OrderInvoiceBo;
|
|
|
import com.zhongzheng.modules.order.bo.OrderInvoiceHostBo;
|
|
|
import com.zhongzheng.modules.order.domain.*;
|
|
|
@@ -160,6 +163,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Autowired
|
|
|
private IOrderService orderService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IClassGradeGoodsService classGradeGoodsService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private IOrderInvoiceOrderService orderInvoiceOrderService;
|
|
|
|
|
|
@@ -329,7 +335,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Override
|
|
|
public TopOldOrderVo queryById(String orderSn) {
|
|
|
//查询视图 v_top_order
|
|
|
- TopOldOrderVo orderVo = baseMapper.queryById(orderSn);
|
|
|
+ TopOldOrderVo orderVo = getOrderVoBySn(orderSn);
|
|
|
if (ObjectUtils.isNull(orderVo)) {
|
|
|
throw new CustomException("订单号错误!");
|
|
|
}
|
|
|
@@ -420,6 +426,15 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return orderVo;
|
|
|
}
|
|
|
|
|
|
+ private TopOldOrderVo getOrderVoBySn(String orderSn){
|
|
|
+ TopOldOrderVo orderVo = baseMapper.getOldOrderBySn(orderSn);
|
|
|
+ if (ObjectUtils.isNull(orderVo)){
|
|
|
+ //新系统
|
|
|
+ orderVo = baseMapper.getNewOrderBySn(orderSn);
|
|
|
+ }
|
|
|
+ return orderVo;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<String> queryOrderBusinessName(String orderSn){
|
|
|
return baseMapper.queryBusinessBySn(orderSn);
|
|
|
@@ -1263,7 +1278,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
if (query.getOrderFrom() != 4){
|
|
|
//查询视图 v_top_order
|
|
|
- TopOldOrderVo orderVo = baseMapper.queryById(query.getOrderSn());
|
|
|
+ TopOldOrderVo orderVo = getOrderVoBySn(query.getOrderSn());
|
|
|
if (orderVo.getOrderBase() == 1){
|
|
|
TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, query.getOrderSn()));
|
|
|
BigDecimal bonus = BigDecimal.ZERO;
|
|
|
@@ -1322,67 +1337,67 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (ObjectUtils.isNotNull(order.getPretaxBrokerage()) && order.getPretaxBrokerage().compareTo(BigDecimal.ZERO) > 0){
|
|
|
bonus = order.getPretaxBrokerage().divide(new BigDecimal(list.size()),BigDecimal.ROUND_CEILING);
|
|
|
}
|
|
|
- Map<String, String> params = new HashMap<>();
|
|
|
- Long nowTime = DateUtils.getNowTime();
|
|
|
- String sign = ToolsUtils.EncoderByMd5(query.getOrderSn() + nowTime.toString() + "pubilc2022");
|
|
|
- params.put("stamp", nowTime.toString());
|
|
|
- params.put("sign", sign);
|
|
|
- params.put("orderSn", query.getOrderSn());
|
|
|
- params.put("type", order.getOrderType().toString());
|
|
|
- String respone = "";
|
|
|
- try {
|
|
|
- respone = HttpUtils.postFormBody(ORDER_STUDY, params);
|
|
|
- if (!respone.contains("\"Status\":true")) {
|
|
|
- throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
- }
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
- Object data = jsonObject.get("Data");
|
|
|
- if (ObjectUtils.isNull(data)) {
|
|
|
- //data 为空
|
|
|
- for (TopOldOrderGoodsListVo x : list) {
|
|
|
- x.setPretaxBrokerage(bonus);
|
|
|
- x.setStudyStatus("未开始");
|
|
|
- //分成模式
|
|
|
- if (ObjectUtils.isNotNull(x.getDivideType()) && x.getDivideType() == 1){
|
|
|
- x.setDivideRateStr(x.getDivideRate()+"%");
|
|
|
- }else {
|
|
|
- x.setDivideRateStr(ObjectUtil.isNull(x.getDivideRate())?"0%":x.getDivideRate().toString());
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- List<TopOldOrderStudyVo> studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
|
|
|
- for (TopOldOrderGoodsListVo item : list) {
|
|
|
- item.setPretaxBrokerage(bonus);
|
|
|
- item.setStudyStatus("未开始");
|
|
|
- TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(item.getSignId())
|
|
|
- && x.getIdNum().equals(item.getUserCard())).findFirst().orElse(null);
|
|
|
- if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
|
|
|
- if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
|
|
|
- item.setStudyStatus("未开始");
|
|
|
- } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
|
|
|
- item.setStudyStatus("学习中");
|
|
|
- } else {
|
|
|
- item.setStudyStatus("已结束");
|
|
|
- }
|
|
|
- }
|
|
|
- //分成模式
|
|
|
- if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
|
|
|
- item.setDivideRateStr(item.getDivideRate()+"%");
|
|
|
- }else {
|
|
|
- item.setDivideRateStr(ObjectUtil.isNull(item.getDivideRate())?"0%":item.getDivideRate().toString());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- log.error("旧系统订单学员学习情况接口请求错误" + respone);
|
|
|
- throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
- }
|
|
|
+// Map<String, String> params = new HashMap<>();
|
|
|
+// Long nowTime = DateUtils.getNowTime();
|
|
|
+// String sign = ToolsUtils.EncoderByMd5(query.getOrderSn() + nowTime.toString() + "pubilc2022");
|
|
|
+// params.put("stamp", nowTime.toString());
|
|
|
+// params.put("sign", sign);
|
|
|
+// params.put("orderSn", query.getOrderSn());
|
|
|
+// params.put("type", order.getOrderType().toString());
|
|
|
+// String respone = "";
|
|
|
+// try {
|
|
|
+// respone = HttpUtils.postFormBody(ORDER_STUDY, params);
|
|
|
+// if (!respone.contains("\"Status\":true")) {
|
|
|
+// throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
+// }
|
|
|
+// JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+// Object data = jsonObject.get("Data");
|
|
|
+// if (ObjectUtils.isNull(data)) {
|
|
|
+// //data 为空
|
|
|
+// for (TopOldOrderGoodsListVo x : list) {
|
|
|
+// x.setPretaxBrokerage(bonus);
|
|
|
+// x.setStudyStatus("未开始");
|
|
|
+// //分成模式
|
|
|
+// if (ObjectUtils.isNotNull(x.getDivideType()) && x.getDivideType() == 1){
|
|
|
+// x.setDivideRateStr(x.getDivideRate()+"%");
|
|
|
+// }else {
|
|
|
+// x.setDivideRateStr(ObjectUtil.isNull(x.getDivideRate())?"0%":x.getDivideRate().toString());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// List<TopOldOrderStudyVo> studyVos = JSONArray.parseArray(JSONObject.toJSONString(data), TopOldOrderStudyVo.class);
|
|
|
+// for (TopOldOrderGoodsListVo item : list) {
|
|
|
+// item.setPretaxBrokerage(bonus);
|
|
|
+// item.setStudyStatus("未开始");
|
|
|
+// TopOldOrderStudyVo studyVo = studyVos.stream().filter(x -> x.getUnderOrdeEnrollItemId().equals(item.getSignId())
|
|
|
+// && x.getIdNum().equals(item.getUserCard())).findFirst().orElse(null);
|
|
|
+// if (ObjectUtils.isNotNull(studyVo) && ObjectUtils.isNotNull(studyVo.getStudyHours())) {
|
|
|
+// if (ObjectUtils.isNull(studyVo.getStudyHours()) && studyVo.getStudyHours() == 0) {
|
|
|
+// item.setStudyStatus("未开始");
|
|
|
+// } else if (studyVo.getStudyHours() < studyVo.getTotalHours()) {
|
|
|
+// item.setStudyStatus("学习中");
|
|
|
+// } else {
|
|
|
+// item.setStudyStatus("已结束");
|
|
|
+// }
|
|
|
+// }
|
|
|
+// //分成模式
|
|
|
+// if (ObjectUtils.isNotNull(item.getDivideType()) && item.getDivideType() == 1){
|
|
|
+// item.setDivideRateStr(item.getDivideRate()+"%");
|
|
|
+// }else {
|
|
|
+// item.setDivideRateStr(ObjectUtil.isNull(item.getDivideRate())?"0%":item.getDivideRate().toString());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } catch (IOException e) {
|
|
|
+// log.error("旧系统订单学员学习情况接口请求错误" + respone);
|
|
|
+// throw new CustomException("旧系统订单学员学习情况接口请求错误");
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//奖金
|
|
|
- TopOldOrder oldOrder = baseMapper.getOrderBySn(query.getOrderSn());
|
|
|
+ TopOldOrderVo oldOrder = getOrderVoBySn(query.getOrderSn());
|
|
|
BigDecimal money = BigDecimal.ZERO;
|
|
|
if (ObjectUtils.isNotNull(oldOrder.getPretaxBrokerage()) && CollectionUtils.isNotEmpty(list)){
|
|
|
money = oldOrder.getPretaxBrokerage().divide(new BigDecimal(list.size()),2,BigDecimal.ROUND_CEILING);
|
|
|
@@ -1444,42 +1459,42 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
oldOrder.setCheckTime(checkTime);
|
|
|
oldOrder.setUpdateTime(checkTime);
|
|
|
Boolean brokerageFlag = false;
|
|
|
- switch (bo.getCheckStatus()) {
|
|
|
- case 1://通过审核 如果佣金有修改重新计算成本
|
|
|
- if (StringUtils.isNotBlank(oldOrder.getCostJson())
|
|
|
- && ObjectUtils.isNotNull(oldOrder.getPretaxBrokerageRecord())
|
|
|
- && ObjectUtils.isNotNull(oldOrder.getPretaxRecord())) {
|
|
|
- recalculateCost(oldOrder.getCostJson(), oldOrder);
|
|
|
- brokerageFlag = true;
|
|
|
- }
|
|
|
- oldOrder.setCheckStatus(bo.getCheckStatus());
|
|
|
- checkLog.setCheckStatus(1);
|
|
|
- break;
|
|
|
- case 2://拒绝 恢复原本的佣金
|
|
|
- if (StringUtils.isNotBlank(oldOrder.getCostJson())
|
|
|
- && ObjectUtils.isNotNull(oldOrder.getPretaxBrokerageRecord())
|
|
|
- && ObjectUtils.isNotNull(oldOrder.getPretaxRecord())) {
|
|
|
- oldOrder.setPretaxBrokerage(oldOrder.getPretaxBrokerageRecord());
|
|
|
- oldOrder.setPretax(oldOrder.getPretaxRecord());
|
|
|
- //计算佣金
|
|
|
- BigDecimal multiply = oldOrder.getPretaxBrokerage().multiply(oldOrder.getPretax());
|
|
|
- //总佣金
|
|
|
- BigDecimal brokerage = oldOrder.getPretaxBrokerage().subtract(multiply);
|
|
|
- oldOrder.setBrokerage(brokerage);
|
|
|
- oldOrder.setPretaxRecord(null);
|
|
|
- oldOrder.setPretaxBrokerageRecord(null);
|
|
|
- brokerageFlag = true;
|
|
|
- //修改佣金审核不影响订单审核状态
|
|
|
- oldOrder.setCheckStatus(1);
|
|
|
- } else {
|
|
|
- oldOrder.setCheckStatus(bo.getCheckStatus());
|
|
|
- }
|
|
|
- checkLog.setCheckStatus(-1);
|
|
|
- checkLog.setCheckReason(bo.getCheckReason());
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
+// switch (bo.getCheckStatus()) {
|
|
|
+// case 1://通过审核 如果佣金有修改重新计算成本
|
|
|
+// if (StringUtils.isNotBlank(oldOrder.getCostJson())
|
|
|
+// && ObjectUtils.isNotNull(oldOrder.getPretaxBrokerageRecord())
|
|
|
+// && ObjectUtils.isNotNull(oldOrder.getPretaxRecord())) {
|
|
|
+// recalculateCost(oldOrder.getCostJson(), oldOrder);
|
|
|
+// brokerageFlag = true;
|
|
|
+// }
|
|
|
+// oldOrder.setCheckStatus(bo.getCheckStatus());
|
|
|
+// checkLog.setCheckStatus(1);
|
|
|
+// break;
|
|
|
+// case 2://拒绝 恢复原本的佣金
|
|
|
+// if (StringUtils.isNotBlank(oldOrder.getCostJson())
|
|
|
+// && ObjectUtils.isNotNull(oldOrder.getPretaxBrokerageRecord())
|
|
|
+// && ObjectUtils.isNotNull(oldOrder.getPretaxRecord())) {
|
|
|
+// oldOrder.setPretaxBrokerage(oldOrder.getPretaxBrokerageRecord());
|
|
|
+// oldOrder.setPretax(oldOrder.getPretaxRecord());
|
|
|
+// //计算佣金
|
|
|
+// BigDecimal multiply = oldOrder.getPretaxBrokerage().multiply(oldOrder.getPretax());
|
|
|
+// //总佣金
|
|
|
+// BigDecimal brokerage = oldOrder.getPretaxBrokerage().subtract(multiply);
|
|
|
+// oldOrder.setBrokerage(brokerage);
|
|
|
+// oldOrder.setPretaxRecord(null);
|
|
|
+// oldOrder.setPretaxBrokerageRecord(null);
|
|
|
+// brokerageFlag = true;
|
|
|
+// //修改佣金审核不影响订单审核状态
|
|
|
+// oldOrder.setCheckStatus(1);
|
|
|
+// } else {
|
|
|
+// oldOrder.setCheckStatus(bo.getCheckStatus());
|
|
|
+// }
|
|
|
+// checkLog.setCheckStatus(-1);
|
|
|
+// checkLog.setCheckReason(bo.getCheckReason());
|
|
|
+// break;
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
LambdaQueryWrapper<TopOldOrderGoods> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(TopOldOrderGoods::getOrderSn, oldOrder.getOrderSn());
|
|
|
wrapper.eq(TopOldOrderGoods::getStatus, 1);
|
|
|
@@ -1492,10 +1507,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
|
|
|
updateById(oldOrder);
|
|
|
topOldOrderCheckLogService.updateById(checkLog);
|
|
|
- if (bo.getCheckStatus() == 1) {
|
|
|
- //处理供应商时间结算单
|
|
|
- instTimeSettleOrder(oldOrder, checkTime);
|
|
|
- }
|
|
|
+// if (bo.getCheckStatus() == 1) {
|
|
|
+// //处理供应商时间结算单
|
|
|
+// instTimeSettleOrder(oldOrder, checkTime);
|
|
|
+// }
|
|
|
if (oldOrder.getOrderFrom() == 4){
|
|
|
//新系统七大员开通题库订单
|
|
|
switch (bo.getCheckStatus()){
|
|
|
@@ -1534,13 +1549,13 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
String costJson = order.getCostJson();
|
|
|
if (StringUtils.isNotBlank(costJson)) {
|
|
|
//分成金额
|
|
|
- TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
|
|
|
- List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
|
|
|
- if (CollectionUtils.isNotEmpty(itemList)) {
|
|
|
- //分成模板
|
|
|
- List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
|
|
|
- calculateDivide(divideList, order, divideModel);
|
|
|
- }
|
|
|
+// TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
|
|
|
+// List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
|
|
|
+// if (CollectionUtils.isNotEmpty(itemList)) {
|
|
|
+// //分成模板
|
|
|
+// List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
|
|
|
+// calculateDivide(divideList, order, divideModel);
|
|
|
+// }
|
|
|
} else {
|
|
|
order.setFinishStatus(1);//已完单
|
|
|
order.setDivideModel(divideModel);
|
|
|
@@ -1549,31 +1564,181 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
updateById(order);
|
|
|
}
|
|
|
//佣金
|
|
|
- createBrokerageCheck(order);
|
|
|
+// createBrokerageCheck(order);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 订单审核通知业务系统
|
|
|
if (brokerageFlag) {
|
|
|
//佣金审核
|
|
|
- Map<String, String> params = new HashMap<>();
|
|
|
- Long nowTime = DateUtils.getNowTime();
|
|
|
- String sign = ToolsUtils.EncoderByMd5(bo.getOrderSn() + nowTime.toString() + "pubilc2022");
|
|
|
- params.put("stamp", nowTime.toString());
|
|
|
- params.put("sign", sign);
|
|
|
- params.put("orderSn", bo.getOrderSn());
|
|
|
- params.put("auditstatus", bo.getCheckStatus().toString());
|
|
|
- String respone = "";
|
|
|
- try {
|
|
|
- respone = HttpUtils.postFormBody(CHECK_ORDER_BROKERAGE, params);
|
|
|
- if (!respone.contains("\"Status\":true")) {
|
|
|
- throw new CustomException("旧系统订单佣金审核接口请求错误");
|
|
|
+// Map<String, String> params = new HashMap<>();
|
|
|
+// Long nowTime = DateUtils.getNowTime();
|
|
|
+// String sign = ToolsUtils.EncoderByMd5(bo.getOrderSn() + nowTime.toString() + "pubilc2022");
|
|
|
+// params.put("stamp", nowTime.toString());
|
|
|
+// params.put("sign", sign);
|
|
|
+// params.put("orderSn", bo.getOrderSn());
|
|
|
+// params.put("auditstatus", bo.getCheckStatus().toString());
|
|
|
+// String respone = "";
|
|
|
+// try {
|
|
|
+// respone = HttpUtils.postFormBody(CHECK_ORDER_BROKERAGE, params);
|
|
|
+// if (!respone.contains("\"Status\":true")) {
|
|
|
+// throw new CustomException("旧系统订单佣金审核接口请求错误");
|
|
|
+// }
|
|
|
+// } catch (IOException e) {
|
|
|
+// log.error("旧系统订单审核接口请求错误" + respone);
|
|
|
+// throw new CustomException("旧系统订单佣金审核接口请求错误");
|
|
|
+// }
|
|
|
+ } else {
|
|
|
+
|
|
|
+ if (bo.getCheckStatus() == 1 && oldOrder.getOrderBase() == 1) {
|
|
|
+ //开单
|
|
|
+ List<TopOldOrderGoods> oldOrderGoods = topOrderGoodsService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderGoods>()
|
|
|
+ .eq(TopOldOrderGoods::getOrderSn, oldOrder.getOrderSn())
|
|
|
+ .eq(TopOldOrderGoods::getStatus, 1));
|
|
|
+ if (CollectionUtils.isNotEmpty(oldOrderGoods)) {
|
|
|
+ //新建录单
|
|
|
+ OrderInput orderInput = new OrderInput();
|
|
|
+ String dateInputOrderSn = DateUtils.getDateInputOrderSn();
|
|
|
+ orderInput.setInputOrderSn(dateInputOrderSn);
|
|
|
+ orderInput.setCreateUsername(oldOrder.getCreateUsername());
|
|
|
+ orderInput.setCheckStauts(1);
|
|
|
+ orderInput.setCreateSysUserId(-1L);
|
|
|
+ orderInput.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ orderInput.setCreateTime(DateUtils.getNowTime());
|
|
|
+ orderInput.setEducationTypeId(oldOrderGoods.get(0).getEducationTypeId());
|
|
|
+ orderInput.setBusinessId(oldOrderGoods.get(0).getBusinessId());
|
|
|
+ orderInput.setProjectId(oldOrderGoods.get(0).getProjectId());
|
|
|
+ orderInput.setInputFrom(1);
|
|
|
+ orderInput.setCheckStauts(2);
|
|
|
+ SysOldOrg oldOrg = sysOldOrgService
|
|
|
+ .getOne(new LambdaQueryWrapper<SysOldOrg>().eq(SysOldOrg::getOrgId, oldOrder.getTenantId()).eq(SysOldOrg::getStatus, 1).last("limit 1"));
|
|
|
+ Long tenantId = ObjectUtils.isNotNull(oldOrg)?oldOrg.getTenantId():867735392558919680L;
|
|
|
+ orderInput.setTenantId(tenantId);
|
|
|
+ orderInputService.save(orderInput);
|
|
|
+
|
|
|
+ //创建订单
|
|
|
+ Map<String, List<TopOldOrderGoods>> map = oldOrderGoods.stream().collect(Collectors.groupingBy(TopOldOrderGoods::getUserCard));
|
|
|
+ map.forEach((k,v) -> {
|
|
|
+ String card = EncryptHandler.decrypt(k);
|
|
|
+ //校验是否重复
|
|
|
+ Order order = new Order();
|
|
|
+ //生成订单号
|
|
|
+ String out_trade_no = DateUtils.getDateOrderSn();
|
|
|
+ order.setOrderSn(out_trade_no);
|
|
|
+ order.setOrderType(Order.CONSUME_ORDER);
|
|
|
+
|
|
|
+ //获取用户
|
|
|
+ User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, card).eq(User::getStatus, 1).eq(User::getTenantId, tenantId));
|
|
|
+ Long userId = user.getUserId();
|
|
|
+ order.setUserId(userId);
|
|
|
+ v.forEach(item -> {
|
|
|
+ Goods goods = goodsService.getById(item.getGoodsId());
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ Long count = orderGoodsService.countOrderGoodsByYear(goods.getSevenYear(),goods.getGoodsId(),userId);
|
|
|
+ if (count > 0){
|
|
|
+ throw new CustomException(String.format("%s请勿重复购买【%s】",user.getRealname(),goods.getGoodsName()));
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ Long count = orderService.getOrderGoodsByBo(goods.getGoodsId(),userId);
|
|
|
+ if (count > 0){
|
|
|
+ throw new CustomException(String.format("%s请勿重复购买【%s】",user.getRealname(),goods.getGoodsName()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ OrderGoods orderGoods1 = new OrderGoods();
|
|
|
+ orderGoods1.setOrderSn(out_trade_no);
|
|
|
+ orderGoods1.setGoodsId(goods.getGoodsId());
|
|
|
+ orderGoods1.setBeforeSign(goods.getBeforeSign());
|
|
|
+
|
|
|
+ //创建班级
|
|
|
+ ClassGradeGoods classGradeGoods = classGradeGoodsService.getOne(new LambdaUpdateWrapper<ClassGradeGoods>()
|
|
|
+ .eq(ClassGradeGoods::getGoodsId, goods.getGoodsId())
|
|
|
+ .eq(ClassGradeGoods::getTenantId, tenantId)
|
|
|
+ .orderByDesc(ClassGradeGoods::getCreateTime).last("limit 1"));
|
|
|
+ if (ObjectUtils.isNull(classGradeGoods)){
|
|
|
+ throw new CustomException("班级有误,请检查!");
|
|
|
+ }
|
|
|
+
|
|
|
+ OrderInputDataAddBo orderInputDataAddBo = new OrderInputDataAddBo();
|
|
|
+ orderInputDataAddBo.setType("");
|
|
|
+ orderInputDataAddBo.setExamDateJson("");
|
|
|
+ orderInputDataAddBo.setGradeId(classGradeGoods.getGradeId());
|
|
|
+ orderInputDataAddBo.setGradeJson("");
|
|
|
+ orderInputDataAddBo.setApplyAreasJson("");
|
|
|
+ orderGoods1.setGoodsInputData(JSON.toJSONString(orderInputDataAddBo));
|
|
|
+
|
|
|
+ if (StringUtils.isNotBlank(goods.getSevenYear())){
|
|
|
+ orderGoods1.setSevenYear(goods.getSevenYear());
|
|
|
+ }
|
|
|
+
|
|
|
+ //成交价
|
|
|
+ orderGoods1.setGoodsPrice(item.getGoodsPrice());
|
|
|
+ orderGoods1.setGoodsRealPrice(item.getGoodsRealPrice());
|
|
|
+ orderGoods1.setGoodsYear(goods.getYear().toString());
|
|
|
+ orderGoods1.setCreateTime(DateUtils.getNowTime());
|
|
|
+ orderGoods1.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ orderGoods1.setStatus(1);
|
|
|
+ orderGoods1.setTenantId(tenantId);
|
|
|
+ orderGoods1.setRefundStatus(0);
|
|
|
+ orderGoods1.setPayStatus(4);
|
|
|
+ orderGoods1.setGradeId(classGradeGoods.getGradeId());
|
|
|
+ orderGoods1.setStudyCount(1L);
|
|
|
+ orderGoods1.setServiceStartTime(DateUtils.getNowTime());
|
|
|
+ orderGoods1.setServiceEndTime(DateUtils.getNowTime() + 31536000L);
|
|
|
+ orderGoods1.setSevenClassCopy(1L);
|
|
|
+ orderGoodsService.save(orderGoods1);
|
|
|
+
|
|
|
+ //创建班级
|
|
|
+ ClassGradeUser gradeUser = new ClassGradeUser();
|
|
|
+ gradeUser.setUserId(userId);
|
|
|
+ gradeUser.setGradeId(classGradeGoods.getGradeId());
|
|
|
+ gradeUser.setStatus(1);
|
|
|
+ gradeUser.setCreateTime(DateUtils.getNowTime());
|
|
|
+ gradeUser.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ gradeUser.setTenantId(tenantId);
|
|
|
+ gradeUser.setCreateBy("sys");
|
|
|
+ gradeUser.setPeriodStatus(-1);
|
|
|
+ gradeUser.setFinishStatus(0);
|
|
|
+ gradeUser.setFromType(1);
|
|
|
+ gradeUser.setOrderGoodsId(orderGoods1.getOrderGoodsId());
|
|
|
+ gradeUser.setLearnStatus(0);
|
|
|
+ gradeUser.setChangeGrade(0);
|
|
|
+
|
|
|
+ classGradeUserService.save(gradeUser);
|
|
|
+
|
|
|
+ });
|
|
|
+ //价格
|
|
|
+ BigDecimal reduce = v.stream().map(TopOldOrderGoods::getGoodsPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ order.setPayPrice(reduce);
|
|
|
+ order.setOrderStatus(1);
|
|
|
+ order.setCreateTime(DateUtils.getNowTime());
|
|
|
+ order.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ order.setPayTime(DateUtils.getNowTime());
|
|
|
+ order.setOrderType(0);
|
|
|
+ order.setFinishTime(DateUtils.getNowTime());
|
|
|
+ order.setOrderType(2);
|
|
|
+ order.setPayPrice(reduce);
|
|
|
+ order.setTenantId(tenantId);
|
|
|
+ order.setOrderFrom(6);
|
|
|
+ order.setStatus(1);
|
|
|
+ order.setCreateSysUserId(1L);
|
|
|
+ order.setInputOrderSn(dateInputOrderSn);
|
|
|
+ order.setPayStatus(3);
|
|
|
+ order.setOrderOrg(oldOrg.getOrgId());
|
|
|
+ order.setCheckStatus(1);
|
|
|
+ order.setDivideStatus(1);
|
|
|
+ order.setOldCompanyId(oldOrder.getOldCompanyId().toString());
|
|
|
+ order.setOldInstitutionId(oldOrder.getOldInstitutionId().toString());
|
|
|
+ order.setOldCustomerId(oldOrder.getOldCustomerId().toString());
|
|
|
+ order.setOperationType(1);
|
|
|
+ order.setOrgSign(1);
|
|
|
+
|
|
|
+ orderService.save(order);
|
|
|
+ });
|
|
|
}
|
|
|
- } catch (IOException e) {
|
|
|
- log.error("旧系统订单审核接口请求错误" + respone);
|
|
|
- throw new CustomException("旧系统订单佣金审核接口请求错误");
|
|
|
+
|
|
|
}
|
|
|
- } else {
|
|
|
//订单审核
|
|
|
Map<String, String> params = new HashMap<>();
|
|
|
Long nowTime = DateUtils.getNowTime();
|
|
|
@@ -1600,36 +1765,36 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
}
|
|
|
|
|
|
- if (bo.getCheckStatus() == 1 && oldOrder.getOrderBase() == 1) {
|
|
|
- //审核通过
|
|
|
- //底单在新系统 查询新系统订单号
|
|
|
- Map<String, String> params1 = new HashMap<>();
|
|
|
- Long nowTime1 = DateUtils.getNowTime();
|
|
|
- String sign1 = ToolsUtils.EncoderByMd5(nowTime1.toString() + "pubilc2022");
|
|
|
- params1.put("stamp", nowTime1.toString());
|
|
|
- params1.put("sign", sign1);
|
|
|
- params1.put("orderSn", oldOrder.getOrderSn());
|
|
|
- String respone1 = "";
|
|
|
- try {
|
|
|
- respone1 = HttpUtils.postFormBody(INPUT_ORDER, params1);
|
|
|
- if (!respone1.contains("\"Status\":true")) {
|
|
|
- throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
- }
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(respone1);
|
|
|
- Object data = jsonObject.get("Data");
|
|
|
- if (ObjectUtils.isNull(data)) {
|
|
|
- //data 为空
|
|
|
- throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
- } else {
|
|
|
- TopOldOrder topOldOrder = getById(oldOrder.getOrderId());
|
|
|
- topOldOrder.setInputOrderSn(data.toString());
|
|
|
- updateById(topOldOrder);
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- log.error("旧系统查询新系统订单号接口请求错误" + respone1);
|
|
|
- throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
- }
|
|
|
- }
|
|
|
+// if (bo.getCheckStatus() == 1 && oldOrder.getOrderBase() == 1) {
|
|
|
+// //审核通过
|
|
|
+// //底单在新系统 查询新系统订单号
|
|
|
+// Map<String, String> params1 = new HashMap<>();
|
|
|
+// Long nowTime1 = DateUtils.getNowTime();
|
|
|
+// String sign1 = ToolsUtils.EncoderByMd5(nowTime1.toString() + "pubilc2022");
|
|
|
+// params1.put("stamp", nowTime1.toString());
|
|
|
+// params1.put("sign", sign1);
|
|
|
+// params1.put("orderSn", oldOrder.getOrderSn());
|
|
|
+// String respone1 = "";
|
|
|
+// try {
|
|
|
+// respone1 = HttpUtils.postFormBody(INPUT_ORDER, params1);
|
|
|
+// if (!respone1.contains("\"Status\":true")) {
|
|
|
+// throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
+// }
|
|
|
+// JSONObject jsonObject = JSONObject.parseObject(respone1);
|
|
|
+// Object data = jsonObject.get("Data");
|
|
|
+// if (ObjectUtils.isNull(data)) {
|
|
|
+// //data 为空
|
|
|
+// throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
+// } else {
|
|
|
+// TopOldOrder topOldOrder = getById(oldOrder.getOrderId());
|
|
|
+// topOldOrder.setInputOrderSn(data.toString());
|
|
|
+// updateById(topOldOrder);
|
|
|
+// }
|
|
|
+// } catch (IOException e) {
|
|
|
+// log.error("旧系统查询新系统订单号接口请求错误" + respone1);
|
|
|
+// throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
@@ -2292,7 +2457,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Override
|
|
|
public TopOldOrderUpVo getOrderGoodsApplyList(String orderSn) {
|
|
|
//查询视图 v_top_order
|
|
|
- TopOldOrderVo orderVo = baseMapper.queryById(orderSn);
|
|
|
+ TopOldOrderVo orderVo = getOrderVoBySn(orderSn);
|
|
|
if (ObjectUtils.isNull(orderVo)) {
|
|
|
throw new CustomException("订单号错误!");
|
|
|
}
|
|
|
@@ -2445,7 +2610,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Override
|
|
|
public List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn) {
|
|
|
//查询视图 v_top_order
|
|
|
- TopOldOrderVo orderVo = baseMapper.queryById(orderSn);
|
|
|
+ TopOldOrderVo orderVo = getOrderVoBySn(orderSn);
|
|
|
if (ObjectUtils.isNull(orderVo)) {
|
|
|
throw new CustomException("订单号错误!");
|
|
|
}
|