浏览代码

预警信息规则改变

guhongwei 3 年之前
父节点
当前提交
56af6c5fa8
共有 1 个文件被更改,包括 15 次插入18 次删除
  1. 15 18
      app/service/patent/patentearly.js

+ 15 - 18
app/service/patent/patentearly.js

@@ -96,30 +96,27 @@ class PatentearlyService extends CrudService {
     for (const i of data) {
       try {
         const { create_date } = i;
-        // 当前年份
-        const now_year = moment(new Date()).format('YYYY');
-        // 专利日期
-        const patent_month = moment(create_date).format('MM-DD');
-        // 专利到期日期
-        const end = now_year + '-' + patent_month;
-        // 专利到期前一天
-        const endbeforeone = moment(end).subtract(1, 'd').format('YYYY-MM-DD');
-        // 专利到期日期减去三个月
+        // 专利到期时间
+        const expire_date = moment(new Date()).format('YYYY') + '-' + moment(create_date).format('MM-DD');
+        // 专利到期时间延后一个月
+        const end = moment(expire_date).add(1, 'months').format('YYYY-MM-DD');
+        // 专利到期前三个月
         const start = moment(end).subtract(limitMonth, 'months').format('YYYY-MM-DD');
+        // 专利到期前两个月
+        const start_two = moment(end).subtract(2, 'months').format('YYYY-MM-DD');
+        // 专利到期前一个月
+        const start_thr = moment(end).subtract(1, 'months').format('YYYY-MM-DD');
+        // 判断是否是三个月的区间
         const r = moment().isBetween(start, end, null, '[]');
+        // 判断是否在一个月的区间
+        const one_section = moment().isBetween(start_thr, end, null, '[]');
         if (r) {
-          // 2021-11-08 第一天/最后一天/相差天数被10整出的天数(并不算是严格的每隔10天) 发送消息
+          // 三个月内的第一天||两个月内第一天||一个月内的每天 发送消息
           // 是否发送的变量
           let dr = false;
-          if (moment().format('YYYY-MM-DD') === start || moment().format('YYYY-MM-DD') === endbeforeone) {
-            // 第一天/最后一天发送
+          const toDay = moment().format('YYYY-MM-DD');
+          if (toDay === start || toDay === start_two || one_section) {
             dr = true;
-          } else {
-            // 差10天就发
-            const dur = 10;
-            const subDay = moment(end).diff(moment(), 'days');
-            // 判断是不是整数.整数就发送
-            dr = _.isInteger(_.floor(_.divide(subDay, dur)));
           }
           // 不发就继续
           if (!dr) continue;