|  | @@ -1,19 +1,25 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | +import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  | +import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.GoodsDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.GoodsProcurementDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.SysConfigDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.Goods;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.GoodsProcurement;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.GoodsType;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.TemplateTypeEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.GoodsService;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.service.SysMessageService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.UploadFileService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.entity.UploadReturnBean;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.exception.BizException;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.service.IdGeneratorService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
	
		
			
				|  |  | +import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.excel.IniFileUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.excel.POIUtil;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
	
		
			
				|  | @@ -30,10 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.io.ByteArrayInputStream;
 | 
	
		
			
				|  |  |  import java.io.InputStream;
 | 
	
		
			
				|  |  | -import java.util.ArrayList;
 | 
	
		
			
				|  |  | -import java.util.List;
 | 
	
		
			
				|  |  | -import java.util.Map;
 | 
	
		
			
				|  |  | -import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  @Service
 | 
	
	
		
			
				|  | @@ -48,6 +51,12 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 | 
	
		
			
				|  |  |  	private IdGeneratorService idGeneratorService;
 | 
	
		
			
				|  |  |  	@Autowired
 | 
	
		
			
				|  |  |  	private GoodsProcurementDao goodsProcurementDao;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private SysConfigDao sysConfigDao;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private SysMessageService sysMessageService;
 | 
	
		
			
				|  |  | +	@Autowired
 | 
	
		
			
				|  |  | +	private SysUserFeignService sysUserFeignService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	public BaseDAO<Integer, Goods> getDAO() {
 | 
	
	
		
			
				|  | @@ -190,4 +199,38 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		return goodsList;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  | +	public void repertoryWarn() {
 | 
	
		
			
				|  |  | +		//预警手机号
 | 
	
		
			
				|  |  | +		String repertoryWarnPhone = sysConfigDao.findConfigValue("repertory_warn_phone");
 | 
	
		
			
				|  |  | +		if(StringUtils.isEmpty(repertoryWarnPhone)){
 | 
	
		
			
				|  |  | +			return;
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		SysUser sysUser = sysUserFeignService.queryUserByMobile(repertoryWarnPhone);
 | 
	
		
			
				|  |  | +		if(sysUser == null || sysUser.getId() == null){
 | 
	
		
			
				|  |  | +			throw new BizException("库存预警手机号不存在");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		Map<Integer, String> receivers = new HashMap<>(1);
 | 
	
		
			
				|  |  | +		receivers.put(sysUser.getId(), repertoryWarnPhone);
 | 
	
		
			
				|  |  | +		//内部库存预警
 | 
	
		
			
				|  |  | +		String innerRepertoryWarnNum = sysConfigDao.findConfigValue("inner_repertory_warn_num");
 | 
	
		
			
				|  |  | +		if(StringUtils.isNotEmpty(innerRepertoryWarnNum)){
 | 
	
		
			
				|  |  | +			String goodsNames = goodsDao.getInnerRepertoryWarnName(innerRepertoryWarnNum);
 | 
	
		
			
				|  |  | +			if(StringUtils.isNotEmpty(goodsNames)){
 | 
	
		
			
				|  |  | +				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_GOODS_REPERTORY_WARN, receivers, null, 0, null,null,
 | 
	
		
			
				|  |  | +						goodsNames,"内部");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		//外部库存预警
 | 
	
		
			
				|  |  | +		String outerRepertoryWarnNum = sysConfigDao.findConfigValue("outer_repertory_warn_num");
 | 
	
		
			
				|  |  | +		if(StringUtils.isNotEmpty(outerRepertoryWarnNum)){
 | 
	
		
			
				|  |  | +			String goodsNames = goodsDao.getOuterRepertoryWarnName(outerRepertoryWarnNum);
 | 
	
		
			
				|  |  | +			if(StringUtils.isNotEmpty(goodsNames)){
 | 
	
		
			
				|  |  | +				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_GOODS_REPERTORY_WARN, receivers, null, 0, null,null,
 | 
	
		
			
				|  |  | +						goodsNames,"税务");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  }
 |