Przeglądaj źródła

调整获取商城物料的返回值

yujia 7 lat temu
rodzic
commit
74719b73de

+ 24 - 17
src/main/java/com/uas/platform/b2c/external/erp/prod/service/impl/ProdServiceImpl.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.external.erp.prod.service.impl;
 
 import com.uas.api.b2c_erp.seller.model.Prod;
 import com.uas.api.b2c_erp.seller.service.ProdService;
+import com.uas.platform.b2c.common.base.dao.CommonDao;
 import com.uas.platform.b2c.core.constant.IntegerConstant;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
@@ -14,17 +15,19 @@ import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.dao.V_ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.model.Product;
 import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
 import com.uas.platform.b2c.prod.commodity.service.ProductService;
 import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
 import org.apache.log4j.Logger;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.BatchPreparedStatementSetter;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
@@ -33,6 +36,7 @@ import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by wangyc on 2017/10/26.
@@ -62,6 +66,9 @@ public class ProdServiceImpl implements ProdService {
     @Autowired
     private JdbcTemplate jdbcTemplate;
 
+    @Autowired
+    private CommonDao commonDao;
+
     @Autowired
     private ReleaseProductByBatchService releaseProductByBatchService;
 
@@ -199,12 +206,13 @@ public class ProdServiceImpl implements ProdService {
 
     }
 
+    @Transactional
     @Override
     public List<Prod> findNewProdUploadMallERP(int i) {
-//        PageParams pageParams = new PageParams();
-//        pageParams.setPage(i);
-//        pageParams.setCount(IntegerConstant.PAGE_COUNT);
-//        final PageInfo info = new PageInfo(pageParams);
+        PageParams pageParams = new PageParams();
+        pageParams.setPage(i);
+        pageParams.setCount(IntegerConstant.PAGE_COUNT);
+        final PageInfo info = new PageInfo(pageParams);
 //        info.sorting("id", Sort.Direction.ASC);
 //        SimpleExpression b2cEnabled = new SimpleExpression("b2cEnabled", 1, CriterionExpression.Operator.EQ);
 //        SimpleExpression pbranden = PredicateUtils.isNotNull("pbranden");
@@ -212,23 +220,22 @@ public class ProdServiceImpl implements ProdService {
 //        SimpleExpression erpDown = PredicateUtils.isNull("erpDown");
 //        LogicalExpression expression = new LogicalExpression(new SimpleExpression[]{b2cEnabled, pbranden, pcmpcode, erpDown}, CriterionExpression.Operator.AND);
 //        info.expression(expression);
-        String sql = "select * from v$product$private where pr_erpdown is null and pr_b2cenabled = 1 and pr_pcmpcode is not null and pr_pbrand is not null limit i, 500";
-        List<V_ProductPrivate> v_productPrivates = jdbcTemplate.queryForList(sql, V_ProductPrivate.class);
-//        Page<V_ProductPrivate> productPrivates = vProductPrivateDao.findAll(new Specification<V_ProductPrivate>() {
-//            @Override
-//            public Predicate toPredicate(Root<V_ProductPrivate> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
-//                query.where(info.getPredicates(root, query, cb));
-//                return null;
-//            }
-//        }, info);
-//        List<V_ProductPrivate> content = productPrivates.getContent();
+        String sql = "select pr_pbrand,pr_pcmpcode,pr_spec,pr_kind,pr_cmpuuid,pr_unit,pr_id from v$product$private where pr_erpdown is null and pr_b2cenabled = 1 and pr_pcmpcode is not null and pr_pbrand is not null limit " + i +", 500";
+
+        List<Map<String, Object>> mapList = commonDao.queryForList(sql);
         List<Prod> content1 =  new ArrayList<>();
-        for (V_ProductPrivate v_productPrivate : v_productPrivates) {
-                Prod prod = ModelConvertUtil.vProductPrivateConvertProd(v_productPrivate);
+        for (Map<String, Object> map : mapList) {
+                Prod prod = ModelConvertUtil.vProductPrivateConvertProd(map);
             if (prod != null) {
                 content1.add(prod);
             }
         }
+        List<Long> ids = new ArrayList<>();
+        for (Map<String, Object> map : mapList) {
+            Long pr_id = Long.valueOf(String.valueOf(map.get("pr_id")));
+            ids.add(pr_id);
+        }
+        productDao.updateProductMallERPDowned(ids);
         return content1;
     }
 

+ 30 - 31
src/main/java/com/uas/platform/b2c/external/erp/prod/util/ModelConvertUtil.java

@@ -1,9 +1,8 @@
 package com.uas.platform.b2c.external.erp.prod.util;
 
 import com.uas.api.b2c_erp.seller.model.Prod;
-import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
-import com.uas.platform.b2c.prod.product.component.modal.ComponentInfo;
 
+import java.util.Map;
 import java.util.UUID;
 
 /**
@@ -16,26 +15,26 @@ public class ModelConvertUtil {
     /**
      * 物料转化成 prod
      *
-     * @param v_productPrivate 物料服务
+     * @param map 物料服务
      * @return Prod
      */
-   public static Prod vProductPrivateConvertProd(V_ProductPrivate v_productPrivate) {
-       if (v_productPrivate == null) {
+   public static Prod vProductPrivateConvertProd(Map<String, Object> map) {
+       if (map == null) {
            return null;
        }
        Prod prod = new Prod();
-       prod.setPr_orispeccode(v_productPrivate.getPcmpcode());
-       prod.setPr_brand(v_productPrivate.getPbranden());
-       prod.setPcmpcode(v_productPrivate.getPcmpcode());
-       prod.setKind(v_productPrivate.getKind());
-       prod.setKinden(v_productPrivate.getKinden());
-       prod.setPr_detail(v_productPrivate.getKind());
-       prod.setPr_uuid(v_productPrivate.getCmpUuId());
-       prod.setPbrand(v_productPrivate.getPbrand());
-       prod.setPbranden(v_productPrivate.getPbranden());
+       prod.setPr_orispeccode(String.valueOf(map.get("pr_pcmpcode")));
+       prod.setPr_brand(String.valueOf(map.get("pr_pbrand")));
+       prod.setPcmpcode(String.valueOf(map.get("pr_pcmpcode")));
+       prod.setKind(String.valueOf(map.get("pr_kind")));
+       prod.setKinden(String.valueOf(map.get("pr_kind")));
+       prod.setPr_detail(String.valueOf(map.get("pr_kind")));
+       prod.setPr_uuid(String.valueOf(map.get("pr_uuid")));
+       prod.setPbrand(String.valueOf(map.get("pr_pbrand")));
+       prod.setPbranden(String.valueOf(map.get("pr_pbrand")));
        prod.setPr_code(UUID.randomUUID().toString());
-       prod.setPr_spec(v_productPrivate.getSpec());
-       prod.setPr_unit(v_productPrivate.getUnit());
+       prod.setPr_spec(String.valueOf(map.get("pr_spec")));
+       prod.setPr_unit(String.valueOf(map.get("pr_uuid")));
        return prod;
     }
 
@@ -43,26 +42,26 @@ public class ModelConvertUtil {
     /**
      * 物料转化成 prod
      *
-     * @param info 器件信息
+     * @param map 器件信息
      * @return Prod
      */
-    public static Prod ComponentInfoConvertProd(ComponentInfo info) {
-        if (info == null) {
+    public static Prod ComponentInfoConvertProd(Map<String, Object> map) {
+        if (map == null) {
             return null;
         }
         Prod prod = new Prod();
-        prod.setPr_orispeccode(info.getCode());
-        prod.setPr_brand(info.getBrand().getNameEn());
-        prod.setPcmpcode(info.getCode());
-        prod.setKind(info.getKind().getNameCn());
-        prod.setKinden(info.getKind().getNameCn());
-        prod.setPr_detail(info.getKind().getNameCn());
-        prod.setPr_uuid(info.getUuid());
-        prod.setPbrand(info.getBrand().getNameEn());
-        prod.setPbranden(info.getBrand().getNameEn());
-        prod.setPr_code(info.getUuid());
-        prod.setPr_spec(info.getDescription());
-        prod.setPr_unit(info.getUnit());
+        prod.setPr_orispeccode(String.valueOf(map.get("cmp_code")));
+        prod.setPr_brand(String.valueOf(map.get("br_name_en")));
+        prod.setPcmpcode(String.valueOf(map.get("cmp_code")));
+        prod.setKind(null);
+        prod.setKinden(null);
+        prod.setPr_detail(null);
+        prod.setPr_uuid(String.valueOf(map.get("cmp_uuid")));
+        prod.setPbrand(String.valueOf(map.get("br_name_en")));
+        prod.setPbranden(String.valueOf(map.get("br_name_en")));
+        prod.setPr_code(String.valueOf(map.get("cmp_uuid")));
+        prod.setPr_spec(String.valueOf(map.get("cmp_description")));
+        prod.setPr_unit(String.valueOf(map.get("cmp_unit")));
         return prod;
     }
 }

+ 32 - 21
src/main/java/com/uas/platform/b2c/external/erp/product/service/impl/ComponentServiceImpl.java

@@ -4,7 +4,7 @@ import com.uas.api.b2c_erp.baisc.model.ComponentInfoUas;
 import com.uas.api.b2c_erp.baisc.service.ComponentService;
 import com.uas.api.b2c_erp.seller.model.Prod;
 import com.uas.api.domain.IPage;
-import com.uas.platform.b2c.core.constant.IntegerConstant;
+import com.uas.platform.b2c.common.base.dao.CommonDao;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.external.erp.prod.util.ModelConvertUtil;
@@ -21,7 +21,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.Sort;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
@@ -43,6 +42,9 @@ public class ComponentServiceImpl implements ComponentService {
     @Autowired
     private ComponentInfoDao componentInfoDao;
 
+    @Autowired
+    private CommonDao commonDao;
+
     @Override
     public List<ComponentInfoUas> getSimpleInfoByUuids(String uuids) {
         List<ComponentInfoUas> lists = new ArrayList<ComponentInfoUas>();
@@ -178,31 +180,40 @@ public class ComponentServiceImpl implements ComponentService {
         return mapList;
     }
 
+    @Transactional
     @Override
-    public Page<Prod> findNewComponentUploadMallERP(int i) {
-        PageParams pageParams = new PageParams();
-        pageParams.setPage(i);
-        pageParams.setCount(IntegerConstant.PAGE_COUNT);
-        final PageInfo info = new PageInfo(pageParams);
-        info.sorting("id", Sort.Direction.ASC);
-        SimpleExpression erpDown = PredicateUtils.isNull("erpDown");
-        info.expression(erpDown);
-        Page<ComponentInfo> componentInfos = componentInfoDao.findAll(new Specification<ComponentInfo>() {
-            @Override
-            public Predicate toPredicate(Root<ComponentInfo> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
-                query.where(info.getPredicates(root, query, cb));
-                return null;
-            }
-        }, info);
-        List<ComponentInfo> content = componentInfos.getContent();
+    public List<Prod> findNewComponentUploadMallERP(int i) {
+//        PageParams pageParams = new PageParams();
+//        pageParams.setPage(i);
+//        pageParams.setCount(IntegerConstant.PAGE_COUNT);
+//        final PageInfo info = new PageInfo(pageParams);
+//        info.sorting("id", Sort.Direction.ASC);
+//        SimpleExpression erpDown = PredicateUtils.isNull("erpDown");
+//        info.expression(erpDown);
+//        Page<ComponentInfo> componentInfos = componentInfoDao.findAll(new Specification<ComponentInfo>() {
+//            @Override
+//            public Predicate toPredicate(Root<ComponentInfo> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+//                query.where(info.getPredicates(root, query, cb));
+//                return null;
+//            }
+//        }, info);
+
+        String sql = "select cmp_code,br_name_en,cmp_uuid,cmp_description,cmp_unit from product$component left join `product$brand` on cmp_brid = br_id where pr_erpdown is null limit " + i + ", 500;";
+
+        List<Map<String, Object>> mapList = commonDao.queryForList(sql);
         List<Prod> content1 =  new ArrayList<>();
-        for (ComponentInfo componentInfo : content) {
-            Prod prod = ModelConvertUtil.ComponentInfoConvertProd(componentInfo);
+        for (Map<String, Object> map : mapList) {
+            Prod prod = ModelConvertUtil.ComponentInfoConvertProd(map);
             if (prod != null) {
                 content1.add(prod);
             }
         }
-        return new PageImpl<Prod>(content1, info, componentInfos.getTotalElements());
+        List<String> uuids = new ArrayList<>();
+        for (Prod prod : content1) {
+            uuids.add(prod.getPr_uuid());
+        }
+        componentInfoDao.updateComponentInfoMallERPDowned(uuids);
+        return content1;
     }
 
     @Override

+ 2 - 2
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductDao.java

@@ -183,8 +183,8 @@ public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaReposi
      * @param list
      */
     @Modifying
-    @Query(value = "update Product p set p.erpDown = \'已上传\' where p.prodNum in (:list)")
-    void updateProductMallERPDowned(@Param("list") List<String> list);
+    @Query(value = "update Product p set p.erpDown = \'已上传\' where p.id in (:list)")
+    void updateProductMallERPDowned(@Param("list") List<Long> list);
 
     /**
      * 通过型号查询物料信息

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/model/Product.java

@@ -19,7 +19,8 @@ import java.util.Set;
 	@Index(name = "products_enuu_index", columnList = "pr_enuu"),
 	@Index(name = "products_cmpcode_index", columnList = "pr_cmpcode"),
 	@Index(name = "products_brand_index", columnList = "pr_brand"),
-	@Index(name = "products_enuu_code_index", columnList = "pr_code, pr_enuu", unique = true)})
+	@Index(name = "products_enuu_code_index", columnList = "pr_code, pr_enuu", unique = true),
+	@Index(name = "products_erpdown_index", columnList = "pr_erpdown")})
 @Logger
 //@Cacheable
 //@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "com.uas.platform.b2b.model.Product")

+ 6 - 1
src/main/java/com/uas/platform/b2c/prod/product/component/modal/Component.java

@@ -19,7 +19,12 @@ import java.util.Set;
  * @version  2016年3月11日上午10:24:29 suntg 创建
  */
 @Entity
-@Table(name = "product$component", indexes = { @Index(name = "BRID_CODE_UNIQUE", columnList = "cmp_code,cmp_brid", unique = true), @Index(name = "PRODUCT$COMPONENT_CODE", columnList = "cmp_code"), @Index(name = "component_attach_index", columnList = "cmp_attach"), @Index(name = "component_img_index", columnList = "cmp_img")})
+@Table(name = "product$component", indexes = {
+		@Index(name = "BRID_CODE_UNIQUE", columnList = "cmp_code,cmp_brid", unique = true),
+		@Index(name = "PRODUCT$COMPONENT_CODE", columnList = "cmp_code"),
+		@Index(name = "component_attach_index", columnList = "cmp_attach"),
+		@Index(name = "component_img_index", columnList = "cmp_img"),
+		@Index(name = "component_erp_index", columnList = "pr_erpdown")})
 public class Component implements Serializable {
 
 	/**