|
@@ -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,"税务");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|