lrf 2 年之前
父节点
当前提交
5648bb5620
共有 1 个文件被更改,包括 17 次插入1 次删除
  1. 17 1
      app/service/view/goods.js

+ 17 - 1
app/service/view/goods.js

@@ -3,6 +3,7 @@ const { CrudService } = require('naf-framework-mongoose-free/lib/service');
 const { BusinessError, ErrorCode } = require('naf-core').Error;
 const _ = require('lodash');
 const assert = require('assert');
+const moment = require('moment');
 const { ObjectId } = require('mongoose').Types;
 
 //
@@ -147,6 +148,12 @@ class GoodsService extends CrudService {
       }
       data.goods.tags = nt;
     }
+    data.act = data.act.filter(f => {
+      const start_time = _.get(f, 'config.time_start');
+      const end_time = _.get(f, 'config.time_end');
+      if (!(start_time && end_time)) return false;
+      return moment().isBetween(start_time, end_time, null, '[]');
+    });
     for (const d of data.act) {
       const { tag, text, aboutList } = await this.ctx.service.system.platformAct.getActText(d, data.goods);
       d.text = text;
@@ -292,8 +299,17 @@ class GoodsService extends CrudService {
     // 处理活动标签
     await this.getActTags(list);
     // 实时匹配活动
+    const nowTime = moment().format('YYYY-MM-DD HH:mm:ss');
     // 只找: 买赠;特价;满减/折; 特价需要修改价格; 剩下的打标签
-    const platformActList = await this.platformActModel.find({ is_use: '0', type: [ '2', '3', '5', '6' ] });
+    const platformActList = await this.platformActModel
+      .find({ is_use: '0', type: [ '2', '3', '5', '6' ], 'config.time_start': { $lte: nowTime }, 'config.time_end': { $gte: nowTime } })
+      .lean(); //
+    // platformActList = platformActList.filter(f => {
+    //   const start_time = _.get(f, 'config.time_start');
+    //   const end_time = _.get(f, 'config.time_end');
+    //   if (!(start_time && end_time)) return false;
+    //   return moment().isBetween(start_time, end_time, null, '[]');
+    // });
     await this.getAboutAct(platformActList, list);
     // 检查团长价格
     const user_id = _.get(this.ctx, 'user._id');