refactor🎨 核心业务结构调整

This commit is contained in:
zhangwenjian
2021-05-22 22:54:08 +08:00
parent 408dcc5057
commit e473f158e8
13 changed files with 406 additions and 761 deletions
+7 -4
View File
@@ -11,11 +11,14 @@ type System struct {
}
func (e System) GenerateCaptchaHandler(c *gin.Context) {
e.MakeContext(c)
log := e.GetLogger()
err := e.MakeContext(c).Errors
if err != nil {
e.Error(500, err, "服务初始化失败!")
return
}
id, b64s, err := captcha.DriverDigitFunc()
if err != nil {
log.Errorf("DriverDigitFunc error, %s", err.Error())
e.Logger.Errorf("DriverDigitFunc error, %s", err.Error())
e.Error(500, err, "验证码获取失败")
return
}
@@ -25,4 +28,4 @@ func (e System) GenerateCaptchaHandler(c *gin.Context) {
"id": id,
"msg": "success",
})
}
}
+31 -126
View File
@@ -17,28 +17,23 @@ type SysLoginLog struct {
}
func (e SysLoginLog) GetSysLoginLogList(c *gin.Context) {
e.Context = c
log := e.GetLogger()
s := new(service.SysLoginLog)
d := new(dto.SysLoginLogSearch)
db, err := e.GetOrm()
err := e.MakeContext(c).
MakeOrm().
Bind(d).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//查询列表
err = d.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
list := make([]models.SysLoginLog, 0)
var count int64
serviceStudent := service.SysLoginLog{}
serviceStudent.Log = log
serviceStudent.Orm = db
err = serviceStudent.GetSysLoginLogPage(d, &list, &count)
err = s.GetSysLoginLogPage(d, &list, &count)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
@@ -48,27 +43,21 @@ func (e SysLoginLog) GetSysLoginLogList(c *gin.Context) {
}
func (e SysLoginLog) GetSysLoginLog(c *gin.Context) {
e.Context = c
log := e.GetLogger()
s := new(service.SysLoginLog)
control := new(dto.SysLoginLogById)
db, err := e.GetOrm()
err := e.MakeContext(c).
MakeOrm().
Bind(control).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//查看详情
err = control.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object models.SysLoginLog
serviceSysLoginLog := service.SysLoginLog{}
serviceSysLoginLog.Log = log
serviceSysLoginLog.Orm = db
err = serviceSysLoginLog.GetSysLoginLog(control, &object)
err = s.GetSysLoginLog(control, &object)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
@@ -77,112 +66,28 @@ func (e SysLoginLog) GetSysLoginLog(c *gin.Context) {
e.OK(object, "查看成功")
}
//func (e SysLoginLog) InsertSysLoginLog(c *gin.Context) {
// e.Context = c
// log := e.GetLogger()
// control := new(dto.SysLoginLogControl)
// db, err := e.GetOrm()
// if err != nil {
// log.Error(err)
// return
// }
//
// //新增操作
// err = control.Bind(c)
// if err != nil {
// e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
// return
// }
// object, err := control.Generate()
// if err != nil {
// e.Error(http.StatusInternalServerError, err, "模型生成失败")
// return
// }
// // 设置创建人
// object.SetCreateBy(user.GetUserId(c))
//
// serviceSysLoginLog := service.SysLoginLog{}
// serviceSysLoginLog.Orm = db
// serviceSysLoginLog.Log = log
// err = serviceSysLoginLog.InsertSysLoginLog(object)
// if err != nil {
// log.Errorf("InsertSysLoginLog error, %s", err)
// e.Error(http.StatusInternalServerError, err, "创建失败")
// return
// }
//
// e.OK(object.GetId(), "创建成功")
//}
//func (e SysLoginLog) UpdateSysLoginLog(c *gin.Context) {
// e.Context = c
// log := e.GetLogger()
// control := new(dto.SysLoginLogControl)
// db, err := e.GetOrm()
// if err != nil {
// log.Error(err)
// return
// }
//
// //更新操作
// err = control.Bind(c)
// if err != nil {
// e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
// return
// }
// object, err := control.Generate()
// if err != nil {
// e.Error(http.StatusInternalServerError, err, "模型生成失败")
// return
// }
// object.SetUpdateBy(user.GetUserId(c))
//
// serviceSysLoginLog := service.SysLoginLog{}
// serviceSysLoginLog.Orm = db
// serviceSysLoginLog.Log = log
// err = serviceSysLoginLog.UpdateSysLoginLog(object)
// if err != nil {
// log.Errorf("UpdateSysLoginLog error, %s", err)
// e.Error(http.StatusInternalServerError, err, "更新失败")
// return
// }
// e.OK(object.GetId(), "更新成功")
//}
func (e SysLoginLog) DeleteSysLoginLog(c *gin.Context) {
e.Context = c
log := e.GetLogger()
s := service.SysLoginLog{}
control := new(dto.SysLoginLogById)
db, err := e.GetOrm()
err := e.MakeContext(c).
MakeOrm().
Bind(control).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//删除操作
err = control.Bind(c)
if err != nil {
log.Errorf("Bind error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
object, err := control.GenerateM()
if err != nil {
e.Error(http.StatusInternalServerError, err, "模型生成失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
// 设置编辑人
object.SetUpdateBy(user.GetUserId(c))
control.SetUpdateBy(user.GetUserId(c))
serviceSysLoginLog := service.SysLoginLog{}
serviceSysLoginLog.Orm = db
serviceSysLoginLog.Log = log
err = serviceSysLoginLog.RemoveSysLoginLog(control, object)
err = s.RemoveSysLoginLog(control)
if err != nil {
log.Errorf("RemoveSysLoginLog error, %s", err)
e.Logger.Errorf("RemoveSysLoginLog error, %s", err)
e.Error(http.StatusInternalServerError, err, "删除失败")
return
}
e.OK(object.GetId(), "删除成功")
e.OK(control.GetId(), "删除成功")
}
+36 -124
View File
@@ -16,59 +16,49 @@ type SysOperaLog struct {
// GetSysOperaLogList 操作日志列表
func (e SysOperaLog) GetSysOperaLogList(c *gin.Context) {
e.Context = c
log := e.GetLogger()
d := new(dto.SysOperaLogSearch)
db, err := e.GetOrm()
s := service.SysOperaLog{}
req := new(dto.SysOperaLogSearch)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//查询列表
err = d.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
list := make([]models.SysOperaLog, 0)
var count int64
serviceStudent := service.SysOperaLog{}
serviceStudent.Log = log
serviceStudent.Orm = db
err = serviceStudent.GetSysOperaLogPage(d, &list, &count)
err = s.GetSysOperaLogPage(req, &list, &count)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
}
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
}
// GetSysOperaLog 操作日志通过id获取
func (e SysOperaLog) GetSysOperaLog(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysOperaLogById)
db, err := e.GetOrm()
s := new(service.SysOperaLog)
req := new(dto.SysOperaLogById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//查看详情
err = control.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object models.SysOperaLog
serviceSysOperlog := service.SysOperaLog{}
serviceSysOperlog.Log = log
serviceSysOperlog.Orm = db
err = serviceSysOperlog.GetSysOperaLog(control, &object)
err = s.GetSysOperaLog(req, &object)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
@@ -77,103 +67,25 @@ func (e SysOperaLog) GetSysOperaLog(c *gin.Context) {
e.OK(object, "查看成功")
}
//func (e SysOperaLog) InsertSysOperaLog(c *gin.Context) {
// e.Context = c
// log := e.GetLogger()
// control := new(dto.SysOperaLogControl)
// db, err := e.GetOrm()
// if err != nil {
// log.Error(err)
// return
// }
//
// //新增操作
// err = control.Bind(c)
// if err != nil {
// e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
// return
// }
// object, err := control.Generate()
// if err != nil {
// e.Error(http.StatusInternalServerError, err, "模型生成失败")
// return
// }
// // 设置创建人
// object.SetCreateBy(user.GetUserId(c))
//
// serviceSysOperaLog := service.SysOperaLog{}
// serviceSysOperaLog.Orm = db
// serviceSysOperaLog.Log = log
// err = serviceSysOperaLog.InsertSysOperaLog(object)
// if err != nil {
// log.Error(err)
// e.Error(http.StatusInternalServerError, err, "创建失败")
// return
// }
//
// e.OK(object.GetId(), "创建成功")
//}
//func (e SysOperaLog) UpdateSysOperaLog(c *gin.Context) {
// e.Context = c
// log := e.GetLogger()
// control := new(dto.SysOperaLogControl)
// db, err := e.GetOrm()
// if err != nil {
// log.Error(err)
// return
// }
//
// //更新操作
// err = control.Bind(c)
// if err != nil {
// e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
// return
// }
// object, err := control.Generate()
// if err != nil {
// e.Error(http.StatusInternalServerError, err, "模型生成失败")
// return
// }
// object.SetUpdateBy(user.GetUserId(c))
//
// serviceSysOperaLog := service.SysOperaLog{}
// serviceSysOperaLog.Orm = db
// serviceSysOperaLog.Log = log
// err = serviceSysOperaLog.UpdateSysOperaLog(object)
// if err != nil {
// log.Error(err)
// return
// }
// e.OK(object.GetId(), "更新成功")
//}
// DeleteSysOperaLog 操作日志删除
func (e SysOperaLog) DeleteSysOperaLog(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysOperaLogById)
db, err := e.GetOrm()
s := new(service.SysOperaLog)
req := new(dto.SysOperaLogById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//删除操作
err = control.Bind(c)
err = s.RemoveSysOperaLog(req)
if err != nil {
log.Errorf("Bind error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Logger.Error(err)
return
}
serviceSysOperaLog := service.SysOperaLog{}
serviceSysOperaLog.Orm = db
serviceSysOperaLog.Log = log
err = serviceSysOperaLog.RemoveSysOperaLog(control)
if err != nil {
log.Error(err)
return
}
e.OK(control.GetId(), "删除成功")
}
e.OK(req.GetId(), "删除成功")
}
+66 -98
View File
@@ -17,6 +17,7 @@ type SysPost struct {
api.Api
}
// GetSysPostList
// @Summary 岗位列表数据
// @Description 获取JSON
// @Tags 岗位
@@ -28,36 +29,32 @@ type SysPost struct {
// @Router /api/v1/post [get]
// @Security Bearer
func (e SysPost) GetSysPostList(c *gin.Context) {
e.Context = c
log := e.GetLogger()
d := new(dto.SysPostSearch)
db, err := e.GetOrm()
s := new(service.SysPost)
req := new(dto.SysPostSearch)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//查询列表
err = d.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
list := make([]models.SysPost, 0)
var count int64
serviceStudent := service.SysPost{}
serviceStudent.Log = log
serviceStudent.Orm = db
err = serviceStudent.GetSysPostPage(d, &list, &count)
err = s.GetSysPostPage(req, &list, &count)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
}
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
}
// GetSysPost
// @Summary 获取岗位信息
// @Description 获取JSON
// @Tags 岗位
@@ -66,27 +63,21 @@ func (e SysPost) GetSysPostList(c *gin.Context) {
// @Router /api/v1/post/{postId} [get]
// @Security Bearer
func (e SysPost) GetSysPost(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysPostById)
db, err := e.GetOrm()
s := new(service.SysPost)
req := new(dto.SysPostById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//查看详情
err = control.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
var object models.SysPost
serviceSysOperlog := service.SysPost{}
serviceSysOperlog.Log = log
serviceSysOperlog.Orm = db
err = serviceSysOperlog.GetSysPost(control, &object)
err = s.GetSysPost(req, &object)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
@@ -95,6 +86,7 @@ func (e SysPost) GetSysPost(c *gin.Context) {
e.OK(object, "查看成功")
}
// InsertSysPost
// @Summary 添加岗位
// @Description 获取JSON
// @Tags 岗位
@@ -106,42 +98,33 @@ func (e SysPost) GetSysPost(c *gin.Context) {
// @Router /api/v1/post [post]
// @Security Bearer
func (e SysPost) InsertSysPost(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysPostControl)
db, err := e.GetOrm()
s := new(service.SysPost)
req := new(dto.SysPostControl)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//新增操作
err = control.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
object, err := control.Generate()
if err != nil {
e.Error(http.StatusInternalServerError, err, "模型生成失败")
return
}
// 设置创建人
object.SetCreateBy(user.GetUserId(c))
req.SetCreateBy(user.GetUserId(c))
serviceSysPost := service.SysPost{}
serviceSysPost.Orm = db
serviceSysPost.Log = log
err = serviceSysPost.InsertSysPost(object)
err = s.InsertSysPost(req)
if err != nil {
log.Error(err)
e.Logger.Error(err)
e.Error(http.StatusInternalServerError, err, "创建失败")
return
}
e.OK(object.GetId(), "创建成功")
e.OK(req.GetId(), "创建成功")
}
// UpdateSysPost
// @Summary 修改岗位
// @Description 获取JSON
// @Tags 岗位
@@ -153,39 +136,30 @@ func (e SysPost) InsertSysPost(c *gin.Context) {
// @Router /api/v1/post/ [put]
// @Security Bearer
func (e SysPost) UpdateSysPost(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysPostControl)
db, err := e.GetOrm()
s := new(service.SysPost)
req := new(dto.SysPostControl)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//更新操作
err = control.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
object, err := control.Generate()
if err != nil {
e.Error(http.StatusInternalServerError, err, "模型生成失败")
return
}
object.SetUpdateBy(user.GetUserId(c))
req.SetUpdateBy(user.GetUserId(c))
serviceSysPost := service.SysPost{}
serviceSysPost.Orm = db
serviceSysPost.Log = log
err = serviceSysPost.UpdateSysPost(object)
err = s.UpdateSysPost(req)
if err != nil {
log.Error(err)
e.Logger.Error(err)
return
}
e.OK(object.GetId(), "更新成功")
e.OK(req.GetId(), "更新成功")
}
// DeleteSysPost
// @Summary 删除岗位
// @Description 删除数据
// @Tags 岗位
@@ -194,30 +168,24 @@ func (e SysPost) UpdateSysPost(c *gin.Context) {
// @Success 500 {string} string "{"code": 500, "message": "删除失败"}"
// @Router /api/v1/post/{postId} [delete]
func (e SysPost) DeleteSysPost(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysPostById)
db, err := e.GetOrm()
s := new(service.SysPost)
req := new(dto.SysPostById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
req.SetUpdateBy(user.GetUserId(c))
//删除操作
err = control.Bind(c)
err = s.RemoveSysPost(req)
if err != nil {
log.Errorf("Bind error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Logger.Error(err)
return
}
serviceSysPost := service.SysPost{}
serviceSysPost.Orm = db
serviceSysPost.Log = log
err = serviceSysPost.RemoveSysPost(control)
if err != nil {
log.Error(err)
return
}
e.OK(control.GetId(), "删除成功")
e.OK(req.GetId(), "删除成功")
}
+68 -84
View File
@@ -19,6 +19,7 @@ type SysRole struct {
api.Api
}
// GetSysRoleList
// @Summary 角色列表数据
// @Description Get JSON
// @Tags 角色/Role
@@ -31,36 +32,32 @@ type SysRole struct {
// @Router /api/v1/role [get]
// @Security Bearer
func (e SysRole) GetSysRoleList(c *gin.Context) {
e.Context = c
log := e.GetLogger()
d := new(dto.SysRoleSearch)
db, err := e.GetOrm()
s := new(service.SysRole)
req := new(dto.SysRoleSearch)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//查询列表
err = d.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
list := make([]models.SysRole, 0)
var count int64
s := service.SysRole{}
s.Log = log
s.Orm = db
err = s.GetSysRolePage(d, &list, &count)
err = s.GetSysRolePage(req, &list, &count)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
}
e.PageOK(list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
}
// GetSysRole
// @Summary 获取Role数据
// @Description 获取JSON
// @Tags 角色/Role
@@ -70,27 +67,22 @@ func (e SysRole) GetSysRoleList(c *gin.Context) {
// @Router /api/v1/role/{id} [get]
// @Security Bearer
func (e SysRole) GetSysRole(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysRoleById)
db, err := e.GetOrm()
s := service.SysRole{}
req := new(dto.SysRoleById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//查看详情
err = control.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object models.SysRole
s := service.SysRole{}
s.Log = log
s.Orm = db
err = s.GetSysRole(control, &object)
err = s.GetSysRole(req, &object)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
@@ -99,6 +91,7 @@ func (e SysRole) GetSysRole(c *gin.Context) {
e.OK(object, "查看成功")
}
// InsertSysRole
// @Summary 创建角色
// @Description 获取JSON
// @Tags 角色/Role
@@ -111,24 +104,25 @@ func (e SysRole) GetSysRole(c *gin.Context) {
// @Security Bearer
func (e SysRole) InsertSysRole(c *gin.Context) {
s := service.SysRole{}
control := new(dto.SysRoleControl)
req := new(dto.SysRoleControl)
err := e.MakeContext(c).
MakeOrm().
Bind(control).
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
// 设置创建人
control.CreateBy = user.GetUserId(c)
if control.Status == "" {
control.Status = "2"
req.CreateBy = user.GetUserId(c)
if req.Status == "" {
req.Status = "2"
}
err = s.InsertSysRole(control)
err = s.InsertSysRole(req)
if err != nil {
e.Logger.Error(err)
e.Error(http.StatusInternalServerError, err, "创建失败")
@@ -139,7 +133,7 @@ func (e SysRole) InsertSysRole(c *gin.Context) {
e.Error(http.StatusInternalServerError, err, "")
return
}
e.OK(control.GetId(), "创建成功")
e.OK(req.GetId(), "创建成功")
}
// UpdateSysRole 修改用户角色
@@ -155,21 +149,22 @@ func (e SysRole) InsertSysRole(c *gin.Context) {
// @Security Bearer
func (e SysRole) UpdateSysRole(c *gin.Context) {
s := service.SysRole{}
control := new(dto.SysRoleControl)
req := new(dto.SysRoleControl)
err := e.MakeContext(c).
MakeOrm().
Bind(control).
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
cb :=sdk.Runtime.GetCasbinKey(c.Request.Host)
cb := sdk.Runtime.GetCasbinKey(c.Request.Host)
control.SetUpdateBy(user.GetUserId(c))
req.SetUpdateBy(user.GetUserId(c))
err = s.UpdateSysRole(control,cb)
err = s.UpdateSysRole(req, cb)
if err != nil {
e.Logger.Error(err)
return
@@ -179,9 +174,10 @@ func (e SysRole) UpdateSysRole(c *gin.Context) {
e.Error(http.StatusInternalServerError, err, "")
return
}
e.OK(control.GetId(), "更新成功")
e.OK(req.GetId(), "更新成功")
}
// DeleteSysRole
// @Summary 删除用户角色
// @Description 删除数据
// @Tags 角色/Role
@@ -191,29 +187,22 @@ func (e SysRole) UpdateSysRole(c *gin.Context) {
// @Router /api/v1/role [delete]
// @Security Bearer
func (e SysRole) DeleteSysRole(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysRoleById)
db, err := e.GetOrm()
s := new(service.SysRole)
req := new(dto.SysRoleById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//删除操作
err = control.Bind(c)
err = s.RemoveSysRole(req)
if err != nil {
log.Errorf("Bind error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
s := service.SysRole{}
s.Orm = db
s.Log = log
err = s.RemoveSysRole(control)
if err != nil {
log.Error(err)
e.Logger.Error(err)
e.Error(http.StatusInternalServerError, err, "")
return
}
@@ -222,39 +211,34 @@ func (e SysRole) DeleteSysRole(c *gin.Context) {
e.Error(http.StatusInternalServerError, err, "")
return
}
e.OK(control.GetId(), "删除成功")
e.OK(req.GetId(), "删除成功")
}
// UpdateRoleDataScope 更新角色数据权限
func (e SysRole) UpdateRoleDataScope(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.RoleDataScopeReq)
db, err := e.GetOrm()
s := &service.SysRole{}
req := new(dto.RoleDataScopeReq)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//更新操作
err = c.Bind(control)
if err != nil {
log.Errorf("request bind error, %s", err.Error())
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
data := &models.SysRole{
RoleId: control.RoleId,
DataScope: control.DataScope,
DeptIds: control.DeptIds,
RoleId: req.RoleId,
DataScope: req.DataScope,
DeptIds: req.DeptIds,
}
data.UpdateBy = user.GetUserId(c)
s := &service.SysRole{}
s.Orm = db
s.Log = log
err = s.UpdateDataScope(data)
if err != nil {
e.Error(http.StatusInternalServerError, err, "")
return
}
e.OK(nil, "操作成功")
}
}
+118 -201
View File
@@ -13,13 +13,13 @@ import (
"go-admin/app/admin/service"
"go-admin/app/admin/service/dto"
"go-admin/common/actions"
common "go-admin/common/models"
)
type SysUser struct {
api.Api
}
// GetSysUserList
// @Summary 列表用户信息数据
// @Description 获取JSON
// @Tags 用户
@@ -29,22 +29,16 @@ type SysUser struct {
// @Router /api/v1/sysUser [get]
// @Security Bearer
func (e SysUser) GetSysUserList(c *gin.Context) {
e.Context = c
log := e.GetLogger()
d := new(dto.SysUserSearch)
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.SysUserSearch)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
req := d.Generate()
//查询列表
err = req.Bind(c)
if err != nil {
log.Warnf("Bind error: %s", err.Error())
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
@@ -53,10 +47,8 @@ func (e SysUser) GetSysUserList(c *gin.Context) {
list := make([]models.SysUser, 0)
var count int64
serviceStudent := service.SysUser{}
serviceStudent.Log = log
serviceStudent.Orm = db
err = serviceStudent.GetSysUserPage(req, p, &list, &count)
err = s.GetSysUserPage(req, p, &list, &count)
if err != nil {
e.Error(http.StatusInternalServerError, err, "查询失败")
return
@@ -65,6 +57,7 @@ func (e SysUser) GetSysUserList(c *gin.Context) {
e.PageOK(list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
}
// GetSysUser
// @Summary 获取用户
// @Description 获取JSON
// @Tags 用户
@@ -73,31 +66,25 @@ func (e SysUser) GetSysUserList(c *gin.Context) {
// @Router /api/v1/sysUser/{userId} [get]
// @Security Bearer
func (e SysUser) GetSysUser(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysUserById)
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.SysUserById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//查看详情
req := control.Generate()
err = req.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object models.SysUser
//数据权限检查
p := actions.GetPermissionFromContext(c)
serviceSysUser := service.SysUser{}
serviceSysUser.Log = log
serviceSysUser.Orm = db
err = serviceSysUser.GetSysUser(req, p, &object)
err = s.GetSysUser(req, p, &object)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "查询失败")
return
@@ -106,6 +93,7 @@ func (e SysUser) GetSysUser(c *gin.Context) {
e.OK(object, "查看成功")
}
// InsertSysUser
// @Summary 创建用户
// @Description 获取JSON
// @Tags 用户
@@ -116,44 +104,33 @@ func (e SysUser) GetSysUser(c *gin.Context) {
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
// @Router /api/v1/sysUser [post]
func (e SysUser) InsertSysUser(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysUserControl)
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.SysUserControl)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
//新增操作
req := control.Generate()
err = req.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object common.ActiveRecord
object, err = req.GenerateM()
if err != nil {
e.Error(http.StatusInternalServerError, err, "模型生成失败")
return
}
// 设置创建人
object.SetCreateBy(user.GetUserId(c))
req.SetCreateBy(user.GetUserId(c))
serviceSysUser := service.SysUser{}
serviceSysUser.Orm = db
serviceSysUser.Log = log
err = serviceSysUser.InsertSysUser(object)
err = s.InsertSysUser(req)
if err != nil {
log.Error(err)
e.Logger.Error(err)
e.Error(http.StatusInternalServerError, err, "创建失败")
return
}
e.OK(object.GetId(), "创建成功")
e.OK(req.GetId(), "创建成功")
}
// UpdateSysUser
// @Summary 修改用户数据
// @Description 获取JSON
// @Tags 用户
@@ -164,45 +141,33 @@ func (e SysUser) InsertSysUser(c *gin.Context) {
// @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
// @Router /api/v1/sysuser/{userId} [put]
func (e SysUser) UpdateSysUser(c *gin.Context) {
control := new(dto.SysUserControl)
e.Context = c
log := e.GetLogger()
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.SysUserControl)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
req := control.Generate()
//更新操作
err = req.Bind(c)
if err != nil {
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object common.ActiveRecord
object, err = req.GenerateM()
if err != nil {
e.Error(http.StatusInternalServerError, err, "模型生成失败")
return
}
object.SetUpdateBy(user.GetUserId(c))
req.SetUpdateBy(user.GetUserId(c))
//数据权限检查
p := actions.GetPermissionFromContext(c)
serviceSysUser := service.SysUser{}
serviceSysUser.Orm = db
serviceSysUser.Log = log
err = serviceSysUser.UpdateSysUser(object, p)
err = s.UpdateSysUser(req, p)
if err != nil {
log.Error(err)
e.Logger.Error(err)
return
}
e.OK(object.GetId(), "更新成功")
e.OK(req.GetId(), "更新成功")
}
// DeleteSysUser
// @Summary 删除用户数据
// @Description 删除数据
// @Tags 用户
@@ -211,48 +176,34 @@ func (e SysUser) UpdateSysUser(c *gin.Context) {
// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
// @Router /api/v1/sysuser/{userId} [delete]
func (e SysUser) DeleteSysUser(c *gin.Context) {
e.Context = c
log := e.GetLogger()
control := new(dto.SysUserById)
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.SysUserById)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
//删除操作
req := control.Generate()
err = req.Bind(c)
if err != nil {
log.Errorf("Bind error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
return
}
var object common.ActiveRecord
object, err = req.GenerateM()
if err != nil {
e.Error(http.StatusInternalServerError, err, "模型生成失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
// 设置编辑人
object.SetUpdateBy(user.GetUserId(c))
req.SetUpdateBy(user.GetUserId(c))
// 数据权限检查
p := actions.GetPermissionFromContext(c)
serviceSysUser := service.SysUser{}
serviceSysUser.Orm = db
serviceSysUser.Log = log
err = serviceSysUser.RemoveSysUser(req, object, p)
err = s.RemoveSysUser(req, p)
if err != nil {
log.Error(err)
e.Logger.Error(err)
return
}
e.OK(object.GetId(), "删除成功")
e.OK(req.GetId(), "删除成功")
}
// InsetSysUserAvatar
// @Summary 修改头像
// @Description 获取JSON
// @Tags 用户
@@ -262,14 +213,17 @@ func (e SysUser) DeleteSysUser(c *gin.Context) {
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
// @Router /api/v1/user/avatar [post]
func (e SysUser) InsetSysUserAvatar(c *gin.Context) {
e.Context = c
log := e.GetLogger()
db, err := e.GetOrm()
s := service.SysUser{}
req := new(dto.SysUserControl)
err := e.MakeContext(c).
MakeOrm().
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
// 数据权限检查
p := actions.GetPermissionFromContext(c)
@@ -278,31 +232,27 @@ func (e SysUser) InsetSysUserAvatar(c *gin.Context) {
guid := uuid.New().String()
filPath := "static/uploadfile/" + guid + ".jpg"
for _, file := range files {
log.Debugf("upload avatar file: %s", file.Filename)
e.Logger.Debugf("upload avatar file: %s", file.Filename)
// 上传文件至指定目录
err = c.SaveUploadedFile(file, filPath)
if err != nil {
log.Errorf("save file error, %s", err.Error())
e.Logger.Errorf("save file error, %s", err.Error())
e.Error(http.StatusInternalServerError, err, "")
return
}
}
req.UserId = p.UserId
req.Avatar = "/" + filPath
object := &models.SysUser{
UserId: p.UserId,
Avatar: "/" + filPath,
}
serviceSysUser := service.SysUser{}
serviceSysUser.Orm = db
serviceSysUser.Log = log
err = serviceSysUser.UpdateSysUser(object, p)
err = s.UpdateSysUser(req, p)
if err != nil {
log.Error(err)
e.Logger.Error(err)
return
}
e.OK(filPath, "修改成功")
}
// SysUserUpdatePwd
// @Summary 重置密码
// @Description 获取JSON
// @Tags 用户
@@ -313,37 +263,32 @@ func (e SysUser) InsetSysUserAvatar(c *gin.Context) {
// @Router /api/v1/user/pwd [post]
// @Security Bearer
func (e SysUser) SysUserUpdatePwd(c *gin.Context) {
e.Context = c
log := e.GetLogger()
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.PassWord)
err := e.MakeContext(c).
MakeOrm().
Bind(req).
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
return
}
var pwd dto.PassWord
err = c.Bind(&pwd)
if err != nil {
log.Errorf("Bind error: %s", err)
e.Error(http.StatusUnprocessableEntity, err, "参数验证失败")
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
// 数据权限检查
p := actions.GetPermissionFromContext(c)
serviceSysUser := service.SysUser{}
serviceSysUser.Orm = db
serviceSysUser.Log = log
err = serviceSysUser.UpdateSysUserPwd(user.GetUserId(c), pwd.OldPassword, pwd.NewPassword, p)
err = s.UpdateSysUserPwd(user.GetUserId(c), req.OldPassword, req.NewPassword, p)
if err != nil {
log.Error(err)
e.Logger.Error(err)
e.Error(http.StatusForbidden, err, "密码修改失败")
return
}
e.OK(nil, "密码修改成功")
}
// GetSysUserProfile
// @Summary 获取个人中心用户
// @Description 获取JSON
// @Tags 个人中心
@@ -351,24 +296,26 @@ func (e SysUser) SysUserUpdatePwd(c *gin.Context) {
// @Router /api/v1/user/profile [get]
// @Security Bearer
func (e SysUser) GetSysUserProfile(c *gin.Context) {
e.Context = c
log := e.GetLogger()
db, err := e.GetOrm()
s := new(service.SysUser)
req := new(dto.SysUserById)
err := e.MakeContext(c).
MakeOrm().
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
id := user.GetUserId(c)
serviceSysUser := service.SysUser{}
serviceSysUser.Log = log
serviceSysUser.Orm = db
req.Id = user.GetUserId(c)
user := new(models.SysUser)
roles := make([]models.SysRole, 0)
posts := make([]models.SysPost, 0)
err = serviceSysUser.GetSysUserProfile(id, user, &roles, &posts)
err = s.GetSysUserProfile(req, user, &roles, &posts)
if err != nil {
log.Errorf("get user profile error, %s", err.Error())
e.Logger.Errorf("get user profile error, %s", err.Error())
e.Error(http.StatusInternalServerError, err, "获取用户信息失败")
return
}
@@ -377,46 +324,18 @@ func (e SysUser) GetSysUserProfile(c *gin.Context) {
"roles": roles,
"posts": posts,
}, "查询成功")
//var SysUser models.SysUser
//userId := tools.GetUserIdStr(c)
//SysUser.UserId, _ = tools.StringToInt(userId)
//result, err := SysUser.Get()
//tools.HasError(err, "抱歉未找到相关信息", -1)
//var SysRole models.SysRole
//var Post models.Post
//var Dept models.SysDepts
////获取角色列表
//roles, err := SysRole.GetList()
////获取职位列表
//posts, err := Post.GetList()
////获取部门列表
//Dept.DeptId = result.DeptId
//dept, err := Dept.Get()
//
//postIds := make([]int, 0)
//postIds = append(postIds, result.PostId)
//
//roleIds := make([]int, 0)
//roleIds = append(roleIds, result.RoleId)
//
//app.Custum(c, gin.H{
// "code": 200,
// "data": result,
// "postIds": postIds,
// "roleIds": roleIds,
// "roles": roles,
// "posts": posts,
// "dept": dept,
//})
}
func (e SysUser) GetInfo(c *gin.Context) {
e.Context = c
log := e.GetLogger()
db, err := e.GetOrm()
req := new(dto.SysUserById)
s := new(service.SysUser)
err := e.MakeContext(c).
MakeOrm().
MakeService(&s.Service).
Errors
if err != nil {
log.Error(err)
e.Error(http.StatusInternalServerError, err, err.Error())
e.Logger.Error(err)
return
}
@@ -441,18 +360,16 @@ func (e SysUser) GetInfo(c *gin.Context) {
mp["permissions"] = permissions
mp["buttons"] = buttons
} else {
list, _ := RoleMenu.GetPermis(db)
list, _ := RoleMenu.GetPermis(e.Orm)
mp["permissions"] = list
mp["buttons"] = list
}
var sysUser models.SysUser
req := new(dto.SysUserById)
req.Id = user.GetUserId(c)
serviceSysUser := service.SysUser{}
serviceSysUser.Log = log
serviceSysUser.Orm = db
err = serviceSysUser.GetSysUser(req, p, &sysUser)
err = s.GetSysUser(req, p, &sysUser)
if err != nil {
e.Error(http.StatusUnauthorized, err, "登录失败")
return
@@ -469,4 +386,4 @@ func (e SysUser) GetInfo(c *gin.Context) {
mp["deptId"] = sysUser.DeptId
mp["name"] = sysUser.NickName
e.OK(mp, "")
}
}