短信服务集成

This commit is contained in:
xy
2026-04-21 16:10:01 +08:00
parent 353a4cc83b
commit fed766bca4
39 changed files with 1325 additions and 37 deletions

View File

@@ -81,7 +81,7 @@ public class CsEventController extends BaseController {
@ApiImplicitParam(name = "eventId", value = "暂态事件索引", required = true)
public HttpResult<WaveDataDTO> analyseWave(String eventId) {
String methodDescribe = getMethodDescribe("analyseWave");
WaveDataDTO wave = csEventPOService.analyseWave(eventId,1);
WaveDataDTO wave = csEventPOService.analyseWave(eventId,2);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, wave, methodDescribe);
}

View File

@@ -41,8 +41,8 @@ public class RealDataController extends BaseController {
@PostMapping("/getBaseRealData")
@ApiOperation("获取基础实时数据")
@ApiImplicitParam(name = "lineId", value = "监测点id")
public HttpResult<Boolean> getRealData(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("getRealData");
public HttpResult<Boolean> getBaseRealData(@RequestParam("lineId") String lineId) {
String methodDescribe = getMethodDescribe("getBaseRealData");
boolean result = realDataService.getBaseRealData(lineId);
if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);

View File

@@ -19,6 +19,7 @@ import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.api.CsLedgerFeignClient;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.api.DeviceMessageFeignClient;
import com.njcn.csdevice.api.SmsSendFeignClient;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.param.DeviceMessageParam;
import com.njcn.csdevice.pojo.dto.DevDetailDTO;
@@ -39,6 +40,7 @@ import com.njcn.csharmonic.pojo.vo.CsWarnDescVO;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.csharmonic.service.CsEventPOService;
import com.njcn.csharmonic.service.CsEventUserPOService;
import com.njcn.cssystem.api.AppMsgSetFeignClient;
import com.njcn.event.common.mapper.WlRmpEventDetailMapper;
import com.njcn.event.file.component.WaveFileComponent;
import com.njcn.event.file.component.WavePicComponent;
@@ -62,6 +64,7 @@ import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.EleEpdPqd;
import com.njcn.system.pojo.po.EleEvtParm;
import com.njcn.user.api.UserFeignClient;
import com.njcn.user.pojo.po.User;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.RequestUtil;
@@ -73,6 +76,7 @@ import org.influxdb.InfluxDB;
import org.influxdb.dto.BatchPoints;
import org.influxdb.dto.Point;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -123,6 +127,11 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
private final CsLedgerFeignClient csLedgerFeignclient;
private final SendMessageUtil sendMessageUtil;
private final DeviceMessageFeignClient deviceMessageClient;
private final AppMsgSetFeignClient appMsgSetFeignClient;
private final UserFeignClient userFeignClient;
private final SmsSendFeignClient smsSendFeignClient;
@Value("${msg.msg_sign:南京灿能电力}")
private String msgSign;
@Override
public List<EventDetailVO> queryEventList(CsEventUserQueryParam csEventUserQueryParam) {
@@ -456,6 +465,26 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
if (CollectionUtil.isNotEmpty(result)){
csEventUserPOService.saveBatch(result);
}
//如果事件是暂降事件,则推送短信给用户
if (param.getEventType() == 1) {
//根据设备获取需要推送的用户列表
List<String> userIdList = appMsgSetFeignClient.queryUserIdsByDeviceId(po.getDeviceId()).getData();
if (CollectionUtil.isNotEmpty(userIdList)) {
//获取用户详细信息
List<User> userList = userFeignClient.getUserListByIds(userIdList).getData();
if (CollectionUtil.isNotEmpty(userList)) {
//筛选出有手机号码的;打开短信推送的
List<User> userList1 = userList.stream().filter(item-> StrUtil.isNotBlank(item.getPhone()) && Objects.equals(item.getSmsNotice(),1)).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(userList1)) {
String msgContent = ""+msgSign+"" +devDetailDto.getEngineeringName() + "-" + devDetailDto.getProjectName() + "-" + devDetailDto.getEquipmentName()
+ "" + time.format(DatePattern.NORM_DATETIME_MS_FORMATTER) + "发生暂降事件";
userList1.forEach(item->{
smsSendFeignClient.sendSmsSimple(item.getPhone(),msgContent, "verify_code");
});
}
}
}
}
} else {
if (StrUtil.isNotBlank(param.getWavePath())) {
//更新文件信息