功能实现: 自动受理投诉 , 在每个月月底最后一天对本月之前的投诉进行自动处理; 将投诉信息的状态改为 已失效。在后台管理中不能对该类型投诉进行回复。
ComplainService //自动受理投诉 public void autoDeal();
ComplainServiceImpl
complain-spring.xmlpublic 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); } } } }
<!-- 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>