guhongwei 3 years ago
parent
commit
ff523796fc
2 changed files with 22 additions and 22 deletions
  1. 2 2
      app/schedule/patentearly.js
  2. 20 20
      app/service/patent/patentearly.js

+ 2 - 2
app/schedule/patentearly.js

@@ -2,8 +2,8 @@
 module.exports = {
   schedule: {
     // interval: '30s', // 1 分钟间隔
-    cron: '0 0 23 * * *', // 每天晚上十一点
-    // cron: '5 * * * * ?', // 30s
+    // cron: '0 0 23 * * *', // 每天晚上十一点
+    cron: '5 * * * * ?', // 30s
     type: 'worker', // 指定所有的 worker 都需要执行
   },
   async task(ctx) {

+ 20 - 20
app/service/patent/patentearly.js

@@ -17,7 +17,8 @@ class PatentearlyService extends CrudService {
   }
   async query(query, { skip = 0, limit = 0 }) {
     const newquery = await this.resetCode(query);
-    const res = await this.model.find(newquery).skip(parseInt(skip)).limit(parseInt(limit)).sort({ 'meta.createdAt': -1 });
+    const res = await this.model.find(newquery).skip(parseInt(skip)).limit(parseInt(limit))
+      .sort({ 'meta.createdAt': -1 });
     return res;
   }
   async count(query) {
@@ -33,13 +34,13 @@ class PatentearlyService extends CrudService {
     let ids = [];
     if (code) {
       const plist = await this.personalModel.find({ code });
-      ids = plist.map((i) => i._id);
+      ids = plist.map(i => i._id);
       if (ids.length > 0) {
         newquery.user_id = { $elemMatch: { $in: ids } };
         delete newquery.code;
       }
     } else if (user_id) {
-      newquery.user_id = { $elemMatch: { $in: [ObjectId(user_id)] } };
+      newquery.user_id = { $elemMatch: { $in: [ ObjectId(user_id) ] } };
     }
 
     return newquery;
@@ -49,9 +50,10 @@ class PatentearlyService extends CrudService {
     assert(code, '缺少机构信息');
     let pids = await this.personalModel.find({ code }, { _id: 1 });
     if (pids.length <= 0) return { data: [], total: 0 };
-    pids = pids.map((i) => i._id);
+    pids = pids.map(i => i._id);
     const query = { user_id: { $elemMatch: { $in: pids } } };
-    const data = await this.model.find(query).skip(parseInt(skip)).limit(parseInt(limit)).sort({ 'meta.createdAt': -1 });
+    const data = await this.model.find(query).skip(parseInt(skip)).limit(parseInt(limit))
+      .sort({ 'meta.createdAt': -1 });
     const total = await this.model.count(query);
     return { data, total };
   }
@@ -85,7 +87,7 @@ class PatentearlyService extends CrudService {
   }
 
   /**
-   * 
+   *
    * @param {Array} data 处理数据
    */
   async dealData(data) {
@@ -94,18 +96,16 @@ class PatentearlyService extends CrudService {
     for (const i of data) {
       try {
         const { create_date } = i;
-        // 取专利日期
-        const month = moment(create_date).format('MM-DD');
-        // // 取得当前年份
-        const nowYear = moment(new Date()).format('YYYY');
-        // // 当前年份+一年
-        const afterYear = moment(nowYear).add(1, 'year').format('YYYY');
-        // // 开始时间(先组合日期,减去三个月)
-        const nowDate = afterYear + '-' + month;
-        const start = moment(nowDate).subtract(limitMonth, 'months').format('YYYY-MM-DD');
-        // 结束时间
-        const end = afterYear + '-' + month;
+        // 当前年份
+        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 start = moment(end).subtract(limitMonth, 'months').format('YYYY-MM-DD');
         const r = moment().isBetween(start, end, null, '[]');
         if (r) {
           // 2021-11-08 第一天/最后一天/相差天数被10整出的天数(并不算是严格的每隔10天) 发送消息
@@ -123,14 +123,14 @@ class PatentearlyService extends CrudService {
           }
           // 不发就继续
           if (!dr) continue;
-          const { user_id, name } = i;
+          const { user_id } = i;
           // 2021-11-04 修改,因为inventor修改为发明人[Object],所以发明人需要处理成字符串
-          const users = user_id.map((i) => i.user_id);
+          const users = user_id.map(i => i.user_id);
           // // const inventorNameString = inventor.map(i => i.name).join(';');
           // // const content = `发明人 【${inventorNameString}】 的已授权专利 【${name}】 即将失效,避免专利失效过期,请用户及时查看消息并处理! `;
           const content = '您可能需缴年费了,具体以缴费通知书为准 ';
           const nobj = {
-            ..._.omit(i, ['_id', 'id', 'users']),
+            ..._.omit(i, [ '_id', 'id', 'users' ]),
             content,
             parent_id: i._id,
             user_id: users,