dongfeng-pay/merchant/controllers/user_info.go
2021-04-27 15:33:49 +08:00

136 lines
3.1 KiB
Go

/***************************************************
** @Desc : This file for 用户信息控制
** @Time : 19.12.3 10:38
** @Author : Joker
** @File : user_info
** @Last Modified by : Joker
** @Last Modified time: 19.12.3 10:38
** @Software: GoLand
****************************************************/
package controllers
import (
"merchant/models"
"merchant/sys/enum"
"regexp"
"strings"
)
type UserInfo struct {
KeepSession
}
func (c *UserInfo) ShowModifyUserInfoUI() {
us := c.GetSession(enum.UserSession)
u := us.(models.MerchantInfo)
ranMd5 := encrypt.EncodeMd5([]byte(pubMethod.RandomString(46)))
c.Ctx.SetCookie(enum.UserCookie, ranMd5, enum.CookieExpireTime)
c.Ctx.SetSecureCookie(ranMd5, enum.UserCookie, ranMd5, enum.CookieExpireTime)
c.SetSession(enum.UserCookie, ranMd5)
c.Data["userName"] = u.MerchantName
c.TplName = "modify_userInfo.html"
}
// 修改用户信息
func (c *UserInfo) ModifyUserInfo() {
or_pwd := strings.TrimSpace(c.GetString("or_pwd"))
new_pwd := strings.TrimSpace(c.GetString("new_pwd"))
confirm_pwd := strings.TrimSpace(c.GetString("confirm_pwd"))
us := c.GetSession(enum.UserSession)
u := us.(models.MerchantInfo)
var (
msg = enum.FailedString
flag = enum.FailedFlag
md bool
ud bool
pwdMd5 string
)
if or_pwd == "" ||
new_pwd == "" ||
confirm_pwd == "" {
msg = "密码不能为空!"
goto stopRun
}
pwdMd5 = encrypt.EncodeMd5([]byte(or_pwd))
if strings.Compare(strings.ToUpper(pwdMd5), u.LoginPassword) != 0 {
msg = "原始密码错误!"
}
md, _ = regexp.MatchString(enum.PasswordReg, new_pwd)
if !md {
msg = "密码只能输入6-20个以字母开头、可带数字、“_”、“.”的字串!"
goto stopRun
}
md, _ = regexp.MatchString(enum.PasswordReg, confirm_pwd)
if !md {
msg = "密码只能输入6-20个以字母开头、可带数字、“_”、“.”的字串!"
goto stopRun
}
if strings.Compare(new_pwd, confirm_pwd) != 0 {
msg = "两次密码不匹配!"
goto stopRun
}
u.LoginPassword = strings.ToUpper(encrypt.EncodeMd5([]byte(new_pwd)))
ud = models.UpdateMerchant(u)
if ud {
msg = enum.SuccessString
flag = enum.SuccessFlag
// 退出重新登录
c.DelSession(enum.UserSession)
}
stopRun:
c.Data["json"] = pubMethod.JsonFormat(flag, "", msg, "")
c.ServeJSON()
c.StopRun()
}
// 验证原始密码
func (c *UserInfo) ConfirmOriginPwd() {
ori := strings.TrimSpace(c.GetString("c"))
us := c.GetSession(enum.UserSession)
u := us.(models.MerchantInfo)
var (
msg = enum.FailedString
flag = enum.FailedFlag
)
pwdMd5 := encrypt.EncodeMd5([]byte(ori))
if strings.Compare(strings.ToUpper(pwdMd5), u.LoginPassword) != 0 {
msg = "原始密码错误!"
} else {
flag = enum.SuccessFlag
}
c.Data["json"] = pubMethod.JsonFormat(flag, "", msg, "")
c.ServeJSON()
c.StopRun()
}
// 展示用户信息
func (c *UserInfo) ShowUserInfoUI() {
us := c.GetSession(enum.UserSession)
u := us.(models.MerchantInfo)
c.Data["userName"] = u.MerchantName
c.Data["mobile"] = u.LoginAccount
c.Data["email"] = u.LoginAccount
c.Data["riskDay"] = "1"
//c.Data["key"] = uPayConfig.PayKey
//c.Data["secret"] = uPayConfig.PaySecret
c.TplName = "show_userInfo.html"
}