Переглянути джерело

feat: 增加物料禁用启用接口

suntg 6 роки тому
батько
коміт
ab7bd75de5

+ 17 - 0
src/main/java/com/uas/ps/product/controller/ProductController.java

@@ -10,6 +10,7 @@ import com.uas.ps.httplog.annotation.HttpLog;
 import com.uas.ps.product.data.MyJdbcTemplate;
 import com.uas.ps.product.entity.Prod;
 import com.uas.ps.product.entity.ProductInfo;
+import com.uas.ps.product.entity.ProductPrivateInfo;
 import com.uas.ps.product.entity.ProductSaler;
 import com.uas.ps.product.service.ProductService;
 import com.uas.ps.product.support.ProductBufferedLogger;
@@ -192,6 +193,22 @@ public class ProductController {
         return ids;
     }
 
+    /**
+     * 批量禁用或启用物料,可供B2B\B2C\ERP 使用
+     *
+     * @author suntg
+     * @date 2019-1-22 11:10:58
+     * @param data 物料信息
+     * @return
+     */
+    @HttpLog
+    @RequestMapping(value = "/update/enable", method = RequestMethod.POST)
+    public ResultMap updateProductEnable(@RequestBody List<ProductPrivateInfo> data) {
+        ResultMap resultMap = productService.updateProductEnable(data);
+        log.info("批量禁用或启用物料,接收数据:" + JSON.toJSONString(data) + ",返回结果:" + JSON.toJSONString(resultMap));
+        return resultMap;
+    }
+
     /**
      * 物料不存在,重新同步物料
      * @param miss 丢失的物料

+ 57 - 0
src/main/java/com/uas/ps/product/entity/ProductPrivateInfo.java

@@ -0,0 +1,57 @@
+package com.uas.ps.product.entity;
+
+/**
+ * 物料私有信息接收对象
+ * @author suntg
+ * @date 2019-1-22 10:45:45
+ */
+public class ProductPrivateInfo {
+    /**
+     * 平台物料id
+     */
+    private Long pr_id;
+    /**
+     * 物料编号
+     */
+    private String pr_code;
+    /**
+     * 物料UU号
+     */
+    private Long pr_enuu;
+    /**
+     * 物料是否启用,1启用,0禁用
+     */
+    private Integer pr_enable;
+
+    public Long getPr_id() {
+        return pr_id;
+    }
+
+    public void setPr_id(Long pr_id) {
+        this.pr_id = pr_id;
+    }
+
+    public String getPr_code() {
+        return pr_code;
+    }
+
+    public void setPr_code(String pr_code) {
+        this.pr_code = pr_code;
+    }
+
+    public Long getPr_enuu() {
+        return pr_enuu;
+    }
+
+    public void setPr_enuu(Long pr_enuu) {
+        this.pr_enuu = pr_enuu;
+    }
+
+    public Integer getPr_enable() {
+        return pr_enable;
+    }
+
+    public void setPr_enable(Integer pr_enable) {
+        this.pr_enable = pr_enable;
+    }
+}

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

@@ -408,4 +408,11 @@ public interface ProductService {
      * @param list 需要插入的数据
      */
     void batchInsert(final List<ProductUsers> list);
+
+    /**
+     * 批量禁用或启用物料
+     * @param data
+     * @return
+     */
+    public ResultMap updateProductEnable(List<ProductPrivateInfo> data);
 }

+ 38 - 7
src/main/java/com/uas/ps/product/service/impl/ProductServiceImpl.java

@@ -15,13 +15,7 @@ import com.uas.ps.entity.Status;
 import com.uas.ps.product.ProductConstant;
 import com.uas.ps.product.dao.ProductPrivateViewDao;
 import com.uas.ps.product.data.MyJdbcTemplate;
-import com.uas.ps.product.entity.Constant;
-import com.uas.ps.product.entity.InviteProdInfo;
-import com.uas.ps.product.entity.Prod;
-import com.uas.ps.product.entity.ProductInfo;
-import com.uas.ps.product.entity.ProductPrivateView;
-import com.uas.ps.product.entity.ProductReplace;
-import com.uas.ps.product.entity.ProductSaler;
+import com.uas.ps.product.entity.*;
 import com.uas.ps.product.repository.ProductDao;
 import com.uas.ps.product.repository.ProductMatchResultDao;
 import com.uas.ps.product.repository.ProductPrivateDao;
@@ -1424,4 +1418,41 @@ public class ProductServiceImpl implements ProductService {
             }
         }
     }
+
+    /**
+     * 批量禁用或启用物料
+     *
+     * @param data
+     * @return
+     */
+    @Override
+    public ResultMap updateProductEnable(List<ProductPrivateInfo> data) {
+        if (CollectionUtils.isNotEmpty(data)) {
+            for (ProductPrivateInfo product : data) {
+                // 找物料id
+                List<Long> productIds = new ArrayList<Long>();
+                if (product.getPr_id() != null && !product.equals(0)) {
+                    productIds.add(product.getPr_id());
+                } else {
+                    productIds = productDao.findIdByEnUUAndCode(product.getPr_enuu(), product.getPr_code());
+                }
+                if (CollectionUtils.isNotEmpty(productIds)) {
+                    for (Long productId : productIds) {
+                        // 找私有物料
+                        ProductPrivate productPrivate = productPrivateDao.findByPrId(productId);
+                        if (productPrivate == null) {
+                            // 不存在,新建一条记录
+                            productPrivate = new ProductPrivate();
+                            productPrivate.setPrId(productId);
+                            productPrivate.setBatchCount(0);
+                        }
+                        // 更新
+                        productPrivate.setB2cEnabled(product.getPr_enable());
+                        productPrivateDao.save(productPrivate);
+                    }
+                }
+            }
+        }
+        return ResultMap.success(null);
+    }
 }