diff --git a/app/admin/apis/captcha.go b/app/admin/apis/captcha.go index 4ed79f35..b258e274 100644 --- a/app/admin/apis/captcha.go +++ b/app/admin/apis/captcha.go @@ -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", }) -} \ No newline at end of file +} diff --git a/app/admin/apis/sys_login_log.go b/app/admin/apis/sys_login_log.go index b0d3495b..02bd92df 100644 --- a/app/admin/apis/sys_login_log.go +++ b/app/admin/apis/sys_login_log.go @@ -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(), "删除成功") } \ No newline at end of file diff --git a/app/admin/apis/sys_opera_log.go b/app/admin/apis/sys_opera_log.go index 67cda4fd..73afdbe9 100644 --- a/app/admin/apis/sys_opera_log.go +++ b/app/admin/apis/sys_opera_log.go @@ -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(), "删除成功") -} \ No newline at end of file + e.OK(req.GetId(), "删除成功") +} diff --git a/app/admin/apis/sys_post.go b/app/admin/apis/sys_post.go index fe2bbd32..b7fac3f3 100644 --- a/app/admin/apis/sys_post.go +++ b/app/admin/apis/sys_post.go @@ -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(), "删除成功") } \ No newline at end of file diff --git a/app/admin/apis/sys_role.go b/app/admin/apis/sys_role.go index 867042c5..5c7e6880 100644 --- a/app/admin/apis/sys_role.go +++ b/app/admin/apis/sys_role.go @@ -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, "操作成功") -} \ No newline at end of file +} diff --git a/app/admin/apis/sys_user.go b/app/admin/apis/sys_user.go index 695a4205..7faa84ec 100644 --- a/app/admin/apis/sys_user.go +++ b/app/admin/apis/sys_user.go @@ -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, "") -} \ No newline at end of file +} diff --git a/app/admin/service/dto/sys_login_log.go b/app/admin/service/dto/sys_login_log.go index 3de970f7..1dec4b4f 100644 --- a/app/admin/service/dto/sys_login_log.go +++ b/app/admin/service/dto/sys_login_log.go @@ -87,6 +87,7 @@ func (s *SysLoginLogControl) GetId() interface{} { type SysLoginLogById struct { Id int `uri:"id"` Ids []int `json:"ids"` + common.ControlBy } func (s *SysLoginLogById) GetId() interface{} { @@ -114,4 +115,4 @@ func (s *SysLoginLogById) Generate() *SysLoginLogById { func (s *SysLoginLogById) GenerateM() (*models.SysLoginLog, error) { return &models.SysLoginLog{}, nil -} \ No newline at end of file +} diff --git a/app/admin/service/dto/sys_post.go b/app/admin/service/dto/sys_post.go index 1f15c476..df3ad342 100644 --- a/app/admin/service/dto/sys_post.go +++ b/app/admin/service/dto/sys_post.go @@ -1,11 +1,10 @@ package dto import ( - "encoding/json" "go-admin/app/admin/models" + common "go-admin/common/models" "github.com/gin-gonic/gin" - "github.com/gin-gonic/gin/binding" "github.com/go-admin-team/go-admin-core/sdk/api" "go-admin/common/dto" @@ -36,7 +35,7 @@ func (m *SysPostSearch) Bind(ctx *gin.Context) error { return err } -// SysConfigControl 增、改使用的结构体 +// SysPostControl 增、改使用的结构体 type SysPostControl struct { PostId int `uri:"id" comment:"id"` // id PostName string `form:"postName" comment:"名称"` // 名称 @@ -44,39 +43,25 @@ type SysPostControl struct { Sort int `form:"sort" comment:"排序"` // 排序 Status int `form:"status" comment:"状态"` // 状态 Remark string `form:"remark" comment:"备注"` // 备注 -} - -// Bind 映射上下文中的结构体数据 -func (s *SysPostControl) Bind(ctx *gin.Context) error { - log := api.GetRequestLogger(ctx) - err := ctx.ShouldBindUri(s) - if err != nil { - log.Debugf("ShouldBindUri error: %s", err.Error()) - return err - } - err = ctx.ShouldBindBodyWith(s, binding.JSON) - if err != nil { - log.Debugf("ShouldBind error: %s", err.Error()) - } - var jsonStr []byte - jsonStr, err = json.Marshal(s) - if err != nil { - log.Debugf("ShouldBind error: %s", err.Error()) - } - ctx.Set("body", string(jsonStr)) - return err + common.ControlBy } // Generate 结构体数据转化 从 SysConfigControl 至 system.SysConfig 对应的模型 -func (s *SysPostControl) Generate() (*models.SysPost, error) { - return &models.SysPost{ - PostId: s.PostId, - PostName: s.PostName, - PostCode: s.PostCode, - Sort: s.Sort, - Status: s.Status, - Remark: s.Remark, - }, nil +func (s *SysPostControl) Generate(model *models.SysPost) { + if s.PostId != 0 { + model.PostId = s.PostId + } + model.PostName = s.PostName + model.PostCode = s.PostCode + model.Sort = s.Sort + model.Status = s.Status + model.Remark = s.Remark + if s.ControlBy.UpdateBy != 0 { + model.UpdateBy = s.UpdateBy + } + if s.ControlBy.CreateBy != 0 { + model.CreateBy = s.CreateBy + } } // GetId 获取数据对应的ID @@ -84,15 +69,20 @@ func (s *SysPostControl) GetId() interface{} { return s.PostId } -// SysConfigById 获取单个或者删除的结构体 +// SysPostById 获取单个或者删除的结构体 type SysPostById struct { Id int `uri:"id"` Ids []int `json:"ids"` + common.ControlBy } -func (s *SysPostById) Generate() *SysPostById { - cp := *s - return &cp +func (s *SysPostById) Generate(model *models.SysPost) { + if s.ControlBy.UpdateBy != 0 { + model.UpdateBy = s.UpdateBy + } + if s.ControlBy.CreateBy != 0 { + model.CreateBy = s.CreateBy + } } func (s *SysPostById) GetId() interface{} { @@ -119,4 +109,4 @@ func (s *SysPostById) Bind(ctx *gin.Context) error { func (s *SysPostById) GenerateM() (*models.SysPost, error) { return &models.SysPost{}, nil -} \ No newline at end of file +} diff --git a/app/admin/service/dto/sys_user.go b/app/admin/service/dto/sys_user.go index 9b00ac0d..962e3ef7 100644 --- a/app/admin/service/dto/sys_user.go +++ b/app/admin/service/dto/sys_user.go @@ -55,6 +55,7 @@ type SysUserControl struct { PostId int `json:"postId" comment:"岗位"` Remark string `json:"remark" comment:"备注"` Status string `json:"status" comment:"状态"` + common.ControlBy } func (s *SysUserControl) Bind(ctx *gin.Context) error { @@ -67,27 +68,22 @@ func (s *SysUserControl) Bind(ctx *gin.Context) error { return err } -func (s *SysUserControl) Generate() dto.Control { - cp := *s - return &cp -} - -func (s *SysUserControl) GenerateM() (common.ActiveRecord, error) { - return &models.SysUser{ - UserId: s.UserId, - Username: s.Username, - Password: s.Password, - NickName: s.NickName, - Phone: s.Phone, - RoleId: s.RoleId, - Avatar: s.Avatar, - Sex: s.Sex, - Email: s.Email, - DeptId: s.DeptId, - PostId: s.PostId, - Remark: s.Remark, - Status: s.Status, - }, nil +func (s *SysUserControl) Generate(model *models.SysUser) { + if s.UserId != 0 { + model.UserId = s.UserId + } + model.Username = s.Username + model.Password = s.Password + model.NickName = s.NickName + model.Phone = s.Phone + model.RoleId = s.RoleId + model.Avatar = s.Avatar + model.Sex = s.Sex + model.Email = s.Email + model.DeptId = s.DeptId + model.PostId = s.PostId + model.Remark = s.Remark + model.Status = s.Status } func (s *SysUserControl) GetId() interface{} { @@ -96,6 +92,7 @@ func (s *SysUserControl) GetId() interface{} { type SysUserById struct { dto.ObjectById + common.ControlBy } func (s *SysUserById) Generate() dto.Control { @@ -119,4 +116,4 @@ func (s *SysUserById) GenerateM() (common.ActiveRecord, error) { type PassWord struct { NewPassword string `json:"newPassword" binding:"required"` OldPassword string `json:"oldPassword" binding:"required"` -} \ No newline at end of file +} diff --git a/app/admin/service/sys_login_log.go b/app/admin/service/sys_login_log.go index c1ff1523..efaa29b3 100644 --- a/app/admin/service/sys_login_log.go +++ b/app/admin/service/sys_login_log.go @@ -9,7 +9,6 @@ import ( "go-admin/app/admin/models" "go-admin/app/admin/service/dto" cDto "go-admin/common/dto" - common "go-admin/common/models" ) type SysLoginLog struct { @@ -38,10 +37,7 @@ func (e *SysLoginLog) GetSysLoginLogPage(c *dto.SysLoginLogSearch, list *[]model // GetSysLoginLog 获取SysLoginLog对象 func (e *SysLoginLog) GetSysLoginLog(d *dto.SysLoginLogById, model *models.SysLoginLog) error { var err error - var data models.SysLoginLog - - db := e.Orm.Model(&data). - First(model, d.GetId()) + db := e.Orm.First(model, d.GetId()) err = db.Error if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { err = errors.New("查看对象不存在或无权查看") @@ -55,45 +51,12 @@ func (e *SysLoginLog) GetSysLoginLog(d *dto.SysLoginLogById, model *models.SysLo return nil } -// InsertSysLoginLog 创建SysLoginLog对象 -func (e *SysLoginLog) InsertSysLoginLog(model common.ActiveRecord) error { - var err error - var data models.SysLoginLog - - err = e.Orm.Model(&data). - Create(model).Error - if err != nil { - e.Log.Errorf("db error:%s", err) - return err - } - return nil -} - -// UpdateSysLoginLog 修改SysLoginLog对象 -func (e *SysLoginLog) UpdateSysLoginLog(c common.ActiveRecord) error { - var err error - var data models.SysLoginLog - - db := e.Orm.Model(&data). - Where(c.GetId()).Updates(c) - if db.Error != nil { - e.Log.Errorf("db error:%s", err) - return err - } - if db.RowsAffected == 0 { - return errors.New("无权更新该数据") - - } - return nil -} - // RemoveSysLoginLog 删除SysLoginLog -func (e *SysLoginLog) RemoveSysLoginLog(d *dto.SysLoginLogById, c common.ActiveRecord) error { +func (e *SysLoginLog) RemoveSysLoginLog(c *dto.SysLoginLogById) error { var err error var data models.SysLoginLog - db := e.Orm.Model(&data). - Where(d.Ids).Delete(c) + db := e.Orm.Delete(&data, c.Ids) if db.Error != nil { err = db.Error e.Log.Errorf("Delete error: %s", err) @@ -104,4 +67,4 @@ func (e *SysLoginLog) RemoveSysLoginLog(d *dto.SysLoginLogById, c common.ActiveR return err } return nil -} \ No newline at end of file +} diff --git a/app/admin/service/sys_post.go b/app/admin/service/sys_post.go index 4e559ab7..abb4af2b 100644 --- a/app/admin/service/sys_post.go +++ b/app/admin/service/sys_post.go @@ -55,7 +55,7 @@ func (e *SysPost) GetSysPost(d *dto.SysPostById, model *models.SysPost) error { } // InsertSysPost 创建SysPost对象 -func (e *SysPost) InsertSysPost(model *models.SysPost) error { +func (e *SysPost) InsertSysPost(model *dto.SysPostControl) error { var err error var data models.SysPost @@ -69,12 +69,13 @@ func (e *SysPost) InsertSysPost(model *models.SysPost) error { } // UpdateSysPost 修改SysPost对象 -func (e *SysPost) UpdateSysPost(c *models.SysPost) error { +func (e *SysPost) UpdateSysPost(c *dto.SysPostControl) error { var err error - var data models.SysPost + var model = models.SysPost{} + e.Orm.First(&model, c.GetId()) + c.Generate(&model) - db := e.Orm.Model(&data). - Where(c.GetId()).Updates(c) + db := e.Orm.Save(&model) if db.Error != nil { e.Log.Errorf("db error:%s", err) return err diff --git a/app/admin/service/sys_user.go b/app/admin/service/sys_user.go index 4d225ac4..71bfc6c7 100644 --- a/app/admin/service/sys_user.go +++ b/app/admin/service/sys_user.go @@ -3,6 +3,7 @@ package service import ( "errors" "go-admin/app/admin/models" + "go-admin/app/admin/service/dto" log "github.com/go-admin-team/go-admin-core/logger" "github.com/go-admin-team/go-admin-core/sdk/pkg" @@ -11,7 +12,6 @@ import ( "go-admin/common/actions" cDto "go-admin/common/dto" - common "go-admin/common/models" ) type SysUser struct { @@ -61,12 +61,11 @@ func (e *SysUser) GetSysUser(d cDto.Control, p *actions.DataPermission, model *m } // InsertSysUser 创建SysUser对象 -func (e *SysUser) InsertSysUser(model common.ActiveRecord) error { +func (e *SysUser) InsertSysUser(c *dto.SysUserControl) error { var err error var data models.SysUser - - err = e.Orm.Model(&data). - Create(model).Error + c.Generate(&data) + err = e.Orm.Create(&data).Error if err != nil { e.Log.Errorf("db error: %s", err) return err @@ -75,13 +74,12 @@ func (e *SysUser) InsertSysUser(model common.ActiveRecord) error { } // UpdateSysUser 修改SysUser对象 -func (e *SysUser) UpdateSysUser(c common.ActiveRecord, p *actions.DataPermission) error { +func (e *SysUser) UpdateSysUser(c *dto.SysUserControl, p *actions.DataPermission) error { var err error - - db := e.Orm.Model(c). - Scopes( - actions.Permission(c.TableName(), p), - ).Where(c.GetId()).Updates(c) + var model models.SysUser + db := e.Orm.Scopes( + actions.Permission(model.TableName(), p), + ).First(&model, c.GetId()) if err = db.Error; err != nil { e.Log.Errorf("Service UpdateSysUser error: %s", err) return err @@ -90,18 +88,24 @@ func (e *SysUser) UpdateSysUser(c common.ActiveRecord, p *actions.DataPermission return errors.New("无权更新该数据") } + c.Generate(&model) + err = e.Orm.Save(&model).Error + if err != nil { + e.Log.Errorf("Service UpdateSysUser error: %s", err) + return err + } return nil } // RemoveSysUser 删除SysUser -func (e *SysUser) RemoveSysUser(d cDto.Control, c common.ActiveRecord, p *actions.DataPermission) error { +func (e *SysUser) RemoveSysUser(c *dto.SysUserById, p *actions.DataPermission) error { var err error var data models.SysUser db := e.Orm.Model(&data). Scopes( actions.Permission(data.TableName(), p), - ).Where(d.GetId()).Delete(c) + ).Delete(&data, c.GetId()) if err = db.Error; err != nil { e.Log.Errorf("Delete error: %s", err) return err @@ -157,8 +161,8 @@ func (e *SysUser) UpdateSysUserPwd(id int, oldPassword, newPassword string, p *a return nil } -func (e *SysUser) GetSysUserProfile(id int, user *models.SysUser, roles *[]models.SysRole, posts *[]models.SysPost) error { - err := e.Orm.Preload("Dept").First(user, "user_id = ?", id).Error +func (e *SysUser) GetSysUserProfile(c *dto.SysUserById, user *models.SysUser, roles *[]models.SysRole, posts *[]models.SysPost) error { + err := e.Orm.Preload("Dept").First(user, c.GetId()).Error if err != nil { return err } @@ -172,4 +176,4 @@ func (e *SysUser) GetSysUserProfile(id int, user *models.SysUser, roles *[]model } return nil -} \ No newline at end of file +} diff --git a/go.mod b/go.mod index 07aa1837..3ac28251 100644 --- a/go.mod +++ b/go.mod @@ -27,5 +27,5 @@ require ( gorm.io/driver/mysql v1.0.4-0.20201206014609-ae5fd10184f6 gorm.io/driver/postgres v1.0.6-0.20201208020313-1ed927cfab53 gorm.io/driver/sqlite v1.1.5-0.20201206014648-c84401fbe3ba - gorm.io/gorm v1.21.6 + gorm.io/gorm v1.21.10 )