|
@@ -1410,30 +1410,46 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 开始配送
|
|
* 开始配送
|
|
|
- * @param orderId
|
|
|
|
|
|
|
+ * @param orderIds
|
|
|
*/
|
|
*/
|
|
|
@Transactional
|
|
@Transactional
|
|
|
- public void startDelivery(String orderId) {
|
|
|
|
|
- final OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
|
|
|
|
|
+ public void startDeliver(List<String> orderIds) {
|
|
|
|
|
+ final List<OrderInfo> orderInfoList = orderInfoService.lambdaQuery().in(OrderInfo::getOrderId, orderIds).list();
|
|
|
|
|
+
|
|
|
|
|
+ final long count = orderInfoList.stream().filter(v -> !v.getOrderStatus().equals(OrderStatusEnum.DPS.toString())).count();
|
|
|
|
|
|
|
|
- if (StringUtils.isBlank(orderInfo.getDeliveryUserId())) {
|
|
|
|
|
|
|
+ if (count > 0) {
|
|
|
|
|
+ throw new RemoteServiceException("有非“待配送”单,请刷新列表检查");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ final long notDeliveryCount = orderInfoList.stream().filter(v -> StringUtils.isBlank(v.getDeliveryUserId())).count();
|
|
|
|
|
+
|
|
|
|
|
+ if (notDeliveryCount > 0) {
|
|
|
throw new RemoteServiceException("请先选择配送员");
|
|
throw new RemoteServiceException("请先选择配送员");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
orderInfoService.lambdaUpdate()
|
|
orderInfoService.lambdaUpdate()
|
|
|
.set(OrderInfo::getOrderStatus, OrderStatusEnum.PSZ.toString())
|
|
.set(OrderInfo::getOrderStatus, OrderStatusEnum.PSZ.toString())
|
|
|
- .set(OrderInfo::getLastOrderStatus, orderInfo.getOrderStatus())
|
|
|
|
|
|
|
+ .set(OrderInfo::getLastOrderStatus, OrderStatusEnum.DPS.toString())
|
|
|
.set(OrderInfo::getDeliverTime, DateUtil.date())
|
|
.set(OrderInfo::getDeliverTime, DateUtil.date())
|
|
|
- .eq(OrderInfo::getOrderId, orderId)
|
|
|
|
|
|
|
+ .in(OrderInfo::getOrderId, orderIds)
|
|
|
.update();
|
|
.update();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public void addDelivery(String orderId, String userId) {
|
|
|
|
|
- final OrderInfo orderInfo = orderInfoService.getById(orderId);
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 添加配送员
|
|
|
|
|
+ * @param orderIds
|
|
|
|
|
+ * @param userId
|
|
|
|
|
+ */
|
|
|
|
|
+ public void addDelivery(List<String> orderIds, String userId) {
|
|
|
|
|
+ final List<OrderInfo> orderInfoList = orderInfoService.lambdaQuery().in(OrderInfo::getOrderId, orderIds).list();
|
|
|
|
|
|
|
|
- if (StringUtils.isBlank(orderInfo.getDeliveryUserId())) {
|
|
|
|
|
- throw new RemoteServiceException("请先选择配送员");
|
|
|
|
|
|
|
+ final long count = orderInfoList.stream().filter(v -> !v.getOrderStatus().equals(OrderStatusEnum.DPS.toString())).count();
|
|
|
|
|
+
|
|
|
|
|
+ if (count > 0) {
|
|
|
|
|
+ throw new RemoteServiceException("有非“待配送”单,请刷新列表检查");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
final User user = userService.getById(userId);
|
|
final User user = userService.getById(userId);
|
|
|
final UserCompanyDelivery userCompanyDelivery = userCompanyDeliveryService.lambdaQuery()
|
|
final UserCompanyDelivery userCompanyDelivery = userCompanyDeliveryService.lambdaQuery()
|
|
@@ -1447,8 +1463,8 @@ public class OrderLogic {
|
|
|
|
|
|
|
|
orderInfoService.lambdaUpdate()
|
|
orderInfoService.lambdaUpdate()
|
|
|
.set(OrderInfo::getDeliveryUserId, user.getUserId())
|
|
.set(OrderInfo::getDeliveryUserId, user.getUserId())
|
|
|
- .set(OrderInfo::getDeliveryUserName, user.getNickName())
|
|
|
|
|
- .eq(OrderInfo::getOrderId, orderId)
|
|
|
|
|
|
|
+ .set(OrderInfo::getDeliveryUserName, user.getNickName() + "(" + user.getMobile() + ")")
|
|
|
|
|
+ .in(OrderInfo::getOrderId, orderIds)
|
|
|
.update();
|
|
.update();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|