quartz实现自动受理

功能实现: 自动受理投诉 , 在每个月月底最后一天对本月之前的投诉进行自动处理; 将投诉信息的状态改为 已失效。在后台管理中不能对该类型投诉进行回复。

ComplainService  	//自动受理投诉	public void autoDeal();
ComplainServiceImpl 


public class ComplainServiceImpl extends BaseServiceImpl<Complain> implements	ComplainService {	
	private ComplainDao complainDao;	
	@Resource
	public void setComplainDao(ComplainDao complainDao){
		super.setBaseDao(complainDao);
		this.complainDao = complainDao;
	}

	/**自动受理投诉 
	 * 在每个月月底最后一天对本月之前的投诉进行自动处理;
	 * 将投诉信息的状态改为 已失效。在后台管理中不能对该类型投诉进行回复。
	 */
	@Override
	public void autoDeal() {
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.DAY_OF_MONTH, 1);//设置当前时间的日期为1号
		cal.set(Calendar.HOUR_OF_DAY, 0);//设置当前时间的日期为1号,0时
		cal.set(Calendar.MINUTE, 0);//设置当前时间的日期为1号,0分
		cal.set(Calendar.SECOND, 0);//设置当前时间的日期为1号,0秒
		
		//1、查询本月之前的待受理的投诉列表
		QueryHelper queryHelper = new QueryHelper(Complain.class, "c");
		queryHelper.addCondition("c.state=?", Complain.COMPLAIN_STATE_UNDONE);
		queryHelper.addCondition("c.compTime < ?", cal.getTime());//本月1号0时0分0秒
		
		List<Complain> list = findObjects(queryHelper);
		if(list != null && list.size() > 0){
			//2、更新投诉信息的状态为 已失效
			for(Complain comp: list){
				comp.setState(Complain.COMPLAIN_STATE_INVALID);
				update(comp);
			}
		}
	}	
}
complain-spring.xml
  <!-- 1、制定任务信息信息 -->
	<bean id="complainJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<!-- 设置执行对象 -->
		<property name="targetObject" ref="complainService"></property>
		<!-- 设置执行对象中对应的执行方法 -->
		<property name="targetMethod" value="autoDeal"></property>
		<!-- 是否可以同步执行;不可同步执行 -->
		<property name="concurrent" value="false"></property>
	</bean>
     <!-- 2、制定任务执行时机(任务执行触发器) -->
     <bean id="complainCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
     	<!-- 设置任务详细信息 -->
     	<property name="jobDetail" ref="complainJobDetail"></property>
     	<!-- 设置任务执行时间点,cronExpression: 在每月的月底下午的3点每分钟的第10秒执行任务 -->
     	<property name="cronExpression" value="10 * 15 l * ?"></property>
     </bean>
     <!-- 3、设置调度工厂 -->
     <bean id="complainScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
     	<property name="triggers">
     		<list>
     			<ref bean="complainCronTrigger"/>
     		</list>
     	</property>
     </bean>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值