Browse Source

Merge remote-tracking branch 'origin/release-201831-wangcz' into release-201831-wangcz

shenjj 7 years ago
parent
commit
b8a0c99730

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

@@ -1,22 +1,17 @@
 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.jdbc.core.namedparam.NamedParameterJdbcTemplate;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 商城私有字段的服务层
@@ -32,6 +27,9 @@ public class ProductPrivateServiceImpl implements ProductPrivateService {
 
     private final JdbcTemplate jdbcTemplate;
 
+    @Autowired
+    private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
+
     @Autowired
     public ProductPrivateServiceImpl(ProductPrivateDao productPrivateDao, GoodsService goodsService, JdbcTemplate jdbcTemplate) {
         this.productPrivateDao = productPrivateDao;
@@ -62,10 +60,39 @@ public class ProductPrivateServiceImpl implements ProductPrivateService {
         if (CollectionUtils.isEmpty(prIds)) {
             return Collections.emptyList();
         } else {
-            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;
+            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 (:ids);";
+            Map<String, Object> paramMap = new HashMap<String, Object>();
+            paramMap.put("ids", prIds);
+            List<Map<String, Object>> maps = namedParameterJdbcTemplate.queryForList(sql, paramMap);
+            List<ProductPrivate> list = new ArrayList<>();
+            ProductPrivate productPrivate;
+            for (Map<String, Object> stringObjectMap : maps) {
+                productPrivate = new ProductPrivate();
+                Object id = stringObjectMap.get("id");
+                if (id != null) {
+                    productPrivate.setId(Long.valueOf(id.toString()));
+                }
+                Object prId = stringObjectMap.get("pr_id");
+                if (prId != null) {
+                    productPrivate.setPrId(Long.valueOf(prId.toString()));
+                }
+                Object b2cenabled = stringObjectMap.get("pr_b2cenabled");
+                if (b2cenabled != null) {
+                    productPrivate.setB2cEnabled(Integer.valueOf(b2cenabled.toString()));
+                }
+                Object batchCount = stringObjectMap.get("pr_batchcount");
+                if (batchCount != null) {
+                    productPrivate.setBatchCount(Integer.valueOf(batchCount.toString()));
+                }
+                Object attach = stringObjectMap.get("pr_attach");
+                if (attach != null) {
+                    productPrivate.setAttach(attach.toString());
+                }
+                if ((id != null) && (prId != null)) {
+                    list.add(productPrivate);
+                }
+            }
+            return list;
         }
     }
 

+ 13 - 13
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -2525,13 +2525,14 @@ public class ProductServiceImpl implements ProductService {
      * @return CommodityInOutbound
      */
     private CommodityInOutbound initCommodityInOut(Product productInfo, Goods goods) {
+        goods = Goods.productConvertGoods(goods, productInfo);
+        goods.setReserve(productInfo.getErpReserve());
+        goodsService.setGoodsDefault(goods);
+        goods = goodsDao.save(goods);
+        logger.info("上架商品库存操作", "卖家中心单个物料上传进行入库操作", "增加库存: " + productInfo.getErpReserve(), goods.getCode(), goods.getId());
         CommodityInOutbound inOutbound = new CommodityInOutbound(InOutBoundType.OTHER_INBOUND);
-        if (!StringUtils.isEmpty(goods.getQtyPrice())) {
-            goods = Goods.productConvertGoods(goods, productInfo);
-            goods.setReserve(productInfo.getErpReserve());
-            goods = goodsDao.save(goods);
-            logger.info("上架商品库存操作", "卖家中心单个物料上传进行入库操作", "增加库存: " + productInfo.getErpReserve(), goods.getCode(), goods.getId());
-        }
+        String inOutboundId = createNumberService.generateOrderNumber(com.uas.platform.b2c.core.constant.EncodingRulesConstant.INOUTBOUND_NUM, "trade$commodity_in_outbound", 8);
+        inOutbound.setInOutId(inOutboundId);
         InOutboundDetail inOutboundDetail = new InOutboundDetail(productInfo);
         Set<InOutboundDetail> detailSet = new HashSet<>();
         detailSet.add(inOutboundDetail);
@@ -2657,6 +2658,8 @@ public class ProductServiceImpl implements ProductService {
             inOutbound = new CommodityInOutbound(InOutBoundType.OTHER_OUTBOUND);
             goodsInventory(product.getErpReserve(), type, existProduct.getId());
         }
+        String inOutboundId = createNumberService.generateOrderNumber(com.uas.platform.b2c.core.constant.EncodingRulesConstant.INOUTBOUND_NUM, "trade$commodity_in_outbound", 8);
+        inOutbound.setInOutId(inOutboundId);
         InOutboundDetail inOutboundDetail = new InOutboundDetail(product);
         Set<InOutboundDetail> detailSet = new HashSet<>();
         detailSet.add(inOutboundDetail);
@@ -2786,7 +2789,7 @@ public class ProductServiceImpl implements ProductService {
                 throw new IllegalOperatorException("第 " + errMsg.toString() + " 行价格未填写");
             }
         }
-        if (!StringUtils.isEmpty(qtyPrices) && !StringUtils.isEmpty(goods.getQtyPrice())) {
+        if (!StringUtils.isEmpty(qtyPrices)) {
             if (CollectionUtils.isNotEmpty(goods.getOriginalPrices())) {
                 qtyPrices.forEach(qtyPrice -> {
                     // 分段数量不能超过最大数量
@@ -2798,12 +2801,9 @@ public class ProductServiceImpl implements ProductService {
                 Double startQty = NumberUtil.compare(minBuyQty, qtyPrices.get(0).getStart()) == 1 ? qtyPrices.get(0).getStart() : minBuyQty;
                 qtyPrices.get(0).setStart(startQty);
             }
-            goods.setQtyPrice(JSON.toJSONString(qtyPrices));
-            goodsService.setGoodsDefault(goods);
-            boolean autoPublish = goods.getAutoPublish() == null ? true : goods.getAutoPublish();
-            goods.setAutoPublish(autoPublish);
-            goods = goodsDao.save(goods);
-            logger.info("上架商品", "新增上架商品", "通过卖家中心单个物料上传新增上架商品", goods.getCode(), goods.getId());
         }
+        goodsService.setGoodsDefault(goods);
+        goods = goodsDao.save(goods);
+        logger.info("上架商品", "新增上架商品", "通过卖家中心单个物料上传新增上架商品", goods.getCode(), goods.getId());
     }
 }