7 changed files with 157 additions and 92 deletions
@ -0,0 +1,16 @@ |
|||||
|
package com.qs.serve.modules.oms.entity.bo; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2024/6/21 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class OmsVerifySkuParam { |
||||
|
|
||||
|
private List<Long> skuIds; |
||||
|
|
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.qs.serve.modules.oms.service; |
||||
|
|
||||
|
import com.qs.serve.modules.oms.entity.OmsOrder; |
||||
|
import com.qs.serve.modules.oms.entity.bo.OmsVerifySkuParam; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2024/6/21 |
||||
|
*/ |
||||
|
public interface OmsOrderPart1Service { |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 复制订单 |
||||
|
* @param orderId |
||||
|
* @return |
||||
|
*/ |
||||
|
OmsOrder copyOrder(Long orderId); |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 校验sku合法性 |
||||
|
* @param param |
||||
|
* @return |
||||
|
*/ |
||||
|
List<String> verifySku(OmsVerifySkuParam param); |
||||
|
|
||||
|
} |
@ -0,0 +1,94 @@ |
|||||
|
package com.qs.serve.modules.oms.service.impl; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import com.qs.serve.common.util.Assert; |
||||
|
import com.qs.serve.common.util.AuthContextUtils; |
||||
|
import com.qs.serve.common.util.CodeGenUtil; |
||||
|
import com.qs.serve.modules.bms.entity.BmsSupplier; |
||||
|
import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto; |
||||
|
import com.qs.serve.modules.oms.entity.OmsOrder; |
||||
|
import com.qs.serve.modules.oms.entity.OmsOrderItem; |
||||
|
import com.qs.serve.modules.oms.entity.bo.OmsVerifySkuParam; |
||||
|
import com.qs.serve.modules.oms.service.OmsOrderItemService; |
||||
|
import com.qs.serve.modules.oms.service.OmsOrderPart1Service; |
||||
|
import com.qs.serve.modules.oms.service.OmsOrderService; |
||||
|
import com.qs.serve.modules.sys.entity.SysUser; |
||||
|
import com.qs.serve.modules.sys.service.SysUserService; |
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
/** |
||||
|
* @author YenHex |
||||
|
* @since 2024/6/21 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Service |
||||
|
@AllArgsConstructor |
||||
|
public class OmsOrderPart1ServiceImpl implements OmsOrderPart1Service { |
||||
|
|
||||
|
private SysUserService sysUserService; |
||||
|
private OmsOrderService omsOrderService; |
||||
|
private OmsOrderItemService omsOrderItemService; |
||||
|
|
||||
|
@Override |
||||
|
public OmsOrder copyOrder(Long orderId) { |
||||
|
OmsOrder orgOrder = omsOrderService.getById(orderId); |
||||
|
List<OmsOrderItem> orderItems = omsOrderItemService.list(new LambdaQueryWrapper<OmsOrderItem>() |
||||
|
.eq(OmsOrderItem::getOrderId,orderId)); |
||||
|
OmsOrder order = new OmsOrder(); |
||||
|
order.setId(null); |
||||
|
order.setOrderType(orgOrder.getOrderType()); |
||||
|
String orderPrefix = null; |
||||
|
if(order.getOrderType().equals(0)){ |
||||
|
orderPrefix = "SN"; |
||||
|
}else if(order.getOrderType().equals(1)){ |
||||
|
orderPrefix = "ZP"; |
||||
|
}else if(order.getOrderType().equals(2)){ |
||||
|
orderPrefix = "SC"; |
||||
|
}else if(order.getOrderType().equals(3)){ |
||||
|
orderPrefix = "SP"; |
||||
|
}else { |
||||
|
Assert.throwEx("订单类型错误"); |
||||
|
} |
||||
|
order.setOrderSn(orderPrefix+ CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder)); |
||||
|
SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId()); |
||||
|
order.setUserId(user.getId()); |
||||
|
order.setUserCode(user.getCode()); |
||||
|
order.setUserName(user.getName()); |
||||
|
order.setUserPhone(user.getMobile()); |
||||
|
order.setCheckState(0); |
||||
|
|
||||
|
order.setLatitudeFrom(orgOrder.getLatitudeFrom()); |
||||
|
order.setOrderSource(orgOrder.getOrderSource()); |
||||
|
order.setSupplierId(orgOrder.getSupplierId()); |
||||
|
order.setSupplierCode(orgOrder.getSupplierCode()); |
||||
|
order.setSupplierName(orgOrder.getSupplierName()); |
||||
|
order.setSupplierAddrId(orgOrder.getSupplierAddrId()); |
||||
|
order.setBrandRuleId(orgOrder.getBrandRuleId()); |
||||
|
order.setBrandRuleName(orgOrder.getBrandRuleName()); |
||||
|
|
||||
|
order.setBillType(orgOrder.getBillType()); |
||||
|
order.setCdOrderRemark(orgOrder.getCdOrderRemark()); |
||||
|
order.setRemark(orgOrder.getRemark()); |
||||
|
|
||||
|
|
||||
|
omsOrderService.save(order); |
||||
|
for (OmsOrderItem item : orderItems) { |
||||
|
item.setId(null); |
||||
|
item.setOrderId(order.getId()); |
||||
|
} |
||||
|
omsOrderItemService.saveBatch(orderItems); |
||||
|
return order; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<String> verifySku(OmsVerifySkuParam param) { |
||||
|
|
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue