YiAi/YiAiQuickDeploy/dist/modules/statistic/statistic.service.js
2024-02-05 23:18:50 +08:00

1 line
15 KiB
JavaScript

'use strict';function _0x2ac2(_0x508fd4,_0x4f3d79){const _0x2edfe9=_0x2edf();return _0x2ac2=function(_0x2ac258,_0x79a731){_0x2ac258=_0x2ac258-0x79;let _0x58a962=_0x2edfe9[_0x2ac258];return _0x58a962;},_0x2ac2(_0x508fd4,_0x4f3d79);}const _0x4ad715=_0x2ac2;(function(_0x1f964b,_0x573a2f){const _0x3a94a7=_0x2ac2,_0x5b7061=_0x1f964b();while(!![]){try{const _0x39b24b=parseInt(_0x3a94a7(0x8a))/0x1+parseInt(_0x3a94a7(0x86))/0x2+-parseInt(_0x3a94a7(0xe9))/0x3+parseInt(_0x3a94a7(0xe6))/0x4+parseInt(_0x3a94a7(0xbf))/0x5+-parseInt(_0x3a94a7(0xb3))/0x6*(-parseInt(_0x3a94a7(0x8f))/0x7)+-parseInt(_0x3a94a7(0x99))/0x8*(parseInt(_0x3a94a7(0xeb))/0x9);if(_0x39b24b===_0x573a2f)break;else _0x5b7061['push'](_0x5b7061['shift']());}catch(_0x19fca0){_0x5b7061['push'](_0x5b7061['shift']());}}}(_0x2edf,0x8d792));var __decorate=this&&this[_0x4ad715(0xaa)]||function(_0x4c6a07,_0x54a8cb,_0x278318,_0x21ea43){const _0x2eeb42=_0x4ad715;var _0x686486=arguments[_0x2eeb42(0xc3)],_0x185a4f=_0x686486<0x3?_0x54a8cb:_0x21ea43===null?_0x21ea43=Object[_0x2eeb42(0xc9)](_0x54a8cb,_0x278318):_0x21ea43,_0x4b4a99;if(typeof Reflect===_0x2eeb42(0x84)&&typeof Reflect[_0x2eeb42(0x89)]==='function')_0x185a4f=Reflect[_0x2eeb42(0x89)](_0x4c6a07,_0x54a8cb,_0x278318,_0x21ea43);else{for(var _0x1f0984=_0x4c6a07[_0x2eeb42(0xc3)]-0x1;_0x1f0984>=0x0;_0x1f0984--)if(_0x4b4a99=_0x4c6a07[_0x1f0984])_0x185a4f=(_0x686486<0x3?_0x4b4a99(_0x185a4f):_0x686486>0x3?_0x4b4a99(_0x54a8cb,_0x278318,_0x185a4f):_0x4b4a99(_0x54a8cb,_0x278318))||_0x185a4f;}return _0x686486>0x3&&_0x185a4f&&Object['defineProperty'](_0x54a8cb,_0x278318,_0x185a4f),_0x185a4f;},__metadata=this&&this[_0x4ad715(0xd3)]||function(_0x1e510c,_0x3b1c5b){const _0x29a9bd=_0x4ad715;if(typeof Reflect==='object'&&typeof Reflect[_0x29a9bd(0xed)]===_0x29a9bd(0x87))return Reflect[_0x29a9bd(0xed)](_0x1e510c,_0x3b1c5b);},__param=this&&this[_0x4ad715(0xdc)]||function(_0x35357f,_0x4993d5){return function(_0x3277dc,_0x41752e){_0x4993d5(_0x3277dc,_0x41752e,_0x35357f);};};Object[_0x4ad715(0xde)](exports,_0x4ad715(0xd5),{'value':!![]}),exports[_0x4ad715(0x90)]=void 0x0;const common_1=require(_0x4ad715(0xa2)),typeorm_1=require(_0x4ad715(0x88)),user_entity_1=require(_0x4ad715(0xb6)),typeorm_2=require('typeorm'),chatLog_entity_1=require('../chatLog/chatLog.entity'),balance_constant_1=require(_0x4ad715(0xdd)),date_1=require(_0x4ad715(0xd4)),axios_1=require('axios'),config_entity_1=require(_0x4ad715(0xcc)),order_entity_1=require(_0x4ad715(0xbd)),midjourney_entity_1=require(_0x4ad715(0xa3)),midjourney_constant_1=require(_0x4ad715(0xad));let StatisticService=class StatisticService{constructor(_0x336f43,_0x329467,_0x296683,_0x62cfc4,_0x5f4a54){const _0x10a6eb=_0x4ad715;this[_0x10a6eb(0xb5)]=_0x336f43,this[_0x10a6eb(0xdb)]=_0x329467,this['configEntity']=_0x296683,this[_0x10a6eb(0xb0)]=_0x62cfc4,this[_0x10a6eb(0xc6)]=_0x5f4a54;}async[_0x4ad715(0x8e)](){const _0x437798=_0x4ad715,_0x5633e0=await this[_0x437798(0xec)](),_0x2da3c0=await this[_0x437798(0x80)](),_0x554f96=await this[_0x437798(0x96)](),_0x4f2902=await this['countNewChatsToday'](),_0x4cf1f4=await this[_0x437798(0xee)](),_0x11cc07=await this[_0x437798(0xe2)](),_0x399235=await this['countNewMidhourneysToday'](),_0x43b5a6=await this[_0x437798(0xc1)](),_0x128e9a=await this[_0x437798(0xa8)]();return{'userCount':_0x5633e0,'newUserCount':_0x2da3c0,'chatCount':_0x554f96,'newChatCount':_0x4f2902,'drawCount':_0x4cf1f4,'newDrawCount':_0x399235+_0x11cc07,'orderCount':_0x43b5a6,'newOrderCount':_0x128e9a};}async['getChatStatistic']({days:days=0x7}){const _0x1b9c4f=_0x4ad715,_0x4afcd1=await this['countChatsByTimeRange'](days),_0x4e8109=await this[_0x1b9c4f(0xcd)](days),_0x2ccc7d=await this[_0x1b9c4f(0x93)](days);return{'date':_0x4afcd1[_0x1b9c4f(0x83)](_0x569607=>_0x569607[_0x1b9c4f(0x8b)]),'chat':_0x4afcd1[_0x1b9c4f(0x83)](_0x1729d0=>_0x1729d0[_0x1b9c4f(0xe5)]),'draw':_0x4e8109['map']((_0x165abe,_0x5721b7)=>{const _0x2f7364=_0x1b9c4f;return _0x165abe[_0x2f7364(0xe5)]+_0x2ccc7d[_0x5721b7][_0x2f7364(0xe5)];})};}async[_0x4ad715(0xc2)]({days:days=0x7}){const _0x216a9e=_0x4ad715,_0x4b28d8=await this[_0x216a9e(0x9e)](days);return _0x4b28d8;}async['countUsers'](){const _0x3e5ea2=_0x4ad715,_0x2a92b1=await this[_0x3e5ea2(0xb5)][_0x3e5ea2(0xd7)]();return _0x2a92b1;}async[_0x4ad715(0x80)](){const _0x54d764=_0x4ad715,_0x1af2e3=new Date();_0x1af2e3[_0x54d764(0xa4)](0x0,0x0,0x0,0x0);const _0x5ca39a=new Date(_0x1af2e3[_0x54d764(0xbb)]()+0x18*0x3c*0x3c*0x3e8),_0x52670b=this[_0x54d764(0xb5)][_0x54d764(0x9a)](_0x54d764(0xb9)),_0x11323d=await _0x52670b[_0x54d764(0xd1)](_0x54d764(0xa7),{'today':_0x1af2e3})['andWhere'](_0x54d764(0xa1),{'tomorrow':_0x5ca39a})[_0x54d764(0xef)]();return _0x11323d;}async[_0x4ad715(0x96)](){const _0x582da5=_0x4ad715,_0x49ecfd=await this[_0x582da5(0xdb)][_0x582da5(0xd7)]({'where':{'type':balance_constant_1['DeductionKey'][_0x582da5(0x97)]}});return _0x49ecfd;}async[_0x4ad715(0xd9)](){const _0x8455a5=_0x4ad715,_0x5e10db=new Date();_0x5e10db[_0x8455a5(0xa4)](0x0,0x0,0x0,0x0);const _0x11a9a2=new Date(_0x5e10db[_0x8455a5(0xbb)]()+0x18*0x3c*0x3c*0x3e8),_0x4c1be4=this[_0x8455a5(0xdb)][_0x8455a5(0x9a)](_0x8455a5(0xbe)),_0x4640a8=await _0x4c1be4[_0x8455a5(0xd1)](_0x8455a5(0xea),{'type':balance_constant_1[_0x8455a5(0xc0)][_0x8455a5(0x97)]})[_0x8455a5(0x85)](_0x8455a5(0xa0),{'today':_0x5e10db})[_0x8455a5(0x85)](_0x8455a5(0x91),{'tomorrow':_0x11a9a2})['getCount']();return _0x4640a8;}async[_0x4ad715(0xee)](){const _0x3c541c=_0x4ad715,_0x4f11df=await this[_0x3c541c(0xdb)]['count']({'where':{'type':balance_constant_1[_0x3c541c(0xc0)][_0x3c541c(0x7a)]}});return _0x4f11df;}async['countNewDrawsToday'](){const _0x10b181=_0x4ad715,_0x334324=new Date();_0x334324[_0x10b181(0xa4)](0x0,0x0,0x0,0x0);const _0x12559f=new Date(_0x334324['getTime']()+0x18*0x3c*0x3c*0x3e8),_0x4c9ac4=this[_0x10b181(0xdb)][_0x10b181(0x9a)](_0x10b181(0xbe)),_0x44b770=await _0x4c9ac4[_0x10b181(0xd1)](_0x10b181(0xea),{'type':balance_constant_1[_0x10b181(0xc0)][_0x10b181(0x7a)]})[_0x10b181(0x85)](_0x10b181(0xa0),{'today':_0x334324})[_0x10b181(0x85)](_0x10b181(0x91),{'tomorrow':_0x12559f})[_0x10b181(0xef)]();return _0x44b770;}async[_0x4ad715(0x81)](){const _0x321b2e=_0x4ad715,_0x5c7e90=new Date();_0x5c7e90['setHours'](0x0,0x0,0x0,0x0);const _0x47d43c=new Date(_0x5c7e90[_0x321b2e(0xbb)]()+0x18*0x3c*0x3c*0x3e8),_0xe50329=this[_0x321b2e(0xc6)][_0x321b2e(0x9a)](_0x321b2e(0x95)),_0x3acfbd=await _0xe50329[_0x321b2e(0xd1)]('midjourney.createdAt\x20>=\x20:today',{'today':_0x5c7e90})[_0x321b2e(0x85)](_0x321b2e(0xbc),{'tomorrow':_0x47d43c})[_0x321b2e(0xef)]();return _0x3acfbd;}async[_0x4ad715(0xe8)](_0x4fe485){const _0x147796=_0x4ad715;var _0x41e241,_0x2785fd;const _0x20e022=new Date();_0x20e022[_0x147796(0xa4)](0x0,0x0,0x0,0x0);const _0x342387=new Date(_0x20e022[_0x147796(0xbb)]()-(_0x4fe485-0x1)*0x18*0x3c*0x3c*0x3e8),_0x400b3f=this['chatLogEntity']['createQueryBuilder'](_0x147796(0xa6)),_0x10dc15=await _0x400b3f['select'](_0x147796(0xa5))[_0x147796(0xd1)](_0x147796(0xcf),{'type':balance_constant_1['DeductionKey'][_0x147796(0x97)]})[_0x147796(0x85)](_0x147796(0x9d),{'startDate':_0x342387})[_0x147796(0xcb)](_0x147796(0x8b))[_0x147796(0xd8)](_0x147796(0x8b))[_0x147796(0x8c)](),_0x5f2f9e=[],_0x24b38c=_0x342387;for(let _0x5c4642=0x0;_0x5c4642<_0x4fe485;_0x5c4642++){const _0x4cf09e=(0x0,date_1[_0x147796(0xdf)])(new Date(_0x24b38c),_0x147796(0x9b)),_0x137d78=(_0x2785fd=(_0x41e241=_0x10dc15['find'](_0x440cb4=>(0x0,date_1[_0x147796(0xdf)])(new Date(_0x440cb4[_0x147796(0x8b)]),_0x147796(0x9b))===_0x4cf09e))===null||_0x41e241===void 0x0?void 0x0:_0x41e241[_0x147796(0xd7)])!==null&&_0x2785fd!==void 0x0?_0x2785fd:0x0;_0x137d78>0x0?_0x5f2f9e[_0x147796(0xb8)]({'date':_0x4cf09e,'value':Number(_0x137d78)}):_0x5f2f9e[_0x147796(0xb8)]({'date':_0x4cf09e,'value':0x0}),_0x24b38c['setDate'](_0x24b38c[_0x147796(0xc4)]()+0x1);}return _0x5f2f9e;}async[_0x4ad715(0xcd)](_0x1e34ae){const _0x161e81=_0x4ad715;var _0x60967c,_0x25d1cc;const _0x252270=new Date();_0x252270[_0x161e81(0xa4)](0x0,0x0,0x0,0x0);const _0x53fc3a=new Date(_0x252270[_0x161e81(0xbb)]()-(_0x1e34ae-0x1)*0x18*0x3c*0x3c*0x3e8),_0x1f6a00=this[_0x161e81(0xdb)][_0x161e81(0x9a)](_0x161e81(0xa6)),_0x3f972e=await _0x1f6a00[_0x161e81(0x7e)]('DATE(chatlog.createdAt)\x20as\x20date,\x20COUNT(*)\x20as\x20count')['where'](_0x161e81(0xcf),{'type':balance_constant_1['DeductionKey'][_0x161e81(0x7a)]})[_0x161e81(0x85)](_0x161e81(0x9d),{'startDate':_0x53fc3a})[_0x161e81(0xcb)](_0x161e81(0x8b))[_0x161e81(0xd8)](_0x161e81(0x8b))[_0x161e81(0x8c)](),_0x599f71=[],_0x34c4cb=_0x53fc3a;for(let _0x7f9529=0x0;_0x7f9529<_0x1e34ae;_0x7f9529++){const _0x2a46a9=(0x0,date_1[_0x161e81(0xdf)])(new Date(_0x34c4cb),'M.DD'),_0x32121d=(_0x25d1cc=(_0x60967c=_0x3f972e['find'](_0x20ee41=>(0x0,date_1[_0x161e81(0xdf)])(new Date(_0x20ee41[_0x161e81(0x8b)]),'M.DD')===_0x2a46a9))===null||_0x60967c===void 0x0?void 0x0:_0x60967c[_0x161e81(0xd7)])!==null&&_0x25d1cc!==void 0x0?_0x25d1cc:0x0;_0x32121d>0x0?_0x599f71[_0x161e81(0xb8)]({'date':_0x2a46a9,'value':Number(_0x32121d)}):_0x599f71[_0x161e81(0xb8)]({'date':_0x2a46a9,'value':0x0}),_0x34c4cb[_0x161e81(0xba)](_0x34c4cb[_0x161e81(0xc4)]()+0x1);}return _0x599f71;}async['countMjDrawsByTimeRange'](_0xcd7901){const _0x225c46=_0x4ad715;var _0x588d19,_0x1f1628;const _0x37549a=new Date();_0x37549a[_0x225c46(0xa4)](0x0,0x0,0x0,0x0);const _0x63bcf1=new Date(_0x37549a[_0x225c46(0xbb)]()-(_0xcd7901-0x1)*0x18*0x3c*0x3c*0x3e8),_0x38fc7e=this['midjourneyEntity'][_0x225c46(0x9a)]('midjourney'),_0x423078=await _0x38fc7e['select']('DATE(midjourney.createdAt)\x20as\x20date,\x20COUNT(*)\x20as\x20count')[_0x225c46(0xd1)](_0x225c46(0xe0),{'status':midjourney_constant_1[_0x225c46(0xac)][_0x225c46(0xae)]})[_0x225c46(0x85)](_0x225c46(0xe4),{'startDate':_0x63bcf1})[_0x225c46(0xcb)](_0x225c46(0x8b))[_0x225c46(0xd8)](_0x225c46(0x8b))[_0x225c46(0x8c)](),_0x59ea86=[],_0x426b4e=_0x63bcf1;for(let _0xb81e49=0x0;_0xb81e49<_0xcd7901;_0xb81e49++){const _0x5bd01a=(0x0,date_1[_0x225c46(0xdf)])(new Date(_0x426b4e),_0x225c46(0x9b)),_0x31b1c2=(_0x1f1628=(_0x588d19=_0x423078[_0x225c46(0xd0)](_0x398bae=>(0x0,date_1[_0x225c46(0xdf)])(new Date(_0x398bae[_0x225c46(0x8b)]),_0x225c46(0x9b))===_0x5bd01a))===null||_0x588d19===void 0x0?void 0x0:_0x588d19['count'])!==null&&_0x1f1628!==void 0x0?_0x1f1628:0x0;_0x31b1c2>0x0?_0x59ea86[_0x225c46(0xb8)]({'date':_0x5bd01a,'value':Number(_0x31b1c2)}):_0x59ea86[_0x225c46(0xb8)]({'date':_0x5bd01a,'value':0x0}),_0x426b4e['setDate'](_0x426b4e[_0x225c46(0xc4)]()+0x1);}return _0x59ea86;}async['getBaiduStatistics'](_0x51a718){const _0x5efc9a=_0x4ad715;var _0x296226,_0x5d21f2;const _0x21eb9c=(0x0,date_1[_0x5efc9a(0xdf)])(new Date(),_0x5efc9a(0x98)),_0x51c434=(0x0,date_1[_0x5efc9a(0xdf)])(new Date(Date[_0x5efc9a(0x9f)]()-Number(_0x51a718-0x1)*0x18*0x3c*0x3c*0x3e8),_0x5efc9a(0x98)),_0x295fad=_0x5efc9a(0x92),_0x2d4354=_0x5efc9a(0xe3),_0x4ffac3=await this['configEntity'][_0x5efc9a(0xd0)]({'where':{'configKey':(0x0,typeorm_2['In'])(['baiduToken',_0x5efc9a(0xc7)])}}),_0x348e0b=(_0x296226=_0x4ffac3[_0x5efc9a(0xd0)](_0x37c07f=>_0x37c07f[_0x5efc9a(0xca)]===_0x5efc9a(0xc7)))===null||_0x296226===void 0x0?void 0x0:_0x296226[_0x5efc9a(0x8d)],_0x520dd4=(_0x5d21f2=_0x4ffac3['find'](_0x36f7ca=>_0x36f7ca[_0x5efc9a(0xca)]==='baiduToken'))===null||_0x5d21f2===void 0x0?void 0x0:_0x5d21f2[_0x5efc9a(0x8d)];if(!_0x348e0b||!_0x520dd4)return[];if(!_0x348e0b)throw new common_1['HttpException']('请先配置百度统计siteId',common_1[_0x5efc9a(0xb4)][_0x5efc9a(0xa9)]);if(!_0x520dd4)throw new common_1[(_0x5efc9a(0xe1))](_0x5efc9a(0xb2),common_1[_0x5efc9a(0xb4)]['BAD_REQUEST']);const _0x398a78='https://openapi.baidu.com/rest/2.0/tongji/report/getData?access_token='+_0x520dd4+_0x5efc9a(0x9c)+_0x348e0b+_0x5efc9a(0x7f)+_0x2d4354+_0x5efc9a(0xda)+_0x51c434+_0x5efc9a(0x7d)+_0x21eb9c+_0x5efc9a(0xb7)+_0x295fad,_0x1b5ec2=await axios_1[_0x5efc9a(0x82)][_0x5efc9a(0xab)](_0x398a78),{error_code:_0x265f3e,message:_0x17d0cd}=_0x1b5ec2[_0x5efc9a(0xd2)];if(_0x265f3e===0x6f)throw new common_1['HttpException'](_0x17d0cd||_0x5efc9a(0x7c),common_1[_0x5efc9a(0xb4)]['BAD_REQUEST']);if(_0x265f3e&&_0x265f3e!==0xc8)throw new common_1['HttpException'](_0x17d0cd||_0x5efc9a(0xc5),common_1[_0x5efc9a(0xb4)][_0x5efc9a(0xa9)]);return _0x1b5ec2[_0x5efc9a(0xd2)][_0x5efc9a(0xf0)];}async[_0x4ad715(0xc1)](){const _0x2535d0=_0x4ad715,_0x5b302d=await this[_0x2535d0(0xb0)][_0x2535d0(0xd7)]();return _0x5b302d;}async['countNewOrdersToday'](){const _0x152fb1=_0x4ad715,_0x2f6ffc=new Date();_0x2f6ffc[_0x152fb1(0xa4)](0x0,0x0,0x0,0x0);const _0x55379d=new Date(_0x2f6ffc[_0x152fb1(0xbb)]()+0x18*0x3c*0x3c*0x3e8),_0x108445=this[_0x152fb1(0xb0)][_0x152fb1(0x9a)](_0x152fb1(0x79)),_0x4cddb8=await _0x108445['where'](_0x152fb1(0xaf),{'today':_0x2f6ffc})[_0x152fb1(0x85)]('order.createdAt\x20<\x20:tomorrow',{'tomorrow':_0x55379d})['getCount']();return _0x4cddb8;}};function _0x2edf(){const _0x1e23dd=['metadata','countDraws','getCount','result','order','PAINT_TYPE','design:paramtypes','百度授权码过期','&end_date=','select','&method=','countNewUsersToday','countNewMidhourneysToday','default','map','object','andWhere','2313232ymivpa','function','@nestjs/typeorm','decorate','836425YLTNRa','date','getRawMany','configVal','getBaseStatistic','14ULlFVy','StatisticService','chatLog.createdAt\x20<\x20:tomorrow','pv_count,visitor_count,ip_count,bounce_ratio,avg_visit_time','countMjDrawsByTimeRange','Injectable','midjourney','countChats','CHAT_TYPE','YYYYMMDD','1743576ghiUum','createQueryBuilder','M.DD','&site_id=','chatlog.createdAt\x20>=\x20:startDate','getBaiduStatistics','now','chatLog.createdAt\x20>=\x20:today','user.createdAt\x20<\x20:tomorrow','@nestjs/common','../midjourney/midjourney.entity','setHours','DATE(chatlog.createdAt)\x20as\x20date,\x20COUNT(*)\x20as\x20count','chatlog','user.createdAt\x20>=\x20:today','countNewOrdersToday','BAD_REQUEST','__decorate','get','MidjourneyStatusEnum','../../common/constants/midjourney.constant','DRAWED','order.createdAt\x20>=\x20:today','orderEntity','UserEntity','请先配置百度统计accessToken','1866594dCyCPu','HttpStatus','userEntity','../user/user.entity','&metrics=','push','user','setDate','getTime','midjourney.createdAt\x20<\x20:tomorrow','../order/order.entity','chatLog','5720540bJJyZP','DeductionKey','countOrders','getBaiduVisit','length','getDate','获取百度统计数据失败','midjourneyEntity','baiduSiteId','Repository','getOwnPropertyDescriptor','configKey','groupBy','../globalConfig/config.entity','countDrawsByTimeRange','ConfigEntity','chatlog.type\x20=\x20:type','find','where','data','__metadata','../../common/utils/date','__esModule','InjectRepository','count','orderBy','countNewChatsToday','&start_date=','chatLogEntity','__param','../../common/constants/balance.constant','defineProperty','formatDate','midjourney.status\x20=\x20:status','HttpException','countNewDrawsToday','overview/getTimeTrendRpt','midjourney.createdAt\x20>=\x20:startDate','value','1473208DjYZJh','MidjourneyEntity','countChatsByTimeRange','2144592AKxsvd','chatLog.type\x20=\x20:type','117QFIcqL','countUsers'];_0x2edf=function(){return _0x1e23dd;};return _0x2edf();}StatisticService=__decorate([(0x0,common_1[_0x4ad715(0x94)])(),__param(0x0,(0x0,typeorm_1[_0x4ad715(0xd6)])(user_entity_1[_0x4ad715(0xb1)])),__param(0x1,(0x0,typeorm_1['InjectRepository'])(chatLog_entity_1['ChatLogEntity'])),__param(0x2,(0x0,typeorm_1['InjectRepository'])(config_entity_1[_0x4ad715(0xce)])),__param(0x3,(0x0,typeorm_1[_0x4ad715(0xd6)])(order_entity_1['OrderEntity'])),__param(0x4,(0x0,typeorm_1[_0x4ad715(0xd6)])(midjourney_entity_1[_0x4ad715(0xe7)])),__metadata(_0x4ad715(0x7b),[typeorm_2[_0x4ad715(0xc8)],typeorm_2[_0x4ad715(0xc8)],typeorm_2[_0x4ad715(0xc8)],typeorm_2[_0x4ad715(0xc8)],typeorm_2['Repository']])],StatisticService),exports['StatisticService']=StatisticService;