修改
This commit is contained in:
@@ -18,7 +18,7 @@ public class MessageReadListQuery implements Query {
|
||||
@ApiModelProperty("组织机构全路径")
|
||||
private String orgPath;
|
||||
@ApiModelProperty("0 待阅 1 已阅")
|
||||
private int state;
|
||||
private String state;
|
||||
|
||||
private String names;
|
||||
}
|
||||
|
||||
@@ -59,4 +59,6 @@ public class MessageReadListVo implements Vo {
|
||||
//红点更新时间
|
||||
private String redTime;
|
||||
|
||||
private String dept;
|
||||
|
||||
}
|
||||
|
||||
@@ -300,6 +300,89 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
||||
return rb.success().setData(msgSid);
|
||||
}
|
||||
|
||||
public ResultBean<String> getMessageRead(MessageFlowableDto dto) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
String msgTitle = dto.getMsgTitle();
|
||||
String msgContent = dto.getMsgContent();
|
||||
List<String> list = dto.getList();
|
||||
List<String> receiveIdList = dto.getReceiveIdList();
|
||||
List<String> orgPathList = dto.getOrgPathList();
|
||||
// 1、保存消息体
|
||||
AppMessageDto messageDto = new AppMessageDto();
|
||||
List<MessageTypeVo> messageBean = messageTypeService.selectMsgTypeList("0003");
|
||||
messageBean.removeAll(Collections.singleton(null));
|
||||
if (!messageBean.isEmpty()) {
|
||||
for (MessageTypeVo message : messageBean) {
|
||||
if (message.getMsgType().equals("抄送")) {
|
||||
messageDto.setMsgTypeSid(message.getMsgTypeSid());
|
||||
messageDto.setMsgType(message.getMsgType());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(dto.getTaskId())) {
|
||||
messageDto.setTaskId(dto.getTaskId());
|
||||
}
|
||||
messageDto.setMsgTitle(msgTitle);
|
||||
messageDto.setMsgContent(msgContent);
|
||||
messageDto.setMsgSource("抄送");
|
||||
messageDto.setApp_type(dto.getApp_type());
|
||||
messageDto.setModuleSid(dto.getModuleSid());
|
||||
//将json与appMap中的参数融合
|
||||
Map<String, Object> jsonMap = BeanUtil.beanToMap(dto.getJson());
|
||||
jsonMap.putAll(dto.getJson().getAppMap());
|
||||
messageDto.setArgs_json(JSONObject.toJSONString(jsonMap));
|
||||
messageDto.setMsgTargetUri(dto.getModuleAction());
|
||||
messageDto.setSenderName("系统");
|
||||
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
|
||||
String msgTypeSid = messageDto.getMsgTypeSid();
|
||||
// 2、保存至消息列表
|
||||
// 使用多线程保存
|
||||
List<Future<?>> futures = new ArrayList<Future<?>>();
|
||||
ExecutorService executor = Executors.newFixedThreadPool(4);
|
||||
for (int i = 0; i < list.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(list.get(finalI));
|
||||
if (orgPathList.size() > 0) {
|
||||
messageList.setReceiverDeptSid(orgPathList.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.sendPushAliass(msgTitle, msgContent, msgTypeSid, "阅读", receiveIdList.get(i));
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < receiveIdList.size(); i++) {
|
||||
//测试或者本地
|
||||
JPushServer.sendPushAliass(msgTitle, msgContent, msgTypeSid, "阅读", "T" + receiveIdList.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
return rb.success().setData(msgSid);
|
||||
}
|
||||
|
||||
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
MessageFlowVo ufVo = query.getUfVo();
|
||||
@@ -381,10 +464,6 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
||||
messageFlowableDto.setApp_type("2");
|
||||
if (sysProUrlVo.getUrl().contains("#")) {
|
||||
messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0));
|
||||
List<Integer> codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
|
||||
int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray();
|
||||
;
|
||||
messageJsonDto.setButtons(ints);
|
||||
} else {
|
||||
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl());
|
||||
}
|
||||
@@ -400,7 +479,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
||||
messageFlowableDto.setMsgTitle(msgTitle);
|
||||
messageFlowableDto.setCreateName(applicationName);
|
||||
messageFlowableDto.setTaskId(ufVo.getTaskId());
|
||||
ResultBean<String> stringResultBean = getMessage(messageFlowableDto);
|
||||
ResultBean<String> stringResultBean = getMessageRead(messageFlowableDto);
|
||||
String msgSid = stringResultBean.getData();
|
||||
return rb.success().setMsg(msgSid);
|
||||
}
|
||||
|
||||
@@ -217,8 +217,12 @@ public class MessageListRest implements MessageListFeign {
|
||||
|
||||
@Override
|
||||
public ResultBean<PagerVo<MessageReadListVo>> getAppReadListByUserSid(PagerQuery<MessageReadListQuery> pq) {
|
||||
ResultBean<PagerVo<MessageReadListVo>> rb = ResultBean.fireFail();
|
||||
if (StringUtils.isBlank(pq.getParams().getUserSid())) {
|
||||
return new ResultBean().fail().setMsg("用户sid不能为空");
|
||||
return rb.setMsg("用户sid不能为空");
|
||||
}
|
||||
if(StringUtils.isBlank(pq.getParams().getState())){
|
||||
return rb.setMsg("参数错误:state");
|
||||
}
|
||||
PagerVo<MessageReadListVo> pagerVo = messageListService.getAppReadListByUserSid(pq);
|
||||
return new ResultBean<PagerVo<MessageReadListVo>>().success().setData(pagerVo);
|
||||
|
||||
@@ -374,7 +374,7 @@ public class MessageListService extends MybatisBaseService<MessageListMapper, Me
|
||||
if(StringUtils.isNotBlank(messageReadListQuery.getNames())){
|
||||
qw.like("m.msgTitle",messageReadListQuery.getNames());
|
||||
}
|
||||
if(messageReadListQuery.getState() == 0){//待阅
|
||||
if("0".equals(messageReadListQuery.getState())){//待阅
|
||||
qw.eq("ml.state",0);
|
||||
}else{//已阅
|
||||
qw.eq("ml.state",1);
|
||||
|
||||
Reference in New Issue
Block a user