|
@@ -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.model.Prod;
|
|
|
import com.uas.api.b2c_erp.seller.service.ProdService;
|
|
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.IntegerConstant;
|
|
|
import com.uas.platform.b2c.core.constant.Status;
|
|
import com.uas.platform.b2c.core.constant.Status;
|
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
@@ -14,7 +15,6 @@ 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.dao.V_ProductPrivateDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.model.Product;
|
|
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.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.ProductService;
|
|
|
import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
|
|
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.dao.StoreInDao;
|
|
@@ -22,31 +22,21 @@ import com.uas.platform.b2c.prod.store.model.StoreIn;
|
|
|
import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
import com.uas.platform.core.logging.BufferedLoggerManager;
|
|
|
import com.uas.platform.core.model.PageInfo;
|
|
import com.uas.platform.core.model.PageInfo;
|
|
|
import com.uas.platform.core.model.PageParams;
|
|
import com.uas.platform.core.model.PageParams;
|
|
|
-import com.uas.platform.core.persistence.criteria.CriterionExpression;
|
|
|
|
|
-import com.uas.platform.core.persistence.criteria.LogicalExpression;
|
|
|
|
|
-import com.uas.platform.core.persistence.criteria.PredicateUtils;
|
|
|
|
|
-import com.uas.platform.core.persistence.criteria.SimpleExpression;
|
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.apache.log4j.Logger;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
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.jdbc.core.BatchPreparedStatementSetter;
|
|
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.PreparedStatement;
|
|
|
import java.sql.SQLException;
|
|
import java.sql.SQLException;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* Created by wangyc on 2017/10/26.
|
|
* Created by wangyc on 2017/10/26.
|
|
@@ -76,6 +66,9 @@ public class ProdServiceImpl implements ProdService {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private CommonDao commonDao;
|
|
|
|
|
+
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ReleaseProductByBatchService releaseProductByBatchService;
|
|
private ReleaseProductByBatchService releaseProductByBatchService;
|
|
|
|
|
|
|
@@ -213,43 +206,44 @@ public class ProdServiceImpl implements ProdService {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
@Override
|
|
|
- public Page<Prod> findNewProdUploadMallERP(int i) {
|
|
|
|
|
|
|
+ public List<Prod> findNewProdUploadMallERP(int i) {
|
|
|
PageParams pageParams = new PageParams();
|
|
PageParams pageParams = new PageParams();
|
|
|
pageParams.setPage(i);
|
|
pageParams.setPage(i);
|
|
|
pageParams.setCount(IntegerConstant.PAGE_COUNT);
|
|
pageParams.setCount(IntegerConstant.PAGE_COUNT);
|
|
|
final PageInfo info = new PageInfo(pageParams);
|
|
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");
|
|
|
|
|
- SimpleExpression pcmpcode = PredicateUtils.isNotNull("pcmpcode");
|
|
|
|
|
- SimpleExpression erpDown = PredicateUtils.isNull("erpDown");
|
|
|
|
|
- LogicalExpression expression = new LogicalExpression(new SimpleExpression[]{b2cEnabled, pbranden, pcmpcode, erpDown}, CriterionExpression.Operator.AND);
|
|
|
|
|
- info.expression(expression);
|
|
|
|
|
- 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();
|
|
|
|
|
|
|
+// info.sorting("id", Sort.Direction.ASC);
|
|
|
|
|
+// SimpleExpression b2cEnabled = new SimpleExpression("b2cEnabled", 1, CriterionExpression.Operator.EQ);
|
|
|
|
|
+// SimpleExpression pbranden = PredicateUtils.isNotNull("pbranden");
|
|
|
|
|
+// SimpleExpression pcmpcode = PredicateUtils.isNotNull("pcmpcode");
|
|
|
|
|
+// SimpleExpression erpDown = PredicateUtils.isNull("erpDown");
|
|
|
|
|
+// LogicalExpression expression = new LogicalExpression(new SimpleExpression[]{b2cEnabled, pbranden, pcmpcode, erpDown}, CriterionExpression.Operator.AND);
|
|
|
|
|
+// info.expression(expression);
|
|
|
|
|
+ String sql = "select pr_pbranden,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<>();
|
|
List<Prod> content1 = new ArrayList<>();
|
|
|
- for (V_ProductPrivate v_productPrivate : content) {
|
|
|
|
|
- Prod prod = ModelConvertUtil.vProductPrivateConvertProd(v_productPrivate);
|
|
|
|
|
|
|
+ for (Map<String, Object> map : mapList) {
|
|
|
|
|
+ Prod prod = ModelConvertUtil.vProductPrivateConvertProd(map);
|
|
|
if (prod != null) {
|
|
if (prod != null) {
|
|
|
content1.add(prod);
|
|
content1.add(prod);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- PageImpl<Prod> page = new PageImpl<>(content1, info, productPrivates.getTotalElements());
|
|
|
|
|
- return page;
|
|
|
|
|
|
|
+ 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;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void updateNewProdDowned(final List<String> list) {
|
|
public void updateNewProdDowned(final List<String> list) {
|
|
|
if (!CollectionUtils.isEmpty(list)) {
|
|
if (!CollectionUtils.isEmpty(list)) {
|
|
|
final String sql = "update products set pr_erpdown = '已上传' where pr_pcmpcode = ? and pr_pbranden = ?";
|
|
final String sql = "update products set pr_erpdown = '已上传' where pr_pcmpcode = ? and pr_pbranden = ?";
|
|
|
- int[] batchUpdate = jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
|
|
|
|
|
|
|
+ jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
|
|
|
@Override
|
|
@Override
|
|
|
public void setValues(PreparedStatement ps, int i) throws SQLException {
|
|
public void setValues(PreparedStatement ps, int i) throws SQLException {
|
|
|
String str = list.get(i);
|
|
String str = list.get(i);
|
|
@@ -263,7 +257,7 @@ public class ProdServiceImpl implements ProdService {
|
|
|
return list.size();
|
|
return list.size();
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
- System.out.println(batchUpdate.length);
|
|
|
|
|
|
|
+ System.out.println("success");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|