Browse Source

feat:添加临期品订单

checkBack
Yen 1 year ago
parent
commit
829b6df329
  1. 6
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  2. 2
      src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java
  3. 4
      src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java
  4. 2
      src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java
  5. 29
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java

6
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -14,8 +14,10 @@ import com.qs.serve.modules.bms.entity.BmsSupplierAddress;
import com.qs.serve.modules.bms.mapper.BmsSupplierMapper;
import com.qs.serve.modules.bms.service.BmsSupplierAddressService;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsImminentBatch;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.mapper.GoodsImminentBatchMapper;
import com.qs.serve.modules.goods.service.GoodsCategoryRuleService;
import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.service.GoodsSkuService;
@ -62,6 +64,7 @@ public class OmsOrderApi {
private GoodsCategoryService goodsCategoryService;
private SysPostUserService postUserService;
private SeeYonRequestBaseService seeYonRequestBaseService;
private GoodsImminentBatchMapper goodsImminentBatchMapper;
/**
* 确认订单
@ -258,6 +261,9 @@ public class OmsOrderApi {
orderItem.setSkuBelong(goodsSku.getBelong());
orderItem.setSkuAddCode(goodsSku.getSkuAddCode());
}
if(orderItem.getSkuBatchId()!=null){
orderItem.setBatchInfo(goodsImminentBatchMapper.selectById(orderItem.getSkuBatchId()));
}
}
omsOrder.setOrderItems(list);
return R.ok(omsOrder);

2
src/main/java/com/qs/serve/modules/oms/entity/OmsOrder.java

@ -39,7 +39,7 @@ public class OmsOrder implements Serializable {
@TableField(condition = SqlCondition.LIKE)
private String orderSn;
/** 订单类型:0->普通订单;1->赠品;2->试吃品 */
/** 订单类型:0->普通订单;1->赠品;2->试吃品;3->临期品 */
private Integer orderType;
private String orderSource;

4
src/main/java/com/qs/serve/modules/oms/entity/OmsOrderItem.java

@ -146,6 +146,10 @@ public class OmsOrderItem implements Serializable {
@TableField(exist = false)
private Object categoryInfo;
/** 分类 */
@TableField(exist = false)
private Object batchInfo;
@TableField(exist = false)
private Integer skuSpecialFlag;
}

2
src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java

@ -76,7 +76,7 @@ public interface OmsOrderService extends IService<OmsOrder> {
* @param param
* @return
*/
String modifyImminentOrder(OmsOrderImminentBo param);
OmsOrder modifyImminentOrder(OmsOrderImminentBo param);
}

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

@ -640,7 +640,8 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
}
@Override
public String modifyImminentOrder(OmsOrderImminentBo param) {
@Transactional(rollbackFor = Exception.class)
public OmsOrder modifyImminentOrder(OmsOrderImminentBo param) {
SysUser user = sysUserService.getById(AuthContextUtils.getSysUserId());
GoodsCategoryRule categoryRule = goodsCategoryRuleMapper.selectById(param.getBrandRuleId());
@ -650,13 +651,16 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
OmsOrder order;
if(param.getId()!=null){
order = this.getById(param.getId());
if(!order.getOrderType().equals(3)){
Assert.throwEx("订单类型不支持混用");
}
}else {
order = new OmsOrder();
order.setOrderSn("SP"+CodeGenUtil.generate(CodeGenUtil.SourceKey.OmsOrder));
}
order.setLatitudeFrom("sp");
order.setCdOrderRemark(param.getCdOrderRemark());
order.setOrderType(1);
order.setOrderType(3);
order.setSupplierId(Long.parseLong(supplier.getId()));
order.setSupplierCode(supplier.getCode());
order.setSupplierName(supplier.getName());
@ -669,7 +673,13 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
order.setBillType(param.getBillType());
order.setUrgentFlag(param.getUrgentFlag());
order.setRemark(param.getRemark());
this.save(order);
this.saveOrUpdate(order);
if(order.getStatus()==null||order.getStatus().equals(0)){
if(CollectionUtil.isEmpty(param.getItemList())){
return order;
}
}
Set<Long> batchSkuIds = param.getItemList().stream().map(OmsOrderImminentBo.ItemParam::getBatchSkuId)
.collect(Collectors.toSet());
@ -741,25 +751,26 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
this.buildPriceOrder(order.getId()+"",null);
}
return order.getId().toString();
return order;
}
@NotNull
private OmsOrderItem createImminentOrderItem(OmsOrder order, List<GoodsSpu> spuList, OmsOrderImminentBo.ItemParam item, GoodsImminentBatch batch, GoodsSku sku) {
OmsOrderItem orderItem = new OmsOrderItem();
orderItem.setRemark(item.getRemark());
orderItem.setQuantity(item.getQty());
orderItem.setOrderId(order.getId());
orderItem.setOrderSn(order.getOrderSn());
orderItem.setSpuId(sku.getId());
orderItem.setSpuId(sku.getSpuId());
for (GoodsSpu spu : spuList) {
if(sku.getSpuId().equals(spu.getId())){
orderItem.setSpuCode(spu.getSpuCode());
orderItem.setSpuTitle(spu.getSpuCode());
orderItem.setSpuTitle(spu.getName());
break;
}
}
orderItem.setWeight(sku.getWeight());
orderItem.setVolume(sku.getVolume());
orderItem.setRemark(sku.getRemark());
orderItem.setSkuBatchId(batch.getId());
orderItem.setSkuBatchCode(batch.getBatchCode());
orderItem.setSkuId(sku.getId());
@ -771,7 +782,6 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
orderItem.setSalesPrice(sku.getSalesPrice());
orderItem.setCusPrice(sku.getSalesPrice());
orderItem.setMarketPrice(sku.getMarketPrice());
orderItem.setQuantity(item.getQty());
return orderItem;
}
@ -802,6 +812,9 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
if(!omsOrder.getStatus().equals(0)&&!omsOrder.getStatus().equals(6)){
Assert.throwEx("订单状态不支持下单");
}
if(omsOrder.getOrderType().equals(3)){
Assert.throwEx("临期品订单不支持该接口修改");
}
LambdaQueryWrapper<OmsOrderItem> iteLqw = new LambdaQueryWrapper<>();
iteLqw.eq(OmsOrderItem::getOrderId,id);
List<OmsOrderItem> orderItemList = omsOrderItemService.list(iteLqw);

Loading…
Cancel
Save