lrf há 2 anos atrás
pai
commit
9466bcc62b
1 ficheiros alterados com 15 adições e 17 exclusões
  1. 15 17
      app/service/view/goods.js

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

@@ -47,14 +47,14 @@ class GoodsService extends CrudService {
     condition = this.dealFilter(condition);
     const pipline = [{ $match: { status: { $ne: '0' } } }]; // { $sort: { sort: 1 } },
     const { view_num, sell_num, sell_money, name, shop, tags } = condition;
-    const sort = {};
+    let sort = {};
     if (view_num) sort.view_num = parseInt(view_num);
     if (sell_num) sort.sell_num = parseInt(sell_num);
     if (sell_money) sort.sell_money = parseInt(sell_money);
     if (name) pipline.push({ $match: { name: new RegExp(name) } });
     if (shop) pipline.push({ $match: { shop } });
     if (tags) pipline.push({ $match: { tags: { $elemMatch: { $elemMatch: { $eq: tags } } } } });
-    pipline.push({ $addFields: { goods_id: { $toString: '$_id' } } });
+    pipline.push({ $addFields: { goods_id: { $toString: '$_id' }, create_time: { $dateToString: { date: '$meta.createdAt', format: '%Y-%m-%d %H:%M:%S', timezone: '+08:00' } } } });
     // 表关联
     pipline.push({
       $lookup: {
@@ -75,6 +75,8 @@ class GoodsService extends CrudService {
         view_num: 1,
         sell_num: 1,
         file: 1,
+        sort: 1,
+        create_time: 1,
         sell_money: { $toDouble: '$specs.sell_money' },
         flow_money: { $toDouble: '$specs.flow_money' },
         createdAt: '$meta.createdAt',
@@ -85,30 +87,26 @@ class GoodsService extends CrudService {
       $group: {
         _id: '$_id',
         data: { $min: '$$CURRENT' },
-        // name: { $first: '$name' },
-        // view_num: { $first: '$view_num' },
-        // sell_num: { $first: '$sell_num' },
-        // sell_money: { $min: '$sell_money' },
-        // flow_money: { $first: '$flow_money' },
-        // file: { $first: '$file' },
-        // spec_file: { $first: '$spec_file' },
-        // createdAt: { $first: '$createdAt' },
       },
     });
     pipline.push({
       $project: {
         name: '$data.name',
-        view_num: '$data.view_num',
-        sell_num: '$data.sell_num',
-        file: '$data.file',
-        sell_money: '$data.sell_money',
-        flow_money: '$data.flow_money',
-        createdAt: '$data.createdAt',
-        spec_file: '$data.spec_file',
+        // view_num: '$data.view_num',
+        // sell_num: '$data.sell_num',
+        // file: '$data.file',
+        // sell_money: '$data.sell_money',
+        // flow_money: '$data.flow_money',
+        // createdAt: '$data.createdAt',
+        // spec_file: '$data.spec_file',
+        create_time: '$data.create_time',
+        sort: '$data.sort',
       },
     });
     sort.sort = 1;
+    sort = { ...sort, sort: 1, create_time: -1 };
     pipline.push({ $sort: sort });
+    console.log(pipline);
     // 分页处理
     const qPipline = _.cloneDeep(pipline);
     if (parseInt(skip)) qPipline.push({ $skip: parseInt(skip) });