123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- package api
- import (
- "gadmin/config"
- "gadmin/internal/admin/forms"
- "gadmin/internal/admin/service"
- "gadmin/internal/gorm/query"
- "gadmin/utility/serializer"
- "gadmin/utility/token"
- "github.com/gin-gonic/gin"
- )
- func UserLogin(c *gin.Context) {
- ip := c.ClientIP()
- var req forms.UserLoginReq
- if err := c.ShouldBind(&req); err == nil {
- res := service.User.Login(req, ip)
- c.JSON(200, res)
- } else {
- c.JSON(200, ErrorResponse(err))
- }
- }
- func UserMe(c *gin.Context) {
- var (
- user = token.CurrentUser(c)
- )
- permissions := make([]forms.UserLoginPermissions, 0)
- permissions = append(permissions, forms.UserLoginPermissions{
- Label: "控制台",
- Value: "value",
- })
- //获取用户角色权限
- roleInfo, err := service.AdminRole.GetRole(c, forms.AdminRoleReq{ID: user.RoleId})
- if err != nil || roleInfo == nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- if roleInfo.Key == "super" {
- for k, _ := range config.AuthMenuMap {
- permissions = append(permissions, forms.UserLoginPermissions{
- Label: config.AuthNameMap[k],
- Value: config.AuthMenuMap[k],
- })
- }
- } else {
- rpdb := query.Use(config.AdminDB).AdminRolePermission
- rolePermission := make([]int, 0)
- err = rpdb.Where(rpdb.SystemID.Eq(user.SystemId)).Pluck(rpdb.PermissionID, &rolePermission)
- //err = json.Unmarshal([]byte(roleInfo.Permissions), &rolePermission)
- if err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- for _, v := range rolePermission {
- if _, ok := config.AuthMenuMap[v]; ok {
- permissions = append(permissions, forms.UserLoginPermissions{
- Label: config.AuthNameMap[v],
- Value: config.AuthMenuMap[v],
- })
- }
- }
- }
- //将权限赋值给permission
- info := forms.UserMeReq{
- ID: user.ID,
- UserName: user.UserName,
- RoleId: user.RoleId,
- Avatar: user.Avatar,
- Nickname: user.Nickname,
- Permissions: permissions,
- IsSuper: user.UserName == "admin",
- }
- c.JSON(200, serializer.Suc(info, "获取成功"))
- }
- func AdminUserList(c *gin.Context) {
- var req forms.AdminUserListReq
- if err := c.ShouldBind(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- if err := forms.ParseParams(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- c.JSON(200, service.User.List(c, req))
- }
- func AdminUserEdit(c *gin.Context) {
- var req forms.AdminUserEditReq
- if err := c.ShouldBind(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- if err := forms.ParseParams(&req); err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- c.JSON(200, service.User.Edit(c, req))
- }
- func RolePermission(c *gin.Context) {
- is, err := service.User.GetUserRolePermission(c)
- if err != nil {
- c.JSON(200, ErrorResponse(err))
- return
- }
- c.JSON(200, serializer.Suc(is, "获取成功"))
- }
|