| @@ -80,5 +80,27 @@ public class CampaginSchedule { | |||||
| } | } | ||||
| /** | |||||
| * 5分钟一次 | |||||
| */ | |||||
| @Scheduled(cron = "0 */5 * * * ?") | |||||
| public void campaignExipred() { | |||||
| logger.info("活动报名结束任务"); | |||||
| WxCampaign campaign = new WxCampaign(); | |||||
| campaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); | |||||
| campaign.setIsExpired(EnumCampaignExpired.YES.getCode()); | |||||
| wxCampaignMapper.campaignExipred(campaign); | |||||
| } | |||||
| /** | |||||
| * 5分钟一次 | |||||
| */ | |||||
| @Scheduled(cron = "0 */5 * * * ?") | |||||
| public void campaignCompletion() { | |||||
| logger.info("活动结束任务"); | |||||
| WxCampaign campaign = new WxCampaign(); | |||||
| campaign.setStatus(EnumCampaignStatus.STATUS_TAKE_OFFF.getCode()); | |||||
| wxCampaignMapper.campaignCompletion(campaign); | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,36 @@ | |||||
| package com.iformall.enums; | |||||
| /** | |||||
| * Created by Stormeye on 2018/08/09. | |||||
| */ | |||||
| public enum EnumCampaignExpired { | |||||
| YES(1, "过期"), | |||||
| NO(0, "未到期"),; | |||||
| public static EnumCampaignExpired getEnum(Integer code) { | |||||
| for (EnumCampaignExpired value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumCampaignExpired(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -18,4 +18,7 @@ public interface WxCampaignMapper extends CommonMapper<WxCampaign, Long> { | |||||
| List<WxCampaign> queryNotify(WxCampaign wxCampaign); | List<WxCampaign> queryNotify(WxCampaign wxCampaign); | ||||
| void campaignExipred(WxCampaign campaign); | |||||
| void campaignCompletion(WxCampaign campaign); | |||||
| } | } | ||||
| @@ -170,6 +170,14 @@ | |||||
| resultType="com.iformall.domain.po.WxCampaign"> | resultType="com.iformall.domain.po.WxCampaign"> | ||||
| select id,title,activity_start_time,tenant_id from wx_campaign where status=${status} and DATEDIFF(activity_start_time,now())=3 | select id,title,activity_start_time,tenant_id from wx_campaign where status=${status} and DATEDIFF(activity_start_time,now())=3 | ||||
| </select> | </select> | ||||
| <update id="campaignExipred" parameterType="com.iformall.domain.po.WxCampaign"> | |||||
| update wx_campaign set is_expired=${isExpired} where status=${status} and now()>valid_end_date | |||||
| </update> | |||||
| <update id="campaignCompletion" parameterType="com.iformall.domain.po.WxCampaign"> | |||||
| update wx_campaign set status#{status} where status!=${status} and now()>activity_end_time | |||||
| </update> | |||||
| </mapper> | </mapper> | ||||