Browse Source

盘库巡检推送消息位置修改

master
hp 3 years ago
parent
commit
280283137b
  1. 46
      message-center-api/src/main/java/com/yxt/messagecenter/api/message/AppScmMessageFlowableQuery.java
  2. 5
      message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java
  3. 5
      message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java
  4. 5
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java
  5. 70
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java

46
message-center-api/src/main/java/com/yxt/messagecenter/api/message/AppScmMessageFlowableQuery.java

@ -0,0 +1,46 @@
package com.yxt.messagecenter.api.message;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AppScmMessageFlowableQuery implements Query {
private static final long serialVersionUID = -264602388959108722L;
@ApiModelProperty("盘库sid")
private String mainSid;
@ApiModelProperty("接收人sid")
private List<String> list;
@ApiModelProperty("接收人id")
private List<String> receiveIdList;
@ApiModelProperty("消息标题")
private String msgTitle;
//+ "提交的月度盘库报告,请查阅"
@ApiModelProperty("消息内容")
private String msgContent;
@ApiModelProperty("来源(资源名称)")
private String msgSource;
//MsgTargetUriEnum.GYLPKBG.getUri()
@ApiModelProperty("推送的消息打开的action(APP),推送参数对应class_name")
private String msgTargetUri;
//"2"
@ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件")
private String app_type;
//"98ff0724-5df4-4fc7-ab6d-3996e7706acd"
@ApiModelProperty("插件Sid")
private String moduleSid;
@ApiModelProperty("名称")
private String name;
}

5
message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java

@ -67,4 +67,9 @@ public interface MessageFeign {
@ApiOperation("流程审批推送消息")
@PostMapping("/pushMessage")
ResultBean<String> pushMessage(@RequestBody MessageFlowableQuery query);
@ApiOperation("供应链流程审批推送消息")
@PostMapping("/sendMessage")
ResultBean<String> sendMessage(@RequestBody AppScmMessageFlowableQuery query);
}

5
message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java

@ -63,4 +63,9 @@ public class MessageFeignFallback implements MessageFeign {
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
return null;
}
@Override
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) {
return null;
}
}

5
message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java

@ -120,4 +120,9 @@ public class MessageRest implements MessageFeign {
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
return messageService.pushMessage(query);
}
@Override
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) {
return messageService.sendMessage(query);
}
}

70
message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java

@ -17,6 +17,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.*;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListDto;
import com.yxt.messagecenter.api.messagetype.MessageTypeVo;
import com.yxt.messagecenter.biz.messagelist.MessageListService;
@ -49,6 +50,10 @@ import java.util.stream.Collectors;
@Service
public class MessageService extends MybatisBaseService<MessageMapper, Message> {
/**
* 消息类型:0002手机端
*/
public static final String IDENTIFIER = "0002";
@Autowired
private MessageTypeService messageTypeService;
@Autowired
@ -353,4 +358,69 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
// properties.keySet().forEach(key -> System.out.println(key + "=====" + properties.get(key)));
}
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
// 1、保存消息体
AppMessageDto messageDto = new AppMessageDto();
List<MessageTypeVo> typeVoList = messageTypeService.selectMsgTypeList(IDENTIFIER);
if (typeVoList != null) {
for (MessageTypeVo message : typeVoList) {
if (message.getMsgType().equals("供应链")) {
messageDto.setMsgTypeSid(message.getMsgTypeSid());
messageDto.setMsgType(message.getMsgType());
}
}
}
messageDto.setMsgTitle(query.getMsgTitle());
messageDto.setMsgContent(query.getMsgContent());
messageDto.setMsgSource(query.getMsgSource());
messageDto.setMsgTargetUri(query.getMsgTargetUri());
messageDto.setApp_type(query.getApp_type());
messageDto.setModuleSid(query.getModuleSid());
JSONObject json = new JSONObject();
json.put("sid", query.getMainSid());
messageDto.setArgs_json(json.toJSONString());
String msgSid = (String) saveOrUpdateAppMessage(messageDto).getData();
String msgTypeSid = messageDto.getMsgTypeSid();
// 2、保存至消息列表
List<String> list = query.getList();
// 使用多线程保存
List<Future<?>> futures = new ArrayList<Future<?>>();
ExecutorService executor = Executors.newFixedThreadPool(4);
for (String sid : list) {
Future<?> f = executor.submit(new Runnable() {
@Override
public void run() {
try {
System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
// MessageListDto messageList = new MessageListDto();
MessageList messageList = new MessageList();
messageList.setMsgSid(msgSid);
messageList.setRDelStatus(0);
messageList.setSDelStatus(0);
messageList.setReceiverSid(sid);
messageListService.save(messageList);
// Thread.sleep(5 * 1000);
System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
} catch (Exception e) {
e.printStackTrace();
}
}
});
futures.add(f);
}
executor.shutdown();
for (int i = 0; i < query.getReceiveIdList().size(); i++) {
/**
* msgTitle:排产申请
* content:xxx的排产申请
*/
JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, query.getName(), query.getReceiveIdList().get(i));
} // 3、推送
// JPushServer.sendPushAll(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, messageDto.getMsgType());
// JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgSid, messageDto.getMsgType(), "23","26","66"); // 别名
System.out.println("process end");
return rb.success().setMsg(msgSid);
}
}
Loading…
Cancel
Save