Pārlūkot izejas kodu

需求迭代 每天早上九点更新停用账号 只更新昨天的 凌晨到九点的账号不更新

lqc 4 gadi atpakaļ
vecāks
revīzija
e152dd83a6

+ 1 - 0
src/main/java/com/mokamrp/privates/controller/pangu/FosterwxFlowListController.java

@@ -82,6 +82,7 @@ public class FosterwxFlowListController extends BaseController<FosterwxFlowList>
 
             // 更新个微池状态为停用
             fosterwxMobilePool.setStatus(0);
+            fosterwxMobilePool.setStatusUpdateTime(LocalDateTime.now());
             fosterwxMobilePool.setIsAuto(1);
             fosterwxMobilePool.setUpdateUid(fosterwxFlowList.getUpdateUid());
             fosterwxMobilePool.setUpdateAt(LocalDateTime.now());

+ 2 - 1
src/main/java/com/mokamrp/privates/mapper/pangu/FosterwxMobilePoolMapper.xml

@@ -13,6 +13,7 @@
         <result column="code_url" property="codeUrl"/>
         <result column="status" property="status"/>
         <result column="is_auto" property="isAuto" />
+        <result column="status_update_time" property="statusUpdateTime" />
         <result column="wx_appid" property="wxAppid"/>
         <result column="max_fans" property="maxFans"/>
         <result column="bus_mobile_no" property="busMobileNo"/>
@@ -26,7 +27,7 @@
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
         id
-        , pool_index, station_id, station_name, mobile_code, mobile_no, code_url, status, is_auto, wx_appid, max_fans, bus_mobile_no, flow_position, create_uid, update_uid, create_at, update_at
+        , pool_index, station_id, station_name, mobile_code, mobile_no, code_url, status, is_auto, status_update_time, wx_appid, max_fans, bus_mobile_no, flow_position, create_uid, update_uid, create_at, update_at
     </sql>
     <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.FosterwxMobilePool">
         SELECT *

+ 15 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/FosterwxMobilePool.java

@@ -71,6 +71,11 @@ public class FosterwxMobilePool extends Model<FosterwxMobilePool> {
     private Integer isAuto;
 
     /**
+     * 保存自动设置停用的时间
+     */
+    private LocalDateTime statusUpdateTime;
+
+    /**
      * 微信appid
      */
     private String wxAppid;
@@ -183,6 +188,14 @@ public class FosterwxMobilePool extends Model<FosterwxMobilePool> {
         this.isAuto = isAuto;
     }
 
+    public LocalDateTime getStatusUpdateTime() {
+        return statusUpdateTime;
+    }
+
+    public void setStatusUpdateTime(LocalDateTime statusUpdateTime) {
+        this.statusUpdateTime = statusUpdateTime;
+    }
+
     public String getWxAppid() {
         return wxAppid;
     }
@@ -271,6 +284,8 @@ public class FosterwxMobilePool extends Model<FosterwxMobilePool> {
                 ", mobileNo=" + mobileNo +
                 ", codeUrl=" + codeUrl +
                 ", status=" + status +
+                ", isAuto=" + isAuto +
+                ", statusUpdateTime=" + statusUpdateTime +
                 ", wxAppid=" + wxAppid +
                 ", maxFans=" + maxFans +
                 ", fans=" + fans +

+ 10 - 1
src/main/java/com/mokamrp/privates/task/pangu/SyncFosterwxMobilePool.java

@@ -8,6 +8,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.List;
 
 @Component
@@ -23,7 +26,13 @@ public class SyncFosterwxMobilePool {
     @SchedulerLock(name = "pangu:SyncFosterwxMobilePool", lockAtLeastForString = "PT5S", lockAtMostForString = "PT15M")
     public void execute() {
         // 获取自动变更为停用的个微池数据
-        List<FosterwxMobilePool> fosterwxMobilePoolList = fosterwxMobilePoolService.list(new LambdaQueryWrapper<FosterwxMobilePool>().eq(FosterwxMobilePool::getStatus, 0).eq(FosterwxMobilePool::getIsAuto, 1));
+        LocalDate localDate = LocalDate.now();
+        LocalDateTime localDateTime = LocalDateTime.of(localDate, LocalTime.MIN);
+        List<FosterwxMobilePool> fosterwxMobilePoolList = fosterwxMobilePoolService.list(new LambdaQueryWrapper<FosterwxMobilePool>().
+                eq(FosterwxMobilePool::getStatus, 0).
+                eq(FosterwxMobilePool::getIsAuto, 1).
+                lt(FosterwxMobilePool::getStatusUpdateTime, localDateTime).
+                isNotNull(FosterwxMobilePool::getStatusUpdateTime));
 
         fosterwxMobilePoolList.forEach(fosterwxMobilePool -> {
             fosterwxMobilePool.setStatus(1);

+ 1 - 1
src/test/java/com/mokamrp/AutoMPPangu.java

@@ -47,7 +47,7 @@ public class AutoMPPangu {
 				.setColumnNaming(NamingStrategy.underline_to_camel)
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
 				.setTablePrefix("pan_") //表名前缀
-				.setInclude("pan_fosterwx_task_schedule");  //生成的表
+				.setInclude("pan_fosterwx_mobile_pool");  //生成的表
 		
 		//4. 包名策略配置 
 		PackageConfig pkConfig = new PackageConfig();