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

feat:配置定时任务

上级 697791bb
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
<java.version>8</java.version> <java.version>8</java.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId> <artifactId>spring-boot-starter</artifactId>
......
...@@ -28,7 +28,7 @@ import java.util.Map; ...@@ -28,7 +28,7 @@ import java.util.Map;
@EnableJpaRepositories( @EnableJpaRepositories(
entityManagerFactoryRef = "entityManagerFactoryLocation", entityManagerFactoryRef = "entityManagerFactoryLocation",
transactionManagerRef = "transactionManagerLocation", transactionManagerRef = "transactionManagerLocation",
basePackages = {"com.tykj.transfer.Slavedao"} basePackages = {"com.tykj.transfer.slave_dao"}
) )
@EnableConfigurationProperties(JpaProperties.class) @EnableConfigurationProperties(JpaProperties.class)
public class LocationConfig { public class LocationConfig {
......
package com.tykj.transfer.controller; package com.tykj.transfer.controller;
import com.tykj.transfer.SlaveService.Biz088DcActivityStatisticsService; import com.tykj.transfer.slave_service.Biz088DcActivityStatisticsService;
import com.tykj.transfer.SlaveService.Biz088DcNetworkStatisticsService; import com.tykj.transfer.slave_service.Biz088DcNetworkStatisticsService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
......
...@@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; ...@@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -19,6 +20,8 @@ import java.util.Set; ...@@ -19,6 +20,8 @@ import java.util.Set;
public interface ActivitiesDao extends JpaRepository<Activity, Long> { public interface ActivitiesDao extends JpaRepository<Activity, Long> {
List<Activity> findAllByCreatedAtAfter(Date date);
} }
package com.tykj.transfer.dao; package com.tykj.transfer.dao;
import com.tykj.transfer.entity.Activity;
import com.tykj.transfer.entity.Branches; import com.tykj.transfer.entity.Branches;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -18,4 +20,7 @@ import java.util.List; ...@@ -18,4 +20,7 @@ import java.util.List;
*/ */
public interface BranchesDao extends JpaRepository<Branches, Long> { public interface BranchesDao extends JpaRepository<Branches, Long> {
List<Branches> findAllByUpdatedAtAfter(Date date);
} }
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
/** /**
...@@ -196,12 +197,12 @@ public class Biz088DcActivityStatistics { ...@@ -196,12 +197,12 @@ public class Biz088DcActivityStatistics {
* 业务库数据产生时间 * 业务库数据产生时间
*/ */
@Column(name = "Biz_time") @Column(name = "Biz_time")
private Date bizTime; private Timestamp bizTime;
/** /**
* 数据仓数据记录时间 * 数据仓数据记录时间
*/ */
@Column(name = "load_time") @Column(name = "load_time")
private Date loadTime; private Timestamp loadTime;
/** /**
* op * op
*/ */
...@@ -211,12 +212,12 @@ public class Biz088DcActivityStatistics { ...@@ -211,12 +212,12 @@ public class Biz088DcActivityStatistics {
* tongTime * tongTime
*/ */
@Column(name = "tong_time") @Column(name = "tong_time")
private Date tongTime; private Timestamp tongTime;
/** /**
* tongId * tongId
*/ */
@Id @Id
@Column(name = "tongID") @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 com.tykj.transfer.pojo.Biz088DcActivityStatistics;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@Repository
public interface Biz088DcActivityStatisticsDao extends JpaRepository<Biz088DcActivityStatistics, Long> { 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 com.tykj.transfer.pojo.Biz088DcNetworkStatistics;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface Biz088DcNetworkStatisticsDao extends JpaRepository<Biz088DcNetworkStatistics, Long> { public interface Biz088DcNetworkStatisticsDao extends JpaRepository<Biz088DcNetworkStatistics, Long> {
......
package com.tykj.transfer.SlaveService; package com.tykj.transfer.slave_service;
public interface Biz088DcActivityStatisticsService { public interface Biz088DcActivityStatisticsService {
......
package com.tykj.transfer.SlaveService; package com.tykj.transfer.slave_service;
public interface Biz088DcNetworkStatisticsService { public interface Biz088DcNetworkStatisticsService {
......
package com.tykj.transfer.SlaveService.impl; package com.tykj.transfer.slave_service.impl;
import com.alibaba.druid.util.StringUtils; import com.alibaba.druid.util.StringUtils;
import com.tykj.transfer.SlaveDao.Biz088DcActivityStatisticsDao; import com.alibaba.fastjson.JSON;
import com.tykj.transfer.SlaveService.Biz088DcActivityStatisticsService; import com.tykj.transfer.slave_dao.Biz088DcActivityStatisticsDao;
import com.tykj.transfer.slave_service.Biz088DcActivityStatisticsService;
import com.tykj.transfer.dao.ActivitiesDao; import com.tykj.transfer.dao.ActivitiesDao;
import com.tykj.transfer.entity.Activity; import com.tykj.transfer.entity.Activity;
import com.tykj.transfer.entity.Branches;
import com.tykj.transfer.pojo.Biz088DcActivityStatistics; import com.tykj.transfer.pojo.Biz088DcActivityStatistics;
import com.tykj.transfer.pojo.Biz088DcNetworkStatistics; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; 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.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Service @Service
@Slf4j @Slf4j
...@@ -31,12 +38,14 @@ public class Biz088DcActivityStatisticsServiceImpl implements Biz088DcActivitySt ...@@ -31,12 +38,14 @@ public class Biz088DcActivityStatisticsServiceImpl implements Biz088DcActivitySt
@Override @Override
public void transferActivity() { 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<>(); List<Biz088DcActivityStatistics> rs = new ArrayList<>();
for (Activity activity : all) { for (Activity activity : all) {
Biz088DcActivityStatistics newObj = new Biz088DcActivityStatistics(); String jsonString = JSON.toJSONString(activity);
BeanUtils.copyProperties(activity, newObj); Biz088DcActivityStatistics newObj = JSON.parseObject(jsonString, Biz088DcActivityStatistics.class);
newObj.setBizTime(date); newObj.setBizTime(date);
newObj.setLoadTime(date); newObj.setLoadTime(date);
if (!StringUtils.equals(activity.getDataActiveStatus(), "1")) { if (!StringUtils.equals(activity.getDataActiveStatus(), "1")) {
...@@ -44,11 +53,33 @@ public class Biz088DcActivityStatisticsServiceImpl implements Biz088DcActivitySt ...@@ -44,11 +53,33 @@ public class Biz088DcActivityStatisticsServiceImpl implements Biz088DcActivitySt
} }
newObj.setTongTime(date); newObj.setTongTime(date);
newObj.setTongId(0L); newObj.setTongId(0L);
newObj.setIntroduction(filterEmojis(newObj.getIntroduction()));
try {
biz088DcActivityStatisticsDao.save(newObj);
} catch (Exception e) {
log.error("{}", e.toString());
}
rs.add(newObj); 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.alibaba.druid.util.StringUtils;
import com.tykj.transfer.SlaveDao.Biz088DcNetworkStatisticsDao; import com.alibaba.fastjson.JSON;
import com.tykj.transfer.SlaveService.Biz088DcNetworkStatisticsService; 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.dao.BranchesDao;
import com.tykj.transfer.entity.Branches; import com.tykj.transfer.entity.Branches;
import com.tykj.transfer.pojo.Biz088DcNetworkStatistics; import com.tykj.transfer.pojo.Biz088DcNetworkStatistics;
...@@ -14,7 +16,8 @@ import javax.annotation.Resource; ...@@ -14,7 +16,8 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional;
import static com.tykj.transfer.slave_service.impl.Biz088DcActivityStatisticsServiceImpl.filterEmojis;
@Service @Service
@Slf4j @Slf4j
...@@ -32,20 +35,22 @@ public class Biz088DcBranchTrainStatisticsImpl implements Biz088DcNetworkStatist ...@@ -32,20 +35,22 @@ public class Biz088DcBranchTrainStatisticsImpl implements Biz088DcNetworkStatist
Date date = new Date(); Date date = new Date();
List<Biz088DcNetworkStatistics> rs = new ArrayList<>(); List<Biz088DcNetworkStatistics> rs = new ArrayList<>();
for (Branches branches : all) { for (Branches branches : all) {
Biz088DcNetworkStatistics newObj = new Biz088DcNetworkStatistics(); Biz088DcNetworkStatistics newObj = JSON.parseObject( JSON.toJSONString(branches), Biz088DcNetworkStatistics.class);
BeanUtils.copyProperties(branches, newObj);
newObj.setBizTime(date); newObj.setBizTime(date);
newObj.setLoadTime(date); newObj.setLoadTime(date);
if (!StringUtils.equals(branches.getDataActiveStatus(), "1")) { if (!StringUtils.equals(branches.getDataActiveStatus(), "1")) {
newObj.setOp("delete"); newObj.setOp("delete");
} }
newObj.setTongTime(date); 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); rs.add(newObj);
} }
if (!rs.isEmpty()) {
biz088DcNetworkStatisticsDao.saveAll(rs);
}
log.info("网点转移完成,成功转移了{}条", rs.size()); 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论