diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java index a282ef35c..50773b1f7 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CampaginSchedule.java @@ -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); + } } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCampaignExpired.java b/mallinkService/src/main/java/com/iformall/enums/EnumCampaignExpired.java new file mode 100644 index 000000000..e69b07c82 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumCampaignExpired.java @@ -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; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCampaignMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCampaignMapper.java index 6c435dbc1..994bd9a6f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCampaignMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCampaignMapper.java @@ -18,4 +18,7 @@ public interface WxCampaignMapper extends CommonMapper { List queryNotify(WxCampaign wxCampaign); + void campaignExipred(WxCampaign campaign); + + void campaignCompletion(WxCampaign campaign); } diff --git a/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml b/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml index 374f98ea2..07bb8979e 100644 --- a/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCampaignMapper.xml @@ -170,6 +170,14 @@ 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 + + + update wx_campaign set is_expired=${isExpired} where status=${status} and now()>valid_end_date + + + + update wx_campaign set status#{status} where status!=${status} and now()>activity_end_time +