|
@@ -2,6 +2,7 @@ package services
|
|
|
|
|
|
import (
|
|
|
"eta/eta_forum_hub/models/system"
|
|
|
+ "eta/eta_forum_hub/services/alarm_msg"
|
|
|
"eta/eta_forum_hub/utils"
|
|
|
"fmt"
|
|
|
"strings"
|
|
@@ -9,20 +10,27 @@ import (
|
|
|
)
|
|
|
|
|
|
// 新增或者更新用户
|
|
|
-func AddOrUpdateAdmin(req system.Admin) (err error, isSendEmail bool) {
|
|
|
+func AddOrUpdateAdmin(req *system.AddAdminReq) (err error, isSendEmail bool) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("添加管理员账号失败, AddOrUpdateAdmin Err: " + err.Error())
|
|
|
+ go alarm_msg.SendAlarmMsg("添加管理员账号失败, AddOrUpdateAdmin Err: "+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
isSendEmail = true
|
|
|
isAdd := true
|
|
|
admin := new(system.Admin)
|
|
|
- admin, e := system.GetAdminByAdminName(req.AdminName)
|
|
|
+ adminInfo, e := system.GetAdminByAdminName(req.AdminName)
|
|
|
if e != nil {
|
|
|
if e.Error() != utils.ErrNoRow() {
|
|
|
err = fmt.Errorf("获取数据失败,%v", e)
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- if e == nil && admin.AdminId > 0 {
|
|
|
+ if e == nil && adminInfo.AdminId > 0 {
|
|
|
isAdd = false
|
|
|
- if admin.BusinessCode != req.BusinessCode {
|
|
|
+ admin = adminInfo
|
|
|
+ if adminInfo.BusinessCode != req.BusinessCode {
|
|
|
err = fmt.Errorf("商户编码不同,不允许更新")
|
|
|
return
|
|
|
}
|
|
@@ -35,7 +43,7 @@ func AddOrUpdateAdmin(req system.Admin) (err error, isSendEmail bool) {
|
|
|
return
|
|
|
}
|
|
|
if req.Mobile != "" {
|
|
|
- if isAdd || (!isAdd && req.Mobile != admin.Mobile) {
|
|
|
+ if isAdd || (!isAdd && req.Mobile != adminInfo.Mobile) {
|
|
|
if req.TelAreaCode == "86" {
|
|
|
if !utils.ValidateMobileFormatat(req.Mobile) {
|
|
|
err = fmt.Errorf("手机号格式有误, 请检查")
|
|
@@ -56,7 +64,7 @@ func AddOrUpdateAdmin(req system.Admin) (err error, isSendEmail bool) {
|
|
|
|
|
|
}
|
|
|
if req.Email != "" {
|
|
|
- if isAdd || (!isAdd && req.Mobile != admin.Mobile) {
|
|
|
+ if isAdd || (!isAdd && req.Mobile != adminInfo.Mobile) {
|
|
|
if !utils.ValidateEmailFormatat(req.Email) {
|
|
|
err = fmt.Errorf("邮箱格式有误, 请检查")
|
|
|
return
|
|
@@ -81,8 +89,6 @@ func AddOrUpdateAdmin(req system.Admin) (err error, isSendEmail bool) {
|
|
|
admin.Password = req.Password
|
|
|
admin.LastUpdatedPasswordTime = time.Now().Format(utils.FormatDateTime)
|
|
|
admin.Enabled = req.Enabled
|
|
|
- admin.LastLoginTime = time.Now().Format(utils.FormatDateTime)
|
|
|
- admin.CreatedTime = time.Now()
|
|
|
admin.LastUpdatedTime = time.Now().Format(utils.FormatDateTime)
|
|
|
admin.Mobile = req.Mobile
|
|
|
admin.RoleType = req.RoleType
|
|
@@ -108,6 +114,8 @@ func AddOrUpdateAdmin(req system.Admin) (err error, isSendEmail bool) {
|
|
|
admin.IsLdap = req.IsLdap
|
|
|
admin.BusinessCode = req.BusinessCode
|
|
|
if isAdd {
|
|
|
+ admin.CreatedTime = time.Now()
|
|
|
+ admin.LastLoginTime = time.Now().Format(utils.FormatDateTime)
|
|
|
err = system.AddAdmin(admin)
|
|
|
if err != nil {
|
|
|
err = fmt.Errorf("新增失败,Err:%s", err.Error())
|