优化
This commit is contained in:
@@ -62,14 +62,26 @@ public interface MessageFeign {
|
|||||||
|
|
||||||
/**********************************************************************************************/
|
/**********************************************************************************************/
|
||||||
|
|
||||||
@ApiOperation("移动端流程审批推送消息")
|
/* @ApiOperation("移动端流程审批推送消息")
|
||||||
@PostMapping("/getMessage")
|
@PostMapping("/getMessage")
|
||||||
ResultBean<String> getMessage(@RequestBody MessageFlowableDto dto);
|
ResultBean<String> getMessage(@RequestBody MessageFlowableDto dto);*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程审批推送消息
|
||||||
|
*
|
||||||
|
* @param query
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@ApiOperation("流程审批推送消息")
|
@ApiOperation("流程审批推送消息")
|
||||||
@PostMapping("/pushMessage")
|
@PostMapping("/pushMessage")
|
||||||
ResultBean<String> pushMessage(@RequestBody MessageFlowableQuery query);
|
ResultBean<String> pushMessage(@RequestBody MessageFlowableQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程抄送推送消息
|
||||||
|
*
|
||||||
|
* @param query
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@ApiOperation("流程审批推送消息 抄送")
|
@ApiOperation("流程审批推送消息 抄送")
|
||||||
@PostMapping("/pushMessageCC")
|
@PostMapping("/pushMessageCC")
|
||||||
ResultBean<String> pushMessageCC(@RequestBody MessageFlowableQueryForCC query);
|
ResultBean<String> pushMessageCC(@RequestBody MessageFlowableQueryForCC query);
|
||||||
@@ -82,14 +94,36 @@ public interface MessageFeign {
|
|||||||
@PostMapping("/sendAutoserviceMessage")
|
@PostMapping("/sendAutoserviceMessage")
|
||||||
ResultBean<String> sendAutoserviceMessage(@RequestBody AppScmMessageFlowableQuery query);
|
ResultBean<String> sendAutoserviceMessage(@RequestBody AppScmMessageFlowableQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 移动端发布框架推送消息
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@ApiOperation("移动端框架发布推送消息")
|
@ApiOperation("移动端框架发布推送消息")
|
||||||
@PostMapping("/sendAppVersionMessage")
|
@PostMapping("/sendAppVersionMessage")
|
||||||
ResultBean sendAppVersionMessage(@RequestBody AppVersionMessageDto dto);
|
ResultBean sendAppVersionMessage(@RequestBody AppVersionMessageDto dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 简易订单订车解锁提醒推送消息
|
||||||
|
*
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@ApiOperation("简易订单解锁提醒")
|
@ApiOperation("简易订单解锁提醒")
|
||||||
@PostMapping("/sendOrderMessage")
|
@PostMapping("/sendOrderMessage")
|
||||||
ResultBean sendOrderMessage(@RequestBody OrderMesageDto dto);
|
ResultBean sendOrderMessage(@RequestBody OrderMesageDto dto);
|
||||||
|
|
||||||
|
@ApiOperation("推送无详情页的消息")
|
||||||
|
@PostMapping("/pushNoUriMessage")
|
||||||
|
ResultBean pushNoUriMessage(@RequestBody PushMessageQuery query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分享功能推送消息
|
||||||
|
*
|
||||||
|
* @param query
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@ApiOperation("流程审批推送消息 分享")
|
@ApiOperation("流程审批推送消息 分享")
|
||||||
@PostMapping("/pushMessageShare")
|
@PostMapping("/pushMessageShare")
|
||||||
ResultBean<String> pushMessageShare(@RequestBody MessageFlowableQueryForCC query);
|
ResultBean<String> pushMessageShare(@RequestBody MessageFlowableQueryForCC query);
|
||||||
|
|||||||
@@ -56,10 +56,10 @@ public class MessageFeignFallback implements MessageFeign {
|
|||||||
return rb.setMsg("接口message-center/message/saveOrUpdateAppMessage无法访问");
|
return rb.setMsg("接口message-center/message/saveOrUpdateAppMessage无法访问");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/* @Override
|
||||||
public ResultBean<String> getMessage(MessageFlowableDto dto) {
|
public ResultBean<String> getMessage(MessageFlowableDto dto) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
|
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
|
||||||
@@ -91,6 +91,11 @@ public class MessageFeignFallback implements MessageFeign {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultBean pushNoUriMessage(PushMessageQuery query) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultBean<String> pushMessageShare(MessageFlowableQueryForCC query) {
|
public ResultBean<String> pushMessageShare(MessageFlowableQueryForCC query) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
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;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @author: dimengzhe
|
||||||
|
* @date: 2023/8/10
|
||||||
|
**/
|
||||||
|
@Data
|
||||||
|
public class PushMessageQuery implements Query {
|
||||||
|
private static final long serialVersionUID = -5710109873182775336L;
|
||||||
|
|
||||||
|
@ApiModelProperty("业务sid")
|
||||||
|
private String businessSid;
|
||||||
|
@ApiModelProperty("发送人sid")
|
||||||
|
private String senderSid;
|
||||||
|
@ApiModelProperty("发送人名称")
|
||||||
|
private String senderName;
|
||||||
|
@ApiModelProperty("发送人部门sid")
|
||||||
|
private String senderDeptSid;
|
||||||
|
@ApiModelProperty("发送部门sid")
|
||||||
|
private String senderDeptName;
|
||||||
|
@ApiModelProperty("模块名称")
|
||||||
|
private String moduleName;
|
||||||
|
@ApiModelProperty("消息内容")
|
||||||
|
private String msgContent;
|
||||||
|
@ApiModelProperty("消息标题")
|
||||||
|
private String msgTitle;
|
||||||
|
@ApiModelProperty("接收人sidList")
|
||||||
|
private List<String> receivedSids;
|
||||||
|
/* @ApiModelProperty("跳转地址")
|
||||||
|
private String msgTargetUri;*/
|
||||||
|
@ApiModelProperty("0.内置Activity 1.内置WebView 2.RePlugin插件")
|
||||||
|
private String app_type;
|
||||||
|
@ApiModelProperty("插件sid")
|
||||||
|
private String moduleSid;
|
||||||
|
}
|
||||||
@@ -113,10 +113,10 @@ public class MessageRest implements MessageFeign {
|
|||||||
return messageService.saveOrUpdateAppMessage(dto);
|
return messageService.saveOrUpdateAppMessage(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/* @Override
|
||||||
public ResultBean<String> getMessage(MessageFlowableDto dto) {
|
public ResultBean<String> getMessage(MessageFlowableDto dto) {
|
||||||
return messageService.getMessage(dto);
|
return messageService.getMessage(dto);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
|
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
|
||||||
@@ -148,6 +148,11 @@ public class MessageRest implements MessageFeign {
|
|||||||
return messageService.sendOrderMessage(dto);
|
return messageService.sendOrderMessage(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultBean pushNoUriMessage(PushMessageQuery query) {
|
||||||
|
return messageService.pushNoUriMessage(query);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResultBean<String> pushMessageShare(MessageFlowableQueryForCC query) {
|
public ResultBean<String> pushMessageShare(MessageFlowableQueryForCC query) {
|
||||||
return messageService.pushMessageShare(query);
|
return messageService.pushMessageShare(query);
|
||||||
|
|||||||
@@ -911,6 +911,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程审批分享
|
* 流程审批分享
|
||||||
|
*
|
||||||
* @param query
|
* @param query
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@@ -924,7 +925,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
String msgTitle = query.getMsgTitle();
|
String msgTitle = query.getMsgTitle();
|
||||||
String applicationName = query.getApplicationName();
|
String applicationName = query.getApplicationName();
|
||||||
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(query.getUserSid());
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(query.getUserSid());
|
||||||
if(sysUserInfoVoResultBean.getData() != null){
|
if (sysUserInfoVoResultBean.getData() != null) {
|
||||||
applicationName = sysUserInfoVoResultBean.getData().getStaffName();
|
applicationName = sysUserInfoVoResultBean.getData().getStaffName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -974,12 +975,6 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
return rb.success().setMsg(msgSid);
|
return rb.success().setMsg(msgSid);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 流程审批分享
|
|
||||||
*
|
|
||||||
* @param dto
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public ResultBean<String> getMessageShare(MessageFlowableDto dto) {
|
public ResultBean<String> getMessageShare(MessageFlowableDto dto) {
|
||||||
ResultBean<String> rb = ResultBean.fireFail();
|
ResultBean<String> rb = ResultBean.fireFail();
|
||||||
String msgTitle = dto.getMsgTitle();
|
String msgTitle = dto.getMsgTitle();
|
||||||
@@ -999,13 +994,13 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(StringUtils.isNotBlank(dto.getOrgPath())){
|
if (StringUtils.isNotBlank(dto.getOrgPath())) {
|
||||||
//根据orgPath查询部门
|
//根据orgPath查询部门
|
||||||
List<String> orgPathsList = Arrays.asList(dto.getOrgPath().split("/"));
|
List<String> orgPathsList = Arrays.asList(dto.getOrgPath().split("/"));
|
||||||
String orgSids = orgPathsList.get(orgPathsList.size() - 1);
|
String orgSids = orgPathsList.get(orgPathsList.size() - 1);
|
||||||
messageDto.setSenderDeptSid(orgSids);
|
messageDto.setSenderDeptSid(orgSids);
|
||||||
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(orgSids);
|
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(orgSids);
|
||||||
if(organizationResultBean.getData() != null){
|
if (organizationResultBean.getData() != null) {
|
||||||
String deptName = organizationResultBean.getData().getName();
|
String deptName = organizationResultBean.getData().getName();
|
||||||
messageDto.setSenderDeptName(deptName);
|
messageDto.setSenderDeptName(deptName);
|
||||||
}
|
}
|
||||||
@@ -1083,4 +1078,76 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
List<Message> messages = baseMapper.selectByBusinessSid(sid);
|
List<Message> messages = baseMapper.selectByBusinessSid(sid);
|
||||||
return rb.success().setData(messages);
|
return rb.success().setData(messages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResultBean pushNoUriMessage(PushMessageQuery query) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
//保存消息体
|
||||||
|
String msgTitle = query.getMsgTitle();
|
||||||
|
String msgContent = query.getMsgContent();
|
||||||
|
String app_type = query.getApp_type();
|
||||||
|
List<String> receivedSids = query.getReceivedSids();
|
||||||
|
AppMessageDto messageDto = new AppMessageDto();
|
||||||
|
List<MessageTypeVo> typeVoList = messageTypeService.selectMsgTypeList(IDENTIFIER);
|
||||||
|
if (typeVoList.size() > 0) {
|
||||||
|
for (MessageTypeVo message : typeVoList) {
|
||||||
|
if (message.getMsgType().equals("业务")) {
|
||||||
|
messageDto.setMsgTypeSid(message.getMsgTypeSid());
|
||||||
|
messageDto.setMsgType(message.getMsgType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
messageDto.setMsgTitle(msgTitle);
|
||||||
|
messageDto.setMsgContent(msgContent);
|
||||||
|
messageDto.setMsgSource("业务");
|
||||||
|
messageDto.setApp_type(app_type);
|
||||||
|
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
|
||||||
|
String msgTypeSid = messageDto.getMsgTypeSid();
|
||||||
|
// 2、保存至消息列表
|
||||||
|
ResultBean<String> stringList = sysUserFeign.selectIdBySid(receivedSids);
|
||||||
|
List<String> receiveIdList = Arrays.asList(stringList.getData().split(","));
|
||||||
|
// 使用多线程保存
|
||||||
|
List<Future<?>> futures = new ArrayList<Future<?>>();
|
||||||
|
ExecutorService executor = Executors.newFixedThreadPool(4);
|
||||||
|
for (int i = 0; i < receivedSids.size(); i++) {
|
||||||
|
int finalI = i;
|
||||||
|
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.setMsgSid(msgSid);
|
||||||
|
messageList.setRDelStatus(0);
|
||||||
|
messageList.setSDelStatus(0);
|
||||||
|
messageList.setReceiverSid(receivedSids.get(finalI));
|
||||||
|
//根据接收人sid查询接收人名称
|
||||||
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(receivedSids.get(finalI));
|
||||||
|
if (sysUserInfoVoResultBean.getData() != null) {
|
||||||
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName());
|
||||||
|
}
|
||||||
|
messageListService.saveOrUpdateDto(messageList);
|
||||||
|
System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
futures.add(f);
|
||||||
|
}
|
||||||
|
executor.shutdown();
|
||||||
|
//标题、内容、消息类别key、消息类别名称、
|
||||||
|
YamlPropertiesFactoryBean factoryBean = new YamlPropertiesFactoryBean();
|
||||||
|
factoryBean.setResources(new ClassPathResource("application.yml"));
|
||||||
|
Properties properties = factoryBean.getObject();
|
||||||
|
if ("pro".equals(properties.get("spring.profiles.active"))) {
|
||||||
|
for (int i = 0; i < receiveIdList.size(); i++) {
|
||||||
|
JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "业务", receiveIdList.get(i));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < receiveIdList.size(); i++) {
|
||||||
|
JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "业务", "T" + receiveIdList.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rb.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user