diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java index 207e0f7b..9242039a 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -90,8 +90,8 @@ public class GoodsSpuController { List toSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodes); for (GoodsSpu spu : goodsSpuList) { for (OmsSpuToSkuKey skuKey : toSkuKeys) { - if(spu.getSpuCode().equals(skuKey.getSpuCode())){ - GoodsSku goodsSku = goodsSkuService.getByCode(skuKey.getSkuCode()); + if(spu.getSpuCode().equals(skuKey.getSkuCode())){ + GoodsSku goodsSku = goodsSkuService.getByCode(skuKey.getInvCode()); spu.setSkuPrice(goodsSku.getSalesPrice()); break; } diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java index c6817590..a24c0f77 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java @@ -198,13 +198,28 @@ public class OmsOrderApi { * @param id * @return */ - @PostMapping("/buildPriceOrder/{id}") + @PostMapping("/buildPriceOrder/{id}/{amount}") @SysLog(module = SystemModule.BASE, title = "订单", biz = BizType.DELETE) - public R buildPriceOrder(@PathVariable("id") String id){ - omsOrderService.buildPriceOrder(id); + public R buildPriceOrder(@PathVariable("id") String id,@PathVariable("amount") String amount){ + omsOrderService.buildPriceOrder(id,amount); 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("当前状态无法删除"); + } } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java b/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java index aa4f323b..aeb29b41 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/dto/OmsSpuToSkuKey.java @@ -9,8 +9,14 @@ import lombok.Data; @Data public class OmsSpuToSkuKey { - private String spuCode; - + /** + * 实质为spuCode + */ private String skuCode; + /** + * 实质为skuCode + */ + private String invCode; + } diff --git a/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java index 0fb58e44..83f23ebb 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java +++ b/src/main/java/com/qs/serve/modules/oms/service/OmsOrderService.java @@ -65,7 +65,7 @@ public interface OmsOrderService extends IService { * 对接调度系统,生成ERP的报价单 * @param id */ - void buildPriceOrder(String id); + void buildPriceOrder(String id,String amount); } diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index 401de0b8..644e8bf2 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -137,6 +137,17 @@ public class OmsOrderServiceImpl extends ServiceImpl im .map(OmsOrderSkuBo.SpuParam::getSpuId).collect(Collectors.toList()); List spuList = goodsSpuService.listByIds(spuIds); + //通过当前函数获取当前账套对于的skuID,默认全部转化为开平(001)的sku + Map goodsSpuMap = new HashMap<>(spuList.size()); + for (GoodsSpu goodsSpu : spuList) { + goodsSpuMap.put(goodsSpu.getId(),goodsSpu); + } + List spuCodeList = spuList.stream().map(GoodsSpu::getSpuCode).collect(Collectors.toList()); + List spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodeList); + Map spuGetSkuMap = new HashMap<>(spuToSkuKeys.size()); + for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) { + spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode()); + } //构建临时购物车列表 List shoppingCartList = new ArrayList<>(); @@ -147,14 +158,16 @@ public class OmsOrderServiceImpl extends ServiceImpl im qty = spuParam.getQty(); } } + String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); + GoodsSku goodsSku = goodsSkuService.getByCode(skuCode); OmsShoppingCart shoppingCart = new OmsShoppingCart(); shoppingCart.setSpuId(goodsSpu.getId()); shoppingCart.setSpuCode(goodsSpu.getSpuCode()); shoppingCart.setQuantity(qty); - shoppingCart.setSkuId(0L); - shoppingCart.setSkuCode(""); - shoppingCart.setSpecInfo(goodsSpu.getName()); - shoppingCart.setAddPrice(BigDecimal.ZERO); + shoppingCart.setSkuId(goodsSku.getId()); + shoppingCart.setSkuCode(goodsSku.getSkuCode()); + shoppingCart.setSpecInfo(goodsSku.getSpecInfos()); + shoppingCart.setAddPrice(goodsSku.getSalesPrice()); shoppingCartList.add(shoppingCart); } @@ -222,7 +235,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im List spuToSkuKeys = goodsSpuService.getSpuToSkuInfo(GoodsConst.DEFAULT_BOOK,spuCodeList); Map spuGetSkuMap = new HashMap<>(spuToSkuKeys.size()); for (OmsSpuToSkuKey toSkuKey : spuToSkuKeys) { - spuGetSkuMap.put(toSkuKey.getSpuCode(),toSkuKey.getSkuCode()); + spuGetSkuMap.put(toSkuKey.getSkuCode(),toSkuKey.getInvCode()); } //构建新的item @@ -409,7 +422,7 @@ public class OmsOrderServiceImpl extends ServiceImpl im } @Override - public void buildPriceOrder(String id) { + public void buildPriceOrder(String id,String amount) { OmsOrder omsOrder = super.getById(id); String userId = AuthContextUtils.getSysUserId(); // if(omsOrder==null || !omsOrder.getUserId().equals(userId)){ diff --git a/src/main/java/com/qs/serve/modules/third/PortalGoodsController.java b/src/main/java/com/qs/serve/modules/third/PortalGoodsController.java new file mode 100644 index 00000000..e802d0ba --- /dev/null +++ b/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 getSpuBySku(@RequestBody SkuToGetSpuParam param){ + List skuList = goodsSkuService.getByCodes(param.getInvCodes()); + List 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; + } + +} diff --git a/src/main/java/com/qs/serve/modules/third/entity/param/SkuToGetSpuParam.java b/src/main/java/com/qs/serve/modules/third/entity/param/SkuToGetSpuParam.java new file mode 100644 index 00000000..a77bf3c9 --- /dev/null +++ b/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 invCodes; +}