| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package com.dataeasy.server.task;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Objects;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import org.springframework.transaction.annotation.Transactional;
- import com.dataeasy.server.atomic.entity.DataDaLeTou;
- import com.dataeasy.server.atomic.service.IDataDaLeTouService;
- import com.dataeasy.server.constant.HzApiStatusEnum;
- import com.dataeasy.server.constant.ScheduleTaskEnum;
- import com.dataeasy.server.feign.dto.hzapi.DaLeTouResponse;
- import com.dataeasy.server.feign.dto.hzapi.HzApiRequest;
- import lombok.extern.slf4j.Slf4j;
- import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
- /**
- * @author tyuio
- * @version 1.0.0
- * @description 大乐透定时任务,执行时间:每周一、三、六,晚上21:30
- * @date 2025/3/6 20:19
- */
- @Slf4j
- @Component
- public class DaLeTouTask extends AbstractHzApiTask {
- @Autowired
- private IDataDaLeTouService daLeTouService;
- @Scheduled(cron = "30 21 * * 1,3,6")
- @Transactional(rollbackFor = Exception.class)
- public void exec() {
- executeMain();
- }
- @Override
- public ScheduleTaskEnum getTaskEnum() {
- return ScheduleTaskEnum.DA_LE_TOU;
- }
- @Override
- public void fetchData() {
- // 拉取数据
- HzApiRequest request = buildCommonRequest();
- DaLeTouResponse daLeTouResponse = hzApiFeign.getDaLeTou(request);
- if (Objects.isNull(daLeTouResponse)) {
- log.warn("拉取大乐透数据失败,返回结果对象为空");
- return;
- }
- if (!HzApiStatusEnum.SUCCESS.getCode().equals(daLeTouResponse.getCode())) {
- log.warn("拉取大乐透数据失败,接口盒子返回错误信息:{}", daLeTouResponse.getMsg());
- return;
- }
- // 数据入库
- DataDaLeTou addDaLeTou = new DataDaLeTou();
- BeanUtils.copyProperties(daLeTouResponse, addDaLeTou);
- daLeTouService.insert(addDaLeTou);
- }
- @Override
- public TemplateMessage getTemplateMessage() {
- // 这是模板所需数据
- List<WxMpTemplateData> templateDataList = new ArrayList();
- templateDataList.add(new WxMpTemplateData("first", "预约成功"));
- templateDataList.add(new WxMpTemplateData("keyword1", "测试111"));
- templateDataList.add(new WxMpTemplateData("keyword2","测试2222"));
- templateDataList.add(new WxMpTemplateData("keyword3","测试333"));
- templateDataList.add(new WxMpTemplateData("keyword4","测试4444"));
- templateDataList.add(new WxMpTemplateData("remark","测试备注"));
- return TemplateMessage.builder()
- .url("www.baidu.com")
- .templateId(wxMessageProperties.getTemplateId())
- .templateDataList(templateDataList)
- .build();
- }
- }
|