|
@@ -3,13 +3,14 @@ package gn
|
|
import (
|
|
import (
|
|
"eta_gn/eta_bridge/controller/resp"
|
|
"eta_gn/eta_bridge/controller/resp"
|
|
gnLogic "eta_gn/eta_bridge/logic/gn"
|
|
gnLogic "eta_gn/eta_bridge/logic/gn"
|
|
|
|
+ "eta_gn/eta_bridge/models/gn"
|
|
|
|
+ gnRequest "eta_gn/eta_bridge/models/request/gn"
|
|
|
|
+ "eta_gn/eta_bridge/utils"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin"
|
|
|
|
+ "strings"
|
|
"sync"
|
|
"sync"
|
|
)
|
|
)
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
var lockSyncUser sync.Mutex
|
|
var lockSyncUser sync.Mutex
|
|
|
|
|
|
@@ -32,23 +33,175 @@ func (gc *GuoNengController) SyncUser(c *gin.Context) {
|
|
resp.Ok("同步成功", c)
|
|
resp.Ok("同步成功", c)
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
+
|
|
-
|
|
+func (gc *GuoNengController) AddAccount(c *gin.Context) {
|
|
-
|
|
+ var req gnRequest.AddAccountReq
|
|
-
|
|
+ if e := c.Bind(&req); e != nil {
|
|
-
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "参数解析失败", c)
|
|
-
|
|
+ return
|
|
-
|
|
+ }
|
|
-
|
|
+ if req.UserId == nil || (req.UserId != nil && *req.UserId == "") {
|
|
-
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "登录账号标识不可为空", c)
|
|
-
|
|
+ return
|
|
-
|
|
+ }
|
|
-
|
|
+ if req.FirstName == nil || (req.FirstName != nil && *req.FirstName == "") {
|
|
-
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "姓名不可为空", c)
|
|
-
|
|
+ return
|
|
-
|
|
+ }
|
|
-
|
|
+ if req.LastName == nil || (req.LastName != nil && *req.LastName == "") {
|
|
-
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "姓名不可为空", c)
|
|
-
|
|
+ return
|
|
-
|
|
+ }
|
|
-
|
|
+ if req.UserStatus == nil || (req.UserStatus != nil && *req.UserStatus == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "账号状态不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.Password == nil || (req.Password != nil && *req.Password == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "密码不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserStatus != nil {
|
|
|
|
+ statsMap := map[string]int{gn.UserStatusActive: 1, gn.UserStatusDisable: 0}
|
|
|
|
+ if _, ok := statsMap[*req.UserStatus]; !ok {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "枚举值异常: UserStatus", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ errCode, errMsg, e := gnLogic.AddAccount(req.UserEntity)
|
|
|
|
+ if e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, errCode, errMsg, c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.Gn4AResultData(true, utils.Gn4AErrCodeSuccess, "操作成功", c)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func (gc *GuoNengController) ModifyAccount(c *gin.Context) {
|
|
|
|
+ var req gnRequest.ModifyAccountReq
|
|
|
|
+ if e := c.Bind(&req); e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "参数解析失败", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserId == nil || (req.UserId != nil && *req.UserId == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "登录账号标识不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.FirstName == nil || (req.FirstName != nil && *req.FirstName == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "姓名不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.LastName == nil || (req.LastName != nil && *req.LastName == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "姓名不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserStatus == nil || (req.UserStatus != nil && *req.UserStatus == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "账号状态不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.Password == nil || (req.Password != nil && *req.Password == "") {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "密码不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserStatus != nil {
|
|
|
|
+ statsMap := map[string]int{gn.UserStatusActive: 1, gn.UserStatusDisable: 0}
|
|
|
|
+ if _, ok := statsMap[*req.UserStatus]; !ok {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "枚举值异常: UserStatus", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ errCode, errMsg, e := gnLogic.ModifyAccount(req.UserEntity)
|
|
|
|
+ if e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, errCode, errMsg, c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.Gn4AResultData(true, utils.Gn4AErrCodeSuccess, "操作成功", c)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func (gc *GuoNengController) DeleteAccount(c *gin.Context) {
|
|
|
|
+ var req gnRequest.DeleteAccountReq
|
|
|
|
+ if e := c.Bind(&req); e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "参数解析失败", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserId == "" {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "登录账号标识不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ errCode, errMsg, e := gnLogic.DeleteAccount(req.UserId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, errCode, errMsg, c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.Gn4AResultData(true, utils.Gn4AErrCodeSuccess, "操作成功", c)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func (gc *GuoNengController) SuspendAccount(c *gin.Context) {
|
|
|
|
+ var req gnRequest.SuspendAccountReq
|
|
|
|
+ if e := c.Bind(&req); e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "参数解析失败", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserId == "" {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "登录账号标识不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ errCode, errMsg, e := gnLogic.SuspendAccount(req.UserId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, errCode, errMsg, c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.Gn4AResultData(true, utils.Gn4AErrCodeSuccess, "操作成功", c)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func (gc *GuoNengController) RestoreAccount(c *gin.Context) {
|
|
|
|
+ var req gnRequest.RestoreAccountReq
|
|
|
|
+ if e := c.Bind(&req); e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "参数解析失败", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserId == "" {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "登录账号标识不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ errCode, errMsg, e := gnLogic.RestoreAccount(req.UserId)
|
|
|
|
+ if e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, errCode, errMsg, c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.Gn4AResultData(true, utils.Gn4AErrCodeSuccess, "操作成功", c)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func (gc *GuoNengController) ChangePassword(c *gin.Context) {
|
|
|
|
+ var req gnRequest.ChangePasswordReq
|
|
|
|
+ if e := c.Bind(&req); e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "参数解析失败", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if req.UserId == "" {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "登录账号标识不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ req.NewPassword = strings.TrimSpace(req.NewPassword)
|
|
|
|
+ if req.NewPassword == "" {
|
|
|
|
+ resp.Gn4AResultData(false, utils.Gn4AErrCode08, "新密码不可为空", c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ errCode, errMsg, e := gnLogic.ChangePassword(req.UserId, req.NewPassword)
|
|
|
|
+ if e != nil {
|
|
|
|
+ resp.Gn4AResultData(false, errCode, errMsg, c)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resp.Gn4AResultData(true, utils.Gn4AErrCodeSuccess, "操作成功", c)
|
|
|
|
+}
|