|
|
|
|
@ -664,6 +664,15 @@ public class OrderController extends BaseController {
|
|
|
|
|
|
|
|
|
|
// 分销扣点记录
|
|
|
|
|
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) {
|
|
|
|
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
|
|
|
|
@ -672,12 +681,9 @@ public class OrderController extends BaseController {
|
|
|
|
|
|
|
|
|
|
// 剩余服务金额
|
|
|
|
|
serverMoney = serverMoney.subtract(threeMoney);
|
|
|
|
|
} else {
|
|
|
|
|
oneMoney = oneMoney.add(threeMoney);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 二级分销
|
|
|
|
|
Long parentCustomerPlaceId = customer.getParentCustomerPlace();
|
|
|
|
|
if (parentCustomerPlaceId != null) {
|
|
|
|
|
FinancialDetail financialDetail = new FinancialDetail(deptId, financialDetailService.createCode(),
|
|
|
|
|
financialMaster.getId(), financialMaster.getCode(), twoMoney, FinancialDetailType.PLACE_FEE.getCode(), parentCustomerPlaceId);
|
|
|
|
|
@ -685,17 +691,42 @@ public class OrderController extends BaseController {
|
|
|
|
|
|
|
|
|
|
// 剩余服务金额
|
|
|
|
|
serverMoney = serverMoney.subtract(twoMoney);
|
|
|
|
|
} else {
|
|
|
|
|
oneMoney = oneMoney.add(twoMoney);
|
|
|
|
|
}else if(customerPlaceId != null){
|
|
|
|
|
// 二级没有,且三级有
|
|
|
|
|
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(),
|
|
|
|
|
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), null);
|
|
|
|
|
financialMaster.getId(), financialMaster.getCode(), oneMoney, FinancialDetailType.PLACE_FEE.getCode(), reparentCustomerPlaceId);
|
|
|
|
|
financialDetailService.insertFinancialDetail(financialDetail);
|
|
|
|
|
|
|
|
|
|
// 剩余服务金额
|
|
|
|
|
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);
|
|
|
|
|
financialMasterService.updateFinancialMaster(financialMaster);
|
|
|
|
|
@ -979,63 +1010,64 @@ public class OrderController extends BaseController {
|
|
|
|
|
// 查询子单
|
|
|
|
|
OrderDetail orderDetailReq = new OrderDetail();
|
|
|
|
|
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
|
|
|
|
// 拿到所有正常筛选出来的子单
|
|
|
|
|
List<OrderListResponse> detailList = this.getDetailList(orderDetailReq);
|
|
|
|
|
orderListResponses.addAll(detailList);
|
|
|
|
|
List<OrderListResponse> allList = new ArrayList<>();
|
|
|
|
|
List<Long> masterIdSet = new ArrayList<Long>();
|
|
|
|
|
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
|
|
|
|
// 增加主单下子单有超时的
|
|
|
|
|
// 增加主单下子单有超时的
|
|
|
|
|
OrderMaster param = new OrderMaster();
|
|
|
|
|
param.setWorkerId(orderListRequest.getWorkerId());
|
|
|
|
|
List<OrderMaster> allOrderMaster = orderMasterService.selectOrderMasterList(param);
|
|
|
|
|
if(CollectionUtils.isNotEmpty(allOrderMaster)){
|
|
|
|
|
OrderDetail countParam = new OrderDetail();
|
|
|
|
|
countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList()));
|
|
|
|
|
List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
|
|
|
|
List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(result)) {
|
|
|
|
|
masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (CollectionUtils.isNotEmpty(masterIdSet)) {
|
|
|
|
|
OrderMaster timeOutMaster = new OrderMaster();
|
|
|
|
|
timeOutMaster.setOrderMasterIdList(masterIdSet);
|
|
|
|
|
allList.addAll(this.getMasterList(timeOutMaster));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// List<OrderListResponse> allList = new ArrayList<>();
|
|
|
|
|
// List<Long> masterIdSet = new ArrayList<Long>();
|
|
|
|
|
// if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
|
|
|
|
// // 增加主单下子单有超时的
|
|
|
|
|
// // 增加主单下子单有超时的
|
|
|
|
|
// OrderMaster param = new OrderMaster();
|
|
|
|
|
// param.setWorkerId(orderListRequest.getWorkerId());
|
|
|
|
|
// List<OrderMaster> allOrderMaster = orderMasterService.selectOrderMasterList(param);
|
|
|
|
|
// if(CollectionUtils.isNotEmpty(allOrderMaster)){
|
|
|
|
|
// OrderDetail countParam = new OrderDetail();
|
|
|
|
|
// countParam.setMasterIds(allOrderMaster.stream().map(OrderMaster::getId).collect(Collectors.toList()));
|
|
|
|
|
// List<OrderDetail> orderDetails = orderDetailService.selectOrderDetailList(countParam);
|
|
|
|
|
// List<OrderDetail> result = orderDetails.stream().filter(s -> s.getTimeout().equals(1)).collect(Collectors.toList());
|
|
|
|
|
// if (CollectionUtils.isNotEmpty(result)) {
|
|
|
|
|
// masterIdSet = result.stream().map(OrderDetail::getOrderMasterId).collect(Collectors.toList());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (CollectionUtils.isNotEmpty(masterIdSet)) {
|
|
|
|
|
// OrderMaster timeOutMaster = new OrderMaster();
|
|
|
|
|
// timeOutMaster.setOrderMasterIdList(masterIdSet);
|
|
|
|
|
// allList.addAll(this.getMasterList(timeOutMaster));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 查询主单
|
|
|
|
|
OrderMaster orderMasterReq = new OrderMaster();
|
|
|
|
|
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
|
|
|
|
orderMasterReq.setExceptOrderMasterIds(masterIdSet);
|
|
|
|
|
// orderMasterReq.setExceptOrderMasterIds(masterIdSet);
|
|
|
|
|
orderMasterReq.setGoodsName(null);
|
|
|
|
|
List<OrderListResponse> masterList = this.getMasterList(orderMasterReq);
|
|
|
|
|
allList.addAll(masterList);
|
|
|
|
|
// allList.addAll(masterList);
|
|
|
|
|
// 超时查询需要排除同个师傅的主单子单同时出现
|
|
|
|
|
if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
|
|
|
|
// 需要排除同个师傅的主单子单同时出现
|
|
|
|
|
List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
|
|
|
|
for (OrderListResponse master : allList) {
|
|
|
|
|
boolean isKeep = false;
|
|
|
|
|
// 查询该主单下所有售后中的子单
|
|
|
|
|
OrderDetail detailAfterListOfMasterQry = new OrderDetail();
|
|
|
|
|
detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
|
|
|
|
|
List<OrderListResponse> detailListOfMasters = this.getDetailList(detailAfterListOfMasterQry);
|
|
|
|
|
for (OrderListResponse detailListOfMaster : detailListOfMasters) {
|
|
|
|
|
if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
|
|
|
|
|
isKeep = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (isKeep) {
|
|
|
|
|
filteredMasterList.add(master);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
orderListResponses.addAll(filteredMasterList);
|
|
|
|
|
} else {
|
|
|
|
|
// if (orderListRequest.getTimeout() != null && orderListRequest.getTimeout() == 1) {
|
|
|
|
|
// // 需要排除同个师傅的主单子单同时出现
|
|
|
|
|
// List<OrderListResponse> filteredMasterList = new ArrayList<OrderListResponse>();
|
|
|
|
|
// for (OrderListResponse master : allList) {
|
|
|
|
|
// boolean isKeep = false;
|
|
|
|
|
// // 查询该主单下所有售后中的子单
|
|
|
|
|
// OrderDetail detailAfterListOfMasterQry = new OrderDetail();
|
|
|
|
|
// detailAfterListOfMasterQry.setOrderMasterCode(master.getOrderMasterCode());
|
|
|
|
|
// List<OrderListResponse> detailListOfMasters = this.getDetailList(detailAfterListOfMasterQry);
|
|
|
|
|
// for (OrderListResponse detailListOfMaster : detailListOfMasters) {
|
|
|
|
|
// if (!detailListOfMaster.getWorkerId().equals(orderListRequest.getWorkerId())) {
|
|
|
|
|
// isKeep = true;
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (isKeep) {
|
|
|
|
|
// filteredMasterList.add(master);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// orderListResponses.addAll(filteredMasterList);
|
|
|
|
|
// } else {
|
|
|
|
|
orderListResponses.addAll(masterList);
|
|
|
|
|
}
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// 查询新订单列表根据创建时间倒叙排列,查询其他根据更新时间倒序排列
|
|
|
|
|
Collections.sort(orderListResponses, new Comparator<OrderListResponse>() {
|
|
|
|
|
|