Explorar el Código

任务提交 所有缓存的初始化和定时执行

张均强 hace 4 años
padre
commit
34e6f2125e

+ 4 - 1
common/fire-dto/src/main/java/com/fire/dto/FlowOrderInfo.java

@@ -11,7 +11,7 @@ import lombok.Data;
 public class FlowOrderInfo {
 
     @ApiModelProperty(value = "接入ID号")
-    private String flowAppId;
+    private Long flowAppId;
 
     @ApiModelProperty(value = "订单ID号")
     private Long orderId;
@@ -128,5 +128,8 @@ public class FlowOrderInfo {
     @ApiModelProperty(value = "归属地市行政编码")
     private String phoneCity;
 
+    @ApiModelProperty(value = "归属地名称")
+    private String phoneHome;
+
 
 }

+ 3 - 1
modules/make-order/src/main/java/com/fire/order/service/impl/MakeOrderServiceImpl.java

@@ -298,7 +298,7 @@ public class MakeOrderServiceImpl implements MakeOrderService {
 
         //初始化订单详情
         FlowOrderInfo order = new FlowOrderInfo();
-        order.setFlowAppId(appId);
+        order.setFlowAppId(flowAppInfo.getFlowAppId());
         order.setOrderId(orderId);
         order.setPackageId(product.getPackageId());
         order.setCustomerId(flowAppInfo.getCustomerId());
@@ -315,6 +315,8 @@ public class MakeOrderServiceImpl implements MakeOrderService {
         order.setProductId(product.getProductId());
         order.setPhoneOperator(product.getOperator());
         order.setPhoneCity(phoneZone.getAreaCode());
+        order.setAppId(appId);
+        order.setPhoneHome(phoneZone.getProvince() + "-" + phoneZone.getCity());
 
         //订单转换为json入redis
         String orderStr;

+ 81 - 5
modules/make-order/src/main/java/com/fire/order/task/CacheCustomerTask.java

@@ -21,23 +21,99 @@ public class CacheCustomerTask {
     private CacheService cacheService;
 
     /**
-     * 每天凌晨2时2分2秒定时缓存客户信息
+     * 每天凌晨2时5分0秒定时缓存客户信息
      */
     @Async
-    @Scheduled(cron = "2 2 2 * * ?")
+    @Scheduled(cron = "0 5 2 * * ?")
     public void cacheCustomer() {
         cacheService.cacheCustomer();
-        log.info("每天执行缓存客户信息任务完成");
     }
 
     /**
-     * spring启动时执行缓存初始化
+     * 每天凌晨2时10分0秒定时缓存黑名单
+     */
+    @Async
+    @Scheduled(cron = "0 10 2 * * ?")
+    public void cacheBlacklist() {
+        cacheService.cacheBlacklist();
+    }
+
+    /**
+     * 每天凌晨2时15分0秒定时缓存黑名单
+     */
+    @Async
+    @Scheduled(cron = "0 15 2 * * ?")
+    public void cacheVirtualNum() {
+        cacheService.cacheVirtualNum();
+    }
+
+    /**
+     * 每天凌晨2时20分0秒定时缓存归属信息
+     */
+    @Async
+    @Scheduled(cron = "0 20 2 * * ?")
+    public void cachePhoneZone() {
+        cacheService.cachePhoneZone();
+    }
+
+    /**
+     * 每天凌晨2时25分0秒定时缓存维护信息
+     */
+    @Async
+    @Scheduled(cron = "0 25 2 * * ?")
+    public void cacheMaintenance() {
+        cacheService.cacheMaintenance();
+    }
+
+
+    /**
+     * spring启动时执行缓存初始化客户信息
      */
     @Async
     @PostConstruct
     public void initCustomer() {
         cacheService.cacheCustomer();
-        log.info("系统启动初始缓存客户信息完成");
+        log.info("spring启动时执行缓存初始化客户信息");
+    }
+
+    /**
+     * spring启动时执行缓存初始化黑名单
+     */
+    @Async
+    @PostConstruct
+    public void initBlacklist() {
+        cacheService.cacheBlacklist();
+        log.info("spring启动时执行缓存初始化黑名单");
+    }
+
+    /**
+     * spring启动时执行缓存初始化虚拟号段
+     */
+    @Async
+    @PostConstruct
+    public void initVirtualNum() {
+        cacheService.cacheVirtualNum();
+        log.info("spring启动时执行缓存初始化虚拟号段");
+    }
+
+    /**
+     * spring启动时执行缓存初始化号码归属
+     */
+    @Async
+    @PostConstruct
+    public void initPhoneZone() {
+        cacheService.cachePhoneZone();
+        log.info("spring启动时执行缓存初始化号码归属");
+    }
+
+    /**
+     * spring启动时执行缓存初始化维护信息
+     */
+    @Async
+    @PostConstruct
+    public void initMaintenance() {
+        cacheService.cacheMaintenance();
+        log.info("spring启动时执行缓存初始化维护信息");
     }
 
 

+ 3 - 1
modules/make-order/src/main/resources/mapper/PhoneZoneMapper.xml

@@ -17,7 +17,9 @@
 
     <!--查询单个-->
     <select id="queryAll" resultMap="PhoneZoneMap">
-        select phone,
+        select
+               city,
+               phone,
                case when isp = '移动' then 1 when isp = '电信' then 2 when isp = '联通' then 3 end operator,
                province,
                area_code,