|
@@ -3,14 +3,19 @@ const { CrudService } = require('naf-framework-mongoose/lib/service');
|
|
|
const { BusinessError, ErrorCode } = require('naf-core').Error;
|
|
|
const _ = require('lodash');
|
|
|
const assert = require('assert');
|
|
|
-
|
|
|
+const moment = require('moment');
|
|
|
|
|
|
class OrderService extends CrudService {
|
|
|
constructor(ctx) {
|
|
|
super(ctx, 'order');
|
|
|
this.model = this.ctx.model.Dining.Order;
|
|
|
}
|
|
|
-
|
|
|
+ async create(data) {
|
|
|
+ const res = await this.model.create(data);
|
|
|
+
|
|
|
+ this.ctx.service.dining.menu.addOrder(data);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
|
|
|
* 扫码领餐
|
|
|
* @param {Object} query 参数
|
|
@@ -19,6 +24,32 @@ class OrderService extends CrudService {
|
|
|
async useMeal({ id }) {
|
|
|
console.log(id);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 检查所有的票是否过期
|
|
|
+ */
|
|
|
+ async checkTimeOut() {
|
|
|
+ const tenantList = await this.ctx.model.System.Tenant.find();
|
|
|
+ for (const site of tenantList) {
|
|
|
+ const { _tenant } = site;
|
|
|
+
|
|
|
+ this.ctx.tenant = _tenant;
|
|
|
+
|
|
|
+ const list = await this.ctx.model.Dining.Order.find();
|
|
|
+ for (const order of list) {
|
|
|
+ const { date } = order;
|
|
|
+
|
|
|
+ const breakfast_time = `${date} 10:00`;
|
|
|
+ const lunch_time = `${date} 13:00`;
|
|
|
+ const dinner_time = `${date} 19:00`;
|
|
|
+ if (order.breakfast.list.length > 0 && moment().isSameOrAfter(breakfast_time)) order.breakfast.is_use = '3';
|
|
|
+ if (order.lunch.list.length > 0 && moment().isSameOrAfter(lunch_time)) order.lunch.is_use = '3';
|
|
|
+ if (order.dinner.list.length > 0 && moment().isSameOrAfter(dinner_time)) order.dinner.is_use = '3';
|
|
|
+ await order.save();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
module.exports = OrderService;
|