import { defHttp } from '/@/utils/http/axios';
import { setParams } from '/@/utils/index';

enum Api {
  smsTempQueryPage = '/sys/sms/temp/query/page',
  smsTempDetail = '/sys/sms/temp/detail',
  smsTempAdd = '/sys/sms/temp/add',
  smsTempEdit = '/sys/sms/temp/edit',
  smsTempRemove = '/sys/sms/temp/removeByIds',
  smsSend = '/sys/sms/temp/send/msg',
}

/**
 *
 * @author lf
 * @date  2023/05/04 10:54
 * @description: 根据条件查询短信模板列表,权限 - sms:temp:query
 * @method: POST
 * @param:
 *       {String}  createType  eq   创建类型
 *       {String}  tempType  eq   模板类型
 *       {String}  content     模板内容
 *       {Boolean}  disable  eq   状态
 * @return:
 *       {String}  channelId  短信渠道id
 *       {String}  createType  创建类型
 *       {String}  tempType  模板类型
 *       {String}  content  模板内容
 *       {String}  code  模板编码
 *       {String}  name  模板名称
 *       {String}  apiTempCode  短信 API 模板编号
 *       {Boolean}  disable  状态
 *       {String}  remark  备注
 */

export const smsTempQueryPage = (params?: object) => {
  return defHttp.post({ url: Api.smsTempQueryPage, params: setParams(params) });
};
/**
 *
 * @author lf
 * @date  2023/05/04 10:54
 * @description: 根据id查询短信模板详细信息,权限 - sms:temp:query
 * @method: GET
 * @param:  id 短信模板主键id
 * @return:
 *       {String}  channelId  短信渠道id
 *       {String}  createType  创建类型
 *       {String}  tempType  模板类型
 *       {String}  content  模板内容
 *       {String}  code  模板编码
 *       {String}  name  模板名称
 *       {String}  apiTempCode  短信 API 模板编号
 *       {Boolean}  disable  状态
 *       {String}  remark  备注
 */
export const smsTempDetail = (id: string) => {
  return defHttp.get({ url: Api.smsTempDetail + '/' + id });
};

/**
 *
 * @author lf
 * @date  2023/05/04 10:54
 * @description: 添加短信模板,权限 - sms:temp:add
 * @method: POST
 * @param:
 *       {String}  channelId  短信渠道id
 *       {String}  createType  创建类型
 *       {String}  tempType  模板类型
 *       {String}  content  模板内容
 *       {String}  code  模板编码
 *       {String}  name  模板名称
 *       {String}  apiTempCode  短信 API 模板编号
 *       {Boolean}  disable  状态
 *       {String}  remark  备注
 * @return:
 *       0 添加失败
 *       1 添加成功
 */
export const smsTempAdd = (params?: object) => {
  return defHttp.post({ url: Api.smsTempAdd, params: params });
};

/**
 *
 * @author lf
 * @date  2023/05/04 10:54
 * @description: 通过主键id编辑短信模板,权限 - sms:temp:edit
 * @method: POST
 * @param:
 *       {String}  channelId  短信渠道id
 *       {String}  createType  创建类型
 *       {String}  tempType  模板类型
 *       {String}  content  模板内容
 *       {String}  code  模板编码
 *       {String}  name  模板名称
 *       {String}  apiTempCode  短信 API 模板编号
 *       {Boolean}  disable  状态
 *       {String}  remark  备注
 * @return:
 *       0 编辑失败
 *       1 编辑成功
 */
export const smsTempEdit = (params?: object) => {
  return defHttp.post({ url: Api.smsTempEdit, params: params });
};

/**
 * @description: 删除,权限 - sms:temp:remove
 * @method: POST
 */
export const smsTempRemove = (params: Array<string | number>) => {
  return defHttp.post({ url: Api.smsTempRemove, params: params });
};

/**
 * @description: 发送短信,权限 - sms:temp:send
 * @method: POST
 */
export const smsSend = (params?: object) => {
  return defHttp.post({ url: Api.smsSend, params: params });
};
