|
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.Page;
|
|
|
import com.zhongzheng.common.core.domain.entity.SysUser;
|
|
@@ -39,8 +40,11 @@ import com.zhongzheng.modules.order.domain.Order;
|
|
|
import com.zhongzheng.modules.order.domain.OrderGoods;
|
|
|
import com.zhongzheng.modules.order.service.IOrderGoodsService;
|
|
|
import com.zhongzheng.modules.system.domain.SysOldOrg;
|
|
|
+import com.zhongzheng.modules.system.domain.SysTenant;
|
|
|
import com.zhongzheng.modules.system.service.ISysOldOrgService;
|
|
|
+import com.zhongzheng.modules.system.service.ISysTenantService;
|
|
|
import com.zhongzheng.modules.system.service.ISysUserService;
|
|
|
+import com.zhongzheng.modules.top.financial.bo.TopOrderProceedsBo;
|
|
|
import com.zhongzheng.modules.top.financial.bo.TopOrderRemindBo;
|
|
|
import com.zhongzheng.modules.top.financial.bo.TopOrderRevocationBo;
|
|
|
import com.zhongzheng.modules.top.financial.bo.TopSellerDiscountBo;
|
|
@@ -168,7 +172,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
private ITopCourseBusinessService topCourseBusinessService;
|
|
|
|
|
|
@Autowired
|
|
|
- private ISysOldOrgService sysOldOrgService;
|
|
|
+ private ISysTenantService sysTenantService;
|
|
|
|
|
|
@Autowired
|
|
|
private ITopOldSellerDiscountService topOldSellerDiscountService;
|
|
@@ -176,8 +180,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Autowired
|
|
|
private ITopOrderBankPayService iTopOrderBankPayService;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
@Value("${oldOrder.studyRecord}")
|
|
|
private String ORDER_STUDY;
|
|
|
|
|
@@ -190,6 +192,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Value("${oldOrder.finishOrder}")
|
|
|
private String FINISH_ORDER;
|
|
|
|
|
|
+ @Value("${oldOrder.refuseCheck}")
|
|
|
+ private String REFUSE_CHECK;
|
|
|
+
|
|
|
+ @Value("${oldOrder.inputOrderSn}")
|
|
|
+ private String INPUT_ORDER;
|
|
|
+
|
|
|
@Override
|
|
|
public TopOldOrderVo queryById(String orderSn) {
|
|
|
//查询视图 v_top_order
|
|
@@ -255,6 +263,16 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
TopSysRole role = topSysRoleService.getById(checkLog.getRoleId());
|
|
|
item.setRefundName(role.getRoleName());
|
|
|
}
|
|
|
+ //学员审核情况
|
|
|
+ int count = topOrderGoodsService.count(new LambdaQueryWrapper<TopOldOrderGoods>()
|
|
|
+ .eq(TopOldOrderGoods::getOrderSn, item.getOrderSn())
|
|
|
+ .eq(TopOldOrderGoods::getCheckStatus, 0)//待审核
|
|
|
+ .eq(TopOldOrderGoods::getStatus, 1));
|
|
|
+ if (count > 0){
|
|
|
+ item.setStudentCheckStatus(0);
|
|
|
+ }else {
|
|
|
+ item.setStudentCheckStatus(1);
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
return orderVoList;
|
|
@@ -358,6 +376,33 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
} else {
|
|
|
add.setOrderUncollected(bo.getPayPrice().subtract(bo.getOrderReceived()));
|
|
|
}
|
|
|
+ if (add.getOrderBase() == 1){
|
|
|
+ //底单在新系统 查询新系统订单号
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ params.put("orderSn", add.getOrderSn());
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(INPUT_ORDER, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(respone);
|
|
|
+ Object data = jsonObject.get("Data");
|
|
|
+ if (ObjectUtils.isNull(data)) {
|
|
|
+ //data 为空
|
|
|
+ throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
+ }else {
|
|
|
+ add.setInputOrderSn(data.toString());
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("旧系统查询新系统订单号接口请求错误" + respone);
|
|
|
+ throw new CustomException("旧系统查询新系统订单号接口请求错误");
|
|
|
+ }
|
|
|
+ }
|
|
|
this.save(add);
|
|
|
//订单商品
|
|
|
if (CollectionUtils.isNotEmpty(bo.getOrderGoodsList())) {
|
|
@@ -563,16 +608,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
.eq(TopOldOrderGoods::getOrderSn, bo.getOrderSn())
|
|
|
.in(TopOldOrderGoods::getSignId, signIds));
|
|
|
}
|
|
|
- //订单待审核
|
|
|
- TopOldOrder oldOrder = BeanUtil.toBean(bo, TopOldOrder.class);
|
|
|
- oldOrder.setOrderId(order.getOrderId());
|
|
|
- oldOrder.setCheckStatus(0);//待审核
|
|
|
- oldOrder.setCheckRemark(bo.getOrderGoodsList().stream().map(x -> x.getSignId().toString()).collect(Collectors.joining(",")));
|
|
|
+ order.setCheckRemark(bo.getOrderGoodsList().stream().map(x -> x.getSignId().toString()).collect(Collectors.joining(",")));
|
|
|
//重新计算成本
|
|
|
if (StringUtils.isNotBlank(order.getCostJson())) {
|
|
|
- recalculateCost(order.getCostJson(),oldOrder);
|
|
|
+ recalculateCost(order.getCostJson(),order);
|
|
|
}
|
|
|
- updateById(oldOrder);
|
|
|
+ updateById(order);
|
|
|
|
|
|
if (bo.getOrderBase() == 1) {
|
|
|
//新系统订单
|
|
@@ -590,7 +631,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
List<Order> orderList = orderService
|
|
|
.list(new LambdaQueryWrapper<Order>()
|
|
|
.eq(Order::getUserId, user.getUserId())
|
|
|
- .eq(Order::getInputOrderSn, oldOrder.getInputOrderSn())
|
|
|
+ .eq(Order::getInputOrderSn, order.getInputOrderSn())
|
|
|
.eq(Order::getStatus, 1));
|
|
|
if (CollectionUtils.isNotEmpty(orderList)) {
|
|
|
List<OrderGoods> orderGoods = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
|
|
@@ -772,28 +813,68 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
oldOrder.setCheckStatus(bo.getCheckStatus());
|
|
|
oldOrder.setCheckBy(bo.getLoginName());
|
|
|
- List<String> singIds = new ArrayList<>();
|
|
|
+
|
|
|
LambdaQueryWrapper<TopOldOrderGoods> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(TopOldOrderGoods::getOrderSn, oldOrder.getOrderSn());
|
|
|
wrapper.eq(TopOldOrderGoods::getStatus, 1);
|
|
|
- if (StringUtils.isNotBlank(oldOrder.getCheckRemark())) {
|
|
|
- wrapper.in(TopOldOrderGoods::getSignId, Arrays.asList(oldOrder.getCheckRemark().split(",")));
|
|
|
- singIds = Arrays.stream(oldOrder.getCheckRemark().split(",")).collect(Collectors.toList());
|
|
|
- }
|
|
|
List<TopOldOrderGoods> orderGoods = topOrderGoodsService.list(wrapper);
|
|
|
if (CollectionUtils.isNotEmpty(orderGoods)) {
|
|
|
orderGoods.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
|
|
|
topOrderGoodsService.updateBatchById(orderGoods);
|
|
|
}
|
|
|
- if (CollectionUtils.isNotEmpty(singIds) && oldOrder.getOrderBase() == 1) {
|
|
|
+
|
|
|
+ updateById(oldOrder);
|
|
|
+ // 订单审核通知业务系统
|
|
|
+ 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("status", bo.getCheckStatus().toString());
|
|
|
+ if (StringUtils.isNotBlank(bo.getCheckReason())) {
|
|
|
+ params.put("remark", bo.getCheckReason());
|
|
|
+ }
|
|
|
+ params.put("auditor", bo.getLoginName());
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(ORDER_CHECK, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("旧系统订单审核接口请求错误" + respone);
|
|
|
+ throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public boolean checkOrderStudent(TopOldOrderCheckBo bo) {
|
|
|
+ TopOldOrder oldOrder = getOne(new LambdaQueryWrapper<TopOldOrder>().eq(TopOldOrder::getOrderSn, bo.getOrderSn()));
|
|
|
+
|
|
|
+ //校验当前登入角色
|
|
|
+ List<TopSysUserRole> userRoles = topSysUserRoleService.list(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, bo.getOrderId()));
|
|
|
+ if (CollectionUtils.isEmpty(userRoles) && !"admin".equals(bo.getLoginName())) {
|
|
|
+ throw new CustomException("当前账号没有审核权限");
|
|
|
+ }
|
|
|
+ List<TopOldOrderCheck> checks = topOldOrderCheckService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderCheck>().eq(TopOldOrderCheck::getCheckType, 1));
|
|
|
+ if (CollectionUtils.isNotEmpty(checks)) {
|
|
|
+ throw new CustomException("没有设置审核流程!请检查");
|
|
|
+ }
|
|
|
+ List<Long> roles = checks.stream().map(TopOldOrderCheck::getCheckRole).collect(Collectors.toList());
|
|
|
+ List<Long> roleIdList = userRoles.stream().map(TopSysUserRole::getRoleId).collect(Collectors.toList());
|
|
|
+ if (roleIdList.stream().noneMatch(x -> roles.contains(x)) && !"admin".equals(bo.getLoginName())) {
|
|
|
+ throw new CustomException("当前账号没有审核权限");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (oldOrder.getOrderBase() == 1) {
|
|
|
//处理退学学员 并且订单在新系统
|
|
|
switch (bo.getCheckStatus()) {
|
|
|
case 1://审核通过
|
|
|
- List<TopOldOrderGoods> list = topOrderGoodsService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderGoods>()
|
|
|
- .eq(TopOldOrderGoods::getOrderSn, oldOrder.getOrderSn())
|
|
|
- .in(TopOldOrderGoods::getSignId, singIds)
|
|
|
- .eq(TopOldOrderGoods::getCheckStatus, -1));
|
|
|
+ List<TopOldOrderGoods> list = topOrderGoodsService.listByIds(bo.getOrderGoodsIds());
|
|
|
List<String> userNames = new ArrayList<>();
|
|
|
list.forEach(item -> {
|
|
|
User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()));
|
|
@@ -827,11 +908,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
this.informRemind(userNames);
|
|
|
break;
|
|
|
case 2: //审核未通过
|
|
|
- List<TopOldOrderGoods> list2 = topOrderGoodsService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderGoods>()
|
|
|
- .eq(TopOldOrderGoods::getOrderSn, oldOrder.getOrderSn())
|
|
|
- .in(TopOldOrderGoods::getSignId, singIds)
|
|
|
- .eq(TopOldOrderGoods::getCheckStatus, -1));
|
|
|
+ List<TopOldOrderGoods> list2 = topOrderGoodsService.listByIds(bo.getOrderGoodsIds());
|
|
|
list2.forEach(item -> {
|
|
|
User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()));
|
|
|
if (ObjectUtil.isNull(user)) {
|
|
@@ -863,29 +940,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- updateById(oldOrder);
|
|
|
- // 订单审核通知业务系统
|
|
|
- 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("status", bo.getCheckStatus().toString());
|
|
|
- if (StringUtils.isNotBlank(bo.getCheckReason())) {
|
|
|
- params.put("remark", bo.getCheckReason());
|
|
|
- }
|
|
|
- params.put("auditor", bo.getLoginName());
|
|
|
- String respone = "";
|
|
|
- try {
|
|
|
- respone = HttpUtils.postFormBody(ORDER_CHECK, params);
|
|
|
- if (!respone.contains("\"Status\":true")) {
|
|
|
- throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
- }
|
|
|
- } catch (IOException e) {
|
|
|
- log.error("旧系统订单审核接口请求错误" + respone);
|
|
|
- throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
- }
|
|
|
+ //todo 通知业务系统
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -948,7 +1003,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (CollectionUtils.isEmpty(orderGoods)) {
|
|
|
throw new CustomException("订单学员课程信息获取有误");
|
|
|
}
|
|
|
- if (orderGoods.stream().allMatch(x -> x.getRefundStatus() != 0 || x.getRefundStatus() != 3)) {
|
|
|
+ if (orderGoods.stream().allMatch(x -> x.getRefundStatus() != 0 && x.getRefundStatus() != 3)) {
|
|
|
throw new CustomException("订单申请退款学员有误,请检查");
|
|
|
}
|
|
|
|
|
@@ -984,7 +1039,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
updateById(order);
|
|
|
|
|
|
//处理新系统订单
|
|
|
- if (ObjectUtils.isNotNull(order.getInputOrderSn())) {
|
|
|
+ if (ObjectUtils.isNotNull(order.getInputOrderSn()) && order.getOrderBase() == 1) {
|
|
|
orderGoods.forEach(item -> {
|
|
|
User user = userService.getOne(new LambdaQueryWrapper<User>()
|
|
|
.eq(User::getIdCard, EncryptHandler.encrypt(item.getUserCard())));
|
|
@@ -1086,12 +1141,17 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
vo.setRefundReason(refunds.get(0).getApplyReason());
|
|
|
vo.setApplyTime(refunds.get(0).getCreateTime());
|
|
|
}
|
|
|
- //todo 申请退款审核人
|
|
|
- vo.setApplyName("申请退款公司(张三)");
|
|
|
+ // 申请退款审核人
|
|
|
+ SysTenant tenant = sysTenantService.getById(orderVo.getTenantId());
|
|
|
+ vo.setApplyName(String.format("%s(%s)",tenant.getTenantName(),orderVo.getCreateUsername()));
|
|
|
vo.setCheckType(1);
|
|
|
//审核进度
|
|
|
List<TopOldOrderCheckLog> checkLogs = topOldOrderCheckLogService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderCheckLog>().eq(TopOldOrderCheckLog::getRefundSn, vo.getRefundSn()).eq(TopOldOrderCheckLog::getStatus, 1));
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
+ .eq(TopOldOrderCheckLog::getRefundSn, vo.getRefundSn())
|
|
|
+ .eq(TopOldOrderCheckLog::getStatus, 1)
|
|
|
+ .orderByAsc(TopOldOrderCheckLog::getType)
|
|
|
+ .orderByAsc(TopOldOrderCheckLog::getCheckSort));
|
|
|
if (CollectionUtils.isNotEmpty(checkLogs)) {
|
|
|
List<TopOldOrderCheckLogVo> checkLogVoList = checkLogs.stream().map(item -> {
|
|
|
TopOldOrderCheckLogVo logVo = BeanUtil.toBean(item, TopOldOrderCheckLogVo.class);
|
|
@@ -1167,6 +1227,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
throw new CustomException("当前订单没有申请退款!请检查:" + bo.getOrderSn());
|
|
|
}
|
|
|
String refundSn = refundList.get(0).getRefundSn();
|
|
|
+ Integer type = refundList.get(0).getType();
|
|
|
//当前退款流程
|
|
|
TopOldOrderCheckLog checkLog = topOldOrderCheckLogService.getOne(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, refundSn).eq(TopOldOrderCheckLog::getStatus, 1)
|
|
@@ -1177,10 +1238,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
|
|
|
switch (bo.getCheckResult()) {
|
|
|
case 1://同意
|
|
|
- consentCheck(checkLog, bo);
|
|
|
+ consentCheck(checkLog, bo,type);
|
|
|
break;
|
|
|
case -1://拒绝
|
|
|
- refuseCheck(checkLog, bo);
|
|
|
+ refuseCheck(checkLog, bo,type);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -1189,7 +1250,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- private void refuseCheck(TopOldOrderCheckLog checkLog, TopRefundOrderCheckBo bo) {
|
|
|
+ private void refuseCheck(TopOldOrderCheckLog checkLog, TopRefundOrderCheckBo bo,Integer type) {
|
|
|
List<TopOldOrderCheckLog> checkLogList = topOldOrderCheckLogService
|
|
|
.list(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, checkLog.getRefundSn())
|
|
@@ -1212,6 +1273,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, checkLog.getRefundSn())
|
|
|
.eq(TopOldOrderCheckLog::getType, 2)//订单退款审核
|
|
|
.eq(TopOldOrderCheckLog::getCheckSort, checkLog.getCheckSort() - 1));
|
|
|
+ // 订单退款通知业务系统
|
|
|
+ checkInform(bo.getOrderSn(),type,bo.getCheckReason(),2,0,String.format("审核中(%s)",bo.getCheckRoleName()));
|
|
|
} else {
|
|
|
//初审拒绝
|
|
|
//处理订单状态
|
|
@@ -1233,18 +1296,80 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
.eq(TopOldOrder::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
//订单处理
|
|
|
TopOldOrder order = baseMapper.getOrderBySn(refundList.get(0).getOrderSn());
|
|
|
+ // 订单退款通知业务系统
|
|
|
+ checkInform(order.getOrderSn(),type,bo.getCheckReason(),2,1,String.format("审核中(%s)",bo.getCheckRoleName()));
|
|
|
if (order.getOrderFrom() == 1) {
|
|
|
//新系统订单
|
|
|
orderGoodsService.update(new LambdaUpdateWrapper<OrderGoods>()
|
|
|
.set(OrderGoods::getRefundStatus, 3)
|
|
|
.in(OrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
} else {
|
|
|
- //todo 旧系统订单
|
|
|
+ if (order.getOrderBase() == 1){
|
|
|
+ //底单在新系统
|
|
|
+ List<TopOldOrderGoods> orderGoods = topOrderGoodsService.listByIds(orderGoodsIds);
|
|
|
+ orderGoods.forEach(item -> {
|
|
|
+ User user = userService.getOne(new LambdaQueryWrapper<User>()
|
|
|
+ .eq(User::getIdCard, EncryptHandler.encrypt(item.getUserCard())));
|
|
|
+ if (ObjectUtils.isNotNull(user)) {
|
|
|
+ //处理新系统订单商品
|
|
|
+ List<Order> list = orderService
|
|
|
+ .list(new LambdaUpdateWrapper<Order>()
|
|
|
+ .eq(Order::getInputOrderSn, order.getInputOrderSn())
|
|
|
+ .eq(Order::getStatus, 1)
|
|
|
+ .eq(Order::getUserId, user.getUserId()));
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ List<OrderGoods> goodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
|
|
|
+ .eq(OrderGoods::getGoodsId,item.getGoodsId())
|
|
|
+ .eq(OrderGoods::getRefundStatus,1)//退款中
|
|
|
+ .in(OrderGoods::getOrderSn, list.stream().map(Order::getOrderSn).collect(Collectors.toList()))
|
|
|
+ .eq(OrderGoods::getStatus, 1));
|
|
|
+ if (CollectionUtils.isNotEmpty(goodsList)) {
|
|
|
+ //修改订单状态
|
|
|
+ goodsList.forEach(x -> x.setRefundStatus(3));
|
|
|
+ orderGoodsService.updateBatchById(goodsList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void checkInform(String orderSn,Integer type,String remark,Integer status,Integer isend,String checkName){
|
|
|
+
|
|
|
+ // 订单退款通知业务系统
|
|
|
+ Map<String, String> params = new HashMap<>();
|
|
|
+ Long nowTime = DateUtils.getNowTime();
|
|
|
+ String sign = ToolsUtils.EncoderByMd5(orderSn + nowTime.toString() + "pubilc2022");
|
|
|
+ params.put("stamp", nowTime.toString());
|
|
|
+ params.put("sign", sign);
|
|
|
+ params.put("orderSn", orderSn);
|
|
|
+ params.put("type", type.toString());
|
|
|
+ params.put("status", status.toString());
|
|
|
+ if (StringUtils.isNotBlank(remark)) {
|
|
|
+ params.put("remark", remark);
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(isend)) {
|
|
|
+ params.put("isend", isend.toString());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(checkName)) {
|
|
|
+ params.put("statusname", checkName);
|
|
|
+ }
|
|
|
+ String respone = "";
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.postFormBody(REFUSE_CHECK, params);
|
|
|
+ if (!respone.contains("\"Status\":true")) {
|
|
|
+ throw new CustomException("旧系统退款审核结果推送接口请求错误");
|
|
|
}
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("旧系统退款审核结果推送接口请求错误" + respone);
|
|
|
+ throw new CustomException("旧系统退款审核结果推送接口请求错误");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void consentCheck(TopOldOrderCheckLog checkLog, TopRefundOrderCheckBo bo) {
|
|
|
+
|
|
|
+ private void consentCheck(TopOldOrderCheckLog checkLog, TopRefundOrderCheckBo bo,Integer type) {
|
|
|
List<TopOldOrderCheckLog> checkLogList = topOldOrderCheckLogService
|
|
|
.list(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, checkLog.getRefundSn())
|
|
@@ -1285,6 +1410,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
topOldOrderCheckLogService.updateById(check);
|
|
|
}
|
|
|
}
|
|
|
+ checkInform(bo.getOrderSn(),type,bo.getCheckReason(),1,0,String.format("审核中(%s)",bo.getCheckRoleName()));
|
|
|
|
|
|
//处理订单状态
|
|
|
List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
@@ -1338,9 +1464,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (CollectionUtils.isEmpty(bo.getOrderSnList())) {
|
|
|
throw new CustomException("订单号不能为空");
|
|
|
}
|
|
|
- if (ObjectUtils.isNotNull(bo.getLoginId())) {
|
|
|
- validFinish(bo);
|
|
|
- }
|
|
|
+ validFinish(bo);
|
|
|
+
|
|
|
bo.getOrderSnList().forEach(orderSn -> {
|
|
|
TopOldOrder order = baseMapper.getOrderBySn(orderSn);
|
|
|
if (ObjectUtils.isNull(order)) {
|
|
@@ -1380,10 +1505,10 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return;
|
|
|
}
|
|
|
//获取机构分成方式
|
|
|
- SysOldOrg oldOrg = sysOldOrgService
|
|
|
- .getOne(new LambdaQueryWrapper<SysOldOrg>()
|
|
|
- .eq(SysOldOrg::getOrgId, order.getTenantId()));
|
|
|
- Integer divideModel = oldOrg.getDivideModel();
|
|
|
+ SysTenant tenant = sysTenantService
|
|
|
+ .getOne(new LambdaQueryWrapper<SysTenant>()
|
|
|
+ .eq(SysTenant::getTenantId, order.getTenantId()));
|
|
|
+ Integer divideModel = tenant.getDivideModel();
|
|
|
//分成金额
|
|
|
TopCostTpVo topCostTpVo = JSONObject.parseObject(costJson, TopCostTpVo.class);
|
|
|
List<TopCostTpItemVo> itemList = topCostTpVo.getItemList();
|
|
@@ -2050,6 +2175,38 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean orderProceeds(TopOrderProceedsBo bo) {
|
|
|
+ TopOldOrder order = baseMapper.getOrderBySn(bo.getOrderSn());
|
|
|
+ if (ObjectUtil.isNull(order)){
|
|
|
+ throw new CustomException("订单号错误");
|
|
|
+ }
|
|
|
+ //更新订单已收金额
|
|
|
+ if (ObjectUtils.isNotNull(order.getOrderReceived())){
|
|
|
+ order.setOrderReceived(bo.getOrderReceived().add(order.getOrderReceived()));
|
|
|
+ }else {
|
|
|
+ order.setOrderReceived(bo.getOrderReceived());
|
|
|
+ }
|
|
|
+ order.setOrderUncollected(order.getPayPrice().subtract(order.getOrderReceived()));
|
|
|
+ order.setOrderStatus(1);//已支付
|
|
|
+ Integer payStatus = 0;
|
|
|
+ if (order.getOrderUncollected().compareTo(new BigDecimal(0.00)) > 0){
|
|
|
+ payStatus = 2;//部分付款
|
|
|
+ }else {
|
|
|
+ payStatus = 3;//完全付款
|
|
|
+ }
|
|
|
+ order.setPayStatus(payStatus);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getPayStatus,payStatus)
|
|
|
+ .eq(TopOldOrderGoods::getOrderSn,order.getOrderSn())
|
|
|
+ .ne(TopOldOrderGoods::getCheckStatus,-1)
|
|
|
+ .eq(TopOldOrderGoods::getStatus,1));
|
|
|
+
|
|
|
+ return updateById(order);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public TopSellerDiscountVo getSellerDiscount(TopSellerDiscountBo bo) {
|
|
|
TopOldSellerDiscount discount = topOldSellerDiscountService.getOne(new LambdaQueryWrapper<TopOldSellerDiscount>()
|