import { Provide } from '@midwayjs/decorator';
import { BaseService } from '@cool-midway/core';
import { InjectEntityModel } from '@midwayjs/orm';
import { Repository } from 'typeorm';
import { Basedeviceinfo } from '../entity/basedeviceinfo';
import { Devicegroup } from '../entity/devicegroup';

/**
 * 描述
 */
@Provide()
export class TaskimmediatelyService extends BaseService {
  @InjectEntityModel(Basedeviceinfo)
  Basedeviceinfo: Repository<Basedeviceinfo>;
  @InjectEntityModel(Devicegroup)
  Devicegroup: Repository<Devicegroup>;

  /**
   * 描述
   */
  // async add(param: any) {
  //   console.log(param, "dddddddd")
  //   const { logic_id } = param
  //   const devicegroup = this.Devicegroup
  //   await this.Devicegroup.insert(param)
  //   return await super.add(param)
  // }


  async delete(logic_id: any) {
    console.log(this.ctx, "ddd")
    await this.nativeQuery(
      'DELETE t_base_deviceinfo,t_base_device_group FROM t_base_deviceinfo,t_base_device_group WHERE t_base_deviceinfo.logic_id = t_base_device_group.logic_id AND t_base_deviceinfo.id in (?)',
      [logic_id]
    );
    await this.Basedeviceinfo.delete(logic_id)

  }


  async page(query) {

    // const { keyWord, status, departmentIds = [] } = query;
    // const permsDepartmentArr = await this.Basedeviceinfo.id(
    //   this.ctx.admin.userId
    // ); // 部门权限
    const sql = `
        SELECT a.*,b.configurator FROM t_base_deviceinfo a,t_base_device_group b WHERE 1 = 1`;
    return this.sqlRenderPage(sql, query);
  }
}
