123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- package http
- import (
- "FollowUp_Notice/conf"
- "FollowUp_Notice/logs"
- "encoding/json"
- "git.baozhida.cn/ERP_libs/lib"
- "github.com/go-resty/resty/v2"
- )
- type Template struct {
- Template_id string `json:"template_id"`
- Sms_title string `json:"sms_title"`
- Sms_signature string `json:"sms_signature"`
- Sms_content string `json:"sms_content"`
- Add_date string `json:"add_date"`
- Edit_date string `json:"edit_date"`
- Template_status string `json:"template_status"`
- Template_status_description string `json:"template_status_description"`
- }
- type TemplateRes struct {
- Status string `json:"status"`
- Template_id string `json:"template_id"`
- Template Template `json:"template"`
- }
- type XSendRes struct {
- Status string `json:"status"`
- Send_id string `json:"send_id"`
- Fee int `json:"fee"`
- }
- func SmsTemplate_Get(template_id string) (TemplateRes, error) {
- // Create a Resty Client
- client := resty.New()
- resp, err := client.R().
- SetQueryParams(map[string]string{
- "appid": conf.Sms_Appid,
- "signature": conf.Sms_Signature,
- "template_id": template_id,
- }).
- Get("https://api-v4.mysubmail.com/sms/template.json")
- if err != nil {
- return TemplateRes{}, err
- }
- temp := TemplateRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- logs.Error(lib.FuncName(), err)
- return TemplateRes{}, err
- }
- return temp, nil
- }
- // 创建模板
- func SmsTemplate_Post(sms_signature string) (TemplateRes, error) {
- client := resty.New()
- resp, err := client.R().
- SetHeader("Content-Type", "application/x-www-form-urlencoded").
- SetFormData(map[string]string{
- "appid": conf.Sms_Appid,
- "signature": conf.Sms_Signature,
- "sms_title": "复诊通知",
- "sms_signature": sms_signature,
- "sms_content": "敬爱的@var(name),离上一次来我院治疗的复诊时间已到,为了更好关注您的病情,请于@var(time)到我院进行复诊,祝您早日康复!",
- }).
- Post("http://api.mysubmail.com/sms/template.json")
- if err != nil {
- return TemplateRes{}, err
- }
- temp := TemplateRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- logs.Error(lib.FuncName(), err)
- return TemplateRes{}, err
- }
- return temp, nil
- }
- // 修改模板
- func SmsTemplate_Put(template_id, sms_signature string) (TemplateRes, error) {
- client := resty.New()
- resp, err := client.R().
- SetHeader("Content-Type", "application/x-www-form-urlencoded").
- SetFormData(map[string]string{
- "appid": conf.Sms_Appid,
- "signature": conf.Sms_Signature,
- "template_id": template_id,
- "sms_title": "复诊通知",
- "sms_signature": sms_signature,
- "sms_content": "敬爱的@var(code),离上一次来我院治疗的复诊时间已到,为了更好关注您的病情,请于明日到我院进行复诊,祝您早日康复!",
- }).
- SetResult(&TemplateRes{}).
- Put("http://api.mysubmail.com/sms/template.json")
- if err != nil {
- return TemplateRes{}, err
- }
- temp := TemplateRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- logs.Error(lib.FuncName(), err)
- return TemplateRes{}, err
- }
- return temp, nil
- }
- func SmsTemplate_Delete(template_id string) (TemplateRes, error) {
- client := resty.New()
- resp, err := client.R().
- SetHeader("Content-Type", "application/x-www-form-urlencoded").
- SetFormData(map[string]string{
- "appid": conf.Sms_Appid,
- "signature": conf.Sms_Signature,
- "template_id": template_id,
- }).
- SetResult(&TemplateRes{}).
- Delete("http://api.mysubmail.com/sms/template.json")
- if err != nil {
- return TemplateRes{}, err
- }
- temp := TemplateRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- logs.Error(lib.FuncName(), err)
- return TemplateRes{}, err
- }
- return temp, nil
- }
- // 批量发送短信
- func SmsMultiSend(template_id, content string) (TemplateRes, error) {
- client := resty.New()
- resp, err := client.R().
- SetHeader("Content-Type", "application/x-www-form-urlencoded").
- SetFormData(map[string]string{
- "appid": conf.Sms_Appid,
- "signature": conf.Sms_Signature,
- "content": content,
- }).
- SetResult(&TemplateRes{}).
- Delete("https://api-v4.mysubmail.com/sms/multisend")
- if err != nil {
- return TemplateRes{}, err
- }
- temp := TemplateRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- logs.Error(lib.FuncName(), err)
- return TemplateRes{}, err
- }
- return temp, nil
- }
- // 短信模板发送
- func SmsXSend(template_id, to, name, time string) (XSendRes, error) {
- type Vars struct {
- Name string `json:"name"`
- Time string `json:"time"`
- }
- vars := Vars{Name: name, Time: time}
- b, _ := json.Marshal(vars)
- client := resty.New()
- resp, err := client.R().
- SetHeader("Content-Type", "application/x-www-form-urlencoded").
- SetFormData(map[string]string{
- "appid": conf.Sms_Appid,
- "signature": conf.Sms_Signature,
- "to": to,
- "project": template_id,
- "vars": string(b),
- }).
- SetResult(&XSendRes{}).
- Post("https://api-v4.mysubmail.com/sms/xsend")
- if err != nil {
- return XSendRes{}, err
- }
- temp := XSendRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- logs.Error(lib.FuncName(), err)
- return XSendRes{}, err
- }
- return temp, nil
- }
|