|
@@ -38,6 +38,7 @@ import com.zhongzheng.modules.inform.service.IInformSysUserService;
|
|
|
import com.zhongzheng.modules.inform.vo.InformRemindVo;
|
|
|
import com.zhongzheng.modules.order.domain.Order;
|
|
|
import com.zhongzheng.modules.order.domain.OrderGoods;
|
|
|
+import com.zhongzheng.modules.order.domain.OrderGoodsRefund;
|
|
|
import com.zhongzheng.modules.order.service.IOrderGoodsRefundService;
|
|
|
import com.zhongzheng.modules.order.service.IOrderGoodsService;
|
|
|
import com.zhongzheng.modules.system.bo.SysTenantBadBillConfigBo;
|
|
@@ -259,6 +260,18 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
@Override
|
|
|
public List<TopOldOrderVo> queryList(TopOldOrderQueryBo bo) {
|
|
|
//查询视图 v_top_order
|
|
|
+ if (ObjectUtils.isNotNull(bo.getEducationTypeId())){
|
|
|
+ TopCourseEducationType educationType = topCourseEducationTypeService.getById(bo.getEducationTypeId());
|
|
|
+ if (StringUtils.isNotBlank(educationType.getSchemeName())){
|
|
|
+ bo.setBusinessFullName(educationType.getSchemeName() + educationType.getEducationName());
|
|
|
+ }else {
|
|
|
+ bo.setBusinessFullName(educationType.getEducationName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(bo.getBusinessId())){
|
|
|
+ String name = topCourseBusinessService.getBusinessFullName(bo.getBusinessId());
|
|
|
+ bo.setBusinessFullName(name);
|
|
|
+ }
|
|
|
List<TopOldOrderVo> orderVoList = baseMapper.queryList(bo);
|
|
|
if (CollectionUtils.isNotEmpty(orderVoList)) {
|
|
|
//订单业务类型
|
|
@@ -279,11 +292,20 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
//退款审核角色
|
|
|
if (Arrays.asList(0, 2).contains(item.getRefundStatus())) {
|
|
|
- List<TopOldOrderRefund> list = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
- .eq(TopOldOrderRefund::getOrderSn, item.getOrderSn())
|
|
|
- .in(TopOldOrderRefund::getPeriodStatus, Arrays.asList(0, 1, 2)));
|
|
|
- String refundSn = list.stream().findFirst().get().getRefundSn();
|
|
|
+ String refundSn = "";
|
|
|
+ if (item.getOrderFrom() == 1){
|
|
|
+ List<OrderGoodsRefund> list = orderGoodsRefundService
|
|
|
+ .list(new LambdaQueryWrapper<OrderGoodsRefund>()
|
|
|
+ .eq(OrderGoodsRefund::getOrderSn, item.getOrderSn())
|
|
|
+ .in(OrderGoodsRefund::getPeriodStatus, Arrays.asList(0, 1, 2)));
|
|
|
+ refundSn = list.stream().findFirst().get().getRefundSn();
|
|
|
+ }else {
|
|
|
+ List<TopOldOrderRefund> list = topOldOrderRefundService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
+ .eq(TopOldOrderRefund::getOrderSn, item.getOrderSn())
|
|
|
+ .in(TopOldOrderRefund::getPeriodStatus, Arrays.asList(0, 1, 2)));
|
|
|
+ refundSn = list.stream().findFirst().get().getRefundSn();
|
|
|
+ }
|
|
|
TopOldOrderCheckLog checkLog = topOldOrderCheckLogService
|
|
|
.getOne(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, refundSn)
|
|
@@ -1214,11 +1236,11 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
throw new CustomException("当前账号没有审核权限");
|
|
|
}
|
|
|
//退款详情
|
|
|
- List<TopOldOrderRefund> orderRefundList = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
- .eq(TopOldOrderRefund::getOrderSn, bo.getOrderSn())
|
|
|
- .eq(TopOldOrderRefund::getPeriodStatus, 2)//待退款
|
|
|
- .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ RefundOrderBo refundOrderBo = new RefundOrderBo();
|
|
|
+ refundOrderBo.setOrderSn(bo.getOrderSn());
|
|
|
+ refundOrderBo.setPeriodStatus(2);//待退款
|
|
|
+ List<TopOldOrderRefundVo> orderRefundList = baseMapper.getRefundOrderByBo(refundOrderBo);
|
|
|
+ orderRefundList.forEach(item -> item.setRealRefundFee(item.getRefundFee()));
|
|
|
List<Long> roleIds = userRoleList.stream().map(TopSysUserRole::getRoleId).collect(Collectors.toList());
|
|
|
TopOldOrderCheckLog checkLog = topOldOrderCheckLogService.getOne(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, orderRefundList.get(0).getRefundSn())
|
|
@@ -1237,17 +1259,17 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
throw new CustomException("订单数据错误无法支付");
|
|
|
}
|
|
|
//退款金额
|
|
|
- BigDecimal refundPrice = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal refundPrice = orderRefundList.stream().map(TopOldOrderRefundVo::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);
|
|
|
- orderRefundList.forEach(x -> x.setPeriodStatus(4));//支付中
|
|
|
- topOldOrderRefundService.updateBatchById(orderRefundList);
|
|
|
+ Integer sign = handleEnterpriseRefund(refundPrice, order, bo);
|
|
|
+ orderRefundList.forEach(x -> x.setPeriodStatus(sign==2?4:3));//支付中
|
|
|
+ topOldOrderRefundService.updateBatchById(orderRefundList.stream().map(x -> BeanUtil.toBean(x,TopOldOrderRefund.class)).collect(Collectors.toList()));
|
|
|
update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
- .set(TopOldOrder::getRefundStatus,5) // 支付中
|
|
|
+ .set(TopOldOrder::getRefundStatus,sign==2?5:3) // 支付中
|
|
|
.eq(TopOldOrder::getOrderSn,bo.getOrderSn()));
|
|
|
}else if (order.getOrderFrom() == 1 && bo.getPayType() == 1){
|
|
|
//新系统C端微信退款处理
|
|
@@ -1257,19 +1279,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
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());
|
|
|
}
|
|
@@ -1277,13 +1286,13 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
// 旧系统C端微信退款处理
|
|
|
checkInform(order.getOrderSn(),orderRefundList.get(0).getType(),"",1,1,"已支付");
|
|
|
orderRefundList.forEach(x -> x.setPeriodStatus(3));//已完成
|
|
|
- topOldOrderRefundService.updateBatchById(orderRefundList);
|
|
|
+ topOldOrderRefundService.updateBatchById(orderRefundList.stream().map(x -> BeanUtil.toBean(x,TopOldOrderRefund.class)).collect(Collectors.toList()));
|
|
|
topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
.set(TopOldOrderGoods::getRefundStatus,2)//已退款
|
|
|
- .in(TopOldOrderGoods::getOrderGoodsId,orderRefundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList())));
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId,orderRefundList.stream().map(TopOldOrderRefundVo::getOrderGoodsId).collect(Collectors.toList())));
|
|
|
//已退金额
|
|
|
BigDecimal add = BigDecimal.ZERO;
|
|
|
- BigDecimal reduce = orderRefundList.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal reduce = orderRefundList.stream().map(TopOldOrderRefundVo::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
if (ObjectUtils.isNotNull(order.getOrderRefunded())){
|
|
|
add = order.getOrderRefunded().add(reduce);
|
|
|
}else {
|
|
@@ -1302,7 +1311,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
- private void handleRefundOrder(List<TopOldOrderRefund> orderRefundList,String inputOrderSn,String tenantId){
|
|
|
+ private void handleRefundOrder(List<TopOldOrderRefundVo> orderRefundList,String inputOrderSn,String tenantId){
|
|
|
orderRefundList.forEach(refund -> {
|
|
|
TopOldOrderGoods item = topOrderGoodsService.getById(refund.getOrderGoodsId());
|
|
|
User user = userService.getOne(new LambdaQueryWrapper<User>()
|
|
@@ -1338,7 +1347,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
|
|
|
|
|
|
- private void handleEnterpriseRefund(BigDecimal refundPrice,TopOldOrder order,OrderRefundPayBo bo) {
|
|
|
+ private Integer handleEnterpriseRefund(BigDecimal refundPrice,TopOldOrder order,OrderRefundPayBo bo) {
|
|
|
if (ObjectUtils.isNotNull(order.getOrderUncollected()) && order.getOrderUncollected().compareTo(BigDecimal.ZERO) !=0){
|
|
|
//存在未收款金额
|
|
|
BigDecimal orderUncollected = order.getOrderUncollected();
|
|
@@ -1392,7 +1401,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
throw new CustomException("退款支付请求错误"+e.getMessage());
|
|
|
}
|
|
|
topOrderBankPayService.save(add);
|
|
|
+ return 2;
|
|
|
}
|
|
|
+ return 1;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1501,6 +1512,48 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public void informRemindOrderCheck(String result) {
|
|
|
+ //订单审核结果通知
|
|
|
+ List<InformRemindRelevance> remindRelevances = informRemindRelevanceService.list(new LambdaQueryWrapper<InformRemindRelevance>().eq(InformRemindRelevance::getType, 2));
|
|
|
+ if (CollectionUtils.isEmpty(remindRelevances)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ InformRemindVo informRemindVo = informRemindService.queryByName("订单审核结果通知");
|
|
|
+ for (InformRemindRelevance remindVo : remindRelevances) {
|
|
|
+ SysUser sysUser = sysUserService.getById(remindVo.getRelevanceId());
|
|
|
+ if (ObjectUtil.isNull(sysUser)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (informRemindVo.getWayStatus().equals(1)) {
|
|
|
+ InformSysUserAddBo informUserAddBo = new InformSysUserAddBo();
|
|
|
+ informUserAddBo.setUserId(sysUser.getUserId());
|
|
|
+ informUserAddBo.setSendStatus(1);
|
|
|
+ informUserAddBo.setSendTime(DateUtils.getNowTime());
|
|
|
+ informUserAddBo.setCreateTime(DateUtils.getNowTime());
|
|
|
+ informUserAddBo.setUpdateTime(DateUtils.getNowTime());
|
|
|
+ informUserAddBo.setRemindId(informRemindVo.getId());
|
|
|
+ informUserAddBo.setSystemStatus(1);
|
|
|
+ informUserAddBo.setRemind("订单审核结果通知");
|
|
|
+ informUserAddBo.setText(String.format("订单审核结果通知:%s", result));
|
|
|
+ informSysUserService.insertByAddBo(informUserAddBo);
|
|
|
+ }
|
|
|
+ if (informRemindVo.getNoteStatus().equals(1) && StringUtils.isNotBlank(sysUser.getPhonenumber())) {
|
|
|
+ //短信提醒
|
|
|
+// InformSysUserAddBo informUserAddBo = new InformSysUserAddBo();
|
|
|
+// informUserAddBo.setSendStatus(1);
|
|
|
+// informUserAddBo.setSendTime(DateUtils.getNowTime());
|
|
|
+// informUserAddBo.setCreateTime(DateUtils.getNowTime());
|
|
|
+// informUserAddBo.setUpdateTime(DateUtils.getNowTime());
|
|
|
+// informUserAddBo.setRemindId(informRemindVo.getId());
|
|
|
+// informUserAddBo.setSystemStatus(3);
|
|
|
+// informUserAddBo.setRemind("学员退学提醒,请尽快处理");
|
|
|
+// informUserAddBo.setText(String.format("学员【%s】已退学,请及时处理",userNames.stream().collect(Collectors.joining())));
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public boolean orderRefundApply(TopOrderRefundApplyBo bo) {
|
|
@@ -1638,21 +1691,19 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (ObjectUtils.isNull(orderVo)) {
|
|
|
throw new CustomException("订单号错误!");
|
|
|
}
|
|
|
- List<TopOldOrderRefund> refunds = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>().eq(TopOldOrderRefund::getOrderSn, orderSn)
|
|
|
- .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ List<TopOldOrderRefundVo> refunds = baseMapper.getRefundOrder(orderVo.getOrderSn());
|
|
|
if (CollectionUtils.isEmpty(refunds)) {
|
|
|
return vo;
|
|
|
}
|
|
|
vo.setOrderId(orderVo.getOrderId());
|
|
|
vo.setOrderSn(orderVo.getOrderSn());
|
|
|
- Map<String, List<TopOldOrderRefund>> map = refunds.stream().collect(Collectors.groupingBy(TopOldOrderRefund::getRefundSn));
|
|
|
+ Map<String, List<TopOldOrderRefundVo>> map = refunds.stream().collect(Collectors.groupingBy(TopOldOrderRefundVo::getRefundSn));
|
|
|
if (map.keySet().size() > 1) {
|
|
|
//订单多次提交申请
|
|
|
map.forEach((k, v) -> {
|
|
|
if (v.get(0).getPeriodStatus() == 0 || v.get(0).getPeriodStatus() == 1 || v.get(0).getPeriodStatus() == 2) {
|
|
|
vo.setRefundSn(k);
|
|
|
- BigDecimal reduce = v.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal reduce = v.stream().map(TopOldOrderRefundVo::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
vo.setRefundFee(reduce);
|
|
|
vo.setRefundReason(v.get(0).getApplyReason());
|
|
|
vo.setApplyTime(v.get(0).getCreateTime());
|
|
@@ -1660,7 +1711,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
});
|
|
|
} else {
|
|
|
vo.setRefundSn(refunds.get(0).getRefundSn());
|
|
|
- BigDecimal reduce = refunds.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal reduce = refunds.stream().map(TopOldOrderRefundVo::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
vo.setRefundFee(reduce);
|
|
|
vo.setRefundReason(refunds.get(0).getApplyReason());
|
|
|
vo.setApplyTime(refunds.get(0).getCreateTime());
|
|
@@ -1704,15 +1755,25 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (collect.stream().anyMatch(x -> x.getCheckSign() == 1)) {
|
|
|
vo.setCheckType(3);
|
|
|
//获取退款金额
|
|
|
- List<TopOldOrderRefund> list = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
- .eq(TopOldOrderRefund::getOrderSn, orderSn)
|
|
|
- .eq(TopOldOrderRefund::getPeriodStatus, 2)//待退款
|
|
|
- .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
- if (CollectionUtils.isEmpty(list)){
|
|
|
- throw new CustomException("订单退款信息获取失败!");
|
|
|
+ BigDecimal reduce = BigDecimal.ZERO;
|
|
|
+ if (orderVo.getOrderFrom() == 1){
|
|
|
+ List<OrderGoodsRefund> list = orderGoodsRefundService
|
|
|
+ .list(new LambdaQueryWrapper<OrderGoodsRefund>()
|
|
|
+ .eq(OrderGoodsRefund::getOrderSn, orderSn)
|
|
|
+ .eq(OrderGoodsRefund::getPeriodStatus, 2)//待退款
|
|
|
+ .eq(OrderGoodsRefund::getStatus, 1));
|
|
|
+ reduce = list.stream().map(OrderGoodsRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }else {
|
|
|
+ List<TopOldOrderRefund> list = topOldOrderRefundService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
+ .eq(TopOldOrderRefund::getOrderSn, orderSn)
|
|
|
+ .eq(TopOldOrderRefund::getPeriodStatus, 2)//待退款
|
|
|
+ .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ if (CollectionUtils.isEmpty(list)){
|
|
|
+ throw new CustomException("订单退款信息获取失败!");
|
|
|
+ }
|
|
|
+ reduce = list.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
}
|
|
|
- BigDecimal reduce = list.stream().map(TopOldOrderRefund::getRefundFee).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
vo.setRefundMoney(reduce);
|
|
|
vo.setPayType(orderVo.getPayType());
|
|
|
vo.setBuyTime(orderVo.getBuyTime());
|
|
@@ -1769,16 +1830,32 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
List<Long> roleIds = userRoleList.stream().map(TopSysUserRole::getRoleId).collect(Collectors.toList());
|
|
|
//找到当前申请退款的退款单号
|
|
|
- List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
- .eq(TopOldOrderRefund::getOrderSn, bo.getOrderSn())
|
|
|
- .in(TopOldOrderRefund::getPeriodStatus, Arrays.asList(0, 1, 2))
|
|
|
- .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
- if (CollectionUtils.isEmpty(refundList)) {
|
|
|
- throw new CustomException("当前订单没有申请退款!请检查:" + bo.getOrderSn());
|
|
|
- }
|
|
|
- String refundSn = refundList.get(0).getRefundSn();
|
|
|
- Integer type = refundList.get(0).getType();
|
|
|
+ String refundSn = "";
|
|
|
+ Integer type = 0;
|
|
|
+ if (order.getOrderFrom() == 1){
|
|
|
+ List<OrderGoodsRefund> refundList = orderGoodsRefundService
|
|
|
+ .list(new LambdaQueryWrapper<OrderGoodsRefund>()
|
|
|
+ .eq(OrderGoodsRefund::getOrderSn, bo.getOrderSn())
|
|
|
+ .in(OrderGoodsRefund::getPeriodStatus, Arrays.asList(0, 1, 2))
|
|
|
+ .eq(OrderGoodsRefund::getStatus, 1));
|
|
|
+ if (CollectionUtils.isEmpty(refundList)) {
|
|
|
+ throw new CustomException("当前订单没有申请退款!请检查:" + bo.getOrderSn());
|
|
|
+ }
|
|
|
+ refundSn = refundList.get(0).getRefundSn();
|
|
|
+ type = refundList.get(0).getType();
|
|
|
+ }else {
|
|
|
+ List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
+ .eq(TopOldOrderRefund::getOrderSn, bo.getOrderSn())
|
|
|
+ .in(TopOldOrderRefund::getPeriodStatus, Arrays.asList(0, 1, 2))
|
|
|
+ .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ if (CollectionUtils.isEmpty(refundList)) {
|
|
|
+ throw new CustomException("当前订单没有申请退款!请检查:" + bo.getOrderSn());
|
|
|
+ }
|
|
|
+ refundSn = refundList.get(0).getRefundSn();
|
|
|
+ type = refundList.get(0).getType();
|
|
|
+ }
|
|
|
+
|
|
|
//当前退款流程
|
|
|
TopOldOrderCheckLog checkLog = topOldOrderCheckLogService.getOne(new LambdaQueryWrapper<TopOldOrderCheckLog>()
|
|
|
.eq(TopOldOrderCheckLog::getRefundSn, refundSn).eq(TopOldOrderCheckLog::getStatus, 1)
|
|
@@ -1837,37 +1914,27 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
|
|
|
} else {
|
|
|
//初审拒绝
|
|
|
- //处理订单状态
|
|
|
- List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
- .eq(TopOldOrderRefund::getRefundSn, checkLog.getRefundSn())
|
|
|
- .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
- List<Long> orderGoodsIds = refundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList());
|
|
|
- for (TopOldOrderRefund item : refundList) {
|
|
|
- item.setPeriodStatus(-1);//拒绝退款
|
|
|
- }
|
|
|
- topOldOrderRefundService.updateBatchById(refundList);
|
|
|
- topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
- .set(TopOldOrderGoods::getRefundStatus, 3)//未通过
|
|
|
- .in(TopOldOrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
-
|
|
|
- update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
- .set(TopOldOrder::getRefundStatus, 4) //未通过
|
|
|
- .eq(TopOldOrder::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
- //订单处理
|
|
|
- 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(oldOrder.getOrderSn(),type,bo.getCheckReason(),2,1,String.format("未通过(%s)",bo.getCheckRoleName()));
|
|
|
+ //处理订单状态
|
|
|
+ List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
+ .eq(TopOldOrderRefund::getRefundSn, checkLog.getRefundSn())
|
|
|
+ .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ List<Long> orderGoodsIds = refundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList());
|
|
|
+ for (TopOldOrderRefund item : refundList) {
|
|
|
+ item.setPeriodStatus(-1);//拒绝退款
|
|
|
+ }
|
|
|
+ topOldOrderRefundService.updateBatchById(refundList);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getRefundStatus, 3)//未通过
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
|
|
|
- if (order.getOrderFrom() == 1) {
|
|
|
- //新系统订单
|
|
|
- orderGoodsService.update(new LambdaUpdateWrapper<OrderGoods>()
|
|
|
- .set(OrderGoods::getRefundStatus, 3)
|
|
|
- .in(OrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
- } else {
|
|
|
- if (order.getOrderBase() == 1){
|
|
|
+ update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
+ .set(TopOldOrder::getRefundStatus, 4) //未通过
|
|
|
+ .eq(TopOldOrder::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
+ if (oldOrder.getOrderBase() == 1){
|
|
|
//底单在新系统
|
|
|
List<TopOldOrderGoods> orderGoods = topOrderGoodsService.listByIds(orderGoodsIds);
|
|
|
orderGoods.forEach(item -> {
|
|
@@ -1877,7 +1944,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
//处理新系统订单商品
|
|
|
List<Order> list = orderService
|
|
|
.list(new LambdaUpdateWrapper<Order>()
|
|
|
- .eq(Order::getInputOrderSn, order.getInputOrderSn())
|
|
|
+ .eq(Order::getInputOrderSn, oldOrder.getInputOrderSn())
|
|
|
.eq(Order::getStatus, 1)
|
|
|
.eq(Order::getUserId, user.getUserId()));
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
@@ -1895,7 +1962,27 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ }else {
|
|
|
+ //新系统订单
|
|
|
+ //处理订单状态
|
|
|
+ List<OrderGoodsRefund> refundList = orderGoodsRefundService
|
|
|
+ .list(new LambdaQueryWrapper<OrderGoodsRefund>()
|
|
|
+ .eq(OrderGoodsRefund::getRefundSn, checkLog.getRefundSn())
|
|
|
+ .eq(OrderGoodsRefund::getStatus, 1));
|
|
|
+ List<Long> orderGoodsIds = refundList.stream().map(OrderGoodsRefund::getOrderGoodsId).collect(Collectors.toList());
|
|
|
+ for (OrderGoodsRefund item : refundList) {
|
|
|
+ item.setPeriodStatus(-1);//拒绝退款
|
|
|
+ }
|
|
|
+ orderGoodsRefundService.updateBatchById(refundList);
|
|
|
+ orderGoodsService.update(new LambdaUpdateWrapper<OrderGoods>()
|
|
|
+ .set(OrderGoods::getRefundStatus, 3)//未通过
|
|
|
+ .in(OrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
+
|
|
|
+ orderService.update(new LambdaUpdateWrapper<Order>()
|
|
|
+ .set(Order::getRefundStatus, 4) //未通过
|
|
|
+ .eq(Order::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1972,32 +2059,53 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
check.setCheckSign(1);//开启当前流程
|
|
|
topOldOrderCheckLogService.updateById(check);
|
|
|
}
|
|
|
+ //消息通知
|
|
|
+ informRemindOrderCheck(String.format("【%s】订单已通过【%s】审核",bo.getOrderSn(),bo.getCheckRoleName()));
|
|
|
}
|
|
|
TopOldOrder oldOrder = baseMapper.getOrderBySn(bo.getOrderSn());
|
|
|
if (oldOrder.getOrderFrom() != 1){
|
|
|
checkInform(bo.getOrderSn(),type,bo.getCheckReason(),1,0,String.format("%s(%s)",
|
|
|
periodStatus == 2?"待付款":"审核中",
|
|
|
bo.getCheckRoleName()));
|
|
|
- }
|
|
|
+ //处理订单状态
|
|
|
+ List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
|
+ .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
+ .eq(TopOldOrderRefund::getRefundSn, checkLog.getRefundSn())
|
|
|
+ .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
+ List<Long> orderGoodsIds = refundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList());
|
|
|
+ for (TopOldOrderRefund item : refundList) {
|
|
|
+ item.setPeriodStatus(periodStatus);
|
|
|
+ }
|
|
|
+ topOldOrderRefundService.updateBatchById(refundList);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getRefundStatus, refundStatus)
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
|
|
|
- //处理订单状态
|
|
|
- List<TopOldOrderRefund> refundList = topOldOrderRefundService
|
|
|
- .list(new LambdaQueryWrapper<TopOldOrderRefund>()
|
|
|
- .eq(TopOldOrderRefund::getRefundSn, checkLog.getRefundSn())
|
|
|
- .eq(TopOldOrderRefund::getStatus, 1));
|
|
|
- List<Long> orderGoodsIds = refundList.stream().map(TopOldOrderRefund::getOrderGoodsId).collect(Collectors.toList());
|
|
|
- for (TopOldOrderRefund item : refundList) {
|
|
|
- item.setPeriodStatus(periodStatus);
|
|
|
- }
|
|
|
- topOldOrderRefundService.updateBatchById(refundList);
|
|
|
- topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
- .set(TopOldOrderGoods::getRefundStatus, refundStatus)
|
|
|
- .in(TopOldOrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
+ if (periodStatus == 2) {
|
|
|
+ update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
+ .set(TopOldOrder::getRefundStatus, 2) //未退款
|
|
|
+ .eq(TopOldOrder::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //新云学堂订单
|
|
|
+ List<OrderGoodsRefund> refundList = orderGoodsRefundService
|
|
|
+ .list(new LambdaQueryWrapper<OrderGoodsRefund>()
|
|
|
+ .eq(OrderGoodsRefund::getRefundSn, checkLog.getRefundSn())
|
|
|
+ .eq(OrderGoodsRefund::getStatus, 1));
|
|
|
+ List<Long> orderGoodsIds = refundList.stream().map(OrderGoodsRefund::getOrderGoodsId).collect(Collectors.toList());
|
|
|
+ for (OrderGoodsRefund item : refundList) {
|
|
|
+ item.setPeriodStatus(periodStatus);
|
|
|
+ }
|
|
|
+ orderGoodsRefundService.updateBatchById(refundList);
|
|
|
+ topOrderGoodsService.update(new LambdaUpdateWrapper<TopOldOrderGoods>()
|
|
|
+ .set(TopOldOrderGoods::getRefundStatus, refundStatus)
|
|
|
+ .in(TopOldOrderGoods::getOrderGoodsId, orderGoodsIds));
|
|
|
|
|
|
- if (periodStatus == 2) {
|
|
|
- update(new LambdaUpdateWrapper<TopOldOrder>()
|
|
|
- .set(TopOldOrder::getRefundStatus, 2) //未退款
|
|
|
- .eq(TopOldOrder::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
+ if (periodStatus == 2) {
|
|
|
+ orderService.update(new LambdaUpdateWrapper<Order>()
|
|
|
+ .set(Order::getRefundStatus, 2) //未退款
|
|
|
+ .eq(Order::getOrderSn, refundList.get(0).getOrderSn()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2856,7 +2964,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
updateById(order);
|
|
|
//订单在新系统 处理订单
|
|
|
if (bo.getStatus() == 1 && order.getOrderBase() == 1 && ObjectUtils.isNotNull(order.getInputOrderSn())){
|
|
|
- handleRefundOrder(list,order.getInputOrderSn(),order.getTenantId().toString());
|
|
|
+ handleRefundOrder(list.stream().map(x -> BeanUtil.toBean(x,TopOldOrderRefundVo.class)).collect(Collectors.toList()),order.getInputOrderSn(),order.getTenantId().toString());
|
|
|
}
|
|
|
checkInform(order.getOrderSn(),list.get(0).getType(),"",1,1,bo.getStatus() == 1?"已支付":"支付失败");
|
|
|
return true;
|
|
@@ -2876,7 +2984,6 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
divideLog.setPayStatus(1);
|
|
|
divideLog.setPayTime(DateUtils.getNowTime());
|
|
|
iTopDivideOrderService.updateCheckStatusById(bankPay);
|
|
|
-
|
|
|
}
|
|
|
if(bo.getStatus()==0){
|
|
|
bankPay.setResultStatus(-1);
|