Просмотр исходного кода

新增 替代物料的接口方法

wangdy 8 лет назад
Родитель
Сommit
123e8be677

+ 14 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2c.prod.commodity.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.support.SystemSession;
@@ -29,6 +30,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static com.alibaba.fastjson.JSON.parseArray;
+
 /**
  *  产品控制器
  *
@@ -101,6 +104,17 @@ public class ProductController {
 		return ResultMap.success("success");
 	}
 
+	/**
+	 * 批量保存个人替代物料信息
+	 * @param productReplaceList 替代物料数组
+	 */
+	@RequestMapping(value = "/productReplace", method = RequestMethod.POST)
+	ResultMap setProductReplacesByPerson(@RequestBody String productReplaceList) {
+		List<ProductReplace> productReplaces = JSON.parseArray(productReplaceList,ProductReplace.class);
+		productService.setProductReplacesByPerson(productReplaces);
+		return ResultMap.success("success");
+	}
+
     /**
      * 批量导出产品表
      *

+ 15 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductReplaceDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2c.prod.commodity.dao;
+
+import com.uas.platform.b2c.prod.commodity.model.ProductReplace;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
+public interface ProductReplaceDao extends JpaRepository<ProductReplace, Long>, JpaSpecificationExecutor<ProductReplace> {
+
+    @Query(nativeQuery = true, value = "select * from product$replace where ptr_useruu = :userUU and ptr_prid = :prid")
+    List<ProductReplace> findByUserUUAndProductId(@Param("userUU") Long userUU, @Param("prid") Long prId);
+}

+ 5 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/model/ProductReplace.java

@@ -28,13 +28,13 @@ public class ProductReplace {
     private Long productId;
 
     /**
-     * 原型号型号
+     * 原型号型号(冗余p字段)
      */
     @Column(name = "p_cmpcode" ,length = 800)
     private String pCmpcode;
 
     /**
-     * 原品牌品牌
+     * 原品牌品牌(冗余p字段)
      */
     @Column(name = "p_pbranden")
     private String pBranden;
@@ -67,13 +67,15 @@ public class ProductReplace {
     /**
      * 创建时间
      */
+    @Temporal(TemporalType.TIMESTAMP)
+    @org.hibernate.annotations.CreationTimestamp
     @Column(name = "ptr_createtime")
     private Date time;
 
     /**
      * 序号
      */
-    @Column(name = "ptr_detno")
+    @Column(name = "ptr_detno", nullable = false)
     private Short detno;
 
     public Long getId() {

+ 15 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/V_ProductPerson.java

@@ -7,6 +7,7 @@ import com.uas.platform.core.persistence.UserUU;
 import javax.persistence.*;
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 import java.util.Set;
 
 @Entity
@@ -273,6 +274,12 @@ public class V_ProductPerson implements Serializable{
     @Column(name = "user_uu")
     private Long ppUserUU;
 
+    /**
+     * 该物料的所有替代物料
+     */
+    @Transient
+    private List<ProductReplace> productReplaceList;
+
     public Long getPpId() {
         return ppId;
     }
@@ -592,4 +599,12 @@ public class V_ProductPerson implements Serializable{
     public void setPpUserUU(Long ppUserUU) {
         this.ppUserUU = ppUserUU;
     }
+
+    public List<ProductReplace> getProductReplaceList() {
+        return productReplaceList;
+    }
+
+    public void setProductReplaceList(List<ProductReplace> productReplaceList) {
+        this.productReplaceList = productReplaceList;
+    }
 }

+ 6 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -42,6 +42,12 @@ public interface ProductService {
      */
     boolean setAllProductsByProductIds(String ids, Integer isAll, Integer isStardand);
 
+    /**
+     * 批量保存个人替代物料信息
+     * @param productReplaceList 替代物料数组
+     */
+    boolean setProductReplacesByPerson(List<ProductReplace> productReplaceList);
+
 
     /**
      * 下载产品资料

+ 16 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -198,6 +198,9 @@ public class ProductServiceImpl implements ProductService {
     @Autowired
     private MatchModelDao matchModelDao;
 
+    @Autowired
+    private ProductReplaceDao productReplaceDao;
+
     @Value("#{sys.productServiceIp}")
     private String productServiceIp;
 
@@ -324,8 +327,9 @@ public class ProductServiceImpl implements ProductService {
                     product.setProductDetail(productDetail);
                 }
             }
+            List<ProductReplace> productReplaceList = productReplaceDao.findByUserUUAndProductId(SystemSession.getUser().getUserUU(),product.getId());
+            product.setProductReplaceList(productReplaceList);
         }
-
         return new PageImpl<V_ProductPerson>(productList, page, productPage.getTotalElements());
     }
 
@@ -354,6 +358,17 @@ public class ProductServiceImpl implements ProductService {
         return true;
     }
 
+    @Override
+    public boolean setProductReplacesByPerson(List<ProductReplace> productReplaceList) {
+        if (CollectionUtils.isEmpty(productReplaceList)) {
+            return false;
+        }
+        List<ProductReplace> productReplacesOld = productReplaceDao.findByUserUUAndProductId(SystemSession.getUser().getUserUU(),productReplaceList.get(0).getProductId());
+        productReplaceDao.delete(productReplacesOld);
+        productReplaceDao.save(productReplaceList);
+        return true;
+    }
+
     @Override
     public List<Goods> getProductsGoods(String type, String keyword) {
         final PageInfo page = new PageInfo();