|  | @@ -39,6 +39,7 @@ import com.kmall.manager.manager.redis.JedisUtil;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.core.env.Environment;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -135,6 +136,8 @@ public class GoodsServiceImpl implements GoodsService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private HaiKongWarehouseTemplate haiKongWarehouseTemplate;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private Environment environment;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public GoodsEntity queryObject(Integer id) {
 | 
	
	
		
			
				|  | @@ -1554,6 +1557,8 @@ public class GoodsServiceImpl implements GoodsService {
 | 
	
		
			
				|  |  |              return null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +        String env = environment.getProperty("haikong.env");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          /*
 | 
	
		
			
				|  |  |          * 2. 查询海仓仓库系统,判断库存是否足够
 | 
	
		
			
				|  |  |          * */
 | 
	
	
		
			
				|  | @@ -1566,50 +1571,49 @@ public class GoodsServiceImpl implements GoodsService {
 | 
	
		
			
				|  |  |          String stockNum = goods.getStockNum();
 | 
	
		
			
				|  |  |          Integer sellVolume = Objects.isNull(goods.getSellVolume()) ? 1 : goods.getSellVolume();
 | 
	
		
			
				|  |  |          if (org.springframework.util.StringUtils.isEmpty(redisCacheWareQuantity)) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            /* -----------------↓--------------生产请打开注释-------------------↓------------ */
 | 
	
		
			
				|  |  | -//            WareQueryStockParamDTO wareQueryStockParamDTO = new WareQueryStockParamDTO();
 | 
	
		
			
				|  |  | -//            List<Criteria> criteriaList = new ArrayList<>();
 | 
	
		
			
				|  |  | -//            Criteria criteria = new Criteria();
 | 
	
		
			
				|  |  | -//            criteria.setItemId(goods.getWarehouseSysGoodId());
 | 
	
		
			
				|  |  | -//            criteria.setItemCode(goods.getSku());
 | 
	
		
			
				|  |  | -//            criteria.setOwnerCode(goods.getConsignorSn());
 | 
	
		
			
				|  |  | -//            criteria.setInventoryType(Constants.InventoryType.ZP.getType());
 | 
	
		
			
				|  |  | -//            criteria.setWarehouseCode(goods.getWarehouseSn());
 | 
	
		
			
				|  |  | -//            criteriaList.add(criteria);
 | 
	
		
			
				|  |  | -//            wareQueryStockParamDTO.setCriteriaList(criteriaList);
 | 
	
		
			
				|  |  | -//            String queryWarehouseStockResponse = null;
 | 
	
		
			
				|  |  | -//            try {
 | 
	
		
			
				|  |  | -//                queryWarehouseStockResponse = haiKongWarehouseTemplate.queryWarehouseStock(wareQueryStockParamDTO);
 | 
	
		
			
				|  |  | -//            } catch (Exception e) {
 | 
	
		
			
				|  |  | -//                log.error("sku:【{}】,调用海控仓库系统查询库存出现异常!", sku, e);
 | 
	
		
			
				|  |  | -//                throw new ServiceException(String.format("sku:【%s】,调用海控仓库系统查询库存出现异常!", sku));
 | 
	
		
			
				|  |  | -//            }
 | 
	
		
			
				|  |  | -//            log.info("调用海控仓库系统,请求参数,门店:{}、商品条码:{}、商品编码:{},响应数据:{}", storeId, prodBarcode, sku, queryWarehouseStockResponse);
 | 
	
		
			
				|  |  | -//            if (org.springframework.util.StringUtils.isEmpty(queryWarehouseStockResponse)) {
 | 
	
		
			
				|  |  | -//                log.error("调用库存系统接口出现错误!返回结果为空!");
 | 
	
		
			
				|  |  | -//                throw new ServiceException("调用库存系统接口出现错误!");
 | 
	
		
			
				|  |  | -//            }
 | 
	
		
			
				|  |  | -//            WareQueryStockResponseDTO wareQueryStockResponseDTO = JacksonUtil.fromStringJson(queryWarehouseStockResponse, WareQueryStockResponseDTO.class);
 | 
	
		
			
				|  |  | -            /* -----------------↑--------------生产请打开注释------------------↑------------- */
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            /* -----------------↓--------------测试数据,生产请注释-------------------↓------------ */
 | 
	
		
			
				|  |  | -            WareQueryStockResponseDTO wareQueryStockResponseDTO = new WareQueryStockResponseDTO();
 | 
	
		
			
				|  |  | -            wareQueryStockResponseDTO.setCode("0");
 | 
	
		
			
				|  |  | -            wareQueryStockResponseDTO.setFlag("success");
 | 
	
		
			
				|  |  | -            wareQueryStockResponseDTO.setMessage("");
 | 
	
		
			
				|  |  | -            WareQueryStockResponseDTO.WareQueryStockResponseItemDTO wareQueryStockResponseItemDTO = new WareQueryStockResponseDTO.WareQueryStockResponseItemDTO();
 | 
	
		
			
				|  |  | -            wareQueryStockResponseItemDTO.setQuantity(3);
 | 
	
		
			
				|  |  | -            wareQueryStockResponseItemDTO.setItemCode(sku);
 | 
	
		
			
				|  |  | -            wareQueryStockResponseItemDTO.setProduceCode(prodBarcode);
 | 
	
		
			
				|  |  | -            List<WareQueryStockResponseDTO.WareQueryStockResponseItemDTO> wareQueryStockResponseItemDTOS = new ArrayList<>();
 | 
	
		
			
				|  |  | -            wareQueryStockResponseItemDTOS.add(wareQueryStockResponseItemDTO);
 | 
	
		
			
				|  |  | -            wareQueryStockResponseDTO.setItems(wareQueryStockResponseItemDTOS);
 | 
	
		
			
				|  |  | -            /* -----------------↑--------------测试数据,生产请注释------------------↑------------- */
 | 
	
		
			
				|  |  | +            WareQueryStockResponseDTO wareQueryStockResponseDTO = null;
 | 
	
		
			
				|  |  | +            String queryWarehouseStockResponse = null;
 | 
	
		
			
				|  |  | +            // 环境配置
 | 
	
		
			
				|  |  | +            if (!org.springframework.util.StringUtils.isEmpty(env) && Constants.PROD.equals(env)) {
 | 
	
		
			
				|  |  | +                WareQueryStockParamDTO wareQueryStockParamDTO = new WareQueryStockParamDTO();
 | 
	
		
			
				|  |  | +                List<Criteria> criteriaList = new ArrayList<>();
 | 
	
		
			
				|  |  | +                Criteria criteria = new Criteria();
 | 
	
		
			
				|  |  | +                criteria.setItemId(goods.getWarehouseSysGoodId());
 | 
	
		
			
				|  |  | +                criteria.setItemCode(goods.getSku());
 | 
	
		
			
				|  |  | +                criteria.setOwnerCode(goods.getConsignorSn());
 | 
	
		
			
				|  |  | +                criteria.setInventoryType(Constants.InventoryType.ZP.getType());
 | 
	
		
			
				|  |  | +                criteria.setWarehouseCode(goods.getWarehouseSn());
 | 
	
		
			
				|  |  | +                criteriaList.add(criteria);
 | 
	
		
			
				|  |  | +                wareQueryStockParamDTO.setCriteriaList(criteriaList);
 | 
	
		
			
				|  |  | +                try {
 | 
	
		
			
				|  |  | +                    queryWarehouseStockResponse = haiKongWarehouseTemplate.queryWarehouseStock(wareQueryStockParamDTO);
 | 
	
		
			
				|  |  | +                } catch (Exception e) {
 | 
	
		
			
				|  |  | +                    log.error("sku:【{}】,调用海控仓库系统查询库存出现异常!", sku, e);
 | 
	
		
			
				|  |  | +                    throw new ServiceException(String.format("sku:【%s】,调用海控仓库系统查询库存出现异常!", sku));
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                log.info("调用海控仓库系统,请求参数,门店:{}、商品条码:{}、商品编码:{},响应数据:{}", storeId, prodBarcode, sku, queryWarehouseStockResponse);
 | 
	
		
			
				|  |  | +                if (org.springframework.util.StringUtils.isEmpty(queryWarehouseStockResponse)) {
 | 
	
		
			
				|  |  | +                    log.error("调用库存系统接口出现错误!返回结果为空!");
 | 
	
		
			
				|  |  | +                    throw new ServiceException("调用库存系统接口出现错误!");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                wareQueryStockResponseDTO = JacksonUtil.fromStringJson(queryWarehouseStockResponse, WareQueryStockResponseDTO.class);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                wareQueryStockResponseDTO = new WareQueryStockResponseDTO();
 | 
	
		
			
				|  |  | +                wareQueryStockResponseDTO.setCode("0");
 | 
	
		
			
				|  |  | +                wareQueryStockResponseDTO.setFlag("success");
 | 
	
		
			
				|  |  | +                wareQueryStockResponseDTO.setMessage("");
 | 
	
		
			
				|  |  | +                WareQueryStockResponseDTO.WareQueryStockResponseItemDTO wareQueryStockResponseItemDTO = new WareQueryStockResponseDTO.WareQueryStockResponseItemDTO();
 | 
	
		
			
				|  |  | +                wareQueryStockResponseItemDTO.setQuantity(3);
 | 
	
		
			
				|  |  | +                wareQueryStockResponseItemDTO.setItemCode(sku);
 | 
	
		
			
				|  |  | +                wareQueryStockResponseItemDTO.setProduceCode(prodBarcode);
 | 
	
		
			
				|  |  | +                List<WareQueryStockResponseDTO.WareQueryStockResponseItemDTO> wareQueryStockResponseItemDTOS = new ArrayList<>();
 | 
	
		
			
				|  |  | +                wareQueryStockResponseItemDTOS.add(wareQueryStockResponseItemDTO);
 | 
	
		
			
				|  |  | +                wareQueryStockResponseDTO.setItems(wareQueryStockResponseItemDTOS);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              if (Objects.isNull(wareQueryStockResponseDTO)) {
 | 
	
		
			
				|  |  | -//            log.error("解析一步达库存系统响应数据出现错误!请求响应结果:{}", queryWarehouseStockResponse);
 | 
	
		
			
				|  |  | +                log.error("解析一步达库存系统响应数据出现错误!请求响应结果:{}", queryWarehouseStockResponse);
 | 
	
		
			
				|  |  |                  throw new ServiceException("解析一步达库存系统响应数据出现错误!");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 |