Browse Source

Merge remote-tracking branch 'origin/feature-201820-wangcz' into feature-201820-wangcz

Administrator 7 years ago
parent
commit
59dcc22e17

+ 0 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ReleaseProductByBatchController.java

@@ -235,10 +235,7 @@ public class ReleaseProductByBatchController {
             } else {
                 throw new IllegalOperatorException("文件格式不正确!请上传.xls或.xlsx格式的文件");
             }
-            long l = System.currentTimeMillis();
             map = releaseProductByBatchService.releaseByWorkbook(workbook, selfSale, currency, isPerson, repeatImport, false);
-            long l1 = System.currentTimeMillis();
-           System.err.println("批量上架总时间 ------------" + (l1 - l));
         } catch (IOException e) {
             e.printStackTrace();
         }

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java

@@ -784,4 +784,12 @@ public interface GoodsService {
      * @return ap<Long, Integer>
      */
     Map<Long, Integer> batchGetCountByProductId(List<Long>  prIds);
+
+
+    /**
+     * 根据 batchid 获取本次上架的信息
+     * @param batchid 本批次上架标识
+     * @return  List<Goods>
+     */
+    List<Goods> findByBatchId(String batchid);
 }

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

@@ -4317,4 +4317,20 @@ public class GoodsServiceImpl implements GoodsService {
             return resultMap;
         }
     }
+
+    /**
+     * 根据 batchid 获取本次上架的信息
+     *
+     * @param batchid 本批次上架标识
+     * @return List<Goods>
+     */
+    @Override
+    public List<Goods> findByBatchId(String batchid) {
+        if (StringUtils.isEmpty(batchid)) {
+            return new ArrayList<>();
+        } else {
+            List<Goods> goodses = goodsDao.findByBatchid(batchid);
+            return goodses;
+        }
+    }
 }

+ 41 - 76
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java

@@ -1,7 +1,5 @@
 package com.uas.platform.b2c.prod.commodity.service.impl;
 
-import static com.uas.platform.b2c.core.utils.NumberUtil.fractionNumCeil;
-
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.base.dao.CommonDao;
 import com.uas.platform.b2c.core.config.SysConf;
@@ -13,31 +11,10 @@ import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.RegexConstant;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
-import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ErrorInfoConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ModifyConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ShortConstant;
-import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
-import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
-import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
-import com.uas.platform.b2c.prod.commodity.dao.PcbPropertyvalueDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPersonDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
-import com.uas.platform.b2c.prod.commodity.dao.ReleaseProductByBatchDao;
-import com.uas.platform.b2c.prod.commodity.dao.V_ProductPrivateDao;
-import com.uas.platform.b2c.prod.commodity.model.Goods;
-import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
-import com.uas.platform.b2c.prod.commodity.model.PCB;
-import com.uas.platform.b2c.prod.commodity.model.PCBPropertyValue;
-import com.uas.platform.b2c.prod.commodity.model.Product;
-import com.uas.platform.b2c.prod.commodity.model.ProductPerson;
-import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.model.ReleaseProductByBatch;
-import com.uas.platform.b2c.prod.commodity.service.GoodsService;
-import com.uas.platform.b2c.prod.commodity.service.ProductPrivateService;
-import com.uas.platform.b2c.prod.commodity.service.ProductService;
-import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
+import com.uas.platform.b2c.prod.commodity.constant.*;
+import com.uas.platform.b2c.prod.commodity.dao.*;
+import com.uas.platform.b2c.prod.commodity.model.*;
+import com.uas.platform.b2c.prod.commodity.service.*;
 import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
 import com.uas.platform.b2c.prod.commodity.util.SheetUtil;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandInfoDao;
@@ -58,41 +35,12 @@ import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
-import java.math.BigDecimal;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.log4j.Logger;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.dao.DataAccessException;
@@ -107,6 +55,25 @@ import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.math.BigDecimal;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static com.uas.platform.b2c.core.utils.NumberUtil.fractionNumCeil;
+
 @Service
 public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchService {
 
@@ -164,6 +131,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	@Autowired
 	private  ProductService productService;
 
+    @Autowired
+    private GoodsHistoryService goodsHistoryService;
+
 	/**
 	 * 控制任务提交速度的线程池
 	 */
@@ -283,9 +253,6 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 				}
 			}
 		}
-		System.out.println("获取订单信息缺失");
-		long l1 = System.currentTimeMillis();
-		System.err.println("l1--------------l testyuj" + (l1 - l));
 		Long enUU = SystemSession.getUser().getEnterprise().getUu();
 		if (!isAPerson) {
 			//1:比较品牌、型号、自定义标签是否重复,2:比较六要素是否重复
@@ -310,14 +277,8 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 				}
 			}
 		}
-        long l2 = System.currentTimeMillis();
-        System.err.println("l2--------------l1 testyuj" + (l2 - l1));
 		commonDao.save(releaseProductByBatchs, ReleaseProductByBatch.class);
-		long l3 = System.currentTimeMillis();
-        System.err.println("l3--------------l2 testyuj" + (l3 - l2));
         releaseProductByBatchDao.callReleaseExistValidProcedure(batch, isAPerson, enUU);
-		long l4 = System.currentTimeMillis();
-		System.err.println("l4--------------l3 testyuj" + (l4 - l3));
 		if (isAPerson) {
 			for (ReleaseProductByBatch releaseProductByBatch : releaseProductByBatchs) {
                 Long productid = releaseProductByBatch.getProductid();
@@ -332,7 +293,6 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
                 }
 			}
 		}
-		Long l5 = 0l;
 		String strCount = "0";
 		if (isPcb) {
 			 releaseProductByBatchDao.callValidProcedurePcb(enUU, batch);
@@ -348,14 +308,11 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 					ResultSet rs = stmt.getResultSet();
 					if (null != rs) {
 						rs.next();
-                        System.err.println("测试结果---------" + rs.getString(1));
 						return rs.getString(1);
 					}
 					return "0";
 				}
 			});
-			l5 = System.currentTimeMillis();
-			System.err.println("l5--------------l4 testyuj" + (l5 - l4));
 		}
 		Integer filter = 0, failure = 0, success = 0;
 		if (!StringUtilB2C.isEmpty(strCount)) {
@@ -378,8 +335,6 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		modelMap.put("failure", failure);
 		modelMap.put("filter", filter);
 		modelMap.put("batch", batch);
-		long l6 = System.currentTimeMillis();
-		System.err.println("l6--------------l6 testyuj" + (l6 - l5));
 		return modelMap;
 	}
 
@@ -1779,7 +1734,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		System.err.println("l9 -------------------l8 " + (l9 - l8));
 		ArrayList<Long> list = new ArrayList<>();
 		list.addAll((Set<Long>)map.get("prIds"));
-		afterPublishToGoodsDo(list, (Set<Long>)map.get("reIds"));
+		afterPublishToGoodsDo(list, (Set<Long>)map.get("reIds"), batch);
 		return StringUtilB2C.getStr(num);
 	}
 
@@ -1985,8 +1940,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	/**
 	 * 批量发布之后,需要做的事情,内部使用线程,不需要让用户等结果
 	 */
-	public void afterPublishToGoodsDo(final List<Long> productIds, final Set<Long> reIds) {
-		if (CollectionUtils.isEmpty(productIds)) {
+	public void afterPublishToGoodsDo(final List<Long> productIds, final Set<Long> reIds, String batchid) {
+        final List<Goods> goodses = goodsService.findByBatchId(batchid);
+        if (CollectionUtils.isEmpty(productIds)) {
 			return ;
 		}
 		final Runnable afterPublishToGoodsRunnable = new Runnable() {
@@ -2012,7 +1968,16 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 					List<Goods> goodses = goodsDao.findByProductIds(prIds);
 					goodsService.updateSpecByProducts(products, goodses);
 				}
-			}
+
+                List<GoodsHistory> list = new ArrayList<>();
+                for (Goods goodse : goodses) {
+                    GoodsHistory goodsHistory = goodsHistoryService.converTGoodsHist(goodse, GoodsHistory.OperateType.Publish.getPhrase(), false);
+                    list.add(goodsHistory);
+                }
+                if (CollectionUtils.isNotEmpty(list)) {
+                    commonDao.save(list, GoodsHistory.class);
+                }
+            }
 		};
 		try {
 			executor.submitTask(afterPublishToGoodsRunnable);

BIN
src/main/resources/jxls-tpl/trade/releaseByBatch-rmb.xls


BIN
src/main/webapp/WEB-INF/cert/yrsc.cer


BIN
src/main/webapp/WEB-INF/cert/yrsc.pfx