Browse Source

1、销售金额统计排除无效订单;

Lawsun_M 1 year ago
parent
commit
63529a16f2
2 changed files with 171 additions and 159 deletions
  1. 169 157
      app/controller/manager/manager.js
  2. 2 2
      app/service/order.js

+ 169 - 157
app/controller/manager/manager.js

@@ -1,5 +1,5 @@
 'use strict';
-//基类控制器
+// 基类控制器
 const BaseController = require('../base.js');
 /**
  * [exports 继承基类控制骂]
@@ -7,161 +7,173 @@ const BaseController = require('../base.js');
  */
 module.exports = class ManagerController extends BaseController {
 
-	/**
-	 * [useModel 当前使用的模型]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	get useModel() {
-		throw new Error('未实现使用的模型定义,请检查');
-	}
-	/**
-	 * [createValidate 增的验证器]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	get createValidate() {
-		throw new Error('未实现数据添加的验证器,请检查');
-	}
-	/**
-	 * [useModelPk 模型主键]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	get modelPk() {
-		let that = this;
-		let keys = Object.keys((that.useModel).primaryKeys);
-		if(keys.length > 0) return keys[0];
-		throw new Error('未找到模型主键,请检查');
-	}
-	/**
-	 * [modelName 模型名称]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	get modelName() {
-		return '数据';
-	}
-	/**
-	 * [pkValidate 主键验证器]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	get pkValidate() {
-		let that = this;
-		let pkRules = {};
-		pkRules[that.modelPk] = that.ctx.rules.name('主键字段').required().number();
-		return pkRules;
-	}
-	/**
-	 * [selectValidate 数据查找验证器]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	get selectValidate() {
-		let that = this;
-		let selectRules = {
-			page:that.ctx.rules.default(1).number(),
-			limit:that.ctx.rules.default(20).number()
-		};
-		let primary_key = that.modelPk;
-		selectRules[primary_key] = that.ctx.rules.default(0).number();
-		return selectRules;
-	}
-	/**
-	 * [create 增]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	async create() {
-		let that = this;
-		try {
-			let data = await that.ctx.validate(that.createValidate,await that.ctx.postParse());
-			let createBean = that.app.comoBean.instance(data);
-			let result = await that.service.manager.create(createBean,that.useModel,`${that.modelName}添加失败,请稍候重试`);
-			return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS',result,false));
-		} catch(err) {
-			return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
-		}
-	}
+  /**
+   * [useModel 当前使用的模型]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  get useModel() {
+    throw new Error('未实现使用的模型定义,请检查');
+  }
 
-	/**
-	 * [delete 删]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	async delete() {
-		let that = this;
-		try {
-			let data = await that.ctx.validate(that.deleteValidate || that.pkValidate,await that.ctx.anyParse());
-			let primary_key = that.modelPk;
-			let options = {where:{}};
-			options.where[primary_key] = data[primary_key];
-			let deleteBean = that.app.comoBean.instance(data,options);
-			let result = await that.service.manager.delete(deleteBean,that.useModel,`${that.modelName}删除失败,请稍候重试`);
-			return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS',result,false));
-		} catch(err) {
-			return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
-		}
-	}
-	/**
-	 * [update 改]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	async update() {
-		let that = this;
-		try {
-			let data = await that.ctx.validate(that.updateValidate || that.pkValidate,await that.ctx.anyParse());
-			let primary_key = that.modelPk;
-			let admin_id = that.service.manager.ActionAdminUserId();
-			data.admin_id = admin_id;
-			let options = {where:{},fields:Object.keys(data)};
-			options.where[primary_key] = data[primary_key];
-			let updateBean = that.app.comoBean.instance(data,options);
-			let result = await that.service.manager.update(updateBean,that.useModel,`${that.modelName}更新失败,请稍候重试`);
-			return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS',result,false));
-		} catch(err) {
-			return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
-		}
-	}
+  /**
+   * [createValidate 增的验证器]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  get createValidate() {
+    throw new Error('未实现数据添加的验证器,请检查');
+  }
 
-	/**
-	 * [select 查]
-	 * @author    szjcomo
-	 * @date   		2020-11-02
-	 * @return {[type]}     [description]
-	 */
-	async select() {
-		let that = this;
-		try {
-			let data = await that.ctx.validate(that.selectValidate,await that.ctx.anyParse());
-			let primary_key = that.modelPk;
-			let options = {where:{}};
-			if(that.selectOptions instanceof Function) {
-				options = await that.selectOptions(data);
-			} else {
-				if(data[primary_key]) {
-					options.where[primary_key] = data[primary_key];
-				} else {
-					options = {offset:(data.page - 1) * data.limit,limit:data.limit};
-				}
-			}
-			let selectBean = that.app.comoBean.instance(data,options);
-			let count = (data[primary_key]?false:true);
-			let result = await that.service.manager.select(selectBean,that.useModel,`${that.modelName}查询失败,请稍候重试`,count,count);
-			return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS',result,false));
-		} catch(err) {
-			return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
-		}
-	}
-}
+  /**
+   * [useModelPk 模型主键]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  get modelPk() {
+    const that = this;
+    const keys = Object.keys((that.useModel).primaryKeys);
+    if (keys.length > 0) return keys[0];
+    throw new Error('未找到模型主键,请检查');
+  }
+
+  /**
+   * [modelName 模型名称]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  get modelName() {
+    return '数据';
+  }
+
+  /**
+   * [pkValidate 主键验证器]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  get pkValidate() {
+    const that = this;
+    const pkRules = {};
+    pkRules[that.modelPk] = that.ctx.rules.name('主键字段')
+      .required()
+      .number();
+    return pkRules;
+  }
+
+  /**
+   * [selectValidate 数据查找验证器]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  get selectValidate() {
+    const that = this;
+    const selectRules = {
+      page: that.ctx.rules.default(1)
+        .number(),
+      limit: that.ctx.rules.default(20)
+        .number(),
+    };
+    const primary_key = that.modelPk;
+    selectRules[primary_key] = that.ctx.rules.default(0)
+      .number();
+    return selectRules;
+  }
+
+  /**
+   * [create 增]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  async create() {
+    const that = this;
+    try {
+      const data = await that.ctx.validate(that.createValidate, await that.ctx.postParse());
+      const createBean = that.app.comoBean.instance(data);
+      const result = await that.service.manager.create(createBean, that.useModel, `${that.modelName}添加失败,请稍候重试`);
+      return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS', result, false));
+    } catch (err) {
+      return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
+    }
+  }
+
+  /**
+   * [delete 删]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  async delete() {
+    const that = this;
+    try {
+      const data = await that.ctx.validate(that.deleteValidate || that.pkValidate, await that.ctx.anyParse());
+      const primary_key = that.modelPk;
+      const options = { where: {} };
+      options.where[primary_key] = data[primary_key];
+      const deleteBean = that.app.comoBean.instance(data, options);
+      const result = await that.service.manager.delete(deleteBean, that.useModel, `${that.modelName}删除失败,请稍候重试`);
+      return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS', result, false));
+    } catch (err) {
+      return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
+    }
+  }
+
+  /**
+   * [update 改]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  async update() {
+    const that = this;
+    try {
+      const data = await that.ctx.validate(that.updateValidate || that.pkValidate, await that.ctx.anyParse());
+      const primary_key = that.modelPk;
+      const admin_id = that.service.manager.ActionAdminUserId();
+      data.admin_id = admin_id;
+      const options = { where: {}, fields: Object.keys(data) };
+      options.where[primary_key] = data[primary_key];
+      const updateBean = that.app.comoBean.instance(data, options);
+      const result = await that.service.manager.update(updateBean, that.useModel, `${that.modelName}更新失败,请稍候重试`);
+      return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS', result, false));
+    } catch (err) {
+      return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
+    }
+  }
+
+  /**
+   * [select 查]
+   * @author    szjcomo
+   * @date        2020-11-02
+   * @return {[type]}     [description]
+   */
+  async select() {
+    const that = this;
+    try {
+      const data = await that.ctx.validate(that.selectValidate, await that.ctx.anyParse());
+      const primary_key = that.modelPk;
+      let options = { where: {} };
+      if (that.selectOptions instanceof Function) {
+        options = await that.selectOptions(data);
+      } else {
+        if (data[primary_key]) {
+          options.where[primary_key] = data[primary_key];
+        } else {
+          options = { offset: (data.page - 1) * data.limit, limit: data.limit };
+        }
+      }
+      const selectBean = that.app.comoBean.instance(data, options);
+      const count = (!data[primary_key]);
+      const result = await that.service.manager.select(selectBean, that.useModel, `${that.modelName}查询失败,请稍候重试`, count, count);
+      return that.ctx.appJson(that.app.szjcomo.appResult('SUCCESS', result, false));
+    } catch (err) {
+      return that.ctx.appJson(that.app.szjcomo.appResult(err.message));
+    }
+  }
+};

+ 2 - 2
app/service/order.js

@@ -172,8 +172,8 @@ class OrderService extends ShopService {
     const orderCount = await that.app.model.Orders.count({
       group: [ 'order_status' ],
     });
-    const saleCount = await that.app.model.Orders.sum('order_amount', { where: { order_status: { [seq.Op.gt]: 0 } } });
-    const surplusCount = await that.app.model.Orders.sum('surplus_amout', { where: { order_status: { [seq.Op.gt]: 0 } } });
+    const saleCount = await that.app.model.Orders.sum('order_amount', { where: { order_status: { [seq.Op.in]: [ 1, 2, 3, 4 ] } } });
+    const surplusCount = await that.app.model.Orders.sum('surplus_amout', { where: { order_status: { [seq.Op.in]: [ 1, 2, 3, 4 ] } } });
     const result = { data_count: orderCount, sale_money: saleCount, surplus_money: surplusCount };
     return result;
   }