Browse Source

催办

master
dimengzhe 2 years ago
parent
commit
0de5c6281e
  1. 10
      message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindrule.java
  2. 2
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.java
  3. 4
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.xml
  4. 4
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleService.java
  5. 3
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.java
  6. 3
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.xml
  7. 5
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListService.java
  8. 60
      message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/ScheduledMessageService.java

10
message-center-api/src/main/java/com/yxt/messagecenter/api/messageremindrule/MessageRemindrule.java

@ -26,12 +26,18 @@ public class MessageRemindrule extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty("代码") /* @ApiModelProperty("代码")
private String ruleCode; private String ruleCode;
@ApiModelProperty("提前提醒0,超期循环提醒1,循环提醒2") @ApiModelProperty("提前提醒0,超期循环提醒1,循环提醒2")
private Integer rules; private Integer rules;
@ApiModelProperty("系统消息0,手机短信1") @ApiModelProperty("系统消息0,手机短信1")
private Integer remindWay; private Integer remindWay;*/
private String ruleCode;
private Integer rules;
private Integer timeInterval;
private String frequency;
private String remindWay;
} }

2
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.java

@ -37,4 +37,6 @@ public interface MessageRemindruleMapper extends BaseMapper<MessageRemindrule> {
@Select("select * from message_remindrule") @Select("select * from message_remindrule")
List<MessageRemindruleVo> selectListVo(); List<MessageRemindruleVo> selectListVo();
MessageRemindrule selectOnes();
} }

4
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleMapper.xml

@ -10,4 +10,8 @@
<select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo"> <select id="selectListAllVo" resultType="com.yxt.messagecenter.api.messageremindrule.MessageRemindruleVo">
SELECT * FROM message_remindrule <where> ${ew.sqlSegment} </where> SELECT * FROM message_remindrule <where> ${ew.sqlSegment} </where>
</select> </select>
<select id="selectOnes" resultType="com.yxt.messagecenter.api.messageremindrule.MessageRemindrule">
select * from message_remindrule order by id desc limit 1
</select>
</mapper> </mapper>

4
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageremindrule/MessageRemindruleService.java

@ -96,4 +96,8 @@ public class MessageRemindruleService extends MybatisBaseService<MessageRemindru
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public MessageRemindrule selectOne() {
return baseMapper.selectOnes();
}
} }

3
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.java

@ -5,6 +5,8 @@ import com.yxt.messagecenter.api.messagetype.MessageType;
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeList; import com.yxt.messagecenter.api.messageurgeList.MessageUrgeList;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -12,4 +14,5 @@ import org.apache.ibatis.annotations.Mapper;
**/ **/
@Mapper @Mapper
public interface MessageUrgeListMapper extends BaseMapper<MessageUrgeList> { public interface MessageUrgeListMapper extends BaseMapper<MessageUrgeList> {
List<MessageUrgeList> selecct(String taskId);
} }

3
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/MessageUrgeListMapper.xml

@ -1,4 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.messagecenter.biz.messageurgeList.MessageUrgeListMapper"> <mapper namespace="com.yxt.messagecenter.biz.messageurgeList.MessageUrgeListMapper">
<select id="selecct" resultType="com.yxt.messagecenter.api.messageurgeList.MessageUrgeList">
select count(*) from message_urgelist where taskId = #{taskId}
</select>
</mapper> </mapper>

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

@ -66,7 +66,10 @@ public class MessageUrgeListService extends MybatisBaseService<MessageUrgeListMa
messageListDto.setType(2); messageListDto.setType(2);
messageUrgeListService.saveMessage(messageListDto); messageUrgeListService.saveMessage(messageListDto);
} }
return rb.success();
}
return null; public List<MessageUrgeList> selecct(String taskId) {
return baseMapper.selecct(taskId);
} }
} }

60
message-center-biz/src/main/java/com/yxt/messagecenter/biz/messageurgeList/ScheduledMessageService.java

@ -4,12 +4,16 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo; import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery; import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.messagecenter.api.message.OrderListMessageDto; import com.yxt.messagecenter.api.message.OrderListMessageDto;
import com.yxt.messagecenter.api.message.OrderMesageDto; import com.yxt.messagecenter.api.message.OrderMesageDto;
import com.yxt.messagecenter.api.message.PushMessageQuery; import com.yxt.messagecenter.api.message.PushMessageQuery;
import com.yxt.messagecenter.api.messageremindrule.MessageRemindrule;
import com.yxt.messagecenter.api.messageurgeList.MessageListDto; import com.yxt.messagecenter.api.messageurgeList.MessageListDto;
import com.yxt.messagecenter.api.messageurgeList.MessageUrgeList;
import com.yxt.messagecenter.biz.message.MessageService; import com.yxt.messagecenter.biz.message.MessageService;
import com.yxt.messagecenter.biz.messageremindrule.MessageRemindruleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -32,17 +36,32 @@ public class ScheduledMessageService {
private MessageUrgeListService messageUrgeListService; private MessageUrgeListService messageUrgeListService;
@Autowired @Autowired
private MessageService messageService; private MessageService messageService;
@Autowired
private MessageRemindruleService messageRemindruleService;
// @Scheduled(cron = "0 0 0 * * ?") // @Scheduled(cron = "0 0 0 * * ?")
// @Scheduled(cron = "0 0/5 16 * * ?") // @Scheduled(cron = "0 0/5 16 * * ?")
// @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次 // @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次
public void remindMessage() { public void remindMessage() {
//查询规则
Date now = new Date(); Date now = new Date();
//获取当前时间 //获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//查询规则 //查询规则
int minutes = 5; int minutes = 5;
int num = 4;
MessageRemindrule messageRemindrule = messageRemindruleService.selectOne();
if (messageRemindrule != null) {
if (messageRemindrule.getTimeInterval() != null) {
minutes = messageRemindrule.getTimeInterval();
}
if (StringUtils.isNotBlank(messageRemindrule.getFrequency())) {
//查询提醒次数
num = Integer.parseInt(messageRemindrule.getFrequency());
}
}
//查询所有的待办工作时间超过5分钟的 //查询所有的待办工作时间超过5分钟的
ResultBean<List<FlowableMessageVo>> resultBean = flowFeign.getMessageList(minutes); ResultBean<List<FlowableMessageVo>> resultBean = flowFeign.getMessageList(minutes);
List<FlowableMessageVo> list = resultBean.getData(); List<FlowableMessageVo> list = resultBean.getData();
@ -50,24 +69,29 @@ public class ScheduledMessageService {
if (!list.isEmpty()) { if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
FlowableMessageVo flowableMessageVo = list.get(i); FlowableMessageVo flowableMessageVo = list.get(i);
MessageListDto messageListDto = new MessageListDto(); //超过次数后,不再推送消息
BeanUtil.copyProperties(flowableMessageVo, messageListDto); List<MessageUrgeList> messageUrgeListList = messageUrgeListService.selecct(flowableMessageVo.getTaskId());
//=================================================== messageUrgeListList.removeAll(Collections.singleton(null));
List<String> recipientSidList = Arrays.asList(flowableMessageVo.getAssignee().split(",")); if (messageUrgeListList.size() > 0) {
PushMessageQuery pushMessageQuery = new PushMessageQuery(); if (num > messageUrgeListList.size()) {
pushMessageQuery.setReceivedSids(recipientSidList); MessageListDto messageListDto = new MessageListDto();
pushMessageQuery.setModuleName("审批中心"); BeanUtil.copyProperties(flowableMessageVo, messageListDto);
pushMessageQuery.setMsgContent("您有待办理的审批,请登录平台及时处理"); //===================================================
pushMessageQuery.setApp_type("2"); List<String> recipientSidList = Arrays.asList(flowableMessageVo.getAssignee().split(","));
// pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028"); PushMessageQuery pushMessageQuery = new PushMessageQuery();
pushMessageQuery.setMsgTitle("审批催办提醒"); pushMessageQuery.setReceivedSids(recipientSidList);
// pushMessageQuery.setBusinessSid(busDeliveredApply.getSid()); pushMessageQuery.setModuleName("审批中心");
// 消息推送 pushMessageQuery.setMsgContent("您有待办理的审批,请登录平台及时处理");
ResultBean<String> msgSidResultBean = messageService.pushUrgeNoUriMessage(pushMessageQuery); pushMessageQuery.setApp_type("2");
String msgSid = msgSidResultBean.getData(); pushMessageQuery.setMsgTitle("审批催办提醒");
messageListDto.setMsgSid(msgSid); // 消息推送
messageListDto.setType(1); ResultBean<String> msgSidResultBean = messageService.pushUrgeNoUriMessage(pushMessageQuery);
messageUrgeListService.saveMessage(messageListDto); String msgSid = msgSidResultBean.getData();
messageListDto.setMsgSid(msgSid);
messageListDto.setType(1);
messageUrgeListService.saveMessage(messageListDto);
}
}
} }
} }
} }

Loading…
Cancel
Save