Browse Source

update 1.0.35

lrf 1 year ago
parent
commit
91268f0148

+ 0 - 1
src/error/service.error.ts

@@ -44,7 +44,6 @@ export class ServiceError extends MidwayError {
   constructor(str: string, errcode: string = ErrorCode.UNKNOWN, detail?: any) {
     super(str, errcode);
     if (detail) {
-      console.log(detail);
       this.detail = detail;
     }
   }

+ 9 - 17
src/interface/SearchBase.ts

@@ -1,4 +1,4 @@
-import _ = require('lodash');
+import { cloneDeep, omit, get, head, last } from 'lodash'
 
 /**
  * @constructor
@@ -21,32 +21,24 @@ export class SearchBase {
    * 此处将字段转换为使用的方式
    */
   getFilter() {
-    const that = _.cloneDeep(this);
-    const others = _.omit(that, ['like_prop', 'props', 'mapping']);
+    const that = cloneDeep(this);
+    const others = omit(that, ['like_prop', 'props', 'mapping']);
     let keys = Object.keys(others);
     keys = keys.filter(f => this.props.includes(f));
     const result = {};
     for (const i of keys) {
       const value = this[i];
-      // 布尔值放过
-      // 值不存在或者为空字符串,过滤掉
-      if (!_.isBoolean(value)) {
-        if (!value || value === '') {
-          delete this[i];
-          continue;
-        }
-      }
       if (this.like_prop.includes(i)) {
         // 处理模糊查询
-        const propName = _.get(this.mapping, i, i);
+        const propName = get(this.mapping, i, i);
         result[propName] = new RegExp(value);
       } else if (i.includes('@')) {
         // 处理范围查询
         const arr = i.split('@');
-        const prop = _.head(arr);
-        const propName = _.get(this.mapping, prop, prop);
-        const pos = _.last(arr);
-        const pd = _.get(result, propName, {});
+        const prop = head(arr);
+        const propName = get(this.mapping, prop, prop);
+        const pos = last(arr);
+        const pd = get(result, propName, {});
         if (pos === 'start') {
           Object.assign(pd, { $gte: value });
         } else if (pos === 'end') {
@@ -55,7 +47,7 @@ export class SearchBase {
         result[propName] = pd;
       } else {
         // 正常处理
-        const propName = _.get(this.mapping, i, i);
+        const propName = get(this.mapping, i, i);
         result[propName] = value;
       }
     }

+ 6 - 6
src/interface/VOBase.ts

@@ -1,13 +1,13 @@
-import _ = require('lodash');
+import { get } from 'lodash'
 export class VOBase {
   constructor(response: object) {
-    this.errcode = _.get(response, 'errcode', 0);
-    this.errmsg = _.get(response, 'errmsg', 'ok');
-    this.details = _.get(response, 'details');
-    this.total = _.get(response, 'total');
+    this.errcode = get(response, 'errcode', 0);
+    this.errmsg = get(response, 'errmsg', 'ok');
+    this.details = get(response, 'details');
+    this.total = get(response, 'total');
     // 查询列表和只返回结果的区分,根据total决定
     if (this.total || this.total === 0) {
-      this.data = _.get(response, 'data');
+      this.data = get(response, 'data');
     } else {
       this.data = response;
     }

+ 2 - 2
src/middleware/response.middleware.ts

@@ -2,7 +2,7 @@ import { IMiddleware } from '@midwayjs/core';
 import { Middleware, App } from '@midwayjs/decorator';
 import { NextFunction, Context, Application } from '@midwayjs/koa';
 import { VOBase } from '../interface/VOBase';
-import _ = require('lodash');
+import { get } from 'lodash'
 @Middleware()
 export class ResponseMiddleware implements IMiddleware<Context, NextFunction> {
   @App()
@@ -12,7 +12,7 @@ export class ResponseMiddleware implements IMiddleware<Context, NextFunction> {
       await next();
       // 过滤掉 api文档的请求
       const swaggerPath = this.app.getConfig()?.swagger?.swaggerPath;
-      const url = _.get(ctx, 'request.originalUrl');
+      const url = get(ctx, 'request.originalUrl');
       if (!url.includes(swaggerPath)) {
         const response = ctx.response;
         const body = response.body;

+ 7 - 7
src/service/BaseService.ts

@@ -2,7 +2,7 @@ import { ReturnModelType } from '@typegoose/typegoose';
 import { AnyParamConstructor } from '@typegoose/typegoose/lib/types';
 import { Application, Context } from '@midwayjs/koa';
 import { App, Inject } from '@midwayjs/decorator';
-import _ = require('lodash');
+import { cloneDeep, get } from 'lodash'
 import { FrameworkErrorEnum, ServiceError } from '../error/service.error';
 import { GetModel } from '../util/getModel';
 import { SearchBase } from '../interface/SearchBase';
@@ -29,7 +29,7 @@ export abstract class BaseService<T extends AnyParamConstructor<any>> {
    * @returns {Promise<object>} 返回列表
    */
   async query(filter: SearchBase, pageOptions: PageOptions = {}, resultOptions: ResultOptions = { lean: true, populate: true }): Promise<Array<any>> {
-    const dup = _.cloneDeep(filter.getFilter());
+    const dup = cloneDeep(filter.getFilter());
     const { lean, populate } = resultOptions;
     let refs = [];
     if (populate) refs = this.getRefs();
@@ -46,7 +46,7 @@ export abstract class BaseService<T extends AnyParamConstructor<any>> {
    * @returns {number} 数据总数
    */
   async count(filter: SearchBase): Promise<number> {
-    const dup = _.cloneDeep(filter.getFilter());
+    const dup = cloneDeep(filter.getFilter());
     const total = await this.model.count(dup);
     return total;
   }
@@ -99,7 +99,7 @@ export abstract class BaseService<T extends AnyParamConstructor<any>> {
    */
   async updateMany(filter: SearchBase, body: object): Promise<string> {
     if (!body) throw new ServiceError('缺少修改信息', FrameworkErrorEnum.NEED_BODY);
-    const dup = _.cloneDeep(filter.getFilter());
+    const dup = cloneDeep(filter.getFilter());
     await this.model.updateMany(dup, body);
     return 'ok';
   }
@@ -123,7 +123,7 @@ export abstract class BaseService<T extends AnyParamConstructor<any>> {
   async deleteMany(filter: SearchBase): Promise<string> {
     const keys = Object.keys(filter);
     if (keys.length <= 0) throw new ServiceError('暂不提供清库服务', FrameworkErrorEnum.SERVICE_FAULT);
-    const dup = _.cloneDeep(filter.getFilter());
+    const dup = cloneDeep(filter.getFilter());
     await this.model.deleteMany(dup);
     return 'ok';
   }
@@ -151,11 +151,11 @@ export abstract class BaseService<T extends AnyParamConstructor<any>> {
    * 获取本服务默认表的ref关系
    */
   getRefs(): Array<PopulateOptions> {
-    const schema: any = _.get(this.model, 'schema.tree');
+    const schema: any = get(this.model, 'schema.tree');
     const refs = [];
     for (const key in schema) {
       const f = schema[key];
-      const ref = _.get(f, 'ref');
+      const ref = get(f, 'ref');
       if (ref) {
         const model = GetModel(ref);
         const path = key;

+ 3 - 5
src/util/transactions.ts

@@ -1,7 +1,7 @@
 import { Provide } from '@midwayjs/decorator';
 import { FrameworkErrorEnum, ServiceError } from '../error/service.error';
 import { Types } from 'mongoose';
-import _ = require('lodash');
+import { get } from 'lodash';
 import { GetModel } from './getModel';
 /**状态码 */
 enum StatusCode {
@@ -139,14 +139,12 @@ export class TransactionService {
    * 回滚,将success的任务全部回滚
    */
   async rollback() {
-    const needRollback = this.mission.filter(
-      f => f.status === StatusCode.SUCCESS
-    );
+    const needRollback = this.mission.filter(f => f.status === StatusCode.SUCCESS);
     for (const m of needRollback) {
       const { model: modelName, opera, data, backUp } = m;
       const model = GetModel(modelName);
       if (opera === OperaCode.CREATE) {
-        const _id = _.get(data, '_id');
+        const _id = get(data, '_id');
         await model.deleteOne({ _id });
       } else if (opera === OperaCode.UPDATE) {
         for (const bd of backUp) {