package cn.ey.biz.module.weaver.api.msg;

import cn.ey.biz.module.weaver.autoconfigure.FeignConfiguration;
import cn.ey.biz.module.weaver.common.Constants;
import lombok.Data;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/***
 * 模板维护
 */
@FeignClient(name= Constants.WEAVER_NAME, url="${weaver.service.url}", configuration = FeignConfiguration.class)
public interface MsgTemplateService {

    @RequestMapping(method= RequestMethod.POST, value="/api/ey/msgcenter/msgTemplate",
            consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
            produces = MediaType.TEXT_PLAIN_VALUE)
    MsgTemplateResponse msgTemplate(@RequestBody MsgTemplateRequest request);

    @Data
    class MsgTemplateRequest {
        String  title;      //模板主题
        String  type;       //模版类型  0邮件  1短信  2消息
        String  context;    //模版内容，模板类型为0时内容可为html，其它均为纯文本,模版中动态参数使用$参数名$，发送时传入
        String  code;       //模板编码
        String  source;     //消息来源 模版类型为2时必填，消息来源需在OA中维护
    }

    @Data
    class MsgTemplateResponse{
        Boolean api_status;
        String api_msg;
    }

}
