fix bug
This commit is contained in:
parent
ffb560da51
commit
b4617d3135
|
|
@ -664,6 +664,15 @@ public class OrderController extends BaseController {
|
||||||
|
|
||||||
// 分销扣点记录
|
// 分销扣点记录
|
||||||
Long customerPlaceId = customer.getCustomerPlace();
|
Long customerPlaceId = customer.getCustomerPlace();
|
||||||
|
Long parentCustomerPlaceId = customer.getParentCustomerPlace();
|
||||||
|
Long reparentCustomerPlaceId = null;
|
||||||
|
if(customer.getParentCustomerPlace() != null){
|
||||||
|
Customer parentPlaceCustomer =customerService.selectByCustomerId(customer.getParentCustomerPlace());
|
||||||
|
if(parentPlaceCustomer != null){
|
||||||
|
reparentCustomerPlaceId = parentPlaceCustomer.getCustomerPlace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 一级分销
|
// 一级分销
|
||||||
if (customerPlaceId != null) {
|
if (customerPlaceId != null) {
|
||||||
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
||||||
|
|
@ -672,12 +681,9 @@ public class OrderController extends BaseController {
|
||||||
|
|
||||||
// 剩余服务金额
|
// 剩余服务金额
|
||||||
serverMoney = serverMoney.subtract(threeMoney);
|
serverMoney = serverMoney.subtract(threeMoney);
|
||||||
} else {
|
|
||||||
oneMoney = oneMoney.add(threeMoney);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 二级分销
|
// 二级分销
|
||||||
Long parentCustomerPlaceId = customer.getParentCustomerPlace();
|
|
||||||
if (parentCustomerPlaceId != null) {
|
if (parentCustomerPlaceId != null) {
|
||||||
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
||||||
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
|
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
|
||||||
|
|
@ -685,17 +691,42 @@ public class OrderController extends BaseController {
|
||||||
|
|
||||||
// 剩余服务金额
|
// 剩余服务金额
|
||||||
serverMoney = serverMoney.subtract(twoMoney);
|
serverMoney = serverMoney.subtract(twoMoney);
|
||||||
} else {
|
}else if(customerPlaceId != null){
|
||||||
oneMoney = oneMoney.add(twoMoney);
|
// 二级没有,且三级有
|
||||||
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
||||||
|
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
|
||||||
|
financialDetailService.insertFinancialDetail(financialDetail);
|
||||||
|
|
||||||
|
// 剩余服务金额
|
||||||
|
serverMoney = serverMoney.subtract(twoMoney);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 最上级分,没有则给下级,再没有再给下级
|
||||||
|
if(reparentCustomerPlaceId != null){
|
||||||
// 平台分销
|
// 平台分销
|
||||||
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
||||||
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), null);
|
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), reparentCustomerPlaceId);
|
||||||
financialDetailService.insertFinancialDetail(financialDetail);
|
financialDetailService.insertFinancialDetail(financialDetail);
|
||||||
|
|
||||||
// 剩余服务金额
|
// 剩余服务金额
|
||||||
serverMoney = serverMoney.subtract(oneMoney);
|
serverMoney = serverMoney.subtract(oneMoney);
|
||||||
|
}else if(parentCustomerPlaceId != null){
|
||||||
|
// 平台分销
|
||||||
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
||||||
|
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
|
||||||
|
financialDetailService.insertFinancialDetail(financialDetail);
|
||||||
|
|
||||||
|
// 剩余服务金额
|
||||||
|
serverMoney = serverMoney.subtract(oneMoney);
|
||||||
|
}else if(customerPlaceId != null){
|
||||||
|
// 平台分销
|
||||||
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
||||||
|
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), customerPlaceId);
|
||||||
|
financialDetailService.insertFinancialDetail(financialDetail);
|
||||||
|
|
||||||
|
// 剩余服务金额
|
||||||
|
serverMoney = serverMoney.subtract(oneMoney);
|
||||||
|
}
|
||||||
|
|
||||||
financialMaster.setServerMoney(serverMoney);
|
financialMaster.setServerMoney(serverMoney);
|
||||||
financialMasterService.updateFinancialMaster(financialMaster);
|
financialMasterService.updateFinancialMaster(financialMaster);
|
||||||
|
|
@ -979,63 +1010,64 @@ public class OrderController extends BaseController {
|
||||||
// 查询子单
|
// 查询子单
|
||||||
OrderDetail orderDetailReq = new OrderDetail();
|
OrderDetail orderDetailReq = new OrderDetail();
|
||||||
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
||||||
|
// 拿到所有正常筛选出来的子单
|
||||||
List<OrderListResponse> detailList = this.getDetailList(orderDetailReq);
|
List<OrderListResponse> detailList = this.getDetailList(orderDetailReq);
|
||||||
orderListResponses.addAll(detailList);
|
orderListResponses.addAll(detailList);
|
||||||
List<OrderListResponse> allList = new ArrayList<>();
|
// List<OrderListResponse> allList = new ArrayList<>();
|
||||||
List<Long> masterIdSet = new ArrayList<Long>();
|
// List<Long> masterIdSet = new ArrayList<Long>();
|
||||||
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
// if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
||||||
// 增加主单下子单有超时的
|
// // 增加主单下子单有超时的
|
||||||
// 增加主单下子单有超时的
|
// // 增加主单下子单有超时的
|
||||||
OrderMaster param = new OrderMaster();
|
// OrderMaster param = new OrderMaster();
|
||||||
param.setWorkerId(orderListRequest.getWorkerId());
|
// param.setWorkerId(orderListRequest.getWorkerId());
|
||||||
List<OrderMaster> allOrderMaster = orderMasterService.selectOrderMasterList(param);
|
// List<OrderMaster> allOrderMaster = orderMasterService.selectOrderMasterList(param);
|
||||||
if(CollectionUtils.isNotEmpty(allOrderMaster)){
|
// if(CollectionUtils.isNotEmpty(allOrderMaster)){
|
||||||
OrderDetail countParam = new OrderDetail();
|
// OrderDetail countParam = new OrderDetail();
|
||||||
countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList()));
|
// countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList()));
|
||||||
List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
// List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
||||||
List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList());
|
// List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList());
|
||||||
if (CollectionUtils.isNotEmpty(result)) {
|
// if (CollectionUtils.isNotEmpty(result)) {
|
||||||
masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList());
|
// masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if (CollectionUtils.isNotEmpty(masterIdSet)) {
|
// if (CollectionUtils.isNotEmpty(masterIdSet)) {
|
||||||
OrderMaster timeOutMaster = new OrderMaster();
|
// OrderMaster timeOutMaster = new OrderMaster();
|
||||||
timeOutMaster.setOrderMasterIdList(masterIdSet);
|
// timeOutMaster.setOrderMasterIdList(masterIdSet);
|
||||||
allList.addAll(this.getMasterList(timeOutMaster));
|
// allList.addAll(this.getMasterList(timeOutMaster));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 查询主单
|
// 查询主单
|
||||||
OrderMaster orderMasterReq = new OrderMaster();
|
OrderMaster orderMasterReq = new OrderMaster();
|
||||||
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
||||||
orderMasterReq.setExceptOrderMasterIds(masterIdSet);
|
// orderMasterReq.setExceptOrderMasterIds(masterIdSet);
|
||||||
orderMasterReq.setGoodsName(null);
|
orderMasterReq.setGoodsName(null);
|
||||||
List<OrderListResponse> masterList = this.getMasterList(orderMasterReq);
|
List<OrderListResponse> masterList = this.getMasterList(orderMasterReq);
|
||||||
allList.addAll(masterList);
|
// allList.addAll(masterList);
|
||||||
// 超时查询需要排除同个师傅的主单子单同时出现
|
// 超时查询需要排除同个师傅的主单子单同时出现
|
||||||
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
// if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
||||||
// 需要排除同个师傅的主单子单同时出现
|
// // 需要排除同个师傅的主单子单同时出现
|
||||||
List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
// List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
||||||
for (OrderListResponse master : allList) {
|
// for (OrderListResponse master : allList) {
|
||||||
boolean isKeep = false;
|
// boolean isKeep = false;
|
||||||
// 查询该主单下所有售后中的子单
|
// // 查询该主单下所有售后中的子单
|
||||||
OrderDetail detailAfterListOfMasterQry = new OrderDetail();
|
// OrderDetail detailAfterListOfMasterQry = new OrderDetail();
|
||||||
detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
|
// detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
|
||||||
List<OrderListResponse> detailListOfMasters = this.getDetailList(detailAfterListOfMasterQry);
|
// List<OrderListResponse> detailListOfMasters = this.getDetailList(detailAfterListOfMasterQry);
|
||||||
for (OrderListResponse detailListOfMaster : detailListOfMasters) {
|
// for (OrderListResponse detailListOfMaster : detailListOfMasters) {
|
||||||
if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
|
// if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
|
||||||
isKeep = true;
|
// isKeep = true;
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if (isKeep) {
|
// if (isKeep) {
|
||||||
filteredMasterList.add(master);
|
// filteredMasterList.add(master);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
orderListResponses.addAll(filteredMasterList);
|
// orderListResponses.addAll(filteredMasterList);
|
||||||
} else {
|
// } else {
|
||||||
orderListResponses.addAll(masterList);
|
orderListResponses.addAll(masterList);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 查询新订单列表根据创建时间倒叙排列,查询其他根据更新时间倒序排列
|
// 查询新订单列表根据创建时间倒叙排列,查询其他根据更新时间倒序排列
|
||||||
Collections.sort(orderListResponses, new Comparator<OrderListResponse>() {
|
Collections.sort(orderListResponses, new Comparator<OrderListResponse>() {
|
||||||
|
|
|
||||||
|
|
@ -115,4 +115,6 @@ public interface OrderMasterMapper {
|
||||||
|
|
||||||
// 根据开始/结算时间进行查询有效的订单主数据。
|
// 根据开始/结算时间进行查询有效的订单主数据。
|
||||||
List<OrderMaster> searchByOrderStartTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
List<OrderMaster> searchByOrderStartTime(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
|
||||||
|
|
||||||
|
int updateCreateTime(Long id);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@ public interface OrderMasterService {
|
||||||
*/
|
*/
|
||||||
int updateTimeout(Long id, int timeout);
|
int updateTimeout(Long id, int timeout);
|
||||||
|
|
||||||
|
int updateCreateTime(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新子订单超时状态
|
* 更新子订单超时状态
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -650,6 +650,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
} else {
|
} else {
|
||||||
// 没有罚金 自己承担手续费
|
// 没有罚金 自己承担手续费
|
||||||
divMembers.add(new DivMember(memberId, MoneyUtil.toS(odMoney), true));
|
divMembers.add(new DivMember(memberId, MoneyUtil.toS(odMoney), true));
|
||||||
|
// 平台金额部分抽出来部分承担手续费
|
||||||
}
|
}
|
||||||
String orderNo = "OD_" + orderDetailId + "_" + System.currentTimeMillis();
|
String orderNo = "OD_" + orderDetailId + "_" + System.currentTimeMillis();
|
||||||
logger.info("子订单[{}]发起分账: {}", orderDetailId, JSON.toJSONString(divMembers));
|
logger.info("子订单[{}]发起分账: {}", orderDetailId, JSON.toJSONString(divMembers));
|
||||||
|
|
|
||||||
|
|
@ -559,6 +559,11 @@ public class OrderMasterServiceImpl implements OrderMasterService {
|
||||||
return orderMasterMapper.updateTimeout(id, timeout, null);
|
return orderMasterMapper.updateTimeout(id, timeout, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int updateCreateTime(Long id) {
|
||||||
|
return orderMasterMapper.updateCreateTime(id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateTimeout(Long id, int timeout, int timeoutFineTimes) {
|
public int updateTimeout(Long id, int timeout, int timeoutFineTimes) {
|
||||||
return orderMasterMapper.updateTimeout(id, timeout, timeoutFineTimes);
|
return orderMasterMapper.updateTimeout(id, timeout, timeoutFineTimes);
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@
|
||||||
AND ca.country_id = #{district}
|
AND ca.country_id = #{district}
|
||||||
</if>
|
</if>
|
||||||
<if test="isMonitoredOrder">
|
<if test="isMonitoredOrder">
|
||||||
AND (om.all_self_assigned = 0 or om.all_self_assigned is null) AND om.order_status in (1,2,3,4)
|
AND (om.all_self_assigned = 0 or om.all_self_assigned is null) AND om.order_status in (0,1,2,3,4) and om.worker_id is not null
|
||||||
</if>
|
</if>
|
||||||
<if test="allSelfAssigned != null">
|
<if test="allSelfAssigned != null">
|
||||||
AND all_self_assigned = #{allSelfAssigned}
|
AND all_self_assigned = #{allSelfAssigned}
|
||||||
|
|
@ -512,6 +512,12 @@
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="updateCreateTime">
|
||||||
|
UPDATE order_master
|
||||||
|
SET create_time = SYSDATE()
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
<update id="removeWorker">
|
<update id="removeWorker">
|
||||||
UPDATE order_master
|
UPDATE order_master
|
||||||
SET worker_id = NULL,
|
SET worker_id = NULL,
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,7 @@ public class OrderServiceImpl implements OrderService {
|
||||||
// 已超时 45min后取消超时状态 清空workerId
|
// 已超时 45min后取消超时状态 清空workerId
|
||||||
orderMasterService.updateTimeout(order.getId(), 0);
|
orderMasterService.updateTimeout(order.getId(), 0);
|
||||||
orderMasterService.removeWorker(order.getId());
|
orderMasterService.removeWorker(order.getId());
|
||||||
|
orderMasterService.updateCreateTime(order.getId());
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue