123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- package gn
- import (
- "eta_gn/eta_bridge/controller/resp"
- 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"
- "strings"
- "sync"
- )
- // 同步用户锁,防止重复同步,不管是全量还是增量,都是同一时间只能一个同步
- var lockSyncUser sync.Mutex
- // SyncUser
- // @Description: 全量同步用户
- // @author: Roc
- // @receiver xc
- // @datetime 2024-01-22 15:51:25
- // @param c *gin.Context
- func (gc *GuoNengController) SyncUser(c *gin.Context) {
- lockSyncUser.Lock()
- defer func() {
- lockSyncUser.Unlock()
- }()
- err := gnLogic.SyncUser()
- if err != nil {
- resp.FailData("同步失败", err.Error(), c)
- return
- }
- resp.Ok("同步成功", c)
- }
- // AddAccount 创建新账号
- 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)
- }
- // ModifyAccount 修改账号信息
- 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)
- }
- // DeleteAccount 删除账号
- 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)
- }
- // SuspendAccount 禁用账号
- 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)
- }
- // RestoreAccount 禁用账号
- 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)
- }
- // ChangePassword 修改密码
- 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)
- }
|