济菏高速数据中心代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
5.0 KiB

package com.zc.business.controller;
import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.SecurityUtils;
import com.zc.business.domain.DcEventProcess;
import com.zc.business.domain.DcWarning;
import com.zc.business.service.IMsmService;
import com.zc.business.service.impl.DcEventProcessServiceImpl;
import com.zc.business.utils.HttpUtil;
import org.apache.commons.lang3.StringUtils;
import org.omg.CORBA.INTERNAL;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.lang.reflect.Array;
import java.rmi.MarshalledObject;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
/**
* 王思祥
* 推送业务
*/
@RestController
@RequestMapping("/business/sms")
public class MsmController extends BaseController {
@Autowired
private IMsmService msmService;
@Autowired
private DcEventProcessServiceImpl dcEventProcessService;
/**
* 短信推送业务,阿里云短信业务
*/
@PostMapping("/push")
public Boolean alibabaCloudSms(@RequestBody HashMap map)
{
String type = map.get("type").toString();
if (map==null|| StringUtils.isBlank(map.get("phone").toString())){
return false;
}
String string = map.get("phone").toString();
return msmService.send(string);
}
//调用微信推送
@PostMapping("/wenXinPush")
public AjaxResult commandAndDispatch(@RequestBody HashMap map){
1 year ago
return AjaxResult.success(msmService.wenXinSend("wx9ee0e3babfd8d2af","de2ecb80b30d63135918ba3ae6ffb711","内容"));
}
//整合推送
@PostMapping("/pushAll")
public AjaxResult pushAll(@RequestBody HashMap map)
{
1 year ago
if (map == null || !map.containsKey("type")||StringUtils.isBlank(map.get("type").toString())) {
return AjaxResult.error("参数错误");
}
1 year ago
if (map == null ||!map.containsKey("content")|| StringUtils.isBlank(map.get("content").toString())) {
return AjaxResult.error("内容为空");
}
if (!map.containsKey("eventId")|| StringUtils.isBlank(map.get("eventId").toString())) {
return AjaxResult.error("事件id为空");
}
String eventId = map.get("eventId").toString();//事件id
1 year ago
String content = map.get("content").toString();//信息内容
ArrayList<String> array = (ArrayList<String>) map.get("type");
Boolean send = null;
Integer data = null;
String weiXin = "微信推送失败"; // 初始化为成功状态
String message = "短信推送失败"; // 初始化为失败状态
for (String type : array) {
if ("1".equals(type)) { //短信
if (map == null || StringUtils.isBlank(map.get("phone").toString())) {
return AjaxResult.error("手机号为空");
}
String string = map.get("phone").toString();
send = msmService.send(string);
continue;
}
if ("2".equals(type)) { //微信
1 year ago
JSONArray objects = msmService.wenXinSend("wx9ee0e3babfd8d2af", "de2ecb80b30d63135918ba3ae6ffb711",content);
data = (Integer) objects.get(0);
continue;
}
}
if (send==null){
message=null;
}else if (send){
message = "短信推送成功"; // 如果 send 为 true,则短信推送成功
}
if (data==null){
weiXin=null;
}else if (data==0){
weiXin = "微信推送成功"; // 如果所有 dateValue 都为0,则微信推送成功
}
DcEventProcess dcEventProcess = new DcEventProcess();
dcEventProcess.setEventId(eventId);
dcEventProcess.setSource(1);
dcEventProcess.setProcessType(2);
String context = "出行信息发布:" + content;
dcEventProcess.setContext(context);
dcEventProcessService.insertDcEventProcess(dcEventProcess);
if (message!=null&&"短信推送成功".equals(message) &&weiXin!=null&&"微信推送成功".equals(weiXin)) {
return AjaxResult.success(message +","+ weiXin);
} else if (message==null&&weiXin!=null&&"微信推送成功".equals(weiXin)){
return AjaxResult.success(weiXin);
}else if (message!=null&&"短信推送成功".equals(message)&&weiXin==null){
return AjaxResult.success(message);
}else if (message!=null&&"短信推送失败".equals(message)&&weiXin==null){
return AjaxResult.error(message);
}else if (message==null&&"微信推送失败".equals(weiXin)){
return AjaxResult.error(weiXin);
}else {
return AjaxResult.error(message +","+ weiXin);
}
}
}