|
|
@@ -6,23 +6,40 @@ import com.uas.platform.b2c.core.constant.IntegerConstant;
|
|
|
import com.uas.platform.b2c.core.constant.Status;
|
|
|
import com.uas.platform.b2c.core.support.SystemSession;
|
|
|
import com.uas.platform.b2c.core.support.log.ErpB2cBufferedLogger;
|
|
|
+import com.uas.platform.b2c.external.erp.prod.util.ModelConvertUtil;
|
|
|
import com.uas.platform.b2c.external.erp.product.util.ModelConverter;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
|
|
|
import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
|
|
|
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 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.springframework.beans.BeanUtils;
|
|
|
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.util.CollectionUtils;
|
|
|
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.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
@@ -46,6 +63,9 @@ public class ProdServiceImpl implements ProdService {
|
|
|
@Autowired
|
|
|
private GoodsDao goodsDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private V_ProductPrivateDao vProductPrivateDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
private ProductPrivateDao productPrivateDao;
|
|
|
|
|
|
@@ -185,4 +205,43 @@ public class ProdServiceImpl implements ProdService {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Page<Prod> findNewProdUploadMallERP(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 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();
|
|
|
+ List<Prod> content1 = new ArrayList<>();
|
|
|
+ for (V_ProductPrivate v_productPrivate : content) {
|
|
|
+ Prod prod = ModelConvertUtil.vProductPrivateConvertProd(v_productPrivate);
|
|
|
+ if (prod != null) {
|
|
|
+ content1.add(prod);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PageImpl<Prod> page = new PageImpl<>(content1, new PageInfo(pageParams), productPrivates.getTotalElements());
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateNewProdDowned(List<String> list) {
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ productDao.updateProductMallERPDowned(list);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|