|
@@ -40,6 +40,7 @@ import com.zhongzheng.modules.order.domain.Order;
|
|
|
import com.zhongzheng.modules.order.domain.OrderGoods;
|
|
|
import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
|
|
|
import com.zhongzheng.modules.order.service.IOrderGoodsService;
|
|
|
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
|
|
|
import com.zhongzheng.modules.system.domain.SysOldOrg;
|
|
|
import com.zhongzheng.modules.system.domain.SysTenant;
|
|
|
import com.zhongzheng.modules.system.service.ISysOldOrgService;
|
|
@@ -209,6 +210,15 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Value("${oldOrder.checkOrderStudent}")
|
|
|
private String CHECK_ORDER_STUDENT;
|
|
|
|
|
|
+ @Value("${oldOrder.checkOrderBrokerage}")
|
|
|
+ private String CHECK_ORDER_BROKERAGE;
|
|
|
+
|
|
|
+ @Value("${oldOrder.refundPay}")
|
|
|
+ private String REFUND_PAY;
|
|
|
+
|
|
|
+ @Value("${oldOrder.refundPayHandle}")
|
|
|
+ private String REFUND_PAY_HANDLE;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public TopOldOrderVo queryById(String orderSn) {
|
|
@@ -417,7 +427,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
add.setOrderProfit(profitTotal);
|
|
|
add.setCostJson(JSONObject.toJSONString(topCostTpVo));
|
|
|
}
|
|
|
- add.setCheckStatus(0);//待审核
|
|
|
+ if (bo.getOrderFrom() == 3){
|
|
|
+ add.setCheckStatus(0);//待审核
|
|
|
+ }else {
|
|
|
+ add.setCheckStatus(1);//C端不需要审核
|
|
|
+ }
|
|
|
add.setRefundStatus(1);//退款状态:正常
|
|
|
add.setFinishStatus(0);//完单状态:未完单
|
|
|
//未收账款
|
|
@@ -462,7 +476,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (ObjectUtils.isNotNull(x.getUserCard())) {
|
|
|
x.setUserCard(EncryptHandler.encrypt(x.getUserCard()));
|
|
|
}
|
|
|
- x.setCheckStatus(add.getCheckStatus());//待审核
|
|
|
+ if (bo.getOrderFrom() != 3){
|
|
|
+ //C端订单
|
|
|
+ x.setPayStatus(3);//已支付
|
|
|
+ }
|
|
|
+ x.setCheckStatus(add.getCheckStatus());
|
|
|
x.setStatus(1);
|
|
|
x.setTenantId(add.getTenantId());
|
|
|
});
|
|
@@ -522,6 +540,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
|
|
|
TopOldOrder edit = BeanUtil.toBean(bo, TopOldOrder.class);
|
|
|
validEntityBeforeSave(edit);
|
|
|
+ edit.setOrderId(order.getOrderId());
|
|
|
edit.setCreateTime(DateUtils.getNowTime());
|
|
|
edit.setUpdateTime(DateUtils.getNowTime());
|
|
|
//未收账款
|
|
@@ -601,9 +620,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (item.getProjectId() == -1 && item.getBusinessId() == -1){
|
|
|
return true;
|
|
|
}
|
|
|
- TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
|
|
|
+// TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
|
|
|
TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
|
|
|
- if (businessFullName.contains(projectType.getProjectName()) && businessFullName.contains(business.getBusinessName())){
|
|
|
+// if (businessFullName.contains(projectType.getProjectName()) && businessFullName.contains(business.getBusinessName())){
|
|
|
+// return true;
|
|
|
+// }
|
|
|
+ if (businessFullName.contains(business.getOldBusinessName())){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
@@ -649,7 +671,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
switch (topCostTpItem.getItemType()) {
|
|
|
case 1://百分比
|
|
@@ -699,7 +720,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
|
|
|
order.setCheckStatus(0); //订单待审核
|
|
|
updateById(order);
|
|
|
- return false;
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -732,6 +753,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
orderGoods.setCheckStatus(0);//待审核
|
|
|
TopOldOrderGoods oldOrderGoods = BeanUtil.toBean(orderGoods, TopOldOrderGoods.class);
|
|
|
oldOrderGoods.setUserCard(EncryptHandler.encrypt(oldOrderGoods.getUserCard()));
|
|
|
+ oldOrderGoods.setStatus(1);
|
|
|
+ oldOrderGoods.setTenantId(order.getTenantId());
|
|
|
add.add(oldOrderGoods);
|
|
|
break;
|
|
|
case -1://删除
|
|
@@ -965,12 +988,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
orderGoods.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
|
|
|
topOrderGoodsService.updateBatchById(orderGoods);
|
|
|
}
|
|
|
+ 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;
|
|
|
}
|
|
|
break;
|
|
|
case 2://拒绝 恢复原本的佣金
|
|
@@ -984,6 +1009,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
//总佣金
|
|
|
BigDecimal brokerage = oldOrder.getPretaxBrokerage().subtract(multiply);
|
|
|
oldOrder.setBrokerage(brokerage);
|
|
|
+ oldOrder.setPretaxRecord(null);
|
|
|
+ oldOrder.setPretaxBrokerageRecord(null);
|
|
|
+ brokerageFlag = true;
|
|
|
}
|
|
|
break;
|
|
|
default :
|
|
@@ -992,27 +1020,50 @@ 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")) {
|
|
|
+ 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("旧系统订单审核接口请求错误");
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ log.error("旧系统订单审核接口请求错误" + respone);
|
|
|
+ throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //订单审核
|
|
|
+ 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("旧系统订单审核接口请求错误");
|
|
|
}
|
|
|
- } catch (IOException e) {
|
|
|
- log.error("旧系统订单审核接口请求错误" + respone);
|
|
|
- throw new CustomException("旧系统订单审核接口请求错误");
|
|
|
}
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -1020,7 +1071,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@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())) {
|
|
@@ -1028,7 +1078,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
List<TopOldOrderCheck> checks = topOldOrderCheckService
|
|
|
.list(new LambdaQueryWrapper<TopOldOrderCheck>().eq(TopOldOrderCheck::getCheckType, 1));
|
|
|
- if (CollectionUtils.isNotEmpty(checks)) {
|
|
|
+ if (CollectionUtils.isEmpty(checks)) {
|
|
|
throw new CustomException("没有设置审核流程!请检查");
|
|
|
}
|
|
|
List<Long> roles = checks.stream().map(TopOldOrderCheck::getCheckRole).collect(Collectors.toList());
|
|
@@ -1036,8 +1086,18 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (roleIdList.stream().noneMatch(x -> roles.contains(x)) && !"admin".equals(bo.getLoginName())) {
|
|
|
throw new CustomException("当前账号没有审核权限");
|
|
|
}
|
|
|
+
|
|
|
List<TopOldOrderGoods> list = topOrderGoodsService.listByIds(bo.getOrderGoodsIds());
|
|
|
list.forEach(x -> x.setCheckStatus(bo.getCheckStatus()));
|
|
|
+ if (StringUtils.isNotBlank(oldOrder.getCheckRemark()) && bo.getCheckStatus() == 2){
|
|
|
+ List<Long> collect = list.stream().map(TopOldOrderGoods::getSignId).collect(Collectors.toList());
|
|
|
+ List<String> collect1 = Arrays.stream(oldOrder.getCheckRemark().split(",")).filter(x -> !collect.contains(x)).collect(Collectors.toList());
|
|
|
+ //不通过 恢复数据
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getCheckStatus,1)
|
|
|
+ .eq(TopOldOrderGoods::getOrderSn,bo.getOrderSn())
|
|
|
+ .in(TopOldOrderGoods::getSignId,collect1));
|
|
|
+ }
|
|
|
topOrderGoodsService.updateBatchById(list);
|
|
|
if (oldOrder.getOrderBase() == 1) {
|
|
|
//处理退学学员 并且订单在新系统
|
|
@@ -1070,8 +1130,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- //清除标识IDs
|
|
|
- oldOrder.setCheckRemark("");
|
|
|
//消息通知教务
|
|
|
this.informRemind(userNames);
|
|
|
break;
|
|
@@ -1101,8 +1159,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
- //清除标识IDs
|
|
|
- oldOrder.setCheckRemark("");
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
@@ -1113,6 +1169,8 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (bo.getCheckStatus() == 1 && StringUtils.isNotBlank(oldOrder.getCostJson())) {
|
|
|
recalculateCost(oldOrder.getCostJson(),oldOrder);
|
|
|
}
|
|
|
+ //清除标识IDs
|
|
|
+ oldOrder.setCheckRemark("");
|
|
|
updateById(oldOrder);
|
|
|
// 订单审核通知业务系统
|
|
|
List<CheckOrderStudentDetailBo> studentDetailBos = list.stream().map(item -> {
|
|
@@ -1151,9 +1209,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if(Validator.isEmpty(bo.getOrderSn())||Validator.isEmpty(bo.getTenantId())||Validator.isEmpty(bo.getPayType())){
|
|
|
throw new CustomException("参数错误");
|
|
|
}
|
|
|
- if(Validator.isEmpty(bo.getToBankAcount())||Validator.isEmpty(bo.getToBankName())||Validator.isEmpty(bo.getToBankTypeName())){
|
|
|
- throw new CustomException("支付参数错误");
|
|
|
- }
|
|
|
//校验当前角色审核权限
|
|
|
List<TopSysUserRole> userRoleList = topSysUserRoleService.list(new LambdaQueryWrapper<TopSysUserRole>().eq(TopSysUserRole::getUserId, bo.getLoginId()));
|
|
|
if (CollectionUtils.isEmpty(userRoleList) && !bo.getLoginName().equals("admin")) {
|
|
@@ -1185,27 +1240,104 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
//退款金额
|
|
|
BigDecimal refundPrice = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
if (order.getOrderFrom() == 3 && bo.getPayType() == 2){
|
|
|
+ if(Validator.isEmpty(bo.getToBankAcount())||Validator.isEmpty(bo.getToBankName())||Validator.isEmpty(bo.getToBankTypeName())){
|
|
|
+ throw new CustomException("支付参数错误");
|
|
|
+ }
|
|
|
//旧系统B端网银退款处理
|
|
|
handleEnterpriseRefund(refundPrice,order,bo);
|
|
|
- if (order.getOrderBase() == 1){
|
|
|
- //底单在新系统 处理退款订单
|
|
|
-
|
|
|
- }
|
|
|
+ orderRefundList.forEach(x -> x.setPeriodStatus(4));//支付中
|
|
|
+ topOldOrderRefundService.updateBatchById(orderRefundList);
|
|
|
+ update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
+ .set(TopOldOrder::getRefundStatus,5) // 支付中
|
|
|
+ .eq(TopOldOrder::getOrderSn,bo.getOrderSn()));
|
|
|
}else if (order.getOrderFrom() == 1 && bo.getPayType() == 1){
|
|
|
//新系统C端微信退款处理
|
|
|
- orderRefundList.forEach(item -> {
|
|
|
- orderGoodsRefundService.topRefundOrderPay(item);
|
|
|
- });
|
|
|
+ String respone = "";
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("TenantId",bo.getTenantId());
|
|
|
+ String params = JSONArray.toJSONString(orderRefundList);
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.sendPostJsonHeader(REFUND_PAY, params,map);
|
|
|
+ if (respone.contains("\"code\":200")) {
|
|
|
+ //已退金额
|
|
|
+ BigDecimal add = BigDecimal.ZERO;
|
|
|
+ BigDecimal reduce = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ Order entity = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, order.getOrderSn()));
|
|
|
+ if (ObjectUtils.isNotNull(entity.getOrderRefunded())){
|
|
|
+ add = entity.getOrderRefunded().add(reduce);
|
|
|
+ }else {
|
|
|
+ add = reduce;
|
|
|
+ }
|
|
|
+ entity.setOrderRefunded(add);
|
|
|
+ orderService.updateById(entity);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new CustomException("退款支付请求错误"+e.getMessage());
|
|
|
+ }
|
|
|
}else if (order.getOrderFrom() == 2 && bo.getPayType() == 1){
|
|
|
- // todo 旧系统C端微信退款处理
|
|
|
- if (order.getOrderBase() == 1){
|
|
|
- //底单在新系统 处理退款订单
|
|
|
+ // 旧系统C端微信退款处理
|
|
|
+ checkInform(order.getOrderSn(),orderRefundList.get(0).getType(),"",1,1,"已支付");
|
|
|
+ orderRefundList.forEach(x -> x.setPeriodStatus(3));//已完成
|
|
|
+ topOldOrderRefundService.updateBatchById(orderRefundList);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getRefundStatus,2)//已退款
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId,orderRefundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
|
|
|
+ //已退金额
|
|
|
+ BigDecimal add = BigDecimal.ZERO;
|
|
|
+ BigDecimal reduce = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (ObjectUtils.isNotNull(order.getOrderRefunded())){
|
|
|
+ add = order.getOrderRefunded().add(reduce);
|
|
|
+ }else {
|
|
|
+ add = reduce;
|
|
|
+ }
|
|
|
+ update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
+ .set(TopOldOrder::getRefundStatus,3) // 已完成
|
|
|
+ .set(TopOldOrder::getOrderRefunded,add)
|
|
|
+ .eq(TopOldOrder::getOrderSn,bo.getOrderSn()));
|
|
|
|
|
|
+ //处理新系统订单
|
|
|
+ if (ObjectUtils.isNotNull(order.getInputOrderSn()) && order.getOrderBase() == 1) {
|
|
|
+ handleRefundOrder(orderRefundList,order.getInputOrderSn(),order.getTenantId().toString());
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ private void handleRefundOrder(List<TopOldOrderRefund> orderRefundList,String inputOrderSn,String tenantId){
|
|
|
+ orderRefundList.forEach(refund -> {
|
|
|
+ TopOldOrderGoods item = topOrderGoodsService.getById(refund.getOrderGoodsId());
|
|
|
+ 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, inputOrderSn)
|
|
|
+ .eq(Order::getStatus, 1)
|
|
|
+ .eq(Order::getUserId, user.getUserId()));
|
|
|
+ if (CollectionUtils.isNotEmpty(list)) {
|
|
|
+ List<OrderGoods> goodsList = orderGoodsService.list(new LambdaQueryWrapper<OrderGoods>()
|
|
|
+ .in(OrderGoods::getOrderSn, list.stream().map(Order::getOrderSn).collect(Collectors.toList()))
|
|
|
+ .eq(OrderGoods::getStatus, 1));
|
|
|
+ //过滤找出要退款的商品
|
|
|
+ List<OrderGoods> collect = goodsList.stream().filter(x -> x.getGoodsId().equals(item.getGoodsId())).collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
+ List<OrderGoodsVo> goodsVoList = collect.stream().map(x -> BeanUtil.toBean(x, OrderGoodsVo.class)).collect(Collectors.toList());
|
|
|
+ String respone = "";
|
|
|
+ HashMap<String, String> map = new HashMap<>();
|
|
|
+ map.put("TenantId",tenantId);
|
|
|
+ String params = JSONArray.toJSONString(goodsVoList);
|
|
|
+ try {
|
|
|
+ respone = HttpUtils.sendPostJsonHeader(REFUND_PAY_HANDLE, params,map);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new CustomException("退款支付后处理订单接口请求失败"+e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private void handleEnterpriseRefund(BigDecimal refundPrice,TopOldOrder order,OrderRefundPayBo bo) {
|
|
|
if (ObjectUtils.isNotNull(order.getOrderUncollected()) && order.getOrderUncollected().compareTo(BigDecimal.ZERO) !=0){
|
|
@@ -1405,6 +1537,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
orderRefund.setGoodsId(item.getGoodsId());
|
|
|
orderRefund.setGoodsName(item.getGoodsName());
|
|
|
orderRefund.setRefundFee(item.getGoodsRealPrice());
|
|
|
+ orderRefund.setRealRefundFee(item.getGoodsRealPrice());
|
|
|
orderRefund.setUpdateTime(DateUtils.getNowTime());
|
|
|
orderRefund.setCreateTime(DateUtils.getNowTime());
|
|
|
orderRefund.setTenantId(item.getTenantId());
|
|
@@ -1417,6 +1550,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return orderRefund;
|
|
|
}).collect(Collectors.toList());
|
|
|
topOldOrderRefundService.saveBatch(orderRefundRefund);
|
|
|
+ BigDecimal refundMoney = orderRefundRefund.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO,BigDecimal::add);
|
|
|
//修改订单状态
|
|
|
topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
.in(TopOldOrderGoods::getOrderGoodsId, orderGoods.stream().map(TopOldOrderGoods::getOrderGoodsId).collect(Collectors.toList()))
|
|
@@ -1426,6 +1560,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
order.setProceedsAccount(bo.getProceedsAccount());
|
|
|
order.setOpeningBank(bo.getOpeningBank());
|
|
|
order.setOpeningName(bo.getOpeningName());
|
|
|
+ order.setOrderRefund(refundMoney);
|
|
|
updateById(order);
|
|
|
|
|
|
//处理新系统订单
|
|
@@ -1720,7 +1855,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
TopOldOrder order = baseMapper.getOrderBySn(refundList.get(0).getOrderSn());
|
|
|
// 订单退款通知业务系统
|
|
|
if (oldOrder.getOrderFrom() != 1){
|
|
|
- checkInform(order.getOrderSn(),type,bo.getCheckReason(),2,1,String.format("审核中(%s)",bo.getCheckRoleName()));
|
|
|
+ checkInform(order.getOrderSn(),type,bo.getCheckReason(),2,1,String.format("未通过(%s)",bo.getCheckRoleName()));
|
|
|
}
|
|
|
|
|
|
if (order.getOrderFrom() == 1) {
|
|
@@ -1949,6 +2084,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
List<TopCostTpItemVo> divideList = itemList.stream().filter(x -> x.getItemCategory() == 1).collect(Collectors.toList());
|
|
|
calculateDivide(divideList, order, divideModel);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
);
|
|
|
|
|
@@ -2075,6 +2211,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
divideTotal = divideTotal.add(divide);
|
|
|
}
|
|
|
Order orgOrder = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, order.getOrderSn()));
|
|
|
+ orgOrder.setFinishStatus(1);//已完单
|
|
|
orgOrder.setDivideModel(divideModel);
|
|
|
orgOrder.setDivideStatus(2);//待审核
|
|
|
orgOrder.setCancelTime(DateUtils.getNowTime());
|
|
@@ -2100,14 +2237,26 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
for (TopOldOrderGoods orderGoods : orderGoodsList) {
|
|
|
BigDecimal goodsPrice = orderGoods.getGoodsRealPrice();
|
|
|
//商品业务层
|
|
|
- TopOldOrderGoods oldOrderGoods = topOrderGoodsService.getById(orderGoods.getGoodsId());
|
|
|
- String businessName = oldOrderGoods.getBusinessFullName();
|
|
|
+ String businessName = orderGoods.getBusinessFullName();
|
|
|
List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
|
|
|
- TopCourseEducationType education = topCourseEducationTypeService.getById(x.getEducationTypeId());
|
|
|
- TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
|
|
|
+ //教育类型不限
|
|
|
+ if (x.getEducationTypeId() == -1){return true;}
|
|
|
+
|
|
|
+ TopCourseEducationType educationType = topCourseEducationTypeService.getById(x.getEducationTypeId());
|
|
|
+ if (!businessName.contains(educationType.getEducationName()) && !businessName.contains(educationType.getSchemeName())){
|
|
|
+ //教育类型匹配失败
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //项目类型和业务层次
|
|
|
+ if (x.getProjectId() == -1 && x.getBusinessId() == -1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+// TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
|
|
|
TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
|
|
|
- String name = education.getSchemeName() + education.getEducationName() + projectType.getProjectName() + business.getBusinessName();
|
|
|
- if (name.equals(businessName)) {
|
|
|
+// if (businessName.contains(projectType.getProjectName()) && businessName.contains(business.getBusinessName())){
|
|
|
+// return true;
|
|
|
+// }
|
|
|
+ if (businessName.contains(business.getOldBusinessName())){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
@@ -2117,10 +2266,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
continue;
|
|
|
}
|
|
|
//根据订单金额匹配成本阶梯
|
|
|
- List<TopCostTpItemVo> tpItems = items.stream().filter(x ->
|
|
|
- (ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
|
|
|
- || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
|
|
|
- || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)).collect(Collectors.toList());
|
|
|
+ List<TopCostTpItemVo> tpItems = new ArrayList<>();
|
|
|
+ for (TopCostTpItemVo x : items) {
|
|
|
+ if ((ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
|
|
|
+ || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
|
|
|
+ || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)){
|
|
|
+ tpItems.add(x);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (CollectionUtils.isEmpty(tpItems)) {
|
|
|
//匹配不到成本项阶梯值
|
|
|
continue;
|
|
@@ -2133,6 +2286,23 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
TopCostTpItemVo topCostTpItem = tpItems.stream().findFirst().get();
|
|
|
BigDecimal divide = new BigDecimal("0.00");//成本
|
|
|
BigDecimal bigDecimal = new BigDecimal("100");
|
|
|
+ if (topCostTpItem.getDockStatus() == 1){
|
|
|
+ //启用成本扣除项
|
|
|
+ switch (topCostTpItem.getDockType()){
|
|
|
+ case 1://百分比
|
|
|
+ //成本扣除金额
|
|
|
+ BigDecimal divide1 = topCostTpItem.getDockValue().divide(bigDecimal);
|
|
|
+ BigDecimal multiply = goodsPrice.multiply(divide1);
|
|
|
+ goodsPrice = goodsPrice.subtract(multiply);
|
|
|
+ break;
|
|
|
+ case 2://固定金额
|
|
|
+ goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
switch (topCostTpItem.getItemType()) {
|
|
|
case 1://百分比
|
|
|
BigDecimal divideNum = topCostTpItem.getTypeValue().divide(bigDecimal);
|
|
@@ -2150,6 +2320,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
topOrderGoodsService.updateById(orderGoods);
|
|
|
divideTotal = divideTotal.add(divide);
|
|
|
}
|
|
|
+ order.setFinishStatus(1);//已完单
|
|
|
order.setDivideModel(divideModel);
|
|
|
order.setDivideStatus(2);//待审核
|
|
|
order.setCancelTime(DateUtils.getNowTime());
|
|
@@ -2195,7 +2366,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
logs.add(log);
|
|
|
//佣金审核
|
|
|
- if (brokerage.compareTo(BigDecimal.ZERO) > 0){
|
|
|
+ if (ObjectUtils.isNotNull(brokerage) && brokerage.compareTo(BigDecimal.ZERO) > 0){
|
|
|
log.setCheckFrom(4);
|
|
|
logs.add(log);
|
|
|
}
|
|
@@ -2456,12 +2627,23 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
List<TopCostTpItemVo> itemList = bo.getCostTpVo().getItemList();
|
|
|
//商品业务层 新系统默认是学校业务
|
|
|
String businessName = orderGoodsService.getBusinessById(orderGoods.getOrderGoodsId());
|
|
|
- List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
|
|
|
- TopCourseEducationType education = topCourseEducationTypeService.getById(x.getEducationTypeId());
|
|
|
- TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
|
|
|
- TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
|
|
|
- String name = education.getSchemeName() + education.getEducationName() + projectType.getProjectName() + business.getBusinessName();
|
|
|
- if (name.equals(businessName)) {
|
|
|
+ //业务层次过滤
|
|
|
+ List<TopCostTpItemVo> items = itemList.stream().filter(item -> {
|
|
|
+ //教育类型不限
|
|
|
+ if (item.getEducationTypeId() == -1){return true;}
|
|
|
+
|
|
|
+ TopCourseEducationType educationType = topCourseEducationTypeService.getById(item.getEducationTypeId());
|
|
|
+ if (!businessName.contains(educationType.getEducationName()) && !businessName.contains(educationType.getSchemeName())){
|
|
|
+ //教育类型匹配失败
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //项目类型和业务层次
|
|
|
+ if (item.getProjectId() == -1 && item.getBusinessId() == -1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
|
|
|
+ TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
|
|
|
+ if (businessName.contains(projectType.getProjectName()) && businessName.contains(business.getBusinessName())){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
@@ -2471,10 +2653,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
continue;
|
|
|
}
|
|
|
//根据订单金额匹配成本阶梯
|
|
|
- List<TopCostTpItemVo> tpItems = items.stream().filter(x ->
|
|
|
- (ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
|
|
|
- || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
|
|
|
- || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)).collect(Collectors.toList());
|
|
|
+ List<TopCostTpItemVo> tpItems = new ArrayList<>();
|
|
|
+ for (TopCostTpItemVo x : items) {
|
|
|
+ if ((ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
|
|
|
+ || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
|
|
|
+ || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)){
|
|
|
+ tpItems.add(x);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (CollectionUtils.isEmpty(tpItems)) {
|
|
|
//匹配不到成本项阶梯值
|
|
|
continue;
|
|
@@ -2488,6 +2674,22 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
BigDecimal cost = new BigDecimal("0.00");//成本
|
|
|
BigDecimal profit = new BigDecimal("0.00"); //盈亏
|
|
|
BigDecimal bigDecimal = new BigDecimal("100");
|
|
|
+ if (topCostTpItem.getDockStatus() == 1){
|
|
|
+ //启用成本扣除项
|
|
|
+ switch (topCostTpItem.getDockType()){
|
|
|
+ case 1://百分比
|
|
|
+ //成本扣除金额
|
|
|
+ BigDecimal divide = topCostTpItem.getDockValue().divide(bigDecimal);
|
|
|
+ BigDecimal multiply = goodsPrice.multiply(divide);
|
|
|
+ goodsPrice = goodsPrice.subtract(multiply);
|
|
|
+ break;
|
|
|
+ case 2://固定金额
|
|
|
+ goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
switch (topCostTpItem.getItemType()) {
|
|
|
case 1://百分比
|
|
|
BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
|
|
@@ -2536,12 +2738,26 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
//商品业务层
|
|
|
TopOldOrderGoods oldOrderGoods = topOrderGoodsService.getById(orderGoods.getOrderGoodsId());
|
|
|
String businessName = oldOrderGoods.getBusinessFullName();
|
|
|
- List<TopCostTpItemVo> items = itemList.stream().filter(x -> {
|
|
|
- TopCourseEducationType education = topCourseEducationTypeService.getById(x.getEducationTypeId());
|
|
|
- TopCourseProjectType projectType = topCourseProjectTypeService.getById(x.getProjectId());
|
|
|
- TopCourseBusiness business = topCourseBusinessService.getById(x.getBusinessId());
|
|
|
- String name = education.getSchemeName() + education.getEducationName() + business.getBusinessName() + projectType.getProjectName();
|
|
|
- if (name.equals(businessName)) {
|
|
|
+ //业务层次过滤
|
|
|
+ List<TopCostTpItemVo> items = itemList.stream().filter(item -> {
|
|
|
+ //教育类型不限
|
|
|
+ if (item.getEducationTypeId() == -1){return true;}
|
|
|
+
|
|
|
+ TopCourseEducationType educationType = topCourseEducationTypeService.getById(item.getEducationTypeId());
|
|
|
+ if (!businessName.contains(educationType.getEducationName()) && !businessName.contains(educationType.getSchemeName())){
|
|
|
+ //教育类型匹配失败
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //项目类型和业务层次
|
|
|
+ if (item.getProjectId() == -1 && item.getBusinessId() == -1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+// TopCourseProjectType projectType = topCourseProjectTypeService.getById(item.getProjectId());
|
|
|
+ TopCourseBusiness business = topCourseBusinessService.getById(item.getBusinessId());
|
|
|
+// if (businessName.contains(projectType.getProjectName()) && businessName.contains(business.getBusinessName())){
|
|
|
+// return true;
|
|
|
+// }
|
|
|
+ if (businessName.contains(business.getOldBusinessName())){
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
@@ -2551,10 +2767,14 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
continue;
|
|
|
}
|
|
|
//根据订单金额匹配成本阶梯
|
|
|
- List<TopCostTpItemVo> tpItems = items.stream().filter(x ->
|
|
|
- (ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
|
|
|
- || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
|
|
|
- || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)).collect(Collectors.toList());
|
|
|
+ List<TopCostTpItemVo> tpItems = new ArrayList<>();
|
|
|
+ for (TopCostTpItemVo x : items) {
|
|
|
+ if ((ObjectUtils.isNull(x.getMinValue()) && ObjectUtils.isNull(x.getMaxValue()))
|
|
|
+ || (goodsPrice.compareTo(x.getMinValue()) > 0 && goodsPrice.compareTo(x.getMaxValue()) < 0)
|
|
|
+ || (goodsPrice.compareTo(x.getMinValue()) == 0 && goodsPrice.compareTo(x.getMaxValue()) == 0)){
|
|
|
+ tpItems.add(x);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (CollectionUtils.isEmpty(tpItems)) {
|
|
|
//匹配不到成本项阶梯值
|
|
|
continue;
|
|
@@ -2568,6 +2788,22 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
BigDecimal cost = new BigDecimal("0.00");//成本
|
|
|
BigDecimal profit = new BigDecimal("0.00"); //盈亏
|
|
|
BigDecimal bigDecimal = new BigDecimal("100");
|
|
|
+ if (topCostTpItem.getDockStatus() == 1){
|
|
|
+ //启用成本扣除项
|
|
|
+ switch (topCostTpItem.getDockType()){
|
|
|
+ case 1://百分比
|
|
|
+ //成本扣除金额
|
|
|
+ BigDecimal divide = topCostTpItem.getDockValue().divide(bigDecimal);
|
|
|
+ BigDecimal multiply = goodsPrice.multiply(divide);
|
|
|
+ goodsPrice = goodsPrice.subtract(multiply);
|
|
|
+ break;
|
|
|
+ case 2://固定金额
|
|
|
+ goodsPrice = goodsPrice.subtract(topCostTpItem.getDockValue());
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
switch (topCostTpItem.getItemType()) {
|
|
|
case 1://百分比
|
|
|
BigDecimal divide = topCostTpItem.getTypeValue().divide(bigDecimal);
|
|
@@ -2643,9 +2879,61 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
TopOldOrder order = getOne(new LambdaQueryWrapper<TopOldOrder>()
|
|
|
.eq(TopOldOrder::getOrderSn, bankPay.getOrderSn()).last("limit 1"));
|
|
|
- if(Validator.isEmpty(order)||order.getDivideStatus()!=6){
|
|
|
+ if(Validator.isEmpty(order)){
|
|
|
throw new CustomException("订单非法操作");
|
|
|
}
|
|
|
+ if (bankPay.getType() == 2){
|
|
|
+ //退款
|
|
|
+ List<TopOldOrderRefund> list = topOldOrderRefundService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
+ .eq(TopOldOrderRefund::getOrderSn, order.getOrderSn())
|
|
|
+ .eq(TopOldOrderRefund::getPeriodStatus, 4)
|
|
|
+ .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ switch (bo.getStatus()){
|
|
|
+ case 0://支付失败
|
|
|
+ bankPay.setResultStatus(-1);
|
|
|
+ list.forEach(x -> x.setPeriodStatus(5));//支付失败
|
|
|
+ topOldOrderRefundService.updateBatchById(list);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getRefundStatus,4)
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId,list.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
|
|
|
+ order.setRefundStatus(6);//支付失败
|
|
|
+ break;
|
|
|
+ case 1://支付成功
|
|
|
+ bankPay.setResultStatus(1);
|
|
|
+ list.forEach(x -> x.setPeriodStatus(3));//支付成功
|
|
|
+ topOldOrderRefundService.updateBatchById(list);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getRefundStatus,2) //支付成功
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId,list.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
|
|
|
+ order.setRefundStatus(3);//支付成功
|
|
|
+ //已退金额
|
|
|
+ BigDecimal add = BigDecimal.ZERO;
|
|
|
+ BigDecimal reduce = list.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ if (ObjectUtils.isNotNull(order.getOrderRefunded())){
|
|
|
+ add = order.getOrderRefunded().add(reduce);
|
|
|
+ }else {
|
|
|
+ add = reduce;
|
|
|
+ }
|
|
|
+ order.setOrderRefunded(add);//已退金额
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ iTopOrderBankPayService.updateById(bankPay);
|
|
|
+ order.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ updateById(order);
|
|
|
+ //订单在新系统 处理订单
|
|
|
+ if (bo.getStatus() == 1 && order.getOrderBase() == 1 && ObjectUtils.isNotNull(order.getInputOrderSn())){
|
|
|
+ handleRefundOrder(list,order.getInputOrderSn(),order.getTenantId().toString());
|
|
|
+ }
|
|
|
+ checkInform(order.getOrderSn(),list.get(0).getType(),"",1,1,bo.getStatus() == 1?"已支付":"支付失败");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(order.getDivideStatus()!=6){
|
|
|
+ throw new CustomException("订单非法操作");
|
|
|
+ }
|
|
|
if(bo.getStatus()==1){
|
|
|
bankPay.setResultStatus(1);
|
|
|
order.setDivideStatus(7);
|