Browse Source

对接调度系统,添加spu转sku相关

v1.0
Yen 2 years ago
parent
commit
16660de391
  1. 4
      src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java
  2. 21
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  3. 10
      src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java
  4. 2
      src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java
  5. 25
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java
  6. 53
      src/main/java/com/qs/serve/modules/third/PortalGoodsController.java
  7. 13
      src/main/java/com/qs/serve/modules/third/entity/param/SkuToGetSpuParam.java

4
src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java

@ -90,8 +90,8 @@ public class GoodsSpuController {
List<OmsSpuToSkuKey> toSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodes); List<OmsSpuToSkuKey> toSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodes);
for (GoodsSpu spu : goodsSpuList) { for (GoodsSpu spu : goodsSpuList) {
for (OmsSpuToSkuKey skuKey : toSkuKeys) { for (OmsSpuToSkuKey skuKey : toSkuKeys) {
if(spu.getSpuCode().equals(skuKey.getSpuCode())){ if(spu.getSpuCode().equals(skuKey.getSkuCode())){
GoodsSku goodsSku = goodsSkuService.getByCode(skuKey.getSkuCode()); GoodsSku goodsSku = goodsSkuService.getByCode(skuKey.getInvCode());
spu.setSkuPrice(goodsSku.getSalesPrice()); spu.setSkuPrice(goodsSku.getSalesPrice());
break; break;
} }

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

@ -198,13 +198,28 @@ public class OmsOrderApi {
* @param id * @param id
* @return * @return
*/ */
@PostMapping("/buildPriceOrder/{id}") @PostMapping("/buildPriceOrder/{id}/{amount}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE) @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
public R<?> buildPriceOrder(@PathVariable("id") String id){ public R<?> buildPriceOrder(@PathVariable("id") String id,@PathVariable("amount") String amount){
omsOrderService.buildPriceOrder(id); omsOrderService.buildPriceOrder(id,amount);
return R.ok(); return R.ok();
} }
/**
* 删除
* @param id
* @return
*/
@DeleteMapping("/deleteById/{id}")
@SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("id") Long id){
OmsOrder dbOmsOrder = omsOrderService.getById(id);
if(dbOmsOrder.getStatus().equals(0)&&dbOmsOrder.getCheckState().equals(0)){
boolean result = omsOrderService.removeById(id);
return R.isTrue(result);
}
return R.error("当前状态无法删除");
}
} }

10
src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java

@ -9,8 +9,14 @@ import lombok.Data;
@Data @Data
public class OmsSpuToSkuKey { public class OmsSpuToSkuKey {
private String spuCode; /**
* 实质为spuCode
*/
private String skuCode; private String skuCode;
/**
* 实质为skuCode
*/
private String invCode;
} }

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

@ -65,7 +65,7 @@ public interface OmsOrderService extends IService<OmsOrder> {
* 对接调度系统生成ERP的报价单 * 对接调度系统生成ERP的报价单
* @param id * @param id
*/ */
void buildPriceOrder(String id); void buildPriceOrder(String id,String amount);
} }

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

@ -137,6 +137,17 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
.map(OmsOrderSkuBo.SpuParam::getSpuId).collect(Collectors.toList()); .map(OmsOrderSkuBo.SpuParam::getSpuId).collect(Collectors.toList());
List<GoodsSpu> spuList = goodsSpuService.listByIds(spuIds); List<GoodsSpu> spuList = goodsSpuService.listByIds(spuIds);
//通过当前函数获取当前账套对于的skuID,默认全部转化为开平(001)的sku
Map<Long,GoodsSpu> goodsSpuMap = new HashMap<>(spuList.size());
for (GoodsSpu goodsSpu : spuList) {
goodsSpuMap.put(goodsSpu.getId(),goodsSpu);
}
List<String> spuCodeList = spuList.stream().map(GoodsSpu::getSpuCode).collect(Collectors.toList());
List<OmsSpuToSkuKey> spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodeList);
Map<String,String> spuGetSkuMap = new HashMap<>(spuToSkuKeys.size());
for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) {
spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode());
}
//构建临时购物车列表 //构建临时购物车列表
List<OmsShoppingCart> shoppingCartList = new ArrayList<>(); List<OmsShoppingCart> shoppingCartList = new ArrayList<>();
@ -147,14 +158,16 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
qty = spuParam.getQty(); qty = spuParam.getQty();
} }
} }
String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode());
GoodsSku goodsSku = goodsSkuService.getByCode(skuCode);
OmsShoppingCart shoppingCart = new OmsShoppingCart(); OmsShoppingCart shoppingCart = new OmsShoppingCart();
shoppingCart.setSpuId(goodsSpu.getId()); shoppingCart.setSpuId(goodsSpu.getId());
shoppingCart.setSpuCode(goodsSpu.getSpuCode()); shoppingCart.setSpuCode(goodsSpu.getSpuCode());
shoppingCart.setQuantity(qty); shoppingCart.setQuantity(qty);
shoppingCart.setSkuId(0L); shoppingCart.setSkuId(goodsSku.getId());
shoppingCart.setSkuCode(""); shoppingCart.setSkuCode(goodsSku.getSkuCode());
shoppingCart.setSpecInfo(goodsSpu.getName()); shoppingCart.setSpecInfo(goodsSku.getSpecInfos());
shoppingCart.setAddPrice(BigDecimal.ZERO); shoppingCart.setAddPrice(goodsSku.getSalesPrice());
shoppingCartList.add(shoppingCart); shoppingCartList.add(shoppingCart);
} }
@ -222,7 +235,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
List<OmsSpuToSkuKey> spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodeList); List<OmsSpuToSkuKey> spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodeList);
Map<String,String> spuGetSkuMap = new HashMap<>(spuToSkuKeys.size()); Map<String,String> spuGetSkuMap = new HashMap<>(spuToSkuKeys.size());
for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) { for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) {
spuGetSkuMap.put(toSkuKey.getSpuCode(),toSkuKey.getSkuCode()); spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode());
} }
//构建新的item //构建新的item
@ -409,7 +422,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper,OmsOrder> im
} }
@Override @Override
public void buildPriceOrder(String id) { public void buildPriceOrder(String id,String amount) {
OmsOrder omsOrder = super.getById(id); OmsOrder omsOrder = super.getById(id);
String userId = AuthContextUtils.getSysUserId(); String userId = AuthContextUtils.getSysUserId();
// if(omsOrder==null || !omsOrder.getUserId().equals(userId)){ // if(omsOrder==null || !omsOrder.getUserId().equals(userId)){

53
src/main/java/com/qs/serve/modules/third/PortalGoodsController.java

@ -0,0 +1,53 @@
package com.qs.serve.modules.third;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.oms.entity.dto.OmsSpuToSkuKey;
import com.qs.serve.modules.third.entity.param.SkuToGetSpuParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author YenHex
* @since 2023/10/16
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("thirty/goods")
public class PortalGoodsController {
private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService;
/**
* 通过invCode获取spuCode
* @param param
* @return
*/
@PostMapping("getSpuBySku")
public List<OmsSpuToSkuKey> getSpuBySku(@RequestBody SkuToGetSpuParam param){
List<GoodsSku> skuList = goodsSkuService.getByCodes(param.getInvCodes());
List<OmsSpuToSkuKey> rs = new ArrayList<>();
for (GoodsSku sku : skuList) {
GoodsSpu goodsSpu = goodsSpuService.getById(sku.getSpuId());
OmsSpuToSkuKey key = new OmsSpuToSkuKey();
key.setSkuCode(goodsSpu.getSpuCode());
key.setInvCode(sku.getSkuCode());
rs.add(key);
}
return rs;
}
}

13
src/main/java/com/qs/serve/modules/third/entity/param/SkuToGetSpuParam.java

@ -0,0 +1,13 @@
package com.qs.serve.modules.third.entity.param;
import lombok.Data;
import java.util.List;
/**
* @author YenHex
* @since 2023/10/16
*/
@Data
public class SkuToGetSpuParam {
List<String> invCodes;
}
Loading…
Cancel
Save