催办
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
@@ -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>
|
||||||
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,6 +69,11 @@ 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);
|
||||||
|
//超过次数后,不再推送消息
|
||||||
|
List<MessageUrgeList> messageUrgeListList = messageUrgeListService.selecct(flowableMessageVo.getTaskId());
|
||||||
|
messageUrgeListList.removeAll(Collections.singleton(null));
|
||||||
|
if (messageUrgeListList.size() > 0) {
|
||||||
|
if (num > messageUrgeListList.size()) {
|
||||||
MessageListDto messageListDto = new MessageListDto();
|
MessageListDto messageListDto = new MessageListDto();
|
||||||
BeanUtil.copyProperties(flowableMessageVo, messageListDto);
|
BeanUtil.copyProperties(flowableMessageVo, messageListDto);
|
||||||
//===================================================
|
//===================================================
|
||||||
@@ -59,9 +83,7 @@ public class ScheduledMessageService {
|
|||||||
pushMessageQuery.setModuleName("审批中心");
|
pushMessageQuery.setModuleName("审批中心");
|
||||||
pushMessageQuery.setMsgContent("您有待办理的审批,请登录平台及时处理");
|
pushMessageQuery.setMsgContent("您有待办理的审批,请登录平台及时处理");
|
||||||
pushMessageQuery.setApp_type("2");
|
pushMessageQuery.setApp_type("2");
|
||||||
// pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028");
|
|
||||||
pushMessageQuery.setMsgTitle("审批催办提醒");
|
pushMessageQuery.setMsgTitle("审批催办提醒");
|
||||||
// pushMessageQuery.setBusinessSid(busDeliveredApply.getSid());
|
|
||||||
// 消息推送
|
// 消息推送
|
||||||
ResultBean<String> msgSidResultBean = messageService.pushUrgeNoUriMessage(pushMessageQuery);
|
ResultBean<String> msgSidResultBean = messageService.pushUrgeNoUriMessage(pushMessageQuery);
|
||||||
String msgSid = msgSidResultBean.getData();
|
String msgSid = msgSidResultBean.getData();
|
||||||
@@ -71,6 +93,8 @@ public class ScheduledMessageService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user