package sms import ( "errors" "time" "zhiyuan/models" "zhiyuan/pkg/config" "zhiyuan/pkg/db" "zhiyuan/pkg/sms" "zhiyuan/pkg/utils" ) var Sms models.Sms func CheckVerifyCode(phone string, code string) bool { if config.Cfg.Server.RunMode == "debug" && phone == "18007097771" { return true } res, err := Sms.GetOne(map[string]interface{}{"phone": phone, "template_param": code, "type": 1, "state": 1, "_orderby": "id desc"}, nil) expireTime := utils.ToInt(time.Now().Unix()) - 100 if err != nil || res == nil || res.CreatedAt < expireTime { return false } db.Update(Sms.TableName(), map[string]interface{}{"id": res.ID}, map[string]interface{}{"state": 2}) return true } func SendVerifyCode(phone string) error { code := string(utils.RandomCreateBytes(6, utils.RAND_KIND_NUM)) signName := "志远装饰" templateCode := "2479583" if utils.CheckMobile(phone) == false { return errors.New("请输入正确的手机号") } if err := sms.SendSms([]string{"+86" + phone}, signName, templateCode, []string{code}); err != nil { return errors.New("短信发送失败") } smsMap := map[string]interface{}{ "phone": phone, "template_code": templateCode, "template_param": code, "sign_name": signName, } db.InsertOne(Sms.TableName(), smsMap) return nil } func SendAftersaleOrderAllot(phone string) error { signName := "志远装饰" templateCode := "1743109" if err := sms.SendSms([]string{"+86" + phone}, signName, templateCode, []string{}); err != nil { return errors.New("短信发送失败") } smsMap := map[string]interface{}{ "phone": phone, "template_code": templateCode, "template_param": "", "sign_name": signName, "type": 2, } db.InsertOne(Sms.TableName(), smsMap) return nil }