diff --git a/bweb/src/main/java/com/bweb/controller/CmsController.java b/bweb/src/main/java/com/bweb/controller/CmsController.java index 0e36b59..daf6ee7 100644 --- a/bweb/src/main/java/com/bweb/controller/CmsController.java +++ b/bweb/src/main/java/com/bweb/controller/CmsController.java @@ -146,7 +146,7 @@ public class CmsController { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法删除,状态错误"); } cmsContent.setStatus(CmsStatusEnum.status0.getStatus()); - cmsContentService.update(cmsContent); + cmsContentService.editData(cmsContent); return ResponseMsgUtil.success("操作成功"); diff --git a/schedule/src/main/java/com/hfkj/consumer/CmsOfflineConsumer.java b/schedule/src/main/java/com/hfkj/consumer/CmsOfflineConsumer.java deleted file mode 100644 index 981de18..0000000 --- a/schedule/src/main/java/com/hfkj/consumer/CmsOfflineConsumer.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hfkj.consumer; - -import com.hfkj.entity.BsGasOilPriceTask; -import com.hfkj.entity.CmsContent; -import com.hfkj.service.cms.CmsContentService; -import com.hfkj.service.gas.BsGasOilPriceTaskService; -import com.hfkj.sysenum.cms.CmsStatusEnum; -import com.hfkj.sysenum.gas.GasTaskStatusEnum; -import lombok.extern.slf4j.Slf4j; -import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; -import org.apache.rocketmq.spring.core.RocketMQListener; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.Date; - -@Component -@Slf4j -@RocketMQMessageListener(consumerGroup = "cms-offline", topic = "task-topic",selectorExpression = "cms-offline") -public class CmsOfflineConsumer implements RocketMQListener { - @Resource - private CmsContentService cmsContentService; - - @Override - public void onMessage(String id) { - System.out.println("CMS内容下线id:" + id); - try { - CmsContent content = cmsContentService.getDetail(Long.parseLong(id)); - if (content != null && content.getEndTime() != null && content.getStatus().equals(CmsStatusEnum.status2.getStatus())) { - if (content.getEndTime().compareTo(new Date()) <= 0) { - cmsContentService.offline(Long.parseLong(id)); - } - } - - } catch (Exception e) { - - } - } -} diff --git a/schedule/src/main/java/com/hfkj/consumer/CmsOnlineConsumer.java b/schedule/src/main/java/com/hfkj/consumer/CmsOnlineConsumer.java deleted file mode 100644 index 7aea7b9..0000000 --- a/schedule/src/main/java/com/hfkj/consumer/CmsOnlineConsumer.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.hfkj.consumer; - -import com.hfkj.entity.BsGasOilPriceTask; -import com.hfkj.entity.CmsContent; -import com.hfkj.service.cms.CmsContentService; -import com.hfkj.service.gas.BsGasOilPriceTaskService; -import com.hfkj.sysenum.cms.CmsStatusEnum; -import com.hfkj.sysenum.gas.GasTaskStatusEnum; -import lombok.extern.slf4j.Slf4j; -import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; -import org.apache.rocketmq.spring.core.RocketMQListener; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.Date; - -@Component -@Slf4j -@RocketMQMessageListener(consumerGroup = "cms-online", topic = "task-topic",selectorExpression = "cms-online") -public class CmsOnlineConsumer implements RocketMQListener { - @Resource - private CmsContentService cmsContentService; - - @Override - public void onMessage(String id) { - System.out.println("CMS内容上线id:" + id); - try { - CmsContent content = cmsContentService.getDetail(Long.parseLong(id)); - if (content != null && content.getStartTime() != null && content.getStatus().equals(CmsStatusEnum.status1.getStatus())) { - if (content.getStartTime().compareTo(new Date()) <= 0) { - cmsContentService.online(Long.parseLong(id)); - } - } - } catch (Exception e) { - - } - } -} diff --git a/schedule/src/main/java/com/hfkj/schedule/CmsSchedule.java b/schedule/src/main/java/com/hfkj/schedule/CmsSchedule.java new file mode 100644 index 0000000..78cc568 --- /dev/null +++ b/schedule/src/main/java/com/hfkj/schedule/CmsSchedule.java @@ -0,0 +1,66 @@ +package com.hfkj.schedule; + +import com.hfkj.entity.BsDiscount; +import com.hfkj.entity.CmsContent; +import com.hfkj.service.cms.CmsContentService; +import com.hfkj.service.discount.BsDiscountService; +import com.hfkj.service.discount.BsDiscountUserService; +import com.hfkj.sysenum.cms.CmsStatusEnum; +import com.hfkj.sysenum.discount.DiscountStatusEnum; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @className: DiscountSchedule + * @author: HuRui + * @date: 2024/9/4 + **/ +@Component +public class CmsSchedule { + + @Resource + private CmsContentService cmsContentService; + + /** + * CMS上线 + */ + @Scheduled(cron="0 0/1 * * * ?") //每分钟执行一次 + public void online() { + try { + Map param = new HashMap<>(); + param.put("status", CmsStatusEnum.status1.getStatus()); + param.put("createTimeS", new Date().getTime()); + List list = cmsContentService.getList(param); + for (CmsContent data : list) { + cmsContentService.online(data.getId()); + } + } catch (Exception e) { + System.out.println("更新失败!!!"); + } + } + + /** + * CMS上线 + */ + @Scheduled(cron="0 0/1 * * * ?") //每30分钟执行一次 + public void offline() { + try { + Map param = new HashMap<>(); + param.put("status", CmsStatusEnum.status2.getStatus()); + param.put("createTimeE", new Date().getTime()); + List list = cmsContentService.getList(param); + for (CmsContent data : list) { + cmsContentService.offline(data.getId()); + } + } catch (Exception e) { + System.out.println("更新失败!!!"); + } + } + +} diff --git a/service/src/main/java/com/hfkj/service/cms/CmsContentService.java b/service/src/main/java/com/hfkj/service/cms/CmsContentService.java index 126bbf3..f526f79 100644 --- a/service/src/main/java/com/hfkj/service/cms/CmsContentService.java +++ b/service/src/main/java/com/hfkj/service/cms/CmsContentService.java @@ -21,12 +21,6 @@ public interface CmsContentService { */ void editData(CmsContent data) ; - /** - * 修改 - * @param data - */ - void update(CmsContent data); - /** * 上线 * @param id diff --git a/service/src/main/java/com/hfkj/service/cms/impl/CmsContentServiceImpl.java b/service/src/main/java/com/hfkj/service/cms/impl/CmsContentServiceImpl.java index 43d156e..2cae3d0 100644 --- a/service/src/main/java/com/hfkj/service/cms/impl/CmsContentServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/cms/impl/CmsContentServiceImpl.java @@ -1,25 +1,16 @@ package com.hfkj.service.cms.impl; -import com.alibaba.fastjson.JSONObject; -import com.hfkj.common.exception.BaseException; import com.hfkj.common.exception.ErrorCode; import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; -import com.hfkj.common.utils.DateUtil; import com.hfkj.common.utils.RedisUtil; import com.hfkj.dao.CmsContentMapper; import com.hfkj.entity.CmsContent; import com.hfkj.entity.CmsContentExample; -import com.hfkj.mqtopic.TaskTopic; import com.hfkj.service.cms.CmsContentService; import com.hfkj.sysenum.cms.CmsStatusEnum; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.rocketmq.client.exception.MQBrokerException; -import org.apache.rocketmq.client.exception.MQClientException; -import org.apache.rocketmq.client.producer.SendResult; -import org.apache.rocketmq.common.message.Message; -import org.apache.rocketmq.remoting.exception.RemotingException; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.stereotype.Service; @@ -38,8 +29,6 @@ public class CmsContentServiceImpl implements CmsContentService { @Resource private CmsContentMapper cmsContentMapper; @Resource - private RocketMQTemplate rocketMQTemplate; - @Resource private RedisUtil redisUtil; public final static String CACHE_CMS_ONLINE = "CACHE_CMS_ONLINE"; @Override @@ -52,45 +41,6 @@ public class CmsContentServiceImpl implements CmsContentService { } else { cmsContentMapper.updateByPrimaryKey(data); } - - try { - if (data.getStartTime() != null) { - if (DateUtil.getSecondDiff(new Date(), data.getStartTime()) >= 1) { - Message message = new Message(TaskTopic.TASK_TOPIC.getTopic(), TaskTopic.CMS_ONLINE.getTag(), data.getId().toString().getBytes()); - // 定时投递,执行时间 - message.setDeliverTimeMs(data.getStartTime().getTime()); - SendResult sendResult = rocketMQTemplate.getProducer().send(message); - System.out.println("开始时间:"+ JSONObject.toJSONString(sendResult)); - } else { - // 开始时间小于当前时间 - // 上线 - online(data.getId()); - } - } - - if (data.getEndTime() != null) { - if (DateUtil.getSecondDiff(new Date(), data.getEndTime()) >= 1) { - Message message = new Message(TaskTopic.TASK_TOPIC.getTopic(), TaskTopic.CMS_OFFLINE.getTag(), data.getId().toString().getBytes()); - // 定时投递,执行时间 - message.setDeliverTimeMs(data.getEndTime().getTime()); - SendResult sendResult = rocketMQTemplate.getProducer().send(message); - System.out.println("结束时间:"+ JSONObject.toJSONString(sendResult)); - } else { - // 下线 - offline(data.getId()); - } - } - } catch (BaseException e) { - throw ErrorHelp.genException(SysCode.System,ErrorCode.COMMON_ERROR, e.getErrorMsg()); - } catch (Exception e) { - throw ErrorHelp.genException(SysCode.System, ErrorCode.UNKNOW_ERROR, e.getMessage() ); - } - } - - @Override - public void update(CmsContent data) { - data.setUpdateTime(new Date()); - cmsContentMapper.updateByPrimaryKey(data); } @Override @@ -104,7 +54,7 @@ public class CmsContentServiceImpl implements CmsContentService { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法上线,状态错误"); } cmsContent.setStatus(CmsStatusEnum.status2.getStatus()); - update(cmsContent); + editData(cmsContent); // 删除缓存 redisUtil.hdel(CmsContentServiceImpl.CACHE_CMS_ONLINE, ""+cmsContent.getType()); } @@ -120,7 +70,7 @@ public class CmsContentServiceImpl implements CmsContentService { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法下线,状态错误"); } cmsContent.setStatus(CmsStatusEnum.status3.getStatus()); - update(cmsContent); + editData(cmsContent); // 删除缓存 redisUtil.hdel(CmsContentServiceImpl.CACHE_CMS_ONLINE, ""+cmsContent.getType()); @@ -148,6 +98,14 @@ public class CmsContentServiceImpl implements CmsContentService { criteria.andNameLike("%"+MapUtils.getString(param, "name")+"%"); } + if (MapUtils.getLong(param, "createTimeS") != null) { + criteria.andCreateTimeGreaterThanOrEqualTo(new Date(MapUtils.getLong(param, "createTimeS"))); + } + + if (MapUtils.getLong(param, "createTimeE") != null) { + criteria.andCreateTimeLessThanOrEqualTo(new Date(MapUtils.getLong(param, "createTimeE"))); + } + example.setOrderByClause("update_time desc"); return cmsContentMapper.selectByExample(example); }