import ReportTaskAPI from '../../api/restApis/ReportTaskAPI'
import HelperUtil from '../../utils/HelperUtil'
import {REPORT_TASK_KEY} from '../../utils/constantCollection'

// 静态方法
let staticMethods = {
  /**
   * @Description  : 获取所有
   * @author       : ls
   * @date         : 2020/4/27 16:39
   * @param        :
   * @return       :
   */
  getAllReportTaskCollection: function () {
    return ReportTaskAPI.getReportTaskCollection().then(result => {
      if (result.data.result) {
        return HelperUtil.arrayToObject(result.data.returnValue, REPORT_TASK_KEY)
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },
  /**
   * @Description  : 创建采集任务
   * @author       : ls
   * @date         : 2020/4/27 16:47
   * @param        :
   * @return       :
   */
  createReportTask: function (colTask) {
    return ReportTaskAPI.postAddReportTask(colTask).then(result => {
      if (result.data.result) {
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },

  /**
   * @Description  : shanchuzhibiao
   * @author       : ls
   * @date         : 2020/4/27 9:46
   * @param        :
   * @return       :
   */
  deleteReportTask: function (delList) {
    return ReportTaskAPI.deleteDeleteReportTask(delList).then(result => {
      if (result.data.result) {
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },

  /**
   * @Description  : xiugai
   * @author       : ls
   * @date         : 2020/4/27 16:48
   * @param        :
   * @return       :
   */
  updateReportTask: function (colTask) {
    return ReportTaskAPI.putModifyReportTask(colTask).then(result => {
      if (result.data.result) {
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },

  /**
   * @Description  : 条件查询
   * @author       : ls
   * @date         : 2020/4/27 10:08
   * @param        :
   * @return       :
   */
  queryReportTask: function (conditionSet) {
    return ReportTaskAPI.putConditionQueryReportTask(conditionSet).then(result => {
      if (result.data.result) {
        return HelperUtil.arrayToObject(result.data.returnValue, REPORT_TASK_KEY)
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },
  /**
   * @Description  : 启用
   * @author       : ls
   * @date         : 2020/4/29 16:13
   * @param        :
   * @return       :
   */
  startReportTask: function (val) {
    return ReportTaskAPI.putStartReportTask(val).then(result => {
      if (result.data.result) {
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },
  /**
   * @Description  : 分页查询
   * @author       : ls
   * @date         : 2020/5/26 15:00
   * @param        :
   * @return       :
   */
  queryReportTaskListPaging: function (beginItem, endItem, selectList) {
    return ReportTaskAPI.queryReportTaskPaging(beginItem, endItem, selectList).then(result => {
      if (result.data.result) {
        return HelperUtil.arrayToObject(result.data.returnValue, REPORT_TASK_KEY)
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  },
  /**
   * @Description  : 查询总数
   * @author       : ls
   * @date         : 2020/5/26 15:04
   * @param        :
   * @return       :
   */
  getReportTaskTotalCounts: function (selectList) {
    return ReportTaskAPI.getReportTaskCounts(selectList).then(result => {
      if (result.data.result) {
        return result.data.returnValue
      } else {
        return HelperUtil.returnPromiseRejectObj(result)
      }
    })
  }
}

function ReportTaskService () {
  return Object.freeze(Object.assign(
    {
    },
    staticMethods
  ))
}
// inject static methods
Object.assign(ReportTaskService, staticMethods)
export default ReportTaskService
