package com.yc.ship.module.trade.api.sms;

import com.yc.ship.framework.common.pojo.CommonResult;
import com.yc.ship.module.trade.api.sms.dto.SmsReqDTO;
import com.yc.ship.module.trade.api.sms.dto.SmsSendLogDTO;
import com.yc.ship.module.trade.enums.ApiConstants;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;

import javax.annotation.security.PermitAll;
import javax.validation.Valid;

/****
 *&#064;Description RPC 服务 - Sms 短信
 *@author qsl
 *@date 2025/8/7 11:51
  *@param
 */
@Tag(name = "RPC 服务 - Sms 短信")
public interface SmsApi {


    @Operation(summary = "发送短信")
    CommonResult<String> sendMsg(@Valid SmsReqDTO reqDTO);

    @Operation(summary = "发送短信日志")
    @PermitAll
    CommonResult<Integer> insertSmsLog(@Valid SmsSendLogDTO reqDTO);


    @Operation(summary = "查询状态")
    @Parameters({@Parameter(name = "msgId", description = "短信id", example = "123123", required = true)})
    CommonResult<Integer> queryStatus(String msgId);

}
