fix: 修复并发安全、Redis缓存空值、角色分配、用户列表重复等问题
- 修复: WebSocket OnlineUserMap 加锁, aliasCronMap 改用 sync.Map - 修复: 替换 dgrijalva/jwt-go 为 golang-jwt/jwt (CVE) - 修复: CronJob.Add 缺少 return, resp.ErrorResp 未处理 error 类型 - 修复: token_util 和 login_service 越界访问 - 修复: Logger 级别配置被代码覆盖 - 修复: SysConfig.ConfigValue 字段长度 varchar(1) -> varchar(500) - 修复: Excel 导出列超过26列崩溃 - 修复: 数据库连接池配置过大, Ping goroutine 泄漏 - 修复: config_dao init 绕过缓存层 - 修复: Redis 空值导致 JSON 解析 panic - 修复: 分配角色页面只返回用户已有角色, 未返回所有角色 - 修复: 用户列表因角色关联导致重复行 - 移除: 前端硬编码私钥和默认密码 - 修复: LoginBody 和 updateAuthRole 路径
This commit is contained in:
@@ -63,11 +63,11 @@ func (a CronJobApi) Add(c *gin.Context) {
|
||||
record := a.cronJobService.GetInfoByAlias(dto.FuncAlias)
|
||||
if record.JobId > 0 {
|
||||
resp.Error(c, "任务已存在!")
|
||||
} else {
|
||||
a.cronJobService.Save(dto)
|
||||
cronjob.AppendCronFunc(dto.JobCron, dto.FuncAlias, dto.Status)
|
||||
resp.OK(c)
|
||||
return
|
||||
}
|
||||
a.cronJobService.Save(dto)
|
||||
cronjob.AppendCronFunc(dto.JobCron, dto.FuncAlias, dto.Status)
|
||||
resp.OK(c)
|
||||
}
|
||||
|
||||
// Remove 删除定时任务
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"cutego/modules/core/service"
|
||||
"cutego/pkg/config"
|
||||
"cutego/pkg/excels"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/pkg/resp"
|
||||
"cutego/pkg/util"
|
||||
@@ -16,6 +16,7 @@ import (
|
||||
"io"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// UserApi 用户操作api
|
||||
@@ -93,28 +94,65 @@ func (a UserApi) AuthRole(c *gin.Context) {
|
||||
userId := c.Param("userId")
|
||||
parseInt, err := strconv.ParseInt(userId, 10, 64)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
c.JSON(http.StatusInternalServerError, resp.ErrorResp(err))
|
||||
return
|
||||
}
|
||||
user := a.userService.GetUserById(parseInt)
|
||||
// 查询角色
|
||||
roles := a.roleService.GetRoleListByUserId(parseInt)
|
||||
flag := dataobject.SysUser{}.IsAdmin(parseInt)
|
||||
if flag {
|
||||
m["roles"] = roles
|
||||
} else {
|
||||
roleList := make([]dataobject.SysRole, 0)
|
||||
for _, role := range *roles {
|
||||
if role.RoleId != 1 {
|
||||
roleList = append(roleList, role)
|
||||
}
|
||||
// 查询所有角色
|
||||
roleAll, _ := a.roleService.FindAll(nil)
|
||||
// 查询用户已有角色id集合
|
||||
roleIds := a.roleService.FindRoleListByUserId(parseInt)
|
||||
// 将角色id集合转为map, 便于快速判断
|
||||
roleIdMap := make(map[int64]bool)
|
||||
if roleIds != nil {
|
||||
for _, id := range *roleIds {
|
||||
roleIdMap[id] = true
|
||||
}
|
||||
m["roles"] = roleList
|
||||
}
|
||||
roleList := make([]dataobject.SysRole, 0)
|
||||
for _, role := range roleAll {
|
||||
// 标记是否已分配
|
||||
role.Flag = roleIdMap[role.RoleId]
|
||||
roleList = append(roleList, *role)
|
||||
}
|
||||
m["roles"] = roleList
|
||||
m["user"] = user
|
||||
c.JSON(http.StatusOK, resp.Success(m))
|
||||
}
|
||||
|
||||
// AuthRoleUpdate 更新用户授权角色
|
||||
func (a UserApi) AuthRoleUpdate(c *gin.Context) {
|
||||
userIdStr := c.Query("userId")
|
||||
roleIdsStr := c.Query("roleIds")
|
||||
if userIdStr == "" {
|
||||
resp.ParamError(c, "缺少userId参数")
|
||||
return
|
||||
}
|
||||
userId, err := strconv.ParseInt(userIdStr, 10, 64)
|
||||
if err != nil {
|
||||
resp.ParamError(c, "userId参数错误")
|
||||
return
|
||||
}
|
||||
// 先删除用户所有角色关联
|
||||
a.userService.RemoveUserRole(userId)
|
||||
// 解析并添加新角色
|
||||
if roleIdsStr != "" {
|
||||
roleIdStrs := strings.Split(roleIdsStr, ",")
|
||||
roleIds := make([]int64, 0, len(roleIdStrs))
|
||||
for _, s := range roleIdStrs {
|
||||
id, err := strconv.ParseInt(strings.TrimSpace(s), 10, 64)
|
||||
if err == nil {
|
||||
roleIds = append(roleIds, id)
|
||||
}
|
||||
}
|
||||
if len(roleIds) > 0 {
|
||||
a.userService.BindUserRoleIds(userId, roleIds)
|
||||
}
|
||||
}
|
||||
resp.OK(c)
|
||||
}
|
||||
|
||||
// Add 新增用户
|
||||
func (a UserApi) Add(c *gin.Context) {
|
||||
userBody := request.UserBody{}
|
||||
@@ -174,7 +212,7 @@ func (a UserApi) Remove(c *gin.Context) {
|
||||
param := c.Param("userId")
|
||||
userId, err := strconv.ParseInt(param, 10, 64)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
c.JSON(http.StatusInternalServerError, resp.ErrorResp("参数错误"))
|
||||
return
|
||||
}
|
||||
@@ -294,13 +332,13 @@ func (a UserApi) Avatar(c *gin.Context) {
|
||||
fileAppend, err := gotool.FileUtils.OpenFileAppend(filePath)
|
||||
defer fileAppend.Close()
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
resp.Error(c)
|
||||
return
|
||||
}
|
||||
_, err = io.Copy(fileAppend, file)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
resp.Error(c)
|
||||
return
|
||||
}
|
||||
|
||||
+8
-1
@@ -11,8 +11,15 @@ import (
|
||||
// @Return *models2.SysConfig
|
||||
func GetRedisConfig(key string) *models2.SysConfig {
|
||||
val := cache.GetCache(constant.RedisConst{}.GetRedisConfigKey() + key)
|
||||
if val == "" {
|
||||
return nil
|
||||
}
|
||||
s := new(models2.SysConfig)
|
||||
return cache.JsonToStruct(val, s).(*models2.SysConfig)
|
||||
result := cache.JsonToStruct(val, s)
|
||||
if result == nil {
|
||||
return nil
|
||||
}
|
||||
return result.(*models2.SysConfig)
|
||||
}
|
||||
|
||||
// SetRedisConfig 将配置存入缓存
|
||||
|
||||
+3
@@ -11,6 +11,9 @@ import (
|
||||
// @Return interface {}
|
||||
func GetRedisDict(key string) interface{} {
|
||||
val := cache.GetCache(key)
|
||||
if val == "" {
|
||||
return nil
|
||||
}
|
||||
s := make([]interface{}, 0)
|
||||
return cache.JsonToStruct(val, s)
|
||||
}
|
||||
|
||||
@@ -5,9 +5,10 @@ import (
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/cache"
|
||||
"cutego/pkg/constant"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
|
||||
"github.com/druidcaesa/gotool"
|
||||
"github.com/go-xorm/xorm"
|
||||
)
|
||||
@@ -24,7 +25,7 @@ func (d ConfigDao) SelectByConfigKey(configKey string) *dataobject.SysConfig {
|
||||
config := dataobject.SysConfig{}
|
||||
_, err := d.sql(refs.SqlDB.NewSession()).Where("config_key = ?", configKey).Get(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &config
|
||||
@@ -52,7 +53,7 @@ func (d ConfigDao) SelectPage(query request.ConfigQuery) (*[]dataobject.SysConfi
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return &configs, total
|
||||
@@ -66,7 +67,7 @@ func (d ConfigDao) CheckConfigKeyUnique(config dataobject.SysConfig) int64 {
|
||||
}
|
||||
count, err := session.And("config_key = ?", config.ConfigKey).Cols("config_id").Count()
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
return count
|
||||
@@ -78,7 +79,7 @@ func (d ConfigDao) Insert(config dataobject.SysConfig) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -92,7 +93,7 @@ func (d ConfigDao) SelectById(id int64) *dataobject.SysConfig {
|
||||
session := d.sql(refs.SqlDB.NewSession())
|
||||
_, err := session.Where("config_id = ?", id).Get(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &config
|
||||
@@ -104,7 +105,7 @@ func (d ConfigDao) Update(config dataobject.SysConfig) int64 {
|
||||
session.Begin()
|
||||
update, err := session.Where("config_id = ?", config.ConfigId).Update(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -117,7 +118,7 @@ func (d ConfigDao) CheckConfigByIds(list []int64) *[]dataobject.SysConfig {
|
||||
configs := make([]dataobject.SysConfig, 0)
|
||||
err := d.sql(refs.SqlDB.NewSession()).In("config_id", list).Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &configs
|
||||
@@ -129,7 +130,7 @@ func (d ConfigDao) Delete(list []int64) bool {
|
||||
session.Begin()
|
||||
_, err := session.In("config_id", list).Delete(&dataobject.SysConfig{})
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return false
|
||||
}
|
||||
@@ -143,30 +144,23 @@ func (d ConfigDao) SelectAll() *[]dataobject.SysConfig {
|
||||
session := refs.SqlDB.NewSession()
|
||||
err := session.Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &configs
|
||||
}
|
||||
|
||||
func init() {
|
||||
func PreInitConfig() {
|
||||
// 查询配置数据存入到缓存中
|
||||
configDao := new(ConfigDao)
|
||||
configSession := configDao.sql(refs.SqlDB.NewSession())
|
||||
configs := make([]*dataobject.SysConfig, 0)
|
||||
err := configSession.Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return
|
||||
}
|
||||
for _, sysConfig := range configs {
|
||||
refs.RedisDB.SET(constant.RedisConst{}.GetRedisConfigKey()+sysConfig.ConfigKey, cache.StructToJson(map[string]interface{}{
|
||||
"configId": sysConfig.ConfigId,
|
||||
"configName": sysConfig.ConfigName,
|
||||
"configKey": sysConfig.ConfigKey,
|
||||
"configValue": sysConfig.ConfigValue,
|
||||
"configType": sysConfig.ConfigType,
|
||||
"remark": sysConfig.Remark,
|
||||
}))
|
||||
cache.SetCache(constant.RedisConst{}.GetRedisConfigKey()+sysConfig.ConfigKey, sysConfig)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -30,7 +30,7 @@ func (d CronJobDao) SelectPage(query request.CronJobQuery) ([]dataobject.SysCron
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return configs, total
|
||||
@@ -42,7 +42,7 @@ func (d CronJobDao) Insert(config dataobject.SysCronJob) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -56,7 +56,7 @@ func (d CronJobDao) SelectById(id int64) *dataobject.SysCronJob {
|
||||
session := d.sql(refs.SqlDB.NewSession())
|
||||
_, err := session.Where("job_id = ?", id).Get(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &config
|
||||
@@ -68,7 +68,7 @@ func (d CronJobDao) Update(config dataobject.SysCronJob) int64 {
|
||||
session.Begin()
|
||||
update, err := session.Where("job_id = ?", config.JobId).Update(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -82,7 +82,7 @@ func (d CronJobDao) Delete(list []int64) bool {
|
||||
session.Begin()
|
||||
_, err := session.In("job_id", list).Delete(&dataobject.SysCronJob{})
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return false
|
||||
}
|
||||
@@ -96,7 +96,7 @@ func (d CronJobDao) SelectByFuncAlias(funcAlias string) *dataobject.SysCronJob {
|
||||
session := d.sql(refs.SqlDB.NewSession())
|
||||
_, err := session.Where("func_alias = ?", funcAlias).Get(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &config
|
||||
@@ -108,7 +108,7 @@ func (d CronJobDao) SelectAll() ([]dataobject.SysCronJob, int) {
|
||||
session := d.sql(refs.SqlDB.NewSession())
|
||||
err := session.Where("status = ?", 1).Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return configs, len(configs)
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
)
|
||||
@@ -26,7 +26,7 @@ func (d DeptDao) SelectTree(query request.DeptQuery) *[]dataobject.SysDept {
|
||||
}
|
||||
err := session.OrderBy("parent_id").OrderBy("order_num").Find(&depts)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &depts
|
||||
@@ -43,7 +43,7 @@ func (d DeptDao) SelectDeptListByRoleId(id int64, strictly bool) *[]int64 {
|
||||
}
|
||||
err := session.OrderBy("d.parent_id").OrderBy("d.order_num").Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &list
|
||||
@@ -65,7 +65,7 @@ func (d DeptDao) GetList(query request.DeptQuery) *[]dataobject.SysDept {
|
||||
}
|
||||
err := session.Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &list
|
||||
@@ -76,7 +76,7 @@ func (d DeptDao) SelectDeptById(id int) *dataobject.SysDept {
|
||||
dept := dataobject.SysDept{}
|
||||
_, err := refs.SqlDB.NewSession().Where("dept_id = ?", id).Get(&dept)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &dept
|
||||
@@ -88,7 +88,7 @@ func (d DeptDao) Insert(dept dataobject.SysDept) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&dept)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -101,7 +101,7 @@ func (d DeptDao) CheckDeptNameUnique(dept dataobject.SysDept) int64 {
|
||||
session := refs.SqlDB.NewSession()
|
||||
count, err := session.Table("sys_dept").Cols("dept_id").Where("dept_name=?", dept.DeptName).And("parent_id = ?", dept.ParentId).Limit(1).Count()
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 1
|
||||
}
|
||||
return count
|
||||
@@ -132,7 +132,7 @@ func (d DeptDao) Delete(id int) int64 {
|
||||
i, err := session.Where("dept_id = ?", id).Delete(&dept)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -146,7 +146,7 @@ func (d DeptDao) Update(dept dataobject.SysDept) int64 {
|
||||
update, err := session.Where("dept_id = ?", dept.DeptId).Update(&dept)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
|
||||
@@ -5,9 +5,10 @@ import (
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/cache"
|
||||
"cutego/pkg/constant"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
|
||||
"github.com/druidcaesa/gotool"
|
||||
"github.com/go-xorm/xorm"
|
||||
)
|
||||
@@ -28,7 +29,7 @@ func (d *DictDataDao) SelectByDictType(dictType string) []dataobject.SysDictData
|
||||
err := session.Where("status = '0' ").And("dict_type = ?", dictType).OrderBy("dict_sort").Asc("dict_sort").
|
||||
Find(&data)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return data
|
||||
@@ -42,7 +43,7 @@ func (d DictDataDao) GetDiceDataAll() *[]dataobject.SysDictData {
|
||||
err := session.Where("status = '0' ").OrderBy("dict_sort").Asc("dict_sort").
|
||||
Find(&data)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &data
|
||||
@@ -67,7 +68,7 @@ func (d *DictDataDao) SelectPage(query request.DiceDataQuery) (*[]dataobject.Sys
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return &list, total
|
||||
@@ -81,7 +82,7 @@ func (d *DictDataDao) SelectByDictCode(dictCode int64) *dataobject.SysDictData {
|
||||
session := refs.SqlDB.NewSession()
|
||||
_, err := session.Where("dict_code = ?", dictCode).Get(&data)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &data
|
||||
@@ -96,7 +97,7 @@ func (d *DictDataDao) Insert(data dataobject.SysDictData) int64 {
|
||||
insert, err := session.Insert(&data)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -109,7 +110,7 @@ func (d *DictDataDao) Delete(codes []int64) bool {
|
||||
session.Begin()
|
||||
_, err := session.In("dict_code", codes).Delete(&dataobject.SysDictData{})
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return false
|
||||
}
|
||||
@@ -124,14 +125,14 @@ func (d *DictDataDao) Update(data dataobject.SysDictData) bool {
|
||||
_, err := session.Where("dict_code = ?", data.DictCode).Update(&data)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return false
|
||||
}
|
||||
session.Commit()
|
||||
return true
|
||||
}
|
||||
|
||||
func init() {
|
||||
func PreInitDictData() {
|
||||
// 查询字典类型数据
|
||||
dictTypeDao := new(DictTypeDao)
|
||||
typeAll := dictTypeDao.SelectAll()
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -22,7 +22,7 @@ func (d DictTypeDao) SelectAll() []*dataobject.SysDictType {
|
||||
types := make([]*dataobject.SysDictType, 0)
|
||||
err := d.sql(refs.SqlDB.NewSession()).Where("status = '0'").Find(&types)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return types
|
||||
@@ -50,7 +50,7 @@ func (d DictTypeDao) SelectPage(query request.DictTypeQuery) (*[]dataobject.SysD
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return &list, total
|
||||
@@ -61,7 +61,7 @@ func (d DictTypeDao) SelectById(id int64) *dataobject.SysDictType {
|
||||
dictType := dataobject.SysDictType{}
|
||||
_, err := refs.SqlDB.NewSession().Where("dict_id = ?", id).Get(&dictType)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &dictType
|
||||
@@ -75,7 +75,7 @@ func (d DictTypeDao) CheckDictTypeUnique(dictType dataobject.SysDictType) int64
|
||||
}
|
||||
count, err := session.Where("dict_type = ?", dictType.DictType).Cols("dict_id").Count()
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
return count
|
||||
@@ -87,7 +87,7 @@ func (d DictTypeDao) Update(dictType dataobject.SysDictType) bool {
|
||||
session.Begin()
|
||||
_, err := session.Where("dict_id = ?", dictType.DictId).Update(&dictType)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return false
|
||||
}
|
||||
@@ -101,7 +101,7 @@ func (d DictTypeDao) Insert(dictType dataobject.SysDictType) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&dictType)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -116,7 +116,7 @@ func (d DictTypeDao) Delete(ids []int64) bool {
|
||||
_, err := session.In("dict_id", ids).Delete(dataobject.SysDictType{})
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return false
|
||||
}
|
||||
session.Commit()
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -30,7 +30,7 @@ func (d LogDao) SelectPage(query request.LogQuery) ([]dataobject.SysLog, int64)
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&configs)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return configs, total
|
||||
@@ -42,7 +42,7 @@ func (d LogDao) Insert(config dataobject.SysLog) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&config)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/go-xorm/xorm"
|
||||
@@ -25,7 +25,7 @@ func (d LoginInfoDao) SelectPage(query request.LoginInfoQuery) (*[]dataobject.Sy
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&loginInfos)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return &loginInfos, total
|
||||
@@ -37,7 +37,7 @@ func (d LoginInfoDao) Insert(body dataobject.SysLoginInfo) *dataobject.SysLoginI
|
||||
session.Begin()
|
||||
_, err := session.Table("sys_login_info").Insert(&body)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
)
|
||||
@@ -21,7 +21,7 @@ func (d MenuDao) GetMenuPermission(id int64) *[]string {
|
||||
Join("LEFT", []string{"sys_role", "r"}, "r.role_id = ur.role_id").
|
||||
Where("m.status = '0'").And("r.status = '0'").And("ur.user_id = ?", id).Find(&perms)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &perms
|
||||
@@ -34,7 +34,7 @@ func (d MenuDao) GetMenuAll() *[]dataobject.SysMenu {
|
||||
err := session.Distinct("m.menu_id").Cols("m.parent_id", "m.menu_name", "m.path", "m.component", "m.visible", "m.status", "m.perms", "m.is_frame", "m.is_cache", "m.menu_type", "m.icon", "m.order_num", "m.create_time").
|
||||
Where("m.menu_type in ('M', 'C')").And("m.status = 0").OrderBy("m.parent_id").OrderBy("m.order_num").Find(&menus)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &menus
|
||||
@@ -51,7 +51,7 @@ func (d MenuDao) GetMenuByUserId(id int64) *[]dataobject.SysMenu {
|
||||
Join("LEFT", []string{"sys_user", "u"}, "ur.user_id = u.user_id").Where("u.user_id = ?", id).
|
||||
And("m.menu_type in ('M', 'C')").And("m.status = 0").OrderBy("m.parent_id").OrderBy("m.order_num").Find(&menus)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &menus
|
||||
@@ -68,7 +68,7 @@ func (d MenuDao) SelectMenuByRoleId(id int64, strictly bool) *[]int64 {
|
||||
}
|
||||
err := session.OrderBy("m.parent_id").OrderBy("m.order_num").Cols("m.menu_id").Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &list
|
||||
@@ -89,7 +89,7 @@ func (d MenuDao) SelectMenuList(query request.MenuQuery) *[]dataobject.SysMenu {
|
||||
}
|
||||
err := session.Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &list
|
||||
@@ -115,7 +115,7 @@ func (d MenuDao) SelectMenuListByUserId(query request.MenuQuery) *[]dataobject.S
|
||||
}
|
||||
err := session.Find(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &list
|
||||
@@ -128,7 +128,7 @@ func (d MenuDao) SelectMenuByMenuId(id int) *dataobject.SysMenu {
|
||||
}
|
||||
_, err := refs.SqlDB.NewSession().Where("menu_id = ?", menu.MenuId).Get(&menu)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &menu
|
||||
@@ -140,7 +140,7 @@ func (d MenuDao) Insert(menu dataobject.SysMenu) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&menu)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -154,7 +154,7 @@ func (d MenuDao) Update(menu dataobject.SysMenu) int64 {
|
||||
session.Begin()
|
||||
update, err := session.Where("menu_id = ?", menu.MenuId).Update(&menu)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -171,7 +171,7 @@ func (d MenuDao) Delete(id int) int64 {
|
||||
session.Begin()
|
||||
i, err := session.Delete(&menu)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -28,7 +28,7 @@ func (d NoticeDao) SelectPage(query request.NoticeQuery) (*[]dataobject.SysNotic
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(¬ices)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return ¬ices, total
|
||||
@@ -41,7 +41,7 @@ func (d NoticeDao) Insert(notice dataobject.SysNotice) int64 {
|
||||
insert, err := session.Insert(¬ice)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -55,7 +55,7 @@ func (d NoticeDao) Delete(list []int64) int64 {
|
||||
i, err := session.In("notice_id", list).Delete(&dataobject.SysNotice{})
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -67,7 +67,7 @@ func (d NoticeDao) SelectById(id int64) *dataobject.SysNotice {
|
||||
notice := dataobject.SysNotice{}
|
||||
_, err := refs.SqlDB.NewSession().Where("notice_id = ?", id).Get(¬ice)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return ¬ice
|
||||
@@ -80,7 +80,7 @@ func (d NoticeDao) Update(notice dataobject.SysNotice) int64 {
|
||||
update, err := session.Where("notice_id = ?", notice.NoticeId).Update(¬ice)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -25,7 +25,7 @@ func (d PostDao) SelectAll() []*dataobject.SysPost {
|
||||
posts := make([]*dataobject.SysPost, 0)
|
||||
err := session.Find(&posts)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return posts
|
||||
@@ -37,7 +37,7 @@ func (d PostDao) SelectPostListByUserId(userId int64) *[]int64 {
|
||||
selectSql := d.sqlSelectJoin(refs.SqlDB.NewSession())
|
||||
err := selectSql.Where("u.user_id = ?", userId).Cols("p.post_id").Find(&ids)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &ids
|
||||
@@ -59,7 +59,7 @@ func (d PostDao) SelectPage(query request.PostQuery) (*[]dataobject.SysPost, int
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&posts)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return &posts, total
|
||||
@@ -94,7 +94,7 @@ func (d PostDao) Insert(post dataobject.SysPost) int64 {
|
||||
insert, err := session.Insert(&post)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -105,7 +105,7 @@ func (d PostDao) Insert(post dataobject.SysPost) int64 {
|
||||
func (d PostDao) GetPostById(post dataobject.SysPost) *dataobject.SysPost {
|
||||
_, err := refs.SqlDB.NewSession().Where("post_id = ?", post.PostId).Get(&post)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &post
|
||||
@@ -119,7 +119,7 @@ func (d PostDao) Delete(posts []int64) int64 {
|
||||
i, err := session.In("post_id", posts).Delete(&dataobject.SysPost{})
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -133,7 +133,7 @@ func (d PostDao) Update(post dataobject.SysPost) bool {
|
||||
_, err := session.Where("post_id = ?", post.PostId).Update(&post)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return false
|
||||
}
|
||||
session.Commit()
|
||||
@@ -147,7 +147,7 @@ func (d PostDao) SelectPostByUserName(name string) *[]dataobject.SysPost {
|
||||
Join("LEFT", []string{"sys_user_post", "up"}, "up.post_id = p.post_id").
|
||||
Join("LEFT", []string{"sys_user", "u"}, "u.user_id = up.user_id").Where("u.user_name = ?", name).Find(&posts)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &posts
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -57,11 +57,10 @@ func (d RoleDao) SelectPage(q *request.RoleQuery) ([]*dataobject.SysRole, int64)
|
||||
|
||||
// SelectAll 查询所有角色
|
||||
func (d RoleDao) SelectAll() []*dataobject.SysRole {
|
||||
sql := d.sqlSelectJoin()
|
||||
roles := make([]*dataobject.SysRole, 0)
|
||||
err := sql.Find(&roles)
|
||||
err := refs.SqlDB.Table(dataobject.SysRole{}.TableName()).Find(&roles)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return roles
|
||||
@@ -73,7 +72,7 @@ func (d RoleDao) SelectRoleListByUserId(userId int64) *[]int64 {
|
||||
var roleIds []int64
|
||||
err := sqlSelectRoleAndUser.Cols("r.role_id").Where("u.user_id = ?", userId).Find(&roleIds)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &roleIds
|
||||
@@ -84,7 +83,7 @@ func (d RoleDao) SelectRolePermissionByUserId(id int64) *[]string {
|
||||
var roleKeys []string
|
||||
err := d.sqlSelectJoin().Cols("r.role_key").Where("r.del_flag = '0'").And("ur.user_id = ?", id).Find(&roleKeys)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &roleKeys
|
||||
@@ -95,7 +94,7 @@ func (d RoleDao) GetRoleListByUserId(id int64) *[]dataobject.SysRole {
|
||||
roles := make([]dataobject.SysRole, 0)
|
||||
err := d.sqlSelectJoin().Where("r.del_flag = '0'").And("ur.user_id = ?", id).Find(&roles)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &roles
|
||||
@@ -106,7 +105,7 @@ func (d RoleDao) SelectRoleByRoleId(id int64) *dataobject.SysRole {
|
||||
role := dataobject.SysRole{}
|
||||
_, err := d.sqlSelectJoin().Where("r.role_id = ?", id).Get(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &role
|
||||
@@ -120,7 +119,7 @@ func (d RoleDao) CheckRoleNameUnique(role dataobject.SysRole) int64 {
|
||||
}
|
||||
count, err := session.Count(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
}
|
||||
return count
|
||||
}
|
||||
@@ -133,7 +132,7 @@ func (d RoleDao) CheckRoleKeyUnique(role dataobject.SysRole) int64 {
|
||||
}
|
||||
count, err := session.Count(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
}
|
||||
return count
|
||||
}
|
||||
@@ -144,7 +143,7 @@ func (d RoleDao) Insert(role dataobject.SysRole) dataobject.SysRole {
|
||||
session.Begin()
|
||||
_, err := session.Insert(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
@@ -157,7 +156,7 @@ func (d RoleDao) Update(role dataobject.SysRole) int64 {
|
||||
session.Begin()
|
||||
update, err := session.Where("role_id = ?", role.RoleId).Update(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -171,7 +170,7 @@ func (d RoleDao) Delete(role dataobject.SysRole) int64 {
|
||||
session.Begin()
|
||||
i, err := session.Delete(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -185,7 +184,7 @@ func (d RoleDao) UpdateRoleStatus(role *dataobject.SysRole) int64 {
|
||||
session.Begin()
|
||||
update, err := session.Where("role_id = ?", role.RoleId).Cols("status", "update_by", "update_time").Update(role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -199,7 +198,7 @@ func (d RoleDao) SelectRolesByUserName(name string) *[]dataobject.SysRole {
|
||||
session := d.sqlSelectJoin()
|
||||
err := session.Where("r.del_flag = '0'").And("u.user_name = ?", name).Find(&roles)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
return &roles
|
||||
|
||||
@@ -2,7 +2,7 @@ package dao
|
||||
|
||||
import (
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/refs"
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ func (d RoleMenuDao) Insert(list []dataobject.SysRoleMenu) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&list)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
@@ -31,7 +31,7 @@ func (d RoleMenuDao) Delete(role dataobject.SysRole) {
|
||||
session.Begin()
|
||||
_, err := session.Delete(&menu)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/api/v1/response"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/pkg/page"
|
||||
"cutego/refs"
|
||||
"github.com/druidcaesa/gotool"
|
||||
@@ -23,10 +23,16 @@ func (d UserDao) sqlSelectJoin() *xorm.Session {
|
||||
Join("LEFT", []string{"sys_role", "r"}, "r.role_id = ur.role_id")
|
||||
}
|
||||
|
||||
// 查询列表专用sql, 不关联角色表避免重复行
|
||||
func (d UserDao) sqlSelectList() *xorm.Session {
|
||||
return refs.SqlDB.NewSession().Table([]string{"sys_user", "u"}).
|
||||
Join("LEFT", []string{"sys_dept", "d"}, "u.dept_id = d.dept_id")
|
||||
}
|
||||
|
||||
// SelectPage 查询用户集合
|
||||
func (d UserDao) SelectPage(query request.UserQuery) ([]*response.UserResponse, int64) {
|
||||
resp := make([]*response.UserResponse, 0)
|
||||
sql := d.sqlSelectJoin()
|
||||
sql := d.sqlSelectList()
|
||||
if !gotool.StrUtils.HasEmpty(query.UserName) {
|
||||
sql.And("u.user_name like concat('%',?,'%')", query.UserName)
|
||||
}
|
||||
@@ -48,7 +54,7 @@ func (d UserDao) SelectPage(query request.UserQuery) ([]*response.UserResponse,
|
||||
total, _ := page.GetTotal(sql.Clone())
|
||||
err := sql.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&resp)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return resp, total
|
||||
@@ -59,7 +65,7 @@ func (d UserDao) GetUserById(userId int64) *response.UserResponse {
|
||||
var resp response.UserResponse
|
||||
get, err := d.sqlSelectJoin().Where("u.user_id = ?", userId).Get(&resp)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
}
|
||||
if !get {
|
||||
return nil
|
||||
@@ -71,7 +77,7 @@ func (d UserDao) GetUserById(userId int64) *response.UserResponse {
|
||||
func (d UserDao) GetUserByUserName(user dataobject.SysUser) *dataobject.SysUser {
|
||||
i, err := refs.SqlDB.Get(&user)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
if i {
|
||||
@@ -118,7 +124,7 @@ func (d UserDao) Insert(body request.UserBody) *request.UserBody {
|
||||
session.Begin()
|
||||
_, err := session.Table("sys_user").Insert(&body)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
@@ -132,7 +138,7 @@ func (d UserDao) Update(body request.UserBody) int64 {
|
||||
_, err := session.Where("user_id = ?", body.UserId).Update(&body)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -148,7 +154,7 @@ func (d UserDao) Delete(id int64) int64 {
|
||||
session.Begin()
|
||||
i, err := session.Delete(&user)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
@@ -165,7 +171,7 @@ func (d UserDao) ResetPwd(body request.UserBody) int64 {
|
||||
session.Begin()
|
||||
_, err := session.Where("user_id = ?", user.UserId).Cols("password").Update(&user)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -190,7 +196,7 @@ func (d UserDao) GetAllocatedList(query request.UserQuery) ([]*response.UserResp
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&resp)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return resp, total
|
||||
@@ -214,7 +220,7 @@ func (d UserDao) GetUnallocatedList(query request.UserQuery) ([]*response.UserRe
|
||||
total, _ := page.GetTotal(session.Clone())
|
||||
err := session.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).Find(&resp)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil, 0
|
||||
}
|
||||
return resp, total
|
||||
@@ -229,7 +235,7 @@ func (d UserDao) UpdatePwd(id int64, hash string) int64 {
|
||||
session.Begin()
|
||||
update, err := session.Cols("password").Where("user_id = ?", id).Update(&user)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -250,7 +256,7 @@ func (d UserDao) UpdateAvatar(info *response.UserResponse) int64 {
|
||||
update, err := session.Cols("avatar", "update_by", "update_time").Where("user_id = ?", user.UserId).Update(&user)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
@@ -269,7 +275,7 @@ func (d UserDao) UpdateStatus(info request.UserBody) int64 {
|
||||
update, err := session.Cols("status", "update_by", "update_time").Where("user_id = ?", user.UserId).Update(&user)
|
||||
if err != nil {
|
||||
session.Rollback()
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
session.Commit()
|
||||
|
||||
@@ -2,7 +2,7 @@ package dao
|
||||
|
||||
import (
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/refs"
|
||||
)
|
||||
|
||||
@@ -15,7 +15,7 @@ func (d UserPostDao) BatchInsert(posts []dataobject.SysUserPost) {
|
||||
session.Begin()
|
||||
_, err := session.Table(dataobject.SysUserPost{}.TableName()).Insert(&posts)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return
|
||||
}
|
||||
@@ -31,7 +31,7 @@ func (d UserPostDao) Delete(id int64) {
|
||||
session.Begin()
|
||||
_, err := session.Delete(&post)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
}
|
||||
session.Commit()
|
||||
@@ -41,7 +41,7 @@ func (d UserPostDao) Delete(id int64) {
|
||||
func (d UserPostDao) CountById(id int64) int64 {
|
||||
count, err := refs.SqlDB.NewSession().Table("sys_user_post").Cols("post_id").Where("post_id = ?", id).Count()
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return 0
|
||||
}
|
||||
return count
|
||||
|
||||
@@ -3,7 +3,7 @@ package dao
|
||||
import (
|
||||
"cutego/modules/core/api/v1/request"
|
||||
"cutego/modules/core/dataobject"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"cutego/refs"
|
||||
)
|
||||
|
||||
@@ -16,7 +16,7 @@ func (d UserRoleDao) BatchInsert(roles []dataobject.SysUserRole) {
|
||||
session.Begin()
|
||||
_, err := session.Table(dataobject.SysUserRole{}.TableName()).Insert(&roles)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return
|
||||
}
|
||||
@@ -32,7 +32,7 @@ func (d UserRoleDao) Delete(id int64) {
|
||||
session.Begin()
|
||||
_, err := session.Delete(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return
|
||||
}
|
||||
@@ -45,7 +45,7 @@ func (d UserRoleDao) DeleteAuthUser(role dataobject.SysUserRole) int64 {
|
||||
session.Begin()
|
||||
i, err := session.Delete(&role)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
@@ -68,7 +68,7 @@ func (d UserRoleDao) InsertAuthUsers(body request.UserRoleBody) int64 {
|
||||
session.Begin()
|
||||
insert, err := session.Insert(&roles)
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
session.Rollback()
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ type SysConfig struct {
|
||||
ConfigId int `excel:"name=参数主键" xorm:"pk autoincr" json:"configId"` // 主键id
|
||||
ConfigName string `excel:"name=参数名称" xorm:"varchar(100)" json:"configName"` // 参数名称
|
||||
ConfigKey string `excel:"name=参数键名" xorm:"varchar(100)" json:"configKey"` // 参数建名
|
||||
ConfigValue string `excel:"name=参数键值" xorm:"varchar(1)" json:"configValue"` // 参数键值
|
||||
ConfigValue string `excel:"name=参数键值" xorm:"varchar(500)" json:"configValue"` // 参数键值
|
||||
ConfigType string `excel:"name=系统内置,format=Y=是,N=否" xorm:"char(1)" json:"configType"` // 系统内置(Y是 N否)
|
||||
CreateBy string `xorm:"varchar(64)" json:"createBy"` // 创建人
|
||||
CreateTime time.Time `xorm:"created" json:"createTime"` // 创建时间
|
||||
|
||||
@@ -12,6 +12,7 @@ type SysRole struct {
|
||||
DeptCheckStrictly bool `excel:"-" json:"deptCheckStrictly"` // 部门树选择项是否关联显示
|
||||
Status string `excel:"name=角色状态,format=0=正常,1=停用" xorm:"char(1)" json:"status"` // 角色状态 0正常1停用
|
||||
DelFlag string `excel:"" xorm:"char(1)" json:"delFlag"` // 删除标记0正常1删除
|
||||
Flag bool `xorm:"-" json:"flag"` // 是否已分配
|
||||
CreateTime time.Time `excel:"" xorm:"created" json:"createTime"` // 创建时间
|
||||
CreateBy string `excel:"" json:"createBy"` // 创建人
|
||||
UpdateTime time.Time `excel:"" xorm:"updated" json:"updateTime"` // 更新时间
|
||||
|
||||
@@ -22,6 +22,8 @@ func initUserRouter(router *gin.RouterGroup) {
|
||||
userRouter.DELETE("/remove/:userId", userApi.Remove)
|
||||
// 重置密码
|
||||
userRouter.PUT("/resetPwd", userApi.ResetPwd)
|
||||
// 授权角色
|
||||
userRouter.PUT("/authRole", userApi.AuthRoleUpdate)
|
||||
userRouter.GET("/export", userApi.Export)
|
||||
userRouter.GET("/profile", userApi.Profile)
|
||||
// 修改个人数据
|
||||
|
||||
@@ -3,7 +3,7 @@ package service
|
||||
import (
|
||||
"cutego/modules/core/api/v1/response"
|
||||
"cutego/pkg/jwt"
|
||||
"cutego/pkg/logging"
|
||||
"cutego/pkg/logger"
|
||||
"github.com/druidcaesa/gotool"
|
||||
"github.com/gin-gonic/gin"
|
||||
"strings"
|
||||
@@ -25,7 +25,7 @@ func (s LoginService) Login(name string, password string) (bool, string) {
|
||||
// 生成token
|
||||
token, err := jwt.CreateUserToken(s.userService.GetUserById(user.UserId))
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return false, ""
|
||||
}
|
||||
// 数据存储到redis中
|
||||
@@ -36,10 +36,18 @@ func (s LoginService) Login(name string, password string) (bool, string) {
|
||||
func (s LoginService) GetCurrentUser(c *gin.Context) *response.UserResponse {
|
||||
token := c.Request.Header.Get("Authorization")
|
||||
str := strings.Split(token, " ")
|
||||
if len(str) < 2 {
|
||||
logger.SugaredLogger.Errorln("token格式错误: ", token)
|
||||
return nil
|
||||
}
|
||||
// parseToken 解析token包含的信息
|
||||
claims, err := jwt.ParseToken(str[1])
|
||||
if err != nil {
|
||||
logging.ErrorLog(err)
|
||||
logger.SugaredLogger.Errorln(err)
|
||||
return nil
|
||||
}
|
||||
if claims == nil {
|
||||
return nil
|
||||
}
|
||||
info := claims.UserInfo
|
||||
return &info
|
||||
|
||||
@@ -85,6 +85,25 @@ func (s UserService) BindUserRole(user *request.UserBody) {
|
||||
}
|
||||
}
|
||||
|
||||
// RemoveUserRole 删除用户所有角色关联
|
||||
func (s UserService) RemoveUserRole(userId int64) {
|
||||
s.userRoleDao.Delete(userId)
|
||||
}
|
||||
|
||||
// BindUserRoleIds 直接绑定用户角色
|
||||
func (s UserService) BindUserRoleIds(userId int64, roleIds []int64) {
|
||||
if len(roleIds) > 0 {
|
||||
roles := make([]dataobject.SysUserRole, 0, len(roleIds))
|
||||
for _, roleId := range roleIds {
|
||||
roles = append(roles, dataobject.SysUserRole{
|
||||
UserId: userId,
|
||||
RoleId: roleId,
|
||||
})
|
||||
}
|
||||
s.userRoleDao.BatchInsert(roles)
|
||||
}
|
||||
}
|
||||
|
||||
// Edit 修改用户数据
|
||||
func (s UserService) Edit(body request.UserBody) int64 {
|
||||
// 删除原有用户和角色关系
|
||||
|
||||
Reference in New Issue
Block a user