提交 87736ac6 authored 作者: ljj's avatar ljj

feat:配置定时任务

上级 697791bb
......@@ -17,6 +17,12 @@
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
......
......@@ -28,7 +28,7 @@ import java.util.Map;
@EnableJpaRepositories(
entityManagerFactoryRef = "entityManagerFactoryLocation",
transactionManagerRef = "transactionManagerLocation",
basePackages = {"com.tykj.transfer.Slavedao"}
basePackages = {"com.tykj.transfer.slave_dao"}
)
@EnableConfigurationProperties(JpaProperties.class)
public class LocationConfig {
......
package com.tykj.transfer.controller;
import com.tykj.transfer.SlaveService.Biz088DcActivityStatisticsService;
import com.tykj.transfer.SlaveService.Biz088DcNetworkStatisticsService;
import com.tykj.transfer.slave_service.Biz088DcActivityStatisticsService;
import com.tykj.transfer.slave_service.Biz088DcNetworkStatisticsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
......
......@@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
import java.util.Set;
......@@ -19,6 +20,8 @@ import java.util.Set;
public interface ActivitiesDao extends JpaRepository<Activity, Long> {
List<Activity> findAllByCreatedAtAfter(Date date);
}
package com.tykj.transfer.dao;
import com.tykj.transfer.entity.Activity;
import com.tykj.transfer.entity.Branches;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
/**
......@@ -18,4 +20,7 @@ import java.util.List;
*/
public interface BranchesDao extends JpaRepository<Branches, Long> {
List<Branches> findAllByUpdatedAtAfter(Date date);
}
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
/**
......@@ -196,12 +197,12 @@ public class Biz088DcActivityStatistics {
* 业务库数据产生时间
*/
@Column(name = "Biz_time")
private Date bizTime;
private Timestamp bizTime;
/**
* 数据仓数据记录时间
*/
@Column(name = "load_time")
private Date loadTime;
private Timestamp loadTime;
/**
* op
*/
......@@ -211,12 +212,12 @@ public class Biz088DcActivityStatistics {
* tongTime
*/
@Column(name = "tong_time")
private Date tongTime;
private Timestamp tongTime;
/**
* tongId
*/
@Id
@Column(name = "tongID")
private Long tongId;
private Long tongId = 0L;
}
package com.tykj.transfer.SlaveDao;
package com.tykj.transfer.slave_dao;
import com.tykj.transfer.pojo.Biz088DcActivityStatistics;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface Biz088DcActivityStatisticsDao extends JpaRepository<Biz088DcActivityStatistics, Long> {
}
package com.tykj.transfer.SlaveDao;
package com.tykj.transfer.slave_dao;
import com.tykj.transfer.pojo.Biz088DcNetworkStatistics;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface Biz088DcNetworkStatisticsDao extends JpaRepository<Biz088DcNetworkStatistics, Long> {
......
package com.tykj.transfer.SlaveService;
package com.tykj.transfer.slave_service;
public interface Biz088DcActivityStatisticsService {
......
package com.tykj.transfer.SlaveService;
package com.tykj.transfer.slave_service;
public interface Biz088DcNetworkStatisticsService {
......
package com.tykj.transfer.SlaveService.impl;
package com.tykj.transfer.slave_service.impl;
import com.alibaba.druid.util.StringUtils;
import com.tykj.transfer.SlaveDao.Biz088DcActivityStatisticsDao;
import com.tykj.transfer.SlaveService.Biz088DcActivityStatisticsService;
import com.alibaba.fastjson.JSON;
import com.tykj.transfer.slave_dao.Biz088DcActivityStatisticsDao;
import com.tykj.transfer.slave_service.Biz088DcActivityStatisticsService;
import com.tykj.transfer.dao.ActivitiesDao;
import com.tykj.transfer.entity.Activity;
import com.tykj.transfer.entity.Branches;
import com.tykj.transfer.pojo.Biz088DcActivityStatistics;
import com.tykj.transfer.pojo.Biz088DcNetworkStatistics;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.transaction.RollbackException;
import javax.transaction.Transactional;
import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Service
@Slf4j
......@@ -31,12 +38,14 @@ public class Biz088DcActivityStatisticsServiceImpl implements Biz088DcActivitySt
@Override
public void transferActivity() {
List<Activity> all = activitiesDao.findAll();
Date date = new Date();
Date from = Date.from(LocalDateTime.now().minusWeeks(1L).toInstant(ZoneOffset.of("+8")));
List<Activity> all = activitiesDao.findAllByCreatedAtAfter(from);
Timestamp date = new Timestamp(new Date().getTime());
List<Biz088DcActivityStatistics> rs = new ArrayList<>();
for (Activity activity : all) {
Biz088DcActivityStatistics newObj = new Biz088DcActivityStatistics();
BeanUtils.copyProperties(activity, newObj);
String jsonString = JSON.toJSONString(activity);
Biz088DcActivityStatistics newObj = JSON.parseObject(jsonString, Biz088DcActivityStatistics.class);
newObj.setBizTime(date);
newObj.setLoadTime(date);
if (!StringUtils.equals(activity.getDataActiveStatus(), "1")) {
......@@ -44,11 +53,33 @@ public class Biz088DcActivityStatisticsServiceImpl implements Biz088DcActivitySt
}
newObj.setTongTime(date);
newObj.setTongId(0L);
newObj.setIntroduction(filterEmojis(newObj.getIntroduction()));
try {
biz088DcActivityStatisticsDao.save(newObj);
} catch (Exception e) {
log.error("{}", e.toString());
}
rs.add(newObj);
}
if (!rs.isEmpty()) {
biz088DcActivityStatisticsDao.saveAll(rs);
// biz088DcActivityStatisticsDao.saveAll(rs);
log.info("活动转移完成:{}", rs.size());
}
public static String filterEmojis(String text) {
if (text == null) {
return "";
}
log.info("活动转移完成,成功转移了{}条", rs.size());
// 使用正则表达式匹配表情包字符
String regex = "[\\x{1F600}-\\x{1F64F}\\x{1F300}-\\x{1F5FF}\\x{1F680}-\\x{1F6FF}\\x{1F700}-\\x{1F77F}\\x{1F780}-\\x{1F7FF}\\x{1F800}-\\x{1F8FF}\\x{1F900}-\\x{1F9FF}\\x{1FA00}-\\x{1FA6F}\\x{1FA70}-\\x{1FAFF}\\x{1FAB0}-\\x{1FAB6}\\x{1FAC0}-\\x{1FAC2}\\x{1FAD0}-\\x{1FAD6}\\x{1FAD8}\\x{1FAD9}\\x{1FADA}]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
// 使用空格替换匹配到的表情包字符
String filteredText = matcher.replaceAll(" ");
return filteredText;
}
}
package com.tykj.transfer.SlaveService.impl;
package com.tykj.transfer.slave_service.impl;
import com.alibaba.druid.util.StringUtils;
import com.tykj.transfer.SlaveDao.Biz088DcNetworkStatisticsDao;
import com.tykj.transfer.SlaveService.Biz088DcNetworkStatisticsService;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.tykj.transfer.slave_dao.Biz088DcNetworkStatisticsDao;
import com.tykj.transfer.slave_service.Biz088DcNetworkStatisticsService;
import com.tykj.transfer.dao.BranchesDao;
import com.tykj.transfer.entity.Branches;
import com.tykj.transfer.pojo.Biz088DcNetworkStatistics;
......@@ -14,7 +16,8 @@ import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import static com.tykj.transfer.slave_service.impl.Biz088DcActivityStatisticsServiceImpl.filterEmojis;
@Service
@Slf4j
......@@ -32,20 +35,22 @@ public class Biz088DcBranchTrainStatisticsImpl implements Biz088DcNetworkStatist
Date date = new Date();
List<Biz088DcNetworkStatistics> rs = new ArrayList<>();
for (Branches branches : all) {
Biz088DcNetworkStatistics newObj = new Biz088DcNetworkStatistics();
BeanUtils.copyProperties(branches, newObj);
Biz088DcNetworkStatistics newObj = JSON.parseObject( JSON.toJSONString(branches), Biz088DcNetworkStatistics.class);
newObj.setBizTime(date);
newObj.setLoadTime(date);
if (!StringUtils.equals(branches.getDataActiveStatus(), "1")) {
newObj.setOp("delete");
}
newObj.setTongTime(date);
newObj.setTongId(0L);
newObj.setAddress(filterEmojis(newObj.getAddress()));
// newObj.setTongId(0L);
try {
biz088DcNetworkStatisticsDao.save(newObj);
}catch (Exception e) {
log.error("{}", e.toString());
}
rs.add(newObj);
}
if (!rs.isEmpty()) {
biz088DcNetworkStatisticsDao.saveAll(rs);
}
log.info("网点转移完成,成功转移了{}条", rs.size());
}
}
package com.tykj.transfer.task;
import com.sun.media.jfxmedia.logging.Logger;
import com.tykj.transfer.slave_service.Biz088DcActivityStatisticsService;
import com.tykj.transfer.slave_service.Biz088DcNetworkStatisticsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class PushTask {
@Autowired
private Biz088DcActivityStatisticsService biz088DcActivityStatisticsService;
@Autowired
private Biz088DcNetworkStatisticsService biz088DcNetworkStatisticsService;
@Scheduled(cron = "0 0 1 ? * MON")
public void task() {
log.info("周任务开始执行");
biz088DcActivityStatisticsService.transferActivity();
biz088DcNetworkStatisticsService.transferBranch();
log.info("周任务执行完成");
}
}
spring.profiles.active=dev
spring.profiles.active=prod
logging.file.path=./log
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论