doomiwork 3.6.2 → 3.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -335,7 +335,7 @@ class controller {
335
335
  /////处理SQL中的一些定义符
336
336
  let parseSql = rcp.parseAndReplaceSql(req,beforeData.sql);
337
337
  ////操作数据库
338
- let result = await this._daoModel.delete(parseSql, beforeData.sqlParams)
338
+ let result = await this._daoModel.delete(parseSql, beforeData.sqlParams,req.user?.id)
339
339
  if(!result.successed) {
340
340
  this.logUserAction(req,this._daoModel.getBusiness(),2,-1);
341
341
  return result;
@@ -1,11 +1,10 @@
1
- // @ts-check
2
- /**
1
+ /**
3
2
  * 封装了数据访问层的基础访问
4
3
  * Author : Stephen.Shen
5
4
  */
6
5
 
7
6
  const dao = require('./mysqlbase');
8
-
7
+ const Moment = require('moment')
9
8
  class mysqlDao extends dao{
10
9
  /**
11
10
  * 构造函数,确定使用的数据库链接
@@ -104,7 +103,13 @@ class mysqlDao extends dao{
104
103
  */
105
104
  deleteSql() {
106
105
  ////如果是逻辑删除,则只将记录的删除状态设置为1
107
- if(this.tableoption.logicDelete) return `update ${this.tableoption.tableName} set ${this.tableoption.logicDeleteField || 'rec_isdeleted'} =1 where ${this.tableoption.primaryKey}=? ${this.tableoption.forcefilter}`;
106
+ if(this.tableoption.logicDelete) {
107
+
108
+ return `update ${this.tableoption.tableName} set ${this.tableoption.logicDeleteField || 'rec_isdeleted'} =1 where ${this.tableoption.primaryKey}=? ${this.tableoption.forcefilter}`;
109
+ //sqlDelete = sqlDelete.replace('#DELETEBY#', this.tableoption.logDeleteBy?`${this.tableoption.logDeleteBy}=?,`:'')
110
+ //sqlDelete = sqlDelete.replace('#DELETEDATE#', this.tableoption.logDeleteDate ? `${this.tableoption.logDeleteDate}=now(),` : '');
111
+ //return sqlDelete;
112
+ }
108
113
  return `delete from ${this.tableoption.tableName} where ${this.tableoption.primaryKey}=? ${this.tableoption.forcefilter}`;
109
114
  }
110
115
 
@@ -122,7 +127,22 @@ class mysqlDao extends dao{
122
127
  ///更新记录
123
128
  async update(Sql, model, id) {return this.executeSql(Sql, [model, id]);}
124
129
  ///删除记录
125
- async delete(Sql, id) {return this.executeSql(Sql, id);}
130
+ async delete(Sql, id,userid) {
131
+ return this.executeSql(Sql, id);
132
+ /*if (result.successed && this.tableoption.logicDelete && userid && (this.tableoption.logDeleteBy || this.tableoption.logDeleteDate)){
133
+ let sqlLog = `update ${this.tableoption.tableName} set ? where ${this.tableoption.primaryKey}=? ${this.tableoption.forcefilter}`;
134
+ let model = {};
135
+ if (this.tableoption.logDeleteBy){
136
+ model[this.tableoption.logDeleteBy] = userid;
137
+ }
138
+ if (this.tableoption.logDeleteDate){
139
+ model[this.tableoption.logDeleteDate] = Moment().format('YYYY-MM-DD HH:mm:ss');
140
+ }
141
+ if (Object.keys(model).length>0) this.executeSql(sqlLog, [model, id]);
142
+ }
143
+ return result;
144
+ */
145
+ }
126
146
  /**
127
147
  * 获取对应数据的权限设置
128
148
  * @param {*} id
@@ -117,7 +117,7 @@ class Database {
117
117
  if (err) {
118
118
  this.logger.error("Database Query Error :" + err, sqlCommand);
119
119
  this.logError(null, '数据库操作错误:' + err + sqlCommand)
120
- return success(Object.assign(apiResult.DB_EXECUTE_FAILED, { errmessage: err.message }));
120
+ return success(Object.assign(apiResult.DB_EXECUTE_FAILED, { errmessage:'数据库操作错误'}));// err.message }));
121
121
  }
122
122
  return success({ successed: true, rows: rows });//,fields:fields});
123
123
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doomiwork",
3
- "version": "3.6.2",
3
+ "version": "3.7.1",
4
4
  "description": "doomisoft nodejs web framework",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -64,6 +64,9 @@ class RequestParser {
64
64
  if (!keyValue && noQuoteProtect) {
65
65
  keyValue = '1=0'
66
66
  }
67
+ }else{ ////数组形式的参数,目前框架不支持,统一认为为sql注入攻击,全部忽略
68
+ parseKeyWordIsNull = true;
69
+ keyValue = ''
67
70
  }
68
71
  sql=sql.replace(ele,keyValue);
69
72
  });