@@ -0,0 +1,15 @@ | |||||
package offical | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/db/offical/model" | |||||
"xorm.io/xorm" | |||||
) | |||||
func GetFastLoginNum(engine *xorm.Engine, uid interface{}) *model.FastLoginNumList { | |||||
var data model.FastLoginNumList | |||||
get, err := engine.Where("uid=?", uid).Get(&data) | |||||
if get == false || err != nil { | |||||
return nil | |||||
} | |||||
return &data | |||||
} |
@@ -0,0 +1,11 @@ | |||||
package model | |||||
type FastLoginMoney struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Money float64 `json:"money" xorm:"default 0.00 comment('金额') DOUBLE(11,2)"` | |||||
Num int `json:"num" xorm:"default 0 comment('短信条数') INT(11)"` | |||||
Hide int `json:"hide" xorm:"default 0 comment('0否 1是') INT(1)"` | |||||
Sort int `json:"sort" xorm:"default 0 comment('排序') INT(11)"` | |||||
UpdateTime int `json:"update_time" xorm:"default 0 comment('修改时间') INT(11)"` | |||||
Time int `json:"time" xorm:"default 0 comment('创建时间') INT(11)"` | |||||
} |
@@ -0,0 +1,8 @@ | |||||
package model | |||||
type FastLoginNumList struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Uid int `json:"uid" xorm:"default 0 comment('用户') INT(11)"` | |||||
Num int `json:"num" xorm:"default 0 comment('短信条数') INT(11)"` | |||||
Type string `json:"type" xorm:"default '' comment('普通 putong 营销 yingxiao') VARCHAR(50)"` | |||||
} |
@@ -0,0 +1,27 @@ | |||||
package model | |||||
import ( | |||||
"time" | |||||
) | |||||
type FastLoginRecord struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
OrdId string `json:"ord_id" xorm:"not null default '' comment('订单id') VARCHAR(100)"` | |||||
Uid int `json:"uid" xorm:"not null default 0 comment('主用户id') INT(11)"` | |||||
Phone string `json:"phone" xorm:"not null default 0 comment('主账号-手机号码') VARCHAR(255)"` | |||||
Nickname string `json:"nickname" xorm:"not null default '' comment('主账号-昵称') VARCHAR(255)"` | |||||
Amount string `json:"amount" xorm:"not null default '0' comment('充值金额') VARCHAR(255)"` | |||||
CostPrice string `json:"cost_price" xorm:"not null default '0' comment('付费价格') VARCHAR(255)"` | |||||
Balance string `json:"balance" xorm:"not null default '0' comment('当前余额(充值完当前余额)') VARCHAR(255)"` | |||||
PayWay int `json:"pay_way" xorm:"not null default 1 comment('支付方式(1:支付宝 2:微信 3:余额)') TINYINT(1)"` | |||||
State int `json:"state" xorm:"not null default 0 comment('状态(0:待付款 1:已付款 2:付款失败)') TINYINT(2)"` | |||||
Memo string `json:"memo" xorm:"not null default '' comment('备注') VARCHAR(255)"` | |||||
CreateAt time.Time `json:"create_at" xorm:"not null default CURRENT_TIMESTAMP comment('创建时间') DATETIME"` | |||||
UpdateAt time.Time `json:"update_at" xorm:"default CURRENT_TIMESTAMP comment('更新时间') DATETIME"` | |||||
TradeNo string `json:"trade_no" xorm:"not null default '' comment('支付平台(支付宝/微信)订单号') VARCHAR(100)"` | |||||
Type int `json:"type" xorm:"default 0 comment('0收入 1支出') INT(1)"` | |||||
OrdType string `json:"ord_type" xorm:"comment('订单类型') VARCHAR(255)"` | |||||
SubUid int `json:"sub_uid" xorm:"default 0 INT(11)"` | |||||
Fee string `json:"fee" xorm:"VARCHAR(255)"` | |||||
Ext string `json:"ext" xorm:"TEXT"` | |||||
} |
@@ -0,0 +1,59 @@ | |||||
package sms | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/db" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/db/offical" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/db/offical/model" | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"fmt" | |||||
"time" | |||||
"xorm.io/xorm" | |||||
) | |||||
//数量 | |||||
func FastLoginNumGetSmsNum(engine *xorm.Engine, uid interface{}) int { | |||||
numData := offical.GetFastLoginNum(engine, uid) | |||||
num := 0 | |||||
if numData != nil { | |||||
num = numData.Num | |||||
} | |||||
if num < 0 { | |||||
num = 0 | |||||
} | |||||
return num | |||||
} | |||||
//发送 | |||||
func FastLoginSend(engine *xorm.Engine, args map[string]interface{}) error { | |||||
num := FastLoginNumGetSmsNum(engine, args["uid"]) | |||||
//存入记录 | |||||
ext := map[string]interface{}{ | |||||
"post": args, | |||||
} | |||||
var record = model.FastLoginRecord{ | |||||
OrdId: "", | |||||
Uid: int(zhios_third_party_utils.AnyToInt64(args["uid"])), | |||||
Amount: "1", | |||||
CostPrice: "", | |||||
Balance: zhios_third_party_utils.IntToStr(num - 1), | |||||
PayWay: 0, | |||||
State: 1, | |||||
Memo: "一键登录", | |||||
CreateAt: time.Now(), | |||||
UpdateAt: time.Now(), | |||||
TradeNo: "", | |||||
Type: 1, | |||||
OrdType: "buy", | |||||
Fee: "", | |||||
Ext: zhios_third_party_utils.SerializeStr(ext), | |||||
Phone: args["mobile"].(string), | |||||
} | |||||
engine.InsertOne(&record) | |||||
sql := `UPDATE fast_login_num_list set num=num-%d WHERE uid=%s and type='%s';` | |||||
sql = fmt.Sprintf(sql, 1, args["uid"], args["sms_type"]) | |||||
fmt.Println(sql) | |||||
nativeString, err := db.QueryNativeString(engine, sql) | |||||
fmt.Println(nativeString) | |||||
fmt.Println(err) | |||||
return nil | |||||
} |