|
|
@@ -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;
|
|
|
+
|
|
|
/**
|
|
|
* 控制任务提交速度的线程池
|
|
|
*/
|
|
|
@@ -1779,7 +1749,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 +1955,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 +1983,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);
|