Browse Source

处理pcb上传同时生成两条私有对象。

yujia 7 years ago
parent
commit
9a93dc7f60

+ 2 - 2
src/main/java/com/uas/platform/b2c/core/utils/StringUtilB2C.java

@@ -219,10 +219,10 @@ public class StringUtilB2C {
 	public static <T> String joinListUseContact(List<T> tList, String contactStr) {
 		String str = "";
 		for (T t : tList) {
-			str = t.toString() + contactStr;
+			str = str +  t.toString() + contactStr;
 		}
 		if(!StringUtils.isEmpty(str)) {
-			str.substring(0, str.length() - 1);
+			str = str.substring(0, str.length() - 1);
 		}
 		return str;
 	}

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

@@ -4091,7 +4091,7 @@ public class GoodsServiceImpl implements GoodsService {
         if (CollectionUtils.isEmpty(prIds)) {
             return new HashedMap();
         } else {
-            String sql = "select go_productid, count(go_id) num from trade$goods where go_productid in (:prids) group by go_productid";
+            String sql = "/*#mycat:db_type=master*/select go_productid, count(go_id) num from trade$goods where go_productid in (:prids) group by go_productid";
             Map<String,Object> parameters = new HashMap<String,Object>();
             parameters.put("prids", prIds);
             final Map<Long, Integer> resultMap = new HashedMap();

+ 12 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductPrivateServiceImpl.java

@@ -1,12 +1,16 @@
 package com.uas.platform.b2c.prod.commodity.service.impl;
 
 import com.uas.platform.b2c.core.constant.IntegerConstant;
+import com.uas.platform.b2c.core.constant.SplitChar;
+import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.commodity.service.ProductPrivateService;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -26,10 +30,13 @@ public class ProductPrivateServiceImpl implements ProductPrivateService {
 
     private final GoodsService goodsService;
 
+    private final JdbcTemplate jdbcTemplate;
+
     @Autowired
-    public ProductPrivateServiceImpl(ProductPrivateDao productPrivateDao, GoodsService goodsService) {
+    public ProductPrivateServiceImpl(ProductPrivateDao productPrivateDao, GoodsService goodsService, JdbcTemplate jdbcTemplate) {
         this.productPrivateDao = productPrivateDao;
         this.goodsService = goodsService;
+        this.jdbcTemplate = jdbcTemplate;
     }
 
 
@@ -55,8 +62,10 @@ public class ProductPrivateServiceImpl implements ProductPrivateService {
         if (CollectionUtils.isEmpty(prIds)) {
             return Collections.emptyList();
         } else {
-            List<ProductPrivate> privates = productPrivateDao.findByPrIds(prIds);
-            return privates;
+            String contact = StringUtilB2C.joinListUseContact(prIds, SplitChar.COMMA);
+            String sql = "/*#mycat:db_type=master*/ select p.id, p.pr_id,p.pr_b2cenabled,p.pr_batchcount,p.pr_attach from product$private p where p.pr_id in ("+ contact +");";
+            List<ProductPrivate> mapList = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ProductPrivate.class));
+            return mapList;
         }
     }