From 4a23356a5840b624c81dda44b0028ed8fc3656cc Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 13 十月 2023 11:14:25 +0800 Subject: [PATCH] 销售线索简单数据权限 --- api/v1/user.go | 723 +++++++++++++++++++++++++++---------------------------- 1 files changed, 353 insertions(+), 370 deletions(-) diff --git a/api/v1/user.go b/api/v1/user.go index 9cd713c..76fecfc 100644 --- a/api/v1/user.go +++ b/api/v1/user.go @@ -1,381 +1,364 @@ package v1 -import ( - "aps_crm/conf" - "aps_crm/constvar" - "aps_crm/model" - "aps_crm/model/request" - "aps_crm/model/response" - "aps_crm/pkg/contextx" - "aps_crm/pkg/ecode" - "aps_crm/pkg/encrypt" - "aps_crm/pkg/logx" - "aps_crm/pkg/snowflake" - "aps_crm/utils" - "fmt" - "github.com/gin-gonic/gin" - "github.com/go-redis/redis/v8" - "github.com/mojocn/base64Captcha" -) - -// 褰撳紑鍚鏈嶅姟鍣ㄩ儴缃叉椂锛屾浛鎹笅闈㈢殑閰嶇疆锛屼娇鐢╮edis鍏变韩瀛樺偍楠岃瘉鐮� -// var store = captcha.NewDefaultRedisStore() -var store = base64Captcha.DefaultMemStore - -// Login // -// @Tags Base -// @Summary 鐢ㄦ埛鐧诲綍 -// @Produce application/json -// @Param object body request.Login true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{data=response.LoginResponse} "鎴愬姛" -// @Router /api/base/login [post] -func (slf *BaseApi) Login(c *gin.Context) { - var params request.Login - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - // 鍒ゆ柇楠岃瘉鐮佹槸鍚﹀紑鍚� - key := c.ClientIP() - //openCaptcha := conf.Conf.Captcha.OpenCaptcha // 鏄惁寮�鍚槻鏆存鏁� - //openCaptchaTimeOut := conf.Conf.Captcha.OpenCaptchaTimeOut // 缂撳瓨瓒呮椂鏃堕棿 - //v, ok := constvar.BlackCache.Get(key) - //if !ok { - // constvar.BlackCache.Set(key, 1, time.Second*time.Duration(openCaptchaTimeOut)) - //} - - //var oc = openCaptcha == 0 || convertx.InterfaceToInt(v) > openCaptcha // 0 琛ㄧず姣忔鐧诲綍閮介渶瑕侀獙璇佺爜 鎴栬�呭綋鍓嶆鏁板凡瓒呰繃闃叉毚娆℃暟 - - //if !oc || store.Verify(params.CaptchaId, params.Captcha, true) { - u := &model.User{Username: params.Username, Password: params.Password} - user, errCode := userService.Login(u) - if errCode != ecode.OK { - logx.Errorf("鐧婚檰澶辫触! 鐢ㄦ埛鍚嶄笉瀛樺湪鎴栬�呭瘑鐮侀敊璇�! errCode:%v", errCode) - // 楠岃瘉鐮佹鏁�+1 - _ = constvar.BlackCache.Increment(key, 1) - ctx.Fail(errCode) - return - } - // 璧嬪�艰彍鍗旾D鍒楄〃 - //user.MenuIds, _ = menuService.GetUserMenuIds(user.UUID, user.UserType) - slf.TokenNext(ctx, *user) - return - //} - - // 楠岃瘉鐮佹鏁�+1 - //_ = constvar.BlackCache.Increment(key, 1) - //ctx.Fail(ecode.CaptchaErr) -} - -// TokenNext 鐧诲綍浠ュ悗绛惧彂jwt -func (slf *BaseApi) TokenNext(ctx *contextx.Context, user model.User) { - logx.Infof("TokenNext user:%+v", user) - j := &utils.JWT{SigningKey: []byte(conf.Conf.JWT.SigningKey)} // 鍞竴绛惧悕 - claims := j.CreateClaims(request.BaseClaims{ - UserId: user.UUID, - Username: user.Username, - UserType: user.UserType, - AuthorityId: user.AuthorityId, - }) - token, err := j.CreateToken(claims) - if err != nil { - logx.Errorf("鍒涘缓token澶辫触! err:%v", err) - ctx.Fail(ecode.CreateTokenErr) - return - } - if !conf.Conf.System.UseMultipoint { // 涓嶅厑璁稿鐐圭櫥褰� - ctx.OkWithDetailed(response.LoginResponse{ - User: user, - Token: token, - //ExpiresAt: claims.StandardClaims.ExpiresAt * 1000, - }) - return - } - - if jwtStr, err := jwtService.GetRedisJWT(user.Username); err == redis.Nil { // redis鏃燡WT鏁版嵁 - if err := jwtService.SetRedisJWT(token, user.Username); err != nil { - logx.Errorf("璁剧疆鐧诲綍鐘舵�佸け璐�! err:%v", err) - ctx.Fail(ecode.RedisErr) - return - } - ctx.OkWithDetailed(response.LoginResponse{ - User: user, - Token: token, - //ExpiresAt: claims.StandardClaims.ExpiresAt * 1000, - }) - } else if err != nil { // redis鑾峰彇JWT鎶ラ敊 - logx.Errorf("璁剧疆鐧诲綍鐘舵�佸け璐�! err:%v", err) - ctx.Fail(ecode.RedisErr) - } else { // 鎴愬姛鑾峰彇redis鐨凧WT锛屾棫鐨勪綔搴� - var blackJWT model.JwtBlacklist - blackJWT.Jwt = jwtStr - if err := jwtService.JsonInBlacklist(blackJWT); err != nil { - ctx.Fail(ecode.DBErr) - return - } - if err := jwtService.SetRedisJWT(token, user.Username); err != nil { - ctx.Fail(ecode.RedisErr) - return - } - ctx.OkWithDetailed(response.LoginResponse{ - User: user, - Token: token, - //ExpiresAt: claims.StandardClaims.ExpiresAt * 1000, - }) - } -} - -// Register +//// 褰撳紑鍚鏈嶅姟鍣ㄩ儴缃叉椂锛屾浛鎹笅闈㈢殑閰嶇疆锛屼娇鐢╮edis鍏变韩瀛樺偍楠岃瘉鐮� +//// var store = captcha.NewDefaultRedisStore() +//var store = base64Captcha.DefaultMemStore // -// @Tags User -// @Summary 娉ㄥ唽璐﹀彿 -// @Produce application/json -// @Param object body request.Register true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{data=response.UserResponse} "鎴愬姛" -// @Router /api/user/register [post] -func (slf *BaseApi) Register(c *gin.Context) { - var params request.Register - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - userInfo := utils.GetUserInfo(c) - if len(userInfo.UserId) <= 0 { - ctx.Fail(ecode.UnknownErr) - return - } - - if len(params.Username) == 0 || len(params.Password) == 0 || len(params.NickName) == 0 || params.AuthorityId == 0 || len(params.RePassword) == 0 || params.DepartmentId == 0 { - ctx.Fail(ecode.ParamsErr) - return - } - - var userId = fmt.Sprintf("u%v", snowflake.GenerateId()) - var passWord = encrypt.BcryptHash(params.Password) - var userType constvar.UserType - - user := &model.User{UUID: userId, Username: params.Username, UserType: userType, NickName: params.NickName, Password: passWord, HeaderImg: params.HeaderImg, Phone: params.Phone, Email: params.Email, DepartmentId: params.DepartmentId, AuthorityId: params.AuthorityId} - userReturn, errCode := userService.Register(user) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - - //if user.UserType == constvar.UserTypePrimary { // 涓昏处鎴峰垱寤哄搴旂殑鏁版嵁搴撶敤鎴峰拰鎺掔▼鏁版嵁搴� - // err := model.NewMysql().CreateDatabase(user.Username) - // if err != nil { - // ctx.Fail(ecode.CreateDatabaseErr) - // return - // } - // - // defaultPwd := fmt.Sprintf("%v@Basic2023", user.Username) - // err = model.NewMysql().CreateUser(user.Username, defaultPwd, user.Username) - // if err != nil { - // ctx.Fail(ecode.CreateDatabaseUserErr) - // return - // } - //} - - ctx.OkWithDetailed(response.UserResponse{User: *userReturn}) -} - -// ChangePassword +//// Login +//// +//// @Tags Base +//// @Summary 鐢ㄦ埛鐧诲綍 +//// @Produce application/json +//// @Param object body request.Login true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{data=response.LoginResponse} "鎴愬姛" +//// @Router /api/base/login [post] +//func (slf *BaseApi) Login(c *gin.Context) { +// var params request.Login +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } // -// @Tags User -// @Summary 鐢ㄦ埛淇敼瀵嗙爜 -// @Produce application/json -// @Param object body request.ChangePasswordReq true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} "鎴愬姛" -// @Router /api/user/changePassword [post] -func (slf *BaseApi) ChangePassword(c *gin.Context) { - var params request.ChangePasswordReq - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - u := &model.User{UUID: utils.GetUserID(c), Password: params.Password} - _, errCode := userService.ChangePassword(u, params.NewPassword) - if errCode != ecode.OK { - ctx.Fail(errCode) - return - } - ctx.Ok() -} - -// GetUserList +// // 鍒ゆ柇楠岃瘉鐮佹槸鍚﹀紑鍚� +// key := c.ClientIP() +// //openCaptcha := conf.Conf.Captcha.OpenCaptcha // 鏄惁寮�鍚槻鏆存鏁� +// //openCaptchaTimeOut := conf.Conf.Captcha.OpenCaptchaTimeOut // 缂撳瓨瓒呮椂鏃堕棿 +// //v, ok := constvar.BlackCache.Get(key) +// //if !ok { +// // constvar.BlackCache.Set(key, 1, time.Second*time.Duration(openCaptchaTimeOut)) +// //} // -// @Tags User -// @Summary 鍒嗛〉鑾峰彇鐢ㄦ埛鍒楄〃(涓嶄紶鍒嗛〉鍙傛暟锛岃幏鍙栧叏閮�) -// @Produce application/json -// @Param object body request.GetUserList true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{data=response.PageResult} "鎴愬姛" -// @Router /api/user/getUserList [post] -func (slf *BaseApi) GetUserList(c *gin.Context) { - var params request.GetUserList - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - userInfo := utils.GetUserInfo(c) - if len(userInfo.UserId) <= 0 || len(userInfo.ParentId) == 0 { - ctx.Fail(ecode.UnknownErr) - return - } - - ctx.OkWithDetailed(response.PageResult{ - Page: params.Page, - PageSize: params.PageSize, - }) -} - -// DeleteUser +// //var oc = openCaptcha == 0 || convertx.InterfaceToInt(v) > openCaptcha // 0 琛ㄧず姣忔鐧诲綍閮介渶瑕侀獙璇佺爜 鎴栬�呭綋鍓嶆鏁板凡瓒呰繃闃叉毚娆℃暟 // -// @Tags User -// @Summary 鍒犻櫎鐢ㄦ埛 -// @Produce application/json -// @Param object body request.DeleteUserReq true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} "鎴愬姛" -// @Router /api/user/deleteUser [delete] -func (slf *BaseApi) DeleteUser(c *gin.Context) { - var params request.DeleteUserReq - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - if len(params.UserId) <= 0 { - ctx.Fail(ecode.ParamsErr) - return - } - - userInfo := utils.GetUserInfo(c) - if userInfo.UserType != constvar.UserTypePrimary || userInfo.UserId == params.UserId { - ctx.Fail(ecode.NoPowerErr) - return - } - - err := userService.DeleteUser(params.UserId) - if err != nil { - logx.Errorf("鍒犻櫎澶辫触! err:%v", err) - ctx.Fail(ecode.DBErr) - return - } - ctx.Ok() -} - -// SetUserInfo +// //if !oc || store.Verify(params.CaptchaId, params.Captcha, true) { +// u := &model.User{Username: params.Username, Password: params.Password} +// user, errCode := userService.Login(u) +// if errCode != ecode.OK { +// logx.Errorf("鐧婚檰澶辫触! 鐢ㄦ埛鍚嶄笉瀛樺湪鎴栬�呭瘑鐮侀敊璇�! errCode:%v", errCode) +// // 楠岃瘉鐮佹鏁�+1 +// _ = constvar.BlackCache.Increment(key, 1) +// ctx.Fail(errCode) +// return +// } +// // 璧嬪�艰彍鍗旾D鍒楄〃 +// //user.MenuIds, _ = menuService.GetUserMenuIds(user.UUID, user.UserType) +// slf.TokenNext(ctx, *user) +// return +// //} // -// @Tags User -// @Summary 璁剧疆鐢ㄦ埛淇℃伅 -// @Produce application/json -// @Param object body request.ChangeUserInfo true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} "鎴愬姛" -// @Router /api/user/setUserInfo [post] -func (slf *BaseApi) SetUserInfo(c *gin.Context) { - var params request.ChangeUserInfo - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - err := userService.SetUserInfo(model.User{ - UUID: params.ID, - NickName: params.NickName, - HeaderImg: params.HeaderImg, - Phone: params.Phone, - Email: params.Email, - Pos: params.Pos, - }) - if err != nil { - logx.Errorf("璁剧疆澶辫触! err:%v", err) - ctx.Fail(ecode.DBErr) - return - } - ctx.Ok() -} - -// SetSelfInfo +// // 楠岃瘉鐮佹鏁�+1 +// //_ = constvar.BlackCache.Increment(key, 1) +// //ctx.Fail(ecode.CaptchaErr) +//} // -// @Tags User -// @Summary 璁剧疆鐢ㄦ埛淇℃伅 -// @Produce application/json -// @Param object body request.ChangeUserInfo true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} "鎴愬姛" -// @Router /api/user/setSelfInfo [post] -func (slf *BaseApi) SetSelfInfo(c *gin.Context) { - var params request.ChangeUserInfo - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - params.ID = utils.GetUserID(c) - err := userService.SetUserInfo(model.User{ - UUID: params.ID, - NickName: params.NickName, - HeaderImg: params.HeaderImg, - Phone: params.Phone, - Email: params.Email, - Pos: params.Pos, - }) - if err != nil { - logx.Errorf("璁剧疆澶辫触! err:%v", err) - ctx.Fail(ecode.DBErr) - return - } - ctx.Ok() -} - -// GetUserInfo +//// TokenNext 鐧诲綍浠ュ悗绛惧彂jwt +//func (slf *BaseApi) TokenNext(ctx *contextx.Context, user model.User) { +// logx.Infof("TokenNext user:%+v", user) +// j := &utils.JWT{SigningKey: []byte(conf.Conf.JWT.SigningKey)} // 鍞竴绛惧悕 +// claims := j.CreateClaims(request.BaseClaims{ +// UserId: user.UUID, +// Username: user.Username, +// UserType: user.UserType, +// AuthorityId: user.AuthorityId, +// }) +// token, err := j.CreateToken(claims) +// if err != nil { +// logx.Errorf("鍒涘缓token澶辫触! err:%v", err) +// ctx.Fail(ecode.CreateTokenErr) +// return +// } +// if !conf.Conf.System.UseMultipoint { // 涓嶅厑璁稿鐐圭櫥褰� +// ctx.OkWithDetailed(response.LoginResponse{ +// User: user, +// Token: token, +// //ExpiresAt: claims.StandardClaims.ExpiresAt * 1000, +// }) +// return +// } // -// @Tags User -// @Summary 鑾峰彇鑷韩淇℃伅 -// @Produce application/json -// @Success 200 {object} contextx.Response{} "鎴愬姛" -// @Router /api/user/getUserInfo [post] -func (slf *BaseApi) GetUserInfo(c *gin.Context) { - ctx, ok := contextx.NewContext(c, nil) - if !ok { - return - } - - id := utils.GetUserID(c) - ReqUser, err := userService.GetUserInfo(id) - if err != nil { - logx.Errorf("鑾峰彇澶辫触! err:%v", err) - ctx.Fail(ecode.DBErr) - return - } - ctx.OkWithDetailed(response.UserResponse{ - User: *ReqUser, - }) -} - -// ResetPassword +// if jwtStr, err := jwtService.GetRedisJWT(user.Username); err == redis.Nil { // redis鏃燡WT鏁版嵁 +// if err := jwtService.SetRedisJWT(token, user.Username); err != nil { +// logx.Errorf("璁剧疆鐧诲綍鐘舵�佸け璐�! err:%v", err) +// ctx.Fail(ecode.RedisErr) +// return +// } +// ctx.OkWithDetailed(response.LoginResponse{ +// User: user, +// Token: token, +// //ExpiresAt: claims.StandardClaims.ExpiresAt * 1000, +// }) +// } else if err != nil { // redis鑾峰彇JWT鎶ラ敊 +// logx.Errorf("璁剧疆鐧诲綍鐘舵�佸け璐�! err:%v", err) +// ctx.Fail(ecode.RedisErr) +// } else { // 鎴愬姛鑾峰彇redis鐨凧WT锛屾棫鐨勪綔搴� +// var blackJWT model.JwtBlacklist +// blackJWT.Jwt = jwtStr +// if err := jwtService.JsonInBlacklist(blackJWT); err != nil { +// ctx.Fail(ecode.DBErr) +// return +// } +// if err := jwtService.SetRedisJWT(token, user.Username); err != nil { +// ctx.Fail(ecode.RedisErr) +// return +// } +// ctx.OkWithDetailed(response.LoginResponse{ +// User: user, +// Token: token, +// //ExpiresAt: claims.StandardClaims.ExpiresAt * 1000, +// }) +// } +//} // -// @Tags User -// @Summary 閲嶇疆鐢ㄦ埛瀵嗙爜 -// @Produce application/json -// @Param object body model.User true "鏌ヨ鍙傛暟" -// @Success 200 {object} contextx.Response{} "鎴愬姛" -// @Router /api/user/resetPassword [post] -func (slf *BaseApi) ResetPassword(c *gin.Context) { - var params model.User - ctx, ok := contextx.NewContext(c, ¶ms) - if !ok { - return - } - - err := userService.ResetPassword(params.UUID) - if err != nil { - logx.Errorf("閲嶇疆澶辫触! err:%v", err) - ctx.Fail(ecode.DBErr) - return - } - ctx.Ok() -} +//// Register +//// +//// @Tags User +//// @Summary 娉ㄥ唽璐﹀彿 +//// @Produce application/json +//// @Param object body request.Register true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{data=response.UserResponse} "鎴愬姛" +//// @Router /api/user/register [post] +//func (slf *BaseApi) Register(c *gin.Context) { +// var params request.Register +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// userInfo := utils.GetUserInfo(c) +// if len(userInfo.UserId) <= 0 { +// ctx.Fail(ecode.UnknownErr) +// return +// } +// +// if len(params.Username) == 0 || len(params.Password) == 0 || len(params.NickName) == 0 || params.AuthorityId == 0 || len(params.RePassword) == 0 || params.DepartmentId == 0 { +// ctx.Fail(ecode.ParamsErr) +// return +// } +// +// var userId = fmt.Sprintf("u%v", snowflake.GenerateId()) +// var passWord = encrypt.BcryptHash(params.Password) +// var userType constvar.UserType +// +// user := &model.User{UUID: userId, Username: params.Username, UserType: userType, NickName: params.NickName, Password: passWord, HeaderImg: params.HeaderImg, Phone: params.Phone, Email: params.Email, DepartmentId: params.DepartmentId, AuthorityId: params.AuthorityId} +// userReturn, errCode := userService.Register(user) +// if errCode != ecode.OK { +// ctx.Fail(errCode) +// return +// } +// +// //if user.UserType == constvar.UserTypePrimary { // 涓昏处鎴峰垱寤哄搴旂殑鏁版嵁搴撶敤鎴峰拰鎺掔▼鏁版嵁搴� +// // err := model.NewMysql().CreateDatabase(user.Username) +// // if err != nil { +// // ctx.Fail(ecode.CreateDatabaseErr) +// // return +// // } +// // +// // defaultPwd := fmt.Sprintf("%v@Basic2023", user.Username) +// // err = model.NewMysql().CreateUser(user.Username, defaultPwd, user.Username) +// // if err != nil { +// // ctx.Fail(ecode.CreateDatabaseUserErr) +// // return +// // } +// //} +// +// ctx.OkWithDetailed(response.UserResponse{User: *userReturn}) +//} +// +//// ChangePassword +//// +//// @Tags User +//// @Summary 鐢ㄦ埛淇敼瀵嗙爜 +//// @Produce application/json +//// @Param object body request.ChangePasswordReq true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{} "鎴愬姛" +//// @Router /api/user/changePassword [post] +//func (slf *BaseApi) ChangePassword(c *gin.Context) { +// var params request.ChangePasswordReq +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// u := &model.User{UUID: utils.GetUserID(c), Password: params.Password} +// _, errCode := userService.ChangePassword(u, params.NewPassword) +// if errCode != ecode.OK { +// ctx.Fail(errCode) +// return +// } +// ctx.Ok() +//} +// +//// GetUserList +//// +//// @Tags User +//// @Summary 鍒嗛〉鑾峰彇鐢ㄦ埛鍒楄〃(涓嶄紶鍒嗛〉鍙傛暟锛岃幏鍙栧叏閮�) +//// @Produce application/json +//// @Param object body request.GetUserList true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{data=response.PageResult} "鎴愬姛" +//// @Router /api/user/getUserList [post] +//func (slf *BaseApi) GetUserList(c *gin.Context) { +// var params request.GetUserList +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// userInfo := utils.GetUserInfo(c) +// if len(userInfo.UserId) <= 0 || len(userInfo.ParentId) == 0 { +// ctx.Fail(ecode.UnknownErr) +// return +// } +// +// ctx.OkWithDetailed(response.PageResult{ +// Page: params.Page, +// PageSize: params.PageSize, +// }) +//} +// +//// DeleteUser +//// +//// @Tags User +//// @Summary 鍒犻櫎鐢ㄦ埛 +//// @Produce application/json +//// @Param object body request.DeleteUserReq true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{} "鎴愬姛" +//// @Router /api/user/deleteUser [delete] +//func (slf *BaseApi) DeleteUser(c *gin.Context) { +// var params request.DeleteUserReq +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// if len(params.UserId) <= 0 { +// ctx.Fail(ecode.ParamsErr) +// return +// } +// +// userInfo := utils.GetUserInfo(c) +// if userInfo.UserType != constvar.UserTypePrimary || userInfo.UserId == params.UserId { +// ctx.Fail(ecode.NoPowerErr) +// return +// } +// +// err := userService.DeleteUser(params.UserId) +// if err != nil { +// logx.Errorf("鍒犻櫎澶辫触! err:%v", err) +// ctx.Fail(ecode.DBErr) +// return +// } +// ctx.Ok() +//} +// +//// SetUserInfo +//// +//// @Tags User +//// @Summary 璁剧疆鐢ㄦ埛淇℃伅 +//// @Produce application/json +//// @Param object body request.ChangeUserInfo true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{} "鎴愬姛" +//// @Router /api/user/setUserInfo [post] +//func (slf *BaseApi) SetUserInfo(c *gin.Context) { +// var params request.ChangeUserInfo +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// err := userService.SetUserInfo(model.User{ +// UUID: params.ID, +// NickName: params.NickName, +// HeaderImg: params.HeaderImg, +// Phone: params.Phone, +// Email: params.Email, +// Pos: params.Pos, +// }) +// if err != nil { +// logx.Errorf("璁剧疆澶辫触! err:%v", err) +// ctx.Fail(ecode.DBErr) +// return +// } +// ctx.Ok() +//} +// +//// SetSelfInfo +//// +//// @Tags User +//// @Summary 璁剧疆鐢ㄦ埛淇℃伅 +//// @Produce application/json +//// @Param object body request.ChangeUserInfo true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{} "鎴愬姛" +//// @Router /api/user/setSelfInfo [post] +//func (slf *BaseApi) SetSelfInfo(c *gin.Context) { +// var params request.ChangeUserInfo +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// params.ID = utils.GetUserID(c) +// err := userService.SetUserInfo(model.User{ +// UUID: params.ID, +// NickName: params.NickName, +// HeaderImg: params.HeaderImg, +// Phone: params.Phone, +// Email: params.Email, +// Pos: params.Pos, +// }) +// if err != nil { +// logx.Errorf("璁剧疆澶辫触! err:%v", err) +// ctx.Fail(ecode.DBErr) +// return +// } +// ctx.Ok() +//} +// +//// GetUserInfo +//// +//// @Tags User +//// @Summary 鑾峰彇鑷韩淇℃伅 +//// @Produce application/json +//// @Success 200 {object} contextx.Response{} "鎴愬姛" +//// @Router /api/user/getUserInfo [post] +//func (slf *BaseApi) GetUserInfo(c *gin.Context) { +// ctx, ok := contextx.NewContext(c, nil) +// if !ok { +// return +// } +// +// id := utils.GetUserID(c) +// ReqUser, err := userService.GetUserInfo(id) +// if err != nil { +// logx.Errorf("鑾峰彇澶辫触! err:%v", err) +// ctx.Fail(ecode.DBErr) +// return +// } +// ctx.OkWithDetailed(response.UserResponse{ +// User: *ReqUser, +// }) +//} +// +//// ResetPassword +//// +//// @Tags User +//// @Summary 閲嶇疆鐢ㄦ埛瀵嗙爜 +//// @Produce application/json +//// @Param object body model.User true "鏌ヨ鍙傛暟" +//// @Success 200 {object} contextx.Response{} "鎴愬姛" +//// @Router /api/user/resetPassword [post] +//func (slf *BaseApi) ResetPassword(c *gin.Context) { +// var params model.User +// ctx, ok := contextx.NewContext(c, ¶ms) +// if !ok { +// return +// } +// +// err := userService.ResetPassword(params.UUID) +// if err != nil { +// logx.Errorf("閲嶇疆澶辫触! err:%v", err) +// ctx.Fail(ecode.DBErr) +// return +// } +// ctx.Ok() +//} -- Gitblit v1.8.0