|
@@ -0,0 +1,65 @@
|
|
|
+package oamanager
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "log"
|
|
|
+ "qfw/util"
|
|
|
+ "regexp"
|
|
|
+ "time"
|
|
|
+
|
|
|
+ "github.com/go-xweb/xweb"
|
|
|
+)
|
|
|
+
|
|
|
+type Createuser struct {
|
|
|
+ *xweb.Action
|
|
|
+ createUser xweb.Mapper `xweb:"/createUser"`
|
|
|
+}
|
|
|
+
|
|
|
+func init() {
|
|
|
+ xweb.AddAction(&Createuser{})
|
|
|
+}
|
|
|
+
|
|
|
+var EncodeUtil = &util.SimpleEncrypt{"openapi2018jy"}
|
|
|
+var strReg = regexp.MustCompile("^[0-9a-zA-Z]+$")
|
|
|
+
|
|
|
+//创建用户信息 生成appid和secret
|
|
|
+func (c *Createuser) CreateUser() error {
|
|
|
+ defer util.Catch()
|
|
|
+ username := c.GetString("username")
|
|
|
+ userip := c.GetString("ip")
|
|
|
+ t := time.Now()
|
|
|
+ status := "1"
|
|
|
+ var appid, secret string
|
|
|
+ res, _ := mongodb.FindOneByField("user", &map[string]interface{}{
|
|
|
+ "username": username,
|
|
|
+ "userip": userip,
|
|
|
+ }, nil)
|
|
|
+ if len(*res) > 0 {
|
|
|
+ log.Println((*res)["status"], "--", util.ObjToString((*res)["status"]))
|
|
|
+ appid = util.ObjToString((*res)["appid"])
|
|
|
+ secret = util.ObjToString((*res)["secret"])
|
|
|
+ status = util.ObjToString((*res)["status"])
|
|
|
+ } else {
|
|
|
+ appid = GetAppid(t.Unix())
|
|
|
+ secret = util.GetComplexRandom(8, 3, 5)
|
|
|
+ id := mongodb.Save("user", &map[string]interface{}{"username": username, "userip": userip, "createtime": t.Unix(), "appid": appid, "secret": secret, "status": "1"})
|
|
|
+ if len(id) > 0 {
|
|
|
+ log.Println("保存用户成功!")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ c.ServeJson(map[string]interface{}{"appid": appid, "secret": secret, "status": status})
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+func GetAppid(tn int64) (appid string) {
|
|
|
+ for {
|
|
|
+ randomstr := util.GetLetterRandom(5)
|
|
|
+ str := fmt.Sprintf("%s%d%s", randomstr[:2], tn, randomstr[2:])
|
|
|
+ appid = EncodeUtil.EncodeString(str)
|
|
|
+ if strReg.MatchString(appid) {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ appid = "jyoa" + appid
|
|
|
+ return
|
|
|
+}
|