Browse Source

【ERP接口】-- 调整ERP更新库存,自动调整在售商品信息缺失bug

wangyc 8 years ago
parent
commit
862f98033d

+ 12 - 5
src/main/java/com/uas/platform/b2c/external/erp/commodity/service/impl/ProductDetailERPServiceImpl.java

@@ -3,9 +3,12 @@ package com.uas.platform.b2c.external.erp.commodity.service.impl;
 import com.uas.api.b2c_erp.seller.model.ProductDetailERP;
 import com.uas.api.b2c_erp.seller.service.ProductDetailERPService;
 import com.uas.platform.b2c.common.account.service.EnterpriseService;
+import com.uas.platform.b2c.core.config.SysConf;
 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.commodity.util.ModelConverter;
+import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
 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.ProductDetailDao;
@@ -13,8 +16,7 @@ import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.commodity.model.Product;
 import com.uas.platform.b2c.prod.commodity.model.ProductDetail;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 
@@ -44,7 +46,10 @@ public class ProductDetailERPServiceImpl implements ProductDetailERPService {
     @Autowired
     private EnterpriseService enterpriseService;
 
-    private static final Logger logger = LoggerFactory.getLogger(ProductDetailERPServiceImpl.class);
+    private static final ErpB2cBufferedLogger logger = BufferedLoggerManager.getLogger(ErpB2cBufferedLogger.class);
+
+    @Autowired
+    private SysConf sysConf;
 
     @Override
     public boolean uploadProductDetailERP(List<ProductDetailERP> productDetailERPList) {
@@ -63,11 +68,13 @@ public class ProductDetailERPServiceImpl implements ProductDetailERPService {
             }
         }
         productDetailDao.save(productDetails);
+        logger.log("物料交易详情", "初始化交易详情,企业:" + SystemSession.getUser().getEnterprise().getEnName() + ",数量:" + productDetails.size());
         return true;
     }
 
     @Override
     public String getCurrency() {
+        logger.log("物料详情", "获取币别,企业:" + SystemSession.getUser().getEnterprise().getEnName());
         return enterpriseService.getCurrencyByRegisterAddress().getData().toString();
     }
 
@@ -75,7 +82,6 @@ public class ProductDetailERPServiceImpl implements ProductDetailERPService {
     public void updateReserve(List<ProductDetailERP> productDetailERPList) {
         List<ProductDetail> productDetails = new ArrayList<ProductDetail>();
         Long enuu = SystemSession.getUser().getEnterprise().getUu();
-        logger.info("size : " + productDetailERPList.size());
         for (ProductDetailERP productDetailERP : productDetailERPList) {
             List<Product> products = productDao.getProductByEnUUAndProdNum(enuu, productDetailERP.getCode());// 获取对应商城物料信息
             if (!CollectionUtils.isEmpty(products)) {
@@ -104,6 +110,7 @@ public class ProductDetailERPServiceImpl implements ProductDetailERPService {
                                 if (Double.compare(subtractDecimal.doubleValue(), good.getReserve()) < 0) {// 差值小于此批次数量,下架部分库存
                                     Goods nowGood = goodsDao.findOne(good.getId());
                                     good.setReserve(BigDecimal.valueOf(good.getReserve()).subtract(subtractDecimal).doubleValue());
+                                    good.setSelfSale(sysConf.getStoreid().equals(good.getStoreid())? IntegerConstant.B2C_SALE.toString() : IntegerConstant.SELF_SALE.toString());// 设置自营寄售
                                     goodsService.updateGoods(nowGood, good);
                                     goodsService.updateComponentTradeInfos(nowGood.getUuid());
                                     break;
@@ -124,7 +131,7 @@ public class ProductDetailERPServiceImpl implements ProductDetailERPService {
                 }
             }
         }
-
+        logger.log("物料详情", "更新物料库存信息,企业:" + SystemSession.getUser().getEnterprise().getEnName() + ",数量:" + productDetails.size());
         productDetailDao.save(productDetails);
     }
 }