12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package cc.xiaokuihua.wechat.handler;
- import cc.xiaokuihua.entity.msg.wechat.entity.MsgTimedRemind;
- import cc.xiaokuihua.entity.msg.wechat.mapper.MsgTimedRemindMapper;
- import cc.xiaokuihua.wechat.feign.WeChatFerryFeign;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 小程序定时任务
- *
- * @author ssk
- * @version 1.0
- * @date 2025/1/14 11:23
- */
- @Slf4j
- @Component
- @RequiredArgsConstructor
- public class MiniProgramHandler {
- private final MsgTimedRemindMapper msgTimedRemindMapper;
- private final WeChatFerryFeign weChatFerryFeign;
- /**
- * 每分钟获取推送消息, 并推送
- */
- @Scheduled(cron = "0 * * * * *")
- public void getTimedRemind() {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
- String date = sdf.format(new Date());
- log.info("开始获取定时推送消息: {}", date);
- LambdaQueryWrapper<MsgTimedRemind> wrapper = new LambdaQueryWrapper<>();
- wrapper.like(MsgTimedRemind::getRemindTime, date).orderByAsc(MsgTimedRemind::getCreatedTime);
- List<MsgTimedRemind> msgTimedReminds = msgTimedRemindMapper.selectList(wrapper);
- for (MsgTimedRemind msgTimedRemind : msgTimedReminds) {
- Map<String, Object> map = new HashMap<>();
- map.put("msgText", msgTimedRemind.getRemindContent());
- map.put("recipient", msgTimedRemind.getReceiveUser());
- weChatFerryFeign.sendTextMsg(map);
- }
- }
- }
|