|
|
@@ -1,6 +1,7 @@
|
|
|
package org.dromara.order.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
+import org.dromara.common.core.context.PlatformContext;
|
|
|
import org.dromara.common.core.enums.AssigneeTypeConstants;
|
|
|
import org.dromara.common.core.enums.OrderPayType;
|
|
|
import org.dromara.common.core.enums.OrderStatus;
|
|
|
@@ -331,6 +333,28 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
|
|
|
Map<String, Object> params = bo.getParams();
|
|
|
LambdaQueryWrapper<OrderMain> lqw = Wrappers.lambdaQuery();
|
|
|
lqw.orderByDesc(OrderMain::getId);
|
|
|
+ String platformCode = PlatformContext.getPlatform();
|
|
|
+ if (ObjectUtil.isNotEmpty(platformCode)) {
|
|
|
+ // 获取前端传过来的 assigneeType
|
|
|
+ String assigneeType = bo.getAssigneeType();
|
|
|
+ if ("market".equals(platformCode)) {
|
|
|
+ // 判断当前是否为 zy 类型
|
|
|
+ if ("zy".equals(assigneeType)) {
|
|
|
+ // 使用 and 嵌套查询,实现 (assignee_type = 'zy' OR assignee_type IS NULL)
|
|
|
+ lqw.and(wrapper -> wrapper
|
|
|
+ .eq(OrderMain::getAssigneeType, "zy")
|
|
|
+ .or()
|
|
|
+ .isNull(OrderMain::getAssigneeType)
|
|
|
+ .or()
|
|
|
+ .eq(OrderMain::getAssigneeType, "")
|
|
|
+ );
|
|
|
+ }
|
|
|
+ } else if ("scm".equals(platformCode) || "dms".equals(platformCode)) {
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getAssigneeType()), OrderMain::getAssigneeType, bo.getAssigneeType());
|
|
|
+ } else if ("srm".equals(platformCode) || "bp".equals(platformCode)) {
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getAssigneeType()), OrderMain::getAssigneeType, bo.getAssigneeType());
|
|
|
+ }
|
|
|
+ }
|
|
|
lqw.like(StringUtils.isNotBlank(bo.getOrderNo()), OrderMain::getOrderNo, bo.getOrderNo());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getCustomerCode()), OrderMain::getCustomerCode, bo.getCustomerCode());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getShipmentNo()), OrderMain::getShipmentNo, bo.getShipmentNo());
|
|
|
@@ -368,7 +392,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
|
|
|
lqw.eq(bo.getAfterSaleCompleted() != null, OrderMain::getAfterSaleCompleted, bo.getAfterSaleCompleted());
|
|
|
lqw.eq(bo.getAfterSalePending() != null, OrderMain::getAfterSalePending, bo.getAfterSalePending());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getPushStatus()), OrderMain::getPushStatus, bo.getPushStatus());
|
|
|
- lqw.eq(StringUtils.isNotBlank(bo.getAssigneeType()), OrderMain::getAssigneeType, bo.getAssigneeType());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getCheckStatus()), OrderMain::getCheckStatus, bo.getCheckStatus());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getDeliveryType()), OrderMain::getDeliveryType, bo.getDeliveryType());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getOrderCategory()), OrderMain::getOrderCategory, bo.getOrderCategory());
|
|
|
@@ -741,6 +764,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
|
|
|
// 8. 更新主订单:仅更新 totalAmount、payableAmount 和 orderStatus
|
|
|
existingOrder.setTotalAmount(newTotalAmount);
|
|
|
existingOrder.setPayableAmount(newPayableAmount);
|
|
|
+ existingOrder.setConfirmTime(new Date());
|
|
|
existingOrder.setOrderStatus(OrderStatus.PENDING_SHIPMENT.getCode()); // 待发货
|
|
|
|
|
|
// 9. 执行更新
|