修改问题
This commit is contained in:
@@ -80,4 +80,8 @@ public interface MessageFeign {
|
|||||||
@PostMapping("/sendAppVersionMessage")
|
@PostMapping("/sendAppVersionMessage")
|
||||||
ResultBean sendAppVersionMessage(@RequestBody AppVersionMessageDto dto);
|
ResultBean sendAppVersionMessage(@RequestBody AppVersionMessageDto dto);
|
||||||
|
|
||||||
|
@ApiOperation("订单推送消息")
|
||||||
|
@PostMapping("/sendOrderMessage")
|
||||||
|
ResultBean sendOrderMessage(@RequestBody OrderMesageDto dto);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -78,4 +78,9 @@ public class MessageFeignFallback implements MessageFeign {
|
|||||||
public ResultBean sendAppVersionMessage(AppVersionMessageDto dto) {
|
public ResultBean sendAppVersionMessage(AppVersionMessageDto dto) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultBean sendOrderMessage(OrderMesageDto dto) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.yxt.messagecenter.api.message;
|
||||||
|
|
||||||
|
import com.yxt.common.core.dto.Dto;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author dimengzhe
|
||||||
|
* @Date 2023/1/9 14:12
|
||||||
|
* @Description
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderListMessageDto implements Dto {
|
||||||
|
private static final long serialVersionUID = -7186212256596679049L;
|
||||||
|
|
||||||
|
private String businessSid;
|
||||||
|
|
||||||
|
@ApiModelProperty("模块名称")
|
||||||
|
private String moduleName;
|
||||||
|
@ApiModelProperty("消息内容")
|
||||||
|
private String msgContent;
|
||||||
|
@ApiModelProperty("消息标题")
|
||||||
|
private String msgTitle;
|
||||||
|
@ApiModelProperty("app所需参数")
|
||||||
|
private Map<String,Object> appMap;
|
||||||
|
@ApiModelProperty("申请人")
|
||||||
|
private String applicationName;
|
||||||
|
@ApiModelProperty("申请人sid")
|
||||||
|
private List<String> createBySid;
|
||||||
|
@ApiModelProperty("跳转地址")
|
||||||
|
private String msgTargetUri;
|
||||||
|
private String app_type;
|
||||||
|
@ApiModelProperty("插件sid")
|
||||||
|
private String moduleSid;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.yxt.messagecenter.api.message;
|
||||||
|
|
||||||
|
import com.yxt.common.core.dto.Dto;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author dimengzhe
|
||||||
|
* @Date 2023/1/9 14:12
|
||||||
|
* @Description
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderMesageDto implements Dto {
|
||||||
|
private static final long serialVersionUID = 7066694784027774352L;
|
||||||
|
|
||||||
|
private List<OrderListMessageDto> list;
|
||||||
|
}
|
||||||
@@ -135,4 +135,9 @@ public class MessageRest implements MessageFeign {
|
|||||||
public ResultBean sendAppVersionMessage(AppVersionMessageDto dto) {
|
public ResultBean sendAppVersionMessage(AppVersionMessageDto dto) {
|
||||||
return messageService.sendAppVersionMessage(dto);
|
return messageService.sendAppVersionMessage(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResultBean sendOrderMessage(OrderMesageDto dto) {
|
||||||
|
return messageService.sendOrderMessage(dto);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -638,4 +638,78 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
System.out.println("process end");
|
System.out.println("process end");
|
||||||
return rb.success();
|
return rb.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResultBean sendOrderMessage(OrderMesageDto dto) {
|
||||||
|
ResultBean rb = ResultBean.fireFail();
|
||||||
|
//保存消息体
|
||||||
|
List<OrderListMessageDto> list = dto.getList();
|
||||||
|
for (OrderListMessageDto dto1 : list) {
|
||||||
|
String msgTitle = dto1.getMsgTitle();
|
||||||
|
String msgContent = dto1.getMsgContent();
|
||||||
|
String msgTargetUri = dto1.getMsgTargetUri();
|
||||||
|
String app_type = dto1.getApp_type();
|
||||||
|
List<String> createBySidList = dto1.getCreateBySid();
|
||||||
|
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.setMsgTargetUri(msgTargetUri);
|
||||||
|
messageDto.setApp_type(app_type);
|
||||||
|
JSONObject json = new JSONObject(dto1.getAppMap());
|
||||||
|
messageDto.setArgs_json(json.toJSONString());
|
||||||
|
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
|
||||||
|
String msgTypeSid = messageDto.getMsgTypeSid();
|
||||||
|
// 2、保存至消息列表
|
||||||
|
ResultBean<String> stringList = sysUserFeign.selectIdBySid(createBySidList);
|
||||||
|
List<String> receiveIdList = Arrays.asList(stringList.getData().split(","));
|
||||||
|
// 使用多线程保存
|
||||||
|
List<Future<?>> futures = new ArrayList<Future<?>>();
|
||||||
|
ExecutorService executor = Executors.newFixedThreadPool(4);
|
||||||
|
for (int i = 0; i < createBySidList.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(createBySidList.get(finalI));
|
||||||
|
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