mac 7 сар өмнө
parent
commit
3a6bf362f9

+ 2 - 1
lhb-basic/lhb-basic-api/src/main/java/com/kxs/lhb/basic/api/constant/enums/ChannelCodeEnum.java

@@ -1,5 +1,6 @@
 package com.kxs.lhb.basic.api.constant.enums;
 
+import jakarta.validation.constraints.NotBlank;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 
@@ -30,7 +31,7 @@ public enum ChannelCodeEnum {
         }
     }
 
-    public static ChannelCodeEnum getChannelCode(String ifCode) {
+    public static ChannelCodeEnum getChannelCode(@NotBlank String ifCode) {
         return CHANNEL_CODE_ENUM_MAP.get(ifCode);
     }
 }

+ 8 - 0
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/controller/admin/SysGoodsController.java

@@ -98,7 +98,15 @@ public class SysGoodsController {
         return R.ok(lhbGoodsService.removeByGoodsId(id));
     }
 
+    /**
+     * 更新商品信息
+     */
+    @Inner(value = false)
+    @GetMapping("/goodsInfoTask")
+    public void goodsInfoTask() {
 
+        lhbGoodsService.goodsInfoTask();
+    }
 
 
 

+ 4 - 0
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/service/LhbGoodsService.java

@@ -26,5 +26,9 @@ public interface LhbGoodsService extends MPJBaseService<LhbGoods> {
     List<NumbersVO> getNumbers(NumbersDTO param);
 
     GoodsInfoVO detail(Integer id);
+
+    void goodsInfoTask();
+
+
 }
 

+ 18 - 0
lhb-basic/lhb-basic-biz/src/main/java/com/kxs/lhb/basic/biz/service/impl/LhbGoodsServiceImpl.java

@@ -3,6 +3,7 @@ package com.kxs.lhb.basic.biz.service.impl;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.kxs.common.core.constant.CommonConstants;
 import com.kxs.common.core.exception.GlobalCustomerException;
 import com.kxs.lhb.basic.api.dto.cusmoter.goods.NumbersDTO;
 import com.kxs.lhb.basic.api.dto.tongyi.NumbersReq;
@@ -54,6 +55,11 @@ public class LhbGoodsServiceImpl extends MPJBaseServiceImpl<LhbGoodsMapper, LhbG
     @Transactional(rollbackFor = Exception.class)
     public Boolean addGoods(LhbGoods param) {
 
+        boolean exists = exists(Wrappers.lambdaQuery(LhbGoods.class).eq(LhbGoods::getExternalId, param.getExternalId()));
+        if (exists) {
+            throw new GlobalCustomerException("三方产品ID已存在");
+        }
+
         List<PackagesRes> packages = channelFactory.getChannel(param.getIfCode()).getPackages(PackagesReq.builder().build());
 
         Optional<PackagesRes> first = packages.stream().filter(item -> param.getExternalId().equals(item.getId())).findFirst();
@@ -148,6 +154,18 @@ public class LhbGoodsServiceImpl extends MPJBaseServiceImpl<LhbGoodsMapper, LhbG
         return goodsInfoVO;
     }
 
+    @Override
+    public void goodsInfoTask() {
+
+        List<LhbGoods> list = list(Wrappers.lambdaQuery(LhbGoods.class).eq(LhbGoods::getStatus, CommonConstants.SUCCESS));
+
+        list.forEach(goods -> {
+
+            Boolean aBoolean = updateGoods(goods);
+
+        });
+    }
+
 
     private void refreshGoods(LhbGoods goods, PackagesRes packages) {