/**
* MessageTaskJob.java 2017年8月7日
*
* @Copyright 2013-2017 深圳超群高科技有限公司
* 广东省深圳市南山区科技园紫光信息港C栋608, 中国
* 保留所有权利。
*
* 本软件是深圳超群高科技有限公司的机密和专有信息,
* 您不得披露该保密信息,并只能按照您与深圳超群高科技有限公司签订的许可协议中的条款使用。
*
*/
package com.cqgk.web.scheduler;
import java.util.Date;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.cqgk.common.util.DateUtil;
import com.cqgk.common.web.BaseController;
import com.cqgk.service.form.IFormPageCfgService;
import com.cqgk.service.foundation.constant.Const;
import com.cqgk.service.foundation.partnerInfo.IPartnerInfoService;
import com.cqgk.service.foundation.partnerInfo.entity.PartnerInfo;
import com.cqgk.service.foundation.sys.ISysUserRoleLinkService;
import com.cqgk.service.message.IMessageService;
import com.cqgk.service.message.IPushMessageService;
import com.cqgk.service.message.entity.Messages;
import com.cqgk.service.order.IBonusAccountService;
import com.cqgk.service.order.IOrderService;
import com.cqgk.service.order.entity.BonusResetTask;
/**
* ClassName: MessageTaskJob <br/>
* Function: 消息推送定时任务 <br/>
*
* @author 肖传毅
* @version
* @date 2017年8月7日 上午10:46:37
*/
@RestController
@RequestMapping("/messageTimer")
@Component("messageTaskJob")
public class MessageTaskJob extends BaseController {
private Logger log = LoggerFactory.getLogger(MessageTaskJob.class);
@Autowired
private IPushMessageService pushMessageService;
@Autowired
private IMessageService messageService;
@Autowired
private IPartnerInfoService partnerInfoService;
@Autowired
private ISysUserRoleLinkService sysUserRoleLinkService;
@Autowired
private IOrderService orderService;
@Autowired
private IBonusAccountService bonusAccountService;
@Autowired
private IFormPageCfgService formPageCfgService;
/**
* 定时轮询推送待推送的消息 <br/>
* cron 表达式必须为6个参数,分别表示 :{秒} {分} {时} {日} {月} {周} {年(可选)} <br/>
* 比如 cron = "0 0/10 * * * ?" 表示 每隔10分钟执行一次<br/>
* 比如 cron = "0/30 * * * * ?" 表示 每隔30秒执行一次<br/>
*
* @author 肖传毅
* @date: 2017年8月7日 下午3:47:51 <br/>
* @since
*/
@Scheduled(cron = "0 0/1 * * * ?")
@RequestMapping(value="/start.do", produces="application/json;charset=UTF-8")
public void pushMessage() {
if(!MessagePushRunnable.isRunning()) {
new Thread(new MessagePushRunnable(pushMessageService, log)).start();
}else {
log.error("running");
}
}
/**
* 定时更新订单打印状态
*
* @author 周桂芩
* @date: 2017年8月7日 下午7:48:39 <br/>
* @desc 没五分钟执行一次,更新订单打印状态
* @since
*/
@Scheduled(cron = "0 * 0/5 * * ?")
@RequestMapping(value="/batchUpdatePrintLog.do", produces="application/json;charset=UTF-8")
public void batchUpdatePrintLog() {
try {
orderService.batchUpdatePrintState();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 定时查询并执行积分清零(每天00:00:00)<br/>
*
* @author 王辉
* @date: 2017年11月23日 下午5:34:58 <br/>
* @since
*/
@Scheduled(cron = "0 0 0 * * ?")
@RequestMapping(value="/executeBonusResetTask.do", produces="application/json;charset=UTF-8")
public void executeBonusResetTask() {
try {
System.out.println("查询清零任务");
List<BonusResetTask> tasks = bonusAccountService.queryNeedResetBonusTasks(new Date());
if(CollectionUtils.isNotEmpty(tasks)) {
for(BonusResetTask task : tasks) {
try {
System.out.println("执行清零任务");
bonusAccountService.executeBonusResetTask(task.getId());
} catch (Exception e) {
e.printStackTrace();
continue;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 定时查询续费快到期的合作伙伴公司,对其管理员和BOSS进行短信和通知提醒任务(每天8点执行)<br/>
*
* @author 段伟忠
* @date: 2018年02月06日 上午11:28:26 <br/>
* @since JDK 1.8
*/
@Scheduled(cron = "0 0 8 * * ?")
@RequestMapping(value="/executePartnerRenewRemindTask.do", produces="application/json;charset=UTF-8")
public void executePartnerRenewRemindTask() {
try {
System.out.println("查询续费快到期的合作伙伴公司任务");
boolean isNotFirst = messageService.existsPartnerRenewRemindMessagemsSendLog();
Date now = new Date();
List<PartnerInfo> partnerList = partnerInfoService.queryPartnerRenewRemindList(now, isNotFirst);
if(CollectionUtils.isNotEmpty(partnerList)) {
System.out.println("执行短信和通知发送任务");
for(PartnerInfo partnerInfo : partnerList) {
try {
//给管理员和BOSS发送短信,同时返回BOSS的userId列表
long expireDay = DateUtil.getDayInterval(partnerInfo.getValidEndDate(), now);
List<String> bossUserIds = sysUserRoleLinkService.queryBossAndPartnerAdminToSendRenewRemindSMS(partnerInfo.getCreatedUserId(), partnerInfo.getId(), expireDay);
//循环给boss人员推送通知
if(bossUserIds.size() > 0) {
String massageContent = "尊敬的新农宝客户,您的系统有效期仅剩" + expireDay + "天,请联系交付经理或拨打新农宝客户热线4000-456-115及时续费。";
for(String receiverId : bossUserIds) {
try {
messageService.sendMessage("续费通知", "", "", massageContent, Messages.TYPE_NOTIFY, null, null,
partnerInfo.getId(), receiverId, Const.SYSTEM_ROLE_BOSS, partnerInfo.getCreatedUserId(), null, null, null, null);
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
System.out.println("查询续费快到期的合作伙伴公司任务处理结束");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 定时查询积分清零需要发送短信的任务(每天16点执行)<br/>
*
* @author 王辉
* @date: 2017年11月23日 下午5:40:20 <br/>
* @since
*/
@Scheduled(cron = "0 0 16 * * ?")
@RequestMapping(value="/executeBonusResetSendMsgTask.do", produces="application/json;charset=UTF-8")
public void executeBonusResetSendMsgTask() {
try {
System.out.println("查询清零发送短信任务");
List<BonusResetTask> tasks = bonusAccountService.queryNeedBonusResetSendMsgTasks(new Date());
if(CollectionUtils.isNotEmpty(tasks)) {
for(BonusResetTask task : tasks) {
try {
System.out.println("执行清零发送短信任务");
bonusAccountService.executeBonusResetSendMsgTask(task.getId());
} catch (Exception e) {
e.printStackTrace();
continue;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Scheduled(cron = "0 0/1 * * * ?")
@RequestMapping(value="/sendCustomMessage.do", produces="application/json;charset=UTF-8")
public void sendCustomMessage() {
try {
Date now = new Date();
//log.info("执行发送自定义消息 ==== 开始 ---- {}", DateUtil.convertDateToString(now));
messageService.sendCustomMessage(null, now)
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
web-scheduler_demo.zip (58个子文件)
web-scheduler
pom.xml 7KB
target
test-classes
m2e-wtp
web-resources
META-INF
maven
com.cqgk.web
web-scheduler
pom.xml 7KB
pom.properties 283B
MANIFEST.MF 115B
classes
mybatis-config.xml 461B
hsf-consumer-beans.xml 3KB
logback.xml 5KB
spring-mvc.xml 3KB
spring-cache.xml 1KB
entitysync.properties 159B
com
cqgk
web
scheduler
EntityChangeWebController.class 2KB
MessageTaskJob.class 8KB
MessagePushRunnable.class 1KB
bean
EntityChangeListenMasterController.class 3KB
CacheManager.class 2KB
GeoTaskRunnable.class 2KB
EntityChangeMQConsumerListener$1.class 917B
EntityChangeMQConsumerListener.class 2KB
GeoLocationTaskJob.class 2KB
EntityChangeWebController$1.class 842B
xnb-entitysync.xml 2KB
cache.properties 819B
applicationContext.xml 2KB
.settings
org.eclipse.m2e.core.prefs 90B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 262B
org.eclipse.core.resources.prefs 191B
org.eclipse.wst.common.component 3KB
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.validation.prefs 50B
.jsdtscope 294B
org.eclipse.jdt.core.prefs 7KB
src
test
resources
java
main
webapp
META-INF
MANIFEST.MF 39B
WEB-INF
test
web.xml 2KB
lib
resources
mybatis-config.xml 461B
hsf-consumer-beans.xml 3KB
config
config-beta.properties 2KB
config-release.properties 2KB
config-dev.properties 2KB
logback.xml 5KB
spring-mvc.xml 3KB
spring-cache.xml 1KB
entitysync.properties 159B
xnb-entitysync.xml 2KB
cache.properties 1KB
applicationContext.xml 2KB
java
com
cqgk
web
scheduler
EntityChangeMQConsumerListener.java 2KB
bean
EntityChangeListenMasterController.java 4KB
CacheManager.java 2KB
MessageTaskJob.java 9KB
EntityChangeWebController.java 2KB
MessagePushRunnable.java 2KB
GeoLocationTaskJob.java 2KB
GeoTaskRunnable.java 1KB
.project 1KB
.classpath 1KB
build-beta.bat 888B
build-release.bat 894B
共 58 条
- 1
资源评论
YuYeZuoHuo
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最入门的爬虫代码 python.docx
- 爬虫零基础入门-爬取天气预报.pdf
- 最通俗易懂的 MongoDB 非结构化文档存储数据库教程.zip
- 以mongodb为数据库的订单物流小项目.zip
- 腾讯云-mongodb数据库, 项目部署.zip
- 腾讯 APIJSON 的 MongoDB 数据库插件.zip
- 理解非关系型数据库和关系型数据库的区别.zip
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
- SpringBoot整合mongodb学习MongoTemplate和MongoRepository两种方式CRUD使用.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功