12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 'use strict';
- const _ = require('lodash');
- const moment = require('moment');
- const { CrudService } = require('naf-framework-mongoose-free/lib/service');
- const { ObjectId } = require('mongoose').Types;
- const fs = require('fs');
- class UtilService extends CrudService {
- constructor(ctx) {
- super(ctx);
- this.mq = this.ctx.mq;
- }
- async utilMethod(query, body) {
- // 非开发模式不执行
- if (process.env.NODE_ENV !== 'development') return;
- console.log('in function:');
- const res = await this.ctx.curl('http://baoan.fwedzgc.com:8090/api/position?name=刘睿峰', { dataType: 'json' });
- const { data } = res.data;
- const ids = data.map(i => i._id);
- console.log(ids);
- console.log(ids.length);
- // for (const id of ids) {
- // const r = await this.ctx.curl(`http://baoan.fwedzgc.com:8090/api/position/${id}`, { method: 'DELETE', dataType: 'json', headers: { dkey: 'free' } });
- // console.log(r);
- // }
- }
- async expertExport() {
- }
- dealQuery(query) {
- return this.turnFilter(this.turnDateRangeQuery(query));
- }
- /**
- * 将查询条件中模糊查询的标识转换成对应object
- * @param {Object} filter 查询条件
- */
- turnFilter(filter) {
- const str = /^%\S*%$/;
- const keys = Object.keys(filter);
- for (const key of keys) {
- const res = key.match(str);
- if (res) {
- const newKey = key.slice(1, key.length - 1);
- filter[newKey] = new RegExp(filter[key]);
- delete filter[key];
- }
- }
- return filter;
- }
- /**
- * 将时间转换成对应查询Object
- * @param {Object} filter 查询条件
- */
- turnDateRangeQuery(filter) {
- const keys = Object.keys(filter);
- for (const k of keys) {
- if (k.includes('@')) {
- const karr = k.split('@');
- if (karr.length === 2) {
- const type = karr[1];
- if (type === 'start') {
- if (filter[k] && filter[k] !== '') {
- filter[karr[0]] = {
- ..._.get(filter, karr[0], {}),
- $gte: filter[k],
- };
- }
- } else {
- if (filter[k] && filter[k] !== '') {
- filter[karr[0]] = {
- ..._.get(filter, karr[0], {}),
- $lte: filter[k],
- };
- }
- }
- delete filter[k];
- }
- }
- }
- return filter;
- }
- }
- module.exports = UtilService;
|