| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- import { Get, Inject, Provide, Query, ALL } from '@midwayjs/decorator';
- import { ILogger } from '@midwayjs/logger';
- import { CoolController, BaseController } from 'midwayjs-cool-core';
- import { HideGameTaskEntity } from '../../entity/hide_game_task';
- import { HideGameTaskService } from '../../service/hide_game_task';
- import * as _ from 'lodash';
- import { Utils } from '../../../../comm/utils';
- import { HideGameAccountService } from '../../service/hide_game_account';
- import { HideTaskAccountRecordEntity } from '../../entity/hide_task_account_record';
- import { InjectEntityModel } from '@midwayjs/orm';
- import { Repository } from 'typeorm';
- import { HideGameAccountRecordEntity } from '../../entity/hide_game_account_record';
- import { HideTaskAccountRecordService } from '../../service/hide_task_account_record';
- import { HideGameTargetService } from '../../service/hide_game_target';
- /**
- * 任务接口
- */
- @Provide()
- @CoolController({
- // 添加通用CRUD接口
- api: ['add', 'update', 'info'],
- // 设置表实体
- entity: HideGameTaskEntity,
- service: HideGameTaskService,
- })
- export class HideAppGameTaskController extends BaseController {
- @Inject()
- logger: ILogger;
- @Inject()
- HideGameTaskService: HideGameTaskService;
- @Inject()
- HideGameTargetService: HideGameTargetService;
- @Inject()
- HideTaskAccountRecordService: HideTaskAccountRecordService;
- @Inject()
- utils: Utils;
- @Inject()
- HideGameAccountService: HideGameAccountService;
- @InjectEntityModel(HideTaskAccountRecordEntity)
- HideTaskAccountRecordEntity: Repository<HideTaskAccountRecordEntity>;
- @InjectEntityModel(HideGameAccountRecordEntity)
- HideGameAccountRecordEntity: Repository<HideGameAccountRecordEntity>;
- /**
- * http://127.0.0.1:8001/app/hide/game_task/getTaskTAndC?task_id=1001&new_date=2022-04-24
- * //获取游戏目标与完成{task_id,new_date}
- * @param {*} queryObject
- * @memberof HideAppGameTaskController
- */
- //
- @Get('/getTaskTAndC')
- async getTaskTAndC(@Query(ALL) queryObject) {
- let { task_id, new_date } = queryObject
- if (!new_date) {
- new_date = this.utils.formatDate(new Date(new_date))
- }
- let queryObj
- if (task_id && task_id != '') {
- const taskInfo = await this.HideGameTaskService.info(task_id);
- if (!taskInfo) {
- return this.fail('task_id不存在', -1)
- }
- if (taskInfo.is_run == 0) {
- return this.fail('该任务未运行', -1)
- }
- queryObj = {
- task_id: task_id,
- new_date: new_date
- }
- } else {
- queryObj = {
- new_date: new_date
- }
- }
- const list = await this.HideGameTargetService.getTaskTAndC(queryObj);
- // this.logger.info(list)
- if (list.length > 0) {
- let resT = []
- list.forEach(e => {
- //
- let obj = {
- task_id: e.task_id,
- task_name: e.task_name,
- game_director: e.directorName,
- login_mode: e.login_mode,
- game_agent: e.game_agent,
- target_new: parseInt(e.target_new),
- target_pay: parseInt(e.target_pay),
- target_active: parseInt(e.target_active),
- complete_new: parseInt(e.complete_new),
- complete_pay: parseInt(e.complete_pay),
- complete_active: parseInt(e.complete_active),
- is_complete: e.is_complete, //是否完成
- amount: e.amount, //付费流水
- incomplete_new: parseInt(e.incomplete_new),
- incomplete_pay: parseInt(e.incomplete_pay),
- incomplete_active: parseInt(e.incomplete_active)
- }
- resT.push(obj)
- });
- return { code: 1000, message: '获取游戏数据成功', date: new_date, data: resT };
- } else {
- return this.fail('任务' + task_id + '获取失败', -1);
- }
- }
- /**
- * http://127.0.0.1:8001/app/shuyou/game_task/get_account?task_id=3520&status=0
- * 拉取任务账号-新增账号{status 0.正常 1.冻结 2.密错 5.人脸验证 6.信用分不足}
- * @param {*} queryObject
- * @return {*}
- * @memberof HideAppGameTaskController
- */
- @Get('/get_account')
- async getAccount(@Query(ALL) queryObject) {
- let { task_id, status } = queryObject
- if (!task_id) {
- return this.fail('缺少必要参数[task_id=任务id]', -1)
- }
- const taskInfo = await this.HideGameTaskService.info(task_id);
- if (!taskInfo) {
- return this.fail('task_id不存在', -1)
- }
- let account_state = 0
- if (!status) {
- account_state = 0;
- } else {
- account_state = status;
- }
- const account_typeId = taskInfo.account_typeId
- const gameIdList = taskInfo.gameIdList
- const list = await this.HideGameTaskService.getAccountOne(task_id, account_typeId, account_state);
- // this.logger.info(list)
- if (list.length > 0) {
- const account_id = list[0].id
- await this.HideGameAccountService.updateOccupy(account_id, task_id);
- const inserTaskAccountRecord = await this.HideTaskAccountRecordEntity.createQueryBuilder()
- .insert()
- .into(HideTaskAccountRecordEntity)
- .values({
- task_id: task_id,
- account_id: account_id,
- new_date: new Date(this.utils.formatDate(new Date())),
- getTimeNew: new Date() // 新增取号时间
- })
- .execute();
- if (!inserTaskAccountRecord) {
- return this.fail('插入记录表失败', -1)
- }
- // this.logger.info(inserTaskAccountRecord.identifiers[0].id)
- for (const game_id of gameIdList) {
- await this.HideGameAccountRecordEntity.save({ account_id: account_id + '', game_id: game_id + '' });
- }
- let obj = {
- record_id: inserTaskAccountRecord.identifiers[0].id,
- account_text: list[0].account_text,
- password_text: list[0].password_text,
- vpn_text: list[0].vpn_text,
- manufacturer: list[0].manufacturer,
- model: list[0].model,
- pnumber: list[0].pnumber,
- imei: list[0].imei,
- imsi: list[0].imsi,
- simserial: list[0].simserial,
- androidid: list[0].androidid,
- mac: list[0].mac
- }
- return this.ok(obj);
- } else {
- return this.fail('任务' + task_id + '无账号可取', -1);
- }
- }
- /**
- * 留存获取账号接口
- * http://127.0.0.1:8001/app/shuyou/game_task/get_account_retained?task_id=3520&retained_day=2
- * @param {*} queryObject{task_id:任务id,retained_day:留存天数}
- * @return {*}
- * @memberof HideAppGameTaskController
- */
- @Get('/get_account_retained')
- async getAccountRetained(@Query(ALL) queryObject) {
- let { task_id, retained_day } = queryObject
- if (!task_id || !retained_day) {
- return this.fail('缺少必要参数[task_id=任务id&retained_day=几留]', -1)
- }
- const taskInfo = await this.HideGameTaskService.info(task_id);
- if (!taskInfo) {
- return this.fail('task_id不存在', -1)
- }
- let retained_date = this.utils.getNextDate(new Date, 1 - retained_day)
- // this.logger.info(retained_date)
- const list = await this.HideGameTaskService.getAccountRetainedOne(task_id, retained_date);
- // this.logger.info(list)
- if (list.length > 0) {
- const record_id = list[0].id
- const updateTaskAccountRecord = await this.HideTaskAccountRecordEntity
- .createQueryBuilder()
- .update()
- .set({
- statusRetained: -1,
- getTimeRetained: new Date() // 留存取号时间
- })
- .where('id = :id', {
- id: record_id
- })
- .execute();
- // this.logger.warn(updateTaskAccountRecord.affected)
- if (updateTaskAccountRecord.affected < 1) {
- return this.fail('修改记录表失败', -1)
- }
- let obj = {
- record_id: record_id,
- account_text: list[0].account_text,
- password_text: list[0].password_text,
- vpn_text: list[0].vpn_text,
- manufacturer: list[0].manufacturer,
- model: list[0].model,
- pnumber: list[0].pnumber,
- imei: list[0].imei,
- imsi: list[0].imsi,
- simserial: list[0].simserial,
- androidid: list[0].androidid,
- mac: list[0].mac
- }
- return this.ok(obj);
- } else {
- return this.fail('任务' + task_id + ' ' + retained_day + '留已无可取账号', -1);
- }
- }
- /**
- * 更新账号状态
- * http://127.0.0.1:8001/app/shuyou/game_task/updateAccount?record_id=10&status=0
- * status 0.新增留存成功 1.冻结 2.密错 3.禁用 4.新增出现留存 5.人脸验证 6.信用分不足
- * @param {*} queryObject
- * @return {*}
- * @memberof HideAppGameTaskController
- */
- @Get('/updateAccount')
- async updateAccount(@Query(ALL) queryObject) {
- const { record_id, status } = queryObject
- // status 0.新增留存成功 1.冻结 2.密错 3.禁用 4.新增出现留存 5.人脸验证
- const TaskAccountRecord = await this.HideTaskAccountRecordService.updateAccount(record_id, status);
- if (TaskAccountRecord.code == 1) {
- await this.HideGameAccountService.updateAccountState(TaskAccountRecord.account_id, status);
- return this.ok('修改成功');
- } else if (TaskAccountRecord.code == 2) {
- return this.fail(TaskAccountRecord.message, 2);
- } else {
- return this.fail('修改失败', -1);
- }
- }
- }
|