فهرست منبع

物料新增时,新增私有属性记录【B2C】

dongbw 7 سال پیش
والد
کامیت
96c3fffccf

+ 6 - 0
src/main/java/com/uas/ps/product/repository/ProductPrivateDao.java

@@ -12,4 +12,10 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface ProductPrivateDao extends JpaRepository<ProductPrivate, Long>, JpaSpecificationExecutor<ProductPrivate> {
+    /**
+     * 根据物料id查询
+     * @param id 物料id
+     * @return
+     */
+    ProductPrivate findByPrId(Long id);
 }

+ 2 - 2
src/main/java/com/uas/ps/product/service/ProductService.java

@@ -15,7 +15,7 @@ import java.util.List;
 public interface ProductService {
 
     /**
-     * 保存物料
+     * 保存erp上传物料  商城b2cenabled字段为1时才可见,所以需要设置
      *
      * @param productInfo 物料信息
      * @return
@@ -23,7 +23,7 @@ public interface ProductService {
     Product save(Product productInfo);
 
     /**
-     * 批量保存产品
+     * 批量保存产品 商城b2cenabled字段为1时才可见,所以需要设置
      *
      * @param products
      * @return

+ 29 - 2
src/main/java/com/uas/ps/product/service/impl/ProductServiceImpl.java

@@ -74,6 +74,11 @@ public class ProductServiceImpl implements ProductService {
      */
     private final static Integer B2C_PRODUCT_ENABLED = 1;
 
+    /**
+     * B2C物料不可用
+     */
+    private final static Integer B2C_PRODUCT_DISABLED = 0;
+
     /**
      * 保存物料
      *
@@ -82,12 +87,34 @@ public class ProductServiceImpl implements ProductService {
      */
     @Override
     public Product save(Product productInfo) {
-        return productDao.save(productInfo);
+        Product product = productDao.save(productInfo);
+        ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+        if (null == productPrivate) {
+            productPrivate = new ProductPrivate();
+            productPrivate.setB2cEnabled(B2C_PRODUCT_ENABLED);
+            productPrivate.setPrId(product.getId());
+            productPrivateDao.save(productPrivate);
+        }
+        return product;
     }
 
     @Override
     public List<Product> save(List<Product> products) {
-        return productDao.save(products);
+        List<ProductPrivate> savePrivateList = new ArrayList<>();
+        List<Product> prodList = productDao.save(products);
+        for (Product product : prodList) {
+            ProductPrivate productPrivate = productPrivateDao.findByPrId(product.getId());
+            if (null == productPrivate) {
+                productPrivate = new ProductPrivate();
+                productPrivate.setB2cEnabled(B2C_PRODUCT_ENABLED);
+                productPrivate.setPrId(product.getId());
+                savePrivateList.add(productPrivate);
+            }
+        }
+        if (!CollectionUtils.isEmpty(savePrivateList)) {
+            productPrivateDao.save(savePrivateList);
+        }
+        return prodList;
     }
 
     @Override