1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package service
- import (
- "github.com/gin-gonic/gin"
- "gorm.io/gorm"
- "iot_manager_service/app/user/dao"
- "iot_manager_service/util/cache"
- "iot_manager_service/util/common"
- "iot_manager_service/util/md5"
- "iot_manager_service/util/rsa"
- "iot_manager_service/util/token"
- "strconv"
- )
- var SysUserService = new(userService)
- type userService struct{}
- func (s *userService) Login(username string, pwd string) *common.Errors {
- userdao := &dao.SysUser{}
- USER, err := userdao.LoginFindUserName(username)
- if err != nil {
- if err == gorm.ErrRecordNotFound {
- return common.ParamsInvalidResponse("登录失败,账号不存在", nil)
- }
- return common.FailResponse(err.Error(), nil)
- }
- if USER.Enable != 1 {
- return common.ParamsInvalidResponse("登录失败,用户被禁止登录", nil)
- }
-
- r := rsa.RSA{}
- decrypt := r.Decrypt(pwd)
-
- ok := md5.BcryptCheck(decrypt, USER.Password)
- if !ok {
- return common.ParamsInvalidResponse("密码错误", nil)
- }
-
- USERID := strconv.Itoa(USER.ID)
- accessToken, _ := token.JwtClaims.CreateJwtToken(USERID, USER.Username, USER.UUID, 1)
- refreshToken, _ := token.JwtClaims.CreateJwtToken(USERID, USER.Username, USER.UUID, 24*7)
- cache.SetNowSysUser(USERID, USER)
- tokens := make(map[string]interface{})
- tokens["accessToken"] = accessToken
- tokens["refreshToken"] = refreshToken
-
- urlWebSocket := "ws://localhost:8085/notice/webSocket?userID=" + USERID
- return common.SuccessResponse("登录成功", gin.H{"token": tokens, "websocket": urlWebSocket})
- }
- func (s *userService) GetPublicKey() *common.Errors {
- r := rsa.RSA{}
- publicKey := r.ReturnPublicKey()
- return common.SuccessResponse("获取公钥成功", gin.H{"publicKey": publicKey})
- }
- func (s *userService) GetDeptSysUsers(deptIDs []int) *common.Errors {
- deptdao := &dao.Dept{}
- depts, _ := deptdao.GetDepts(deptIDs)
- userdao := &dao.SysUser{}
- users, _ := userdao.GetSysUsers()
- deptSysUsersMap := make(map[int][]dao.SysUser)
- for _, user := range users {
- deptSysUsersMap[user.DeptId] = append(deptSysUsersMap[user.DeptId], user)
- }
- var deptSysUsers []dao.Dept
- for _, dept := range depts {
- users := deptSysUsersMap[dept.ID]
- deptSysUsers = append(deptSysUsers, dao.Dept{
- ID: dept.ID,
- DeptName: dept.DeptName,
- SysUsers: users,
- })
- }
- return common.SuccessResponse("获取成功", gin.H{"deptSysUsers": deptSysUsers})
- }
|