Browse Source

opt: 下单前更新用户最新特殊价格

muti_db
Yen 12 months ago
parent
commit
204c9dcfd1
  1. 24
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

24
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

@ -15,6 +15,7 @@ import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.entity.*;
import com.qs.serve.modules.goods.entity.dto.GoodsAccrIdsDto;
import com.qs.serve.modules.goods.entity.dto.InventoryCusPrice;
import com.qs.serve.modules.goods.entity.so.InventoryCusPriceQuery;
import com.qs.serve.modules.goods.entity.vo.GoodSkuVo;
import com.qs.serve.modules.goods.mapper.GoodsCategoryRuleMapper;
import com.qs.serve.modules.goods.mapper.GoodsSkuMapper;
@ -38,6 +39,7 @@ import com.qs.serve.modules.seeyon.service.impl.SeeYonRequestBaseService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysDeptService;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
@ -969,6 +971,28 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
if (bmsRegion == null) {
Assert.throwEx("客户档案[" + supplier.getCode() + "]缺失销售区域数据,请联系管理员");
}
//更新最新的用户特殊价格
List<String> codes = orderItemList.stream().map(OmsOrderItem::getSkuCode).distinct().collect(Collectors.toList());
InventoryCusPriceQuery query = new InventoryCusPriceQuery();
query.setCusCode(omsOrder.getSupplierCode());
query.setInvCodes(codes);
R<String> res = seeYonRequestBaseService.postBase(TbsSeeYonConst.ERP_CUS_INV_PRICE,query,"查询客户特殊价");
if(res.getStatus().equals(200)) {
List<InventoryCusPrice> inventoryCusPrices = JsonUtil.jsonToList(res.getData(), InventoryCusPrice.class);
if(CollectionUtil.isNotEmpty(inventoryCusPrices)){
assert inventoryCusPrices != null;
for (InventoryCusPrice cusPrice : inventoryCusPrices) {
for (OmsOrderItem orderItem : orderItemList) {
if(orderItem.getSkuCode().equals(cusPrice.getInvCode())){
orderItem.setCusPrice(cusPrice.getPrice());
orderItem.setSalesPrice(cusPrice.getPrice());
omsOrderItemService.updateById(orderItem);
}
}
}
}
}
//保存到临时表-主表
LocalDateTime nowTime = LocalDateTime.now();
OmsXltOrder xltOrder = new OmsXltOrder();

Loading…
Cancel
Save