diff --git a/apps/system/api/api.go b/apps/system/api/api.go index 8694175..20a4103 100644 --- a/apps/system/api/api.go +++ b/apps/system/api/api.go @@ -3,6 +3,7 @@ package api import ( entity "pandax/apps/system/entity" services "pandax/apps/system/services" + "pandax/kit/biz" "pandax/kit/casbin" "pandax/kit/model" "pandax/kit/restfulx" @@ -17,12 +18,14 @@ type SystemApiApi struct { func (s *SystemApiApi) CreateApi(rc *restfulx.ReqCtx) { var api entity.SysApi restfulx.BindJsonAndValid(rc, &api) - s.ApiApp.Insert(api) + _, err := s.ApiApp.Insert(api) + biz.ErrIsNil(err, "添加APi失败") } func (s *SystemApiApi) DeleteApi(rc *restfulx.ReqCtx) { ids := rc.Request.PathParameter("id") - s.ApiApp.Delete(utils.IdsStrToIdsIntGroup(ids)) + err := s.ApiApp.Delete(utils.IdsStrToIdsIntGroup(ids)) + biz.ErrIsNil(err, "删除APi失败") } func (s *SystemApiApi) GetApiList(rc *restfulx.ReqCtx) { @@ -33,7 +36,8 @@ func (s *SystemApiApi) GetApiList(rc *restfulx.ReqCtx) { method := rc.Request.QueryParameter("method") apiGroup := rc.Request.QueryParameter("apiGroup") api := entity.SysApi{Path: path, Description: description, Method: method, ApiGroup: apiGroup} - list, total := s.ApiApp.FindListPage(pageNum, pageSize, api) + list, total, err := s.ApiApp.FindListPage(pageNum, pageSize, api) + biz.ErrIsNil(err, "查询APi分页列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -44,18 +48,23 @@ func (s *SystemApiApi) GetApiList(rc *restfulx.ReqCtx) { func (s *SystemApiApi) GetApiById(rc *restfulx.ReqCtx) { id := restfulx.QueryInt(rc, "id", 0) - rc.ResData = s.ApiApp.FindOne(int64(id)) + data, err := s.ApiApp.FindOne(int64(id)) + biz.ErrIsNil(err, "查询APi失败") + rc.ResData = data } func (s *SystemApiApi) UpdateApi(rc *restfulx.ReqCtx) { var api entity.SysApi restfulx.BindJsonAndValid(rc, &api) - s.ApiApp.Update(api) + err := s.ApiApp.Update(api) + biz.ErrIsNil(err, "查询APi失败") } func (s *SystemApiApi) GetAllApis(rc *restfulx.ReqCtx) { - rc.ResData = s.ApiApp.FindList(entity.SysApi{}) + data, err := s.ApiApp.FindList(entity.SysApi{}) + biz.ErrIsNil(err, "查询APi列表失败") + rc.ResData = data } func (s *SystemApiApi) GetPolicyPathByRoleId(rc *restfulx.ReqCtx) { diff --git a/apps/system/api/config.go b/apps/system/api/config.go index 0f244cb..b58a21e 100644 --- a/apps/system/api/config.go +++ b/apps/system/api/config.go @@ -20,8 +20,8 @@ func (p *ConfigApi) GetConfigList(rc *restfulx.ReqCtx) { configKey := rc.Request.QueryParameter("configKey") configType := rc.Request.QueryParameter("configType") config := entity.SysConfig{ConfigName: configName, ConfigKey: configKey, ConfigType: configType} - list, total := p.ConfigApp.FindListPage(pageNum, pageSize, config) - + list, total, err := p.ConfigApp.FindListPage(pageNum, pageSize, config) + biz.ErrIsNil(err, "查询配置分页列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -33,28 +33,35 @@ func (p *ConfigApi) GetConfigList(rc *restfulx.ReqCtx) { func (p *ConfigApi) GetConfigListByKey(rc *restfulx.ReqCtx) { configKey := rc.Request.QueryParameter("configKey") biz.IsTrue(configKey != "", "请传入配置Key") - rc.ResData = p.ConfigApp.FindList(entity.SysConfig{ConfigKey: configKey}) + data, err := p.ConfigApp.FindList(entity.SysConfig{ConfigKey: configKey}) + biz.ErrIsNil(err, "查询配置列表失败") + rc.ResData = data } func (p *ConfigApi) GetConfig(rc *restfulx.ReqCtx) { id := restfulx.PathParamInt(rc, "configId") - p.ConfigApp.FindOne(int64(id)) + data, err := p.ConfigApp.FindOne(int64(id)) + biz.ErrIsNil(err, "查询配置失败") + rc.ResData = data } func (p *ConfigApi) InsertConfig(rc *restfulx.ReqCtx) { var config entity.SysConfig restfulx.BindJsonAndValid(rc, &config) - p.ConfigApp.Insert(config) + _, err := p.ConfigApp.Insert(config) + biz.ErrIsNil(err, "添加配置失败") } func (p *ConfigApi) UpdateConfig(rc *restfulx.ReqCtx) { var post entity.SysConfig restfulx.BindJsonAndValid(rc, &post) - p.ConfigApp.Update(post) + err := p.ConfigApp.Update(post) + biz.ErrIsNil(err, "修改配置失败") } func (p *ConfigApi) DeleteConfig(rc *restfulx.ReqCtx) { configId := rc.Request.PathParameter("configId") - p.ConfigApp.Delete(utils.IdsStrToIdsIntGroup(configId)) + err := p.ConfigApp.Delete(utils.IdsStrToIdsIntGroup(configId)) + biz.ErrIsNil(err, "删除配置失败") } diff --git a/apps/system/api/dict.go b/apps/system/api/dict.go index d1b5084..110056c 100644 --- a/apps/system/api/dict.go +++ b/apps/system/api/dict.go @@ -23,7 +23,8 @@ func (p *DictApi) GetDictTypeList(rc *restfulx.ReqCtx) { dictName := restfulx.QueryParam(rc, "dictName") dictType := restfulx.QueryParam(rc, "dictType") - list, total := p.DictType.FindListPage(pageNum, pageSize, entity.SysDictType{Status: status, DictName: dictName, DictType: dictType}) + list, total, err := p.DictType.FindListPage(pageNum, pageSize, entity.SysDictType{Status: status, DictName: dictName, DictType: dictType}) + biz.ErrIsNil(err, "查询字典类型分页失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -34,7 +35,9 @@ func (p *DictApi) GetDictTypeList(rc *restfulx.ReqCtx) { func (p *DictApi) GetDictType(rc *restfulx.ReqCtx) { dictId := restfulx.PathParamInt(rc, "dictId") - p.DictType.FindOne(int64(dictId)) + data, err := p.DictType.FindOne(int64(dictId)) + biz.ErrIsNil(err, "查询字典类型失败") + rc.ResData = data } func (p *DictApi) InsertDictType(rc *restfulx.ReqCtx) { @@ -42,7 +45,8 @@ func (p *DictApi) InsertDictType(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &dict) dict.CreateBy = rc.LoginAccount.UserName - p.DictType.Insert(dict) + _, err := p.DictType.Insert(dict) + biz.ErrIsNil(err, "添加字典类型失败") } func (p *DictApi) UpdateDictType(rc *restfulx.ReqCtx) { @@ -50,7 +54,8 @@ func (p *DictApi) UpdateDictType(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &dict) dict.CreateBy = rc.LoginAccount.UserName - p.DictType.Update(dict) + err := p.DictType.Update(dict) + biz.ErrIsNil(err, "修改字典类型失败") } func (p *DictApi) DeleteDictType(rc *restfulx.ReqCtx) { @@ -59,15 +64,22 @@ func (p *DictApi) DeleteDictType(rc *restfulx.ReqCtx) { deList := make([]int64, 0) for _, id := range dictIds { - one := p.DictType.FindOne(id) - list := p.DictData.FindList(entity.SysDictData{DictType: one.DictType}) + one, err := p.DictType.FindOne(id) + if err != nil { + continue + } + list, err := p.DictData.FindList(entity.SysDictData{DictType: one.DictType}) + if err != nil { + continue + } if len(*list) == 0 { deList = append(deList, id) } else { global.Log.Info(fmt.Sprintf("dictId: %d 存在字典数据绑定无法删除", id)) } } - p.DictType.Delete(deList) + err := p.DictType.Delete(deList) + biz.ErrIsNil(err, "删除字典类型失败") } func (p *DictApi) ExportDictType(rc *restfulx.ReqCtx) { @@ -76,7 +88,8 @@ func (p *DictApi) ExportDictType(rc *restfulx.ReqCtx) { dictName := restfulx.QueryParam(rc, "dictName") dictType := restfulx.QueryParam(rc, "dictType") - list := p.DictType.FindList(entity.SysDictType{Status: status, DictName: dictName, DictType: dictType}) + list, err := p.DictType.FindList(entity.SysDictType{Status: status, DictName: dictName, DictType: dictType}) + biz.ErrIsNil(err, "查询字典类型列表失败") fileName := utils.GetFileName(global.Conf.Server.ExcelDir, filename) utils.InterfaceToExcel(*list, fileName) rc.Download(fileName) @@ -86,25 +99,32 @@ func (p *DictApi) GetDictDataList(rc *restfulx.ReqCtx) { dictLabel := restfulx.QueryParam(rc, "dictLabel") dictType := restfulx.QueryParam(rc, "dictType") status := restfulx.QueryParam(rc, "status") - rc.ResData = p.DictData.FindList(entity.SysDictData{Status: status, DictType: dictType, DictLabel: dictLabel}) + data, err := p.DictData.FindList(entity.SysDictData{Status: status, DictType: dictType, DictLabel: dictLabel}) + biz.ErrIsNil(err, "查询字典列表失败") + rc.ResData = data } func (p *DictApi) GetDictDataListByDictType(rc *restfulx.ReqCtx) { dictType := restfulx.QueryParam(rc, "dictType") biz.IsTrue(dictType != "", "请传入字典类型") - rc.ResData = p.DictData.FindList(entity.SysDictData{DictType: dictType}) + data, err := p.DictData.FindList(entity.SysDictData{DictType: dictType}) + biz.ErrIsNil(err, "查询字典列表失败") + rc.ResData = data } func (p *DictApi) GetDictData(rc *restfulx.ReqCtx) { dictCode := restfulx.PathParamInt(rc, "dictCode") - p.DictData.FindOne(int64(dictCode)) + data, err := p.DictData.FindOne(int64(dictCode)) + biz.ErrIsNil(err, "查询字典失败") + rc.ResData = data } func (p *DictApi) InsertDictData(rc *restfulx.ReqCtx) { var data entity.SysDictData restfulx.BindJsonAndValid(rc, &data) data.CreateBy = rc.LoginAccount.UserName - p.DictData.Insert(data) + _, err := p.DictData.Insert(data) + biz.ErrIsNil(err, "添加字典失败") } func (p *DictApi) UpdateDictData(rc *restfulx.ReqCtx) { @@ -112,10 +132,12 @@ func (p *DictApi) UpdateDictData(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &data) data.CreateBy = rc.LoginAccount.UserName - p.DictData.Update(data) + err := p.DictData.Update(data) + biz.ErrIsNil(err, "修改字典失败") } func (p *DictApi) DeleteDictData(rc *restfulx.ReqCtx) { dictCode := restfulx.PathParam(rc, "dictCode") - p.DictData.Delete(utils.IdsStrToIdsIntGroup(dictCode)) + err := p.DictData.Delete(utils.IdsStrToIdsIntGroup(dictCode)) + biz.ErrIsNil(err, "修改字典失败") } diff --git a/apps/system/api/menu.go b/apps/system/api/menu.go index 20bb20c..a50d5fa 100644 --- a/apps/system/api/menu.go +++ b/apps/system/api/menu.go @@ -18,23 +18,27 @@ type MenuApi struct { } func (m *MenuApi) GetMenuTreeSelect(rc *restfulx.ReqCtx) { - lable := m.MenuApp.SelectMenuLable(entity.SysMenu{}) + lable, err := m.MenuApp.SelectMenuLable(entity.SysMenu{}) + biz.ErrIsNil(err, "查询菜单树失败") rc.ResData = lable } func (m *MenuApi) GetMenuRole(rc *restfulx.ReqCtx) { roleKey := restfulx.QueryParam(rc, "roleKey") biz.IsTrue(roleKey != "", "请传入角色Key") - rc.ResData = Build(*m.MenuApp.SelectMenuRole(roleKey)) + data, err := m.MenuApp.SelectMenuRole(roleKey) + biz.ErrIsNil(err, "查询角色菜单失败") + rc.ResData = Build(*data) } func (m *MenuApi) GetMenuTreeRoleSelect(rc *restfulx.ReqCtx) { roleId := restfulx.PathParamInt(rc, "roleId") - - result := m.MenuApp.SelectMenuLable(entity.SysMenu{}) + result, err := m.MenuApp.SelectMenuLable(entity.SysMenu{}) + biz.ErrIsNil(err, "查询菜单树失败") menuIds := make([]int64, 0) if roleId != 0 { - menuIds = m.RoleApp.GetRoleMeunId(entity.SysRole{RoleId: int64(roleId)}) + menuIds, err = m.RoleApp.GetRoleMeunId(entity.SysRole{RoleId: int64(roleId)}) + biz.ErrIsNil(err, "通过角色查询菜单失败") } rc.ResData = vo.MenuTreeVo{ Menus: *result, @@ -45,7 +49,9 @@ func (m *MenuApi) GetMenuTreeRoleSelect(rc *restfulx.ReqCtx) { func (m *MenuApi) GetMenuPaths(rc *restfulx.ReqCtx) { roleKey := restfulx.QueryParam(rc, "roleKey") biz.IsTrue(roleKey != "", "请传入角色Key") - rc.ResData = m.RoleMenuApp.GetMenuPaths(entity.SysRoleMenu{RoleName: roleKey}) + data, err := m.RoleMenuApp.GetMenuPaths(entity.SysRoleMenu{RoleName: roleKey}) + biz.ErrIsNil(err, "查询菜单路径失败") + rc.ResData = data } func (m *MenuApi) GetMenuList(rc *restfulx.ReqCtx) { @@ -54,16 +60,21 @@ func (m *MenuApi) GetMenuList(rc *restfulx.ReqCtx) { menu := entity.SysMenu{MenuName: menuName, Status: status} if menu.MenuName == "" { - rc.ResData = m.MenuApp.SelectMenu(menu) + data, err := m.MenuApp.SelectMenu(menu) + biz.ErrIsNil(err, "查询菜单列表失败") + rc.ResData = data } else { - rc.ResData = m.MenuApp.FindList(menu) + data, err := m.MenuApp.FindList(menu) + biz.ErrIsNil(err, "查询菜单列表失败") + rc.ResData = data } } func (m *MenuApi) GetMenu(rc *restfulx.ReqCtx) { menuId := restfulx.PathParamInt(rc, "menuId") - - rc.ResData = m.MenuApp.FindOne(int64(menuId)) + data, err := m.MenuApp.FindOne(int64(menuId)) + biz.ErrIsNil(err, "查询菜单失败") + rc.ResData = data } func (m *MenuApi) InsertMenu(rc *restfulx.ReqCtx) { @@ -71,8 +82,8 @@ func (m *MenuApi) InsertMenu(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &menu) menu.CreateBy = rc.LoginAccount.UserName m.MenuApp.Insert(menu) - permis := m.RoleMenuApp.GetPermis(rc.LoginAccount.RoleId) - menus := m.MenuApp.SelectMenuRole(rc.LoginAccount.RoleKey) + permis, _ := m.RoleMenuApp.GetPermis(rc.LoginAccount.RoleId) + menus, _ := m.MenuApp.SelectMenuRole(rc.LoginAccount.RoleKey) rc.ResData = vo.MenuPermisVo{ Menus: Build(*menus), Permissions: permis, @@ -84,8 +95,8 @@ func (m *MenuApi) UpdateMenu(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &menu) menu.UpdateBy = rc.LoginAccount.UserName m.MenuApp.Update(menu) - permis := m.RoleMenuApp.GetPermis(rc.LoginAccount.RoleId) - menus := m.MenuApp.SelectMenuRole(rc.LoginAccount.RoleKey) + permis, _ := m.RoleMenuApp.GetPermis(rc.LoginAccount.RoleId) + menus, _ := m.MenuApp.SelectMenuRole(rc.LoginAccount.RoleKey) rc.ResData = vo.MenuPermisVo{ Menus: Build(*menus), Permissions: permis, @@ -94,5 +105,6 @@ func (m *MenuApi) UpdateMenu(rc *restfulx.ReqCtx) { func (m *MenuApi) DeleteMenu(rc *restfulx.ReqCtx) { menuId := restfulx.PathParam(rc, "menuId") - m.MenuApp.Delete(utils.IdsStrToIdsIntGroup(menuId)) + err := m.MenuApp.Delete(utils.IdsStrToIdsIntGroup(menuId)) + biz.ErrIsNil(err, "删除菜单失败") } diff --git a/apps/system/api/notice.go b/apps/system/api/notice.go index 045a966..d1c5f03 100644 --- a/apps/system/api/notice.go +++ b/apps/system/api/notice.go @@ -3,6 +3,7 @@ package api import ( "pandax/apps/system/entity" "pandax/apps/system/services" + "pandax/kit/biz" "pandax/kit/model" "pandax/kit/restfulx" "pandax/kit/utils" @@ -22,13 +23,14 @@ func (p *NoticeApi) GetNoticeList(rc *restfulx.ReqCtx) { title := restfulx.QueryParam(rc, "title") // 获取组织的子组织id - one := p.OrganizationApp.FindOne(rc.LoginAccount.OrganizationId) + one, err := p.OrganizationApp.FindOne(rc.LoginAccount.OrganizationId) + biz.ErrIsNil(err, "组织查询失败") split := strings.Split(strings.Trim(one.OrganizationPath, "/"), "/") // 获取所有父组织id ids := utils.OrganizationPCIds(split, rc.LoginAccount.OrganizationId, true) notice := entity.SysNotice{NoticeType: noticeType, Title: title, OrganizationIds: ids} - list, total := p.NoticeApp.FindListPage(pageNum, pageSize, notice) - + list, total, err := p.NoticeApp.FindListPage(pageNum, pageSize, notice) + biz.ErrIsNil(err, "查询通知列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -42,7 +44,8 @@ func (p *NoticeApi) InsertNotice(rc *restfulx.ReqCtx) { var notice entity.SysNotice restfulx.BindJsonAndValid(rc, ¬ice) notice.UserName = rc.LoginAccount.UserName - p.NoticeApp.Insert(notice) + _, err := p.NoticeApp.Insert(notice) + biz.ErrIsNil(err, "添加通知失败") } // UpdateNotice 修改通知 @@ -50,12 +53,14 @@ func (p *NoticeApi) UpdateNotice(rc *restfulx.ReqCtx) { var notice entity.SysNotice restfulx.BindJsonAndValid(rc, ¬ice) - p.NoticeApp.Update(notice) + err := p.NoticeApp.Update(notice) + biz.ErrIsNil(err, "修改通知失败") } // DeleteNotice 删除通知 func (p *NoticeApi) DeleteNotice(rc *restfulx.ReqCtx) { noticeId := restfulx.PathParam(rc, "noticeId") noticeIds := utils.IdsStrToIdsIntGroup(noticeId) - p.NoticeApp.Delete(noticeIds) + err := p.NoticeApp.Delete(noticeIds) + biz.ErrIsNil(err, "删除通知失败") } diff --git a/apps/system/api/organization.go b/apps/system/api/organization.go index d7199ed..184e6ef 100644 --- a/apps/system/api/organization.go +++ b/apps/system/api/organization.go @@ -21,11 +21,12 @@ type OrganizationApi struct { func (m *OrganizationApi) GetOrganizationTreeRoleSelect(rc *restfulx.ReqCtx) { roleId := restfulx.PathParamInt(rc, "roleId") var organization entity.SysOrganization - result := m.OrganizationApp.SelectOrganizationLable(organization) - + result, err := m.OrganizationApp.SelectOrganizationLable(organization) + biz.ErrIsNil(err, "查询组织树失败") organizationIds := make([]int64, 0) if roleId != 0 { - organizationIds = m.RoleApp.GetRoleOrganizationId(entity.SysRole{RoleId: int64(roleId)}) + organizationIds, err = m.RoleApp.GetRoleOrganizationId(entity.SysRole{RoleId: int64(roleId)}) + biz.ErrIsNil(err, "查询角色组织失败") } rc.ResData = vo.OrganizationTreeVo{ Organizations: result, @@ -34,24 +35,27 @@ func (m *OrganizationApi) GetOrganizationTreeRoleSelect(rc *restfulx.ReqCtx) { } func (a *OrganizationApi) GetOrganizationList(rc *restfulx.ReqCtx) { - //pageNum := restfulx.QueryInt(rc.GinCtx, "pageNum", 1) - //pageSize := restfulx.QueryInt(rc.GinCtx, "pageSize", 10) organizationName := restfulx.QueryParam(rc, "organizationName") status := restfulx.QueryParam(rc, "status") organizationId := restfulx.QueryInt(rc, "organizationId", 0) organization := entity.SysOrganization{OrganizationName: organizationName, Status: status, OrganizationId: int64(organizationId)} if organization.OrganizationName == "" { - rc.ResData = a.OrganizationApp.SelectOrganization(organization) + data, err := a.OrganizationApp.SelectOrganization(organization) + biz.ErrIsNil(err, "查询组织树失败") + rc.ResData = data } else { - rc.ResData = a.OrganizationApp.FindList(organization) + data, err := a.OrganizationApp.FindList(organization) + biz.ErrIsNil(err, "查询组织列表失败") + rc.ResData = data } } func (a *OrganizationApi) GetOrdinaryOrganizationList(rc *restfulx.ReqCtx) { var organization entity.SysOrganization - - rc.ResData = a.OrganizationApp.FindList(organization) + data, err := a.OrganizationApp.FindList(organization) + biz.ErrIsNil(err, "查询组织列表失败") + rc.ResData = data } func (a *OrganizationApi) GetOrganizationTree(rc *restfulx.ReqCtx) { @@ -60,19 +64,24 @@ func (a *OrganizationApi) GetOrganizationTree(rc *restfulx.ReqCtx) { organizationId := restfulx.QueryInt(rc, "organizationId", 0) organization := entity.SysOrganization{OrganizationName: organizationName, Status: status, OrganizationId: int64(organizationId)} - rc.ResData = a.OrganizationApp.SelectOrganization(organization) + data, err := a.OrganizationApp.SelectOrganization(organization) + biz.ErrIsNil(err, "查询组织树失败") + rc.ResData = data } func (a *OrganizationApi) GetOrganization(rc *restfulx.ReqCtx) { organizationId := restfulx.PathParamInt(rc, "organizationId") - rc.ResData = a.OrganizationApp.FindOne(int64(organizationId)) + data, err := a.OrganizationApp.FindOne(int64(organizationId)) + biz.ErrIsNil(err, "查询组织失败") + rc.ResData = data } func (a *OrganizationApi) InsertOrganization(rc *restfulx.ReqCtx) { var organization entity.SysOrganization restfulx.BindJsonAndValid(rc, &organization) organization.CreateBy = rc.LoginAccount.UserName - a.OrganizationApp.Insert(organization) + _, err := a.OrganizationApp.Insert(organization) + biz.ErrIsNil(err, "添加组织失败") } func (a *OrganizationApi) UpdateOrganization(rc *restfulx.ReqCtx) { @@ -80,7 +89,8 @@ func (a *OrganizationApi) UpdateOrganization(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &organization) organization.UpdateBy = rc.LoginAccount.UserName - a.OrganizationApp.Update(organization) + err := a.OrganizationApp.Update(organization) + biz.ErrIsNil(err, "修改组织失败") } func (a *OrganizationApi) DeleteOrganization(rc *restfulx.ReqCtx) { @@ -91,7 +101,10 @@ func (a *OrganizationApi) DeleteOrganization(rc *restfulx.ReqCtx) { for _, id := range organizationIds { user := entity.SysUser{} user.OrganizationId = id - list := a.UserApp.FindList(user) + list, err := a.UserApp.FindList(user) + if err != nil { + continue + } if len(*list) == 0 { deList = append(deList, id) } else { diff --git a/apps/system/api/post.go b/apps/system/api/post.go index 9afd2d8..6a52cb4 100644 --- a/apps/system/api/post.go +++ b/apps/system/api/post.go @@ -28,8 +28,8 @@ func (p *PostApi) GetPostList(rc *restfulx.ReqCtx) { postCode := restfulx.QueryParam(rc, "postCode") post := entity.SysPost{Status: status, PostName: postName, PostCode: postCode} - list, total := p.PostApp.FindListPage(pageNum, pageSize, post) - + list, total, err := p.PostApp.FindListPage(pageNum, pageSize, post) + biz.ErrIsNil(err, "查询部门列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -41,7 +41,9 @@ func (p *PostApi) GetPostList(rc *restfulx.ReqCtx) { // GetPost 获取职位 func (p *PostApi) GetPost(rc *restfulx.ReqCtx) { postId := restfulx.PathParamInt(rc, "postId") - p.PostApp.FindOne(int64(postId)) + data, err := p.PostApp.FindOne(int64(postId)) + biz.ErrIsNil(err, "查询部门失败") + rc.ResData = data } // InsertPost 添加职位 @@ -49,7 +51,8 @@ func (p *PostApi) InsertPost(rc *restfulx.ReqCtx) { var post entity.SysPost restfulx.BindJsonAndValid(rc, &post) post.CreateBy = rc.LoginAccount.UserName - p.PostApp.Insert(post) + _, err := p.PostApp.Insert(post) + biz.ErrIsNil(err, "添加部门失败") } // UpdatePost 修改职位 @@ -58,7 +61,8 @@ func (p *PostApi) UpdatePost(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &post) post.CreateBy = rc.LoginAccount.UserName - p.PostApp.Update(post) + err := p.PostApp.Update(post) + biz.ErrIsNil(err, "修改部门失败") } // DeletePost 删除职位 @@ -70,7 +74,10 @@ func (p *PostApi) DeletePost(rc *restfulx.ReqCtx) { for _, id := range postIds { user := entity.SysUser{} user.PostId = id - list := p.UserApp.FindList(user) + list, err := p.UserApp.FindList(user) + if err != nil { + continue + } if len(*list) == 0 { deList = append(deList, id) } else { @@ -80,5 +87,6 @@ func (p *PostApi) DeletePost(rc *restfulx.ReqCtx) { if len(deList) == 0 { biz.ErrIsNil(errors.New("所有岗位都已绑定用户,无法删除"), "所有岗位都已绑定用户,无法删除") } - p.PostApp.Delete(deList) + err := p.PostApp.Delete(deList) + biz.ErrIsNil(err, "删除部门失败") } diff --git a/apps/system/api/role.go b/apps/system/api/role.go index 3547c6b..506ed33 100644 --- a/apps/system/api/role.go +++ b/apps/system/api/role.go @@ -29,8 +29,8 @@ func (r *RoleApi) GetRoleList(rc *restfulx.ReqCtx) { roleName := restfulx.QueryParam(rc, "roleName") roleKey := restfulx.QueryParam(rc, "roleKey") role := entity.SysRole{Status: status, RoleName: roleName, RoleKey: roleKey} - list, total := r.RoleApp.FindListPage(pageNum, pageSize, role) - + list, total, err := r.RoleApp.FindListPage(pageNum, pageSize, role) + biz.ErrIsNil(err, "查询角色分页列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -42,9 +42,11 @@ func (r *RoleApi) GetRoleList(rc *restfulx.ReqCtx) { // GetRole 获取Role数据 func (r *RoleApi) GetRole(rc *restfulx.ReqCtx) { roleId := restfulx.PathParamInt(rc, "roleId") - role := r.RoleApp.FindOne(int64(roleId)) - role.MenuIds = r.RoleApp.GetRoleMeunId(entity.SysRole{RoleId: int64(roleId)}) - + role, err := r.RoleApp.FindOne(int64(roleId)) + biz.ErrIsNil(err, "查询角色失败") + menuIds, err := r.RoleApp.GetRoleMeunId(entity.SysRole{RoleId: int64(roleId)}) + biz.ErrIsNil(err, "查询角色菜单失败") + role.MenuIds = menuIds rc.ResData = role } @@ -57,7 +59,8 @@ func (r *RoleApi) InsertRole(rc *restfulx.ReqCtx) { role.DataScope = "0" } // 添加角色对应的菜单 - insert := r.RoleApp.Insert(role) + insert, err := r.RoleApp.Insert(role) + biz.ErrIsNil(err, "添加角色失败") role.RoleId = insert.RoleId r.RoleMenuApp.Insert(insert.RoleId, role.MenuIds) //添加权限 @@ -71,11 +74,13 @@ func (r *RoleApi) UpdateRole(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &role) role.UpdateBy = rc.LoginAccount.UserName // 修改角色 - r.RoleApp.Update(role) + _, err := r.RoleApp.Update(role) + biz.ErrIsNil(err, "修改角色失败") // 删除角色的菜单绑定 r.RoleMenuApp.DeleteRoleMenu(role.RoleId) // 添加角色菜单绑定 - r.RoleMenuApp.Insert(role.RoleId, role.MenuIds) + err = r.RoleMenuApp.Insert(role.RoleId, role.MenuIds) + biz.ErrIsNil(err, "添加角色菜单绑定失败") //修改api权限 ca := casbin.CasbinService{ModelPath: global.Conf.Casbin.ModelPath} ca.UpdateCasbin(role.RoleKey, role.ApiIds) @@ -87,7 +92,8 @@ func (r *RoleApi) UpdateRoleStatus(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &role) role.UpdateBy = rc.LoginAccount.UserName // 修改角色 - r.RoleApp.Update(role) + _, err := r.RoleApp.Update(role) + biz.ErrIsNil(err, "修改角色失败") } // UpdateRoleDataScope 修改用户角色组织 @@ -96,12 +102,17 @@ func (r *RoleApi) UpdateRoleDataScope(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &role) role.UpdateBy = rc.LoginAccount.UserName // 修改角色 - update := r.RoleApp.Update(role) + update, err := r.RoleApp.Update(role) + biz.ErrIsNil(err, "修改角色失败") go func() { if role.DataScope != entity.SELFDATASCOPE { organizationIds := make([]int64, 0) if role.DataScope == entity.ALLDATASCOPE { - for _, organization := range *r.OrganizationApp.FindList(entity.SysOrganization{}) { + orgs, err := r.OrganizationApp.FindList(entity.SysOrganization{}) + if err != nil { + return + } + for _, organization := range *orgs { organizationIds = append(organizationIds, organization.OrganizationId) } } @@ -113,7 +124,11 @@ func (r *RoleApi) UpdateRoleDataScope(rc *restfulx.ReqCtx) { } if role.DataScope == entity.ORGALLDATASCOPE { //organizationIds = append(organizationIds, rc.LoginAccount.OrganizationId) - organizationIds = r.OrganizationApp.SelectOrganizationIds(entity.SysOrganization{OrganizationId: rc.LoginAccount.OrganizationId}) + orgIds, err := r.OrganizationApp.SelectOrganizationIds(entity.SysOrganization{OrganizationId: rc.LoginAccount.OrganizationId}) + if err != nil { + return + } + organizationIds = orgIds } // 删除角色的组织绑定 r.RoleOrganizationApp.Delete(entity.SysRoleOrganization{RoleId: update.RoleId}) @@ -134,8 +149,8 @@ func (r *RoleApi) DeleteRole(rc *restfulx.ReqCtx) { // 判断角色下面是否绑定用户 for _, rid := range roleIds { user.RoleId = rid - role := r.RoleApp.FindOne(rid) - list := r.UserApp.FindList(user) + role, _ := r.RoleApp.FindOne(rid) + list, _ := r.UserApp.FindList(user) if len(*list) == 0 { delList = append(delList, rid) //删除角色绑定api @@ -160,8 +175,8 @@ func (p *RoleApi) ExportRole(rc *restfulx.ReqCtx) { roleKey := restfulx.QueryParam(rc, "roleKey") role := entity.SysRole{Status: status, RoleName: roleName, RoleKey: roleKey} - list := p.RoleApp.FindList(role) - + list, err := p.RoleApp.FindList(role) + biz.ErrIsNil(err, "查询角色列表失败") fileName := utils.GetFileName(global.Conf.Server.ExcelDir, filename) utils.InterfaceToExcel(*list, fileName) rc.Download(fileName) diff --git a/apps/system/api/upload.go b/apps/system/api/upload.go index b7c834c..d9256d5 100644 --- a/apps/system/api/upload.go +++ b/apps/system/api/upload.go @@ -2,9 +2,6 @@ package api import ( "fmt" - "github.com/kakuilan/kgo" - "net/http" - "os" "pandax/kit/biz" "pandax/kit/oss" "pandax/kit/restfulx" @@ -17,18 +14,15 @@ import ( type UploadApi struct{} -const filePath = "uploads/file" - // UploadImage 图片上传 func (up *UploadApi) UploadImage(rc *restfulx.ReqCtx) { _, fileHeader, err := rc.Request.Request.FormFile("file") + fileType := restfulx.QueryParam(rc, "fileType") biz.ErrIsNil(err, "请传入文件") - // 判断上传文件类型,不支持返回 - biz.IsTrue(kgo.KFile.IsImg(fileHeader.Filename), "请传入图片文件") - - local := &tool.Local{Path: filePath} + local := &tool.Local{Path: tool.GetFilePath(fileType)} link, fileName, err := local.UploadFile(fileHeader) biz.ErrIsNil(err, "文件上传失败") + rc.ResData = map[string]string{"fileName": fileName, "filePath": link} } @@ -45,18 +39,20 @@ func (p *UploadApi) UplaodToOss(rc *restfulx.ReqCtx) { rc.ResData = fmt.Sprintf("http://%s/%s/%s", config.Endpoint, config.BucketName, yunFileTmpPath) } +// subpath 是fileName func (up *UploadApi) GetImage(rc *restfulx.ReqCtx) { - actual := path.Join(filePath, restfulx.PathParam(rc, "subpath")) - http.ServeFile( - rc.Response.ResponseWriter, - rc.Request.Request, - actual) + fileType := restfulx.QueryParam(rc, "fileType") + actual := path.Join(tool.GetFilePath(fileType), restfulx.PathParam(rc, "subpath")) + + rc.Download(actual) } func (up *UploadApi) DeleteImage(rc *restfulx.ReqCtx) { fileName := restfulx.QueryParam(rc, "fileName") + fileType := restfulx.QueryParam(rc, "fileType") biz.NotEmpty(fileName, "请传要删除的图片名") - err := os.Remove(fmt.Sprintf("%s/%s", filePath, fileName)) + local := &tool.Local{Path: tool.GetFilePath(fileType)} + err := local.DeleteFile(fileName) biz.ErrIsNil(err, "文件删除失败") } diff --git a/apps/system/api/user.go b/apps/system/api/user.go index 885b1e4..9d8fa1d 100644 --- a/apps/system/api/user.go +++ b/apps/system/api/user.go @@ -1,16 +1,17 @@ package api import ( - "github.com/dgrijalva/jwt-go" - "github.com/emicklei/go-restful/v3" - "github.com/kakuilan/kgo" - "github.com/mssola/user_agent" "pandax/apps/system/api/form" "pandax/apps/system/api/vo" "pandax/apps/system/entity" "pandax/kit/model" "pandax/kit/token" + "github.com/dgrijalva/jwt-go" + "github.com/emicklei/go-restful/v3" + "github.com/kakuilan/kgo" + "github.com/mssola/user_agent" + logEntity "pandax/apps/log/entity" logServices "pandax/apps/log/services" @@ -63,8 +64,10 @@ func (u *UserApi) Login(rc *restfulx.ReqCtx) { restfulx.BindJsonAndValid(rc, &l) biz.IsTrue(captcha.Verify(l.CaptchaId, l.Captcha), "验证码认证失败") - login := u.UserApp.Login(entity.Login{Username: l.Username, Password: l.Password}) - role := u.RoleApp.FindOne(login.RoleId) + login, err := u.UserApp.Login(entity.Login{Username: l.Username, Password: l.Password}) + biz.ErrIsNil(err, "登录失败,用户不存在!") + role, err := u.RoleApp.FindOne(login.RoleId) + biz.ErrIsNil(err, "用户所属角色查询失败") j := token.NewJWT("", []byte(global.Conf.Jwt.Key), jwt.SigningMethodHS256) token, err := j.CreateToken(token.Claims{ UserId: login.UserId, @@ -110,11 +113,13 @@ func (u *UserApi) Auth(rc *restfulx.ReqCtx) { biz.NotEmpty(userName, "用户名必传") var user entity.SysUser user.Username = userName - userData := u.UserApp.FindOne(user) - role := u.RoleApp.FindOne(userData.RoleId) + userData, err := u.UserApp.FindOne(user) + biz.ErrIsNil(err, "用户可能不存在!") + role, err := u.RoleApp.FindOne(userData.RoleId) + biz.ErrIsNil(err, "用户所属角色查询失败") //前端权限 - permis := u.RoleMenuApp.GetPermis(role.RoleId) - menus := u.MenuApp.SelectMenuRole(role.RoleKey) + permis, _ := u.RoleMenuApp.GetPermis(role.RoleId) + menus, _ := u.MenuApp.SelectMenuRole(role.RoleKey) rc.ResData = vo.AuthVo{ User: *userData, @@ -156,8 +161,8 @@ func (u *UserApi) GetSysUserList(rc *restfulx.ReqCtx) { user.Phone = phone user.OrganizationId = int64(organizationId) - list, total := u.UserApp.FindListPage(pageNum, pageSize, user) - + list, total, err := u.UserApp.FindListPage(pageNum, pageSize, user) + biz.ErrIsNil(err, "查询用户分页列表失败") rc.ResData = model.ResultPage{ Total: total, PageNum: int64(pageNum), @@ -171,14 +176,14 @@ func (u *UserApi) GetSysUserProfile(rc *restfulx.ReqCtx) { sysUser := entity.SysUser{} sysUser.UserId = rc.LoginAccount.UserId - user := u.UserApp.FindOne(sysUser) - + user, err := u.UserApp.FindOne(sysUser) + biz.ErrIsNil(err, "用户可能不存在!") //获取角色列表 - roleList := u.RoleApp.FindList(entity.SysRole{RoleId: rc.LoginAccount.RoleId}) + roleList, _ := u.RoleApp.FindList(entity.SysRole{RoleId: rc.LoginAccount.RoleId}) //岗位列表 - postList := u.PostApp.FindList(entity.SysPost{PostId: rc.LoginAccount.PostId}) + postList, _ := u.PostApp.FindList(entity.SysPost{PostId: rc.LoginAccount.PostId}) //获取组织列表 - organizationList := u.OrganizationApp.FindList(entity.SysOrganization{OrganizationId: rc.LoginAccount.OrganizationId}) + organizationList, _ := u.OrganizationApp.FindList(entity.SysOrganization{OrganizationId: rc.LoginAccount.OrganizationId}) postIds := make([]int64, 0) postIds = append(postIds, rc.LoginAccount.PostId) @@ -213,7 +218,8 @@ func (u *UserApi) InsetSysUserAvatar(rc *restfulx.ReqCtx) { sysuser.Avatar = "/" + filPath sysuser.UpdateBy = rc.LoginAccount.UserName - u.UserApp.Update(sysuser) + err := u.UserApp.Update(sysuser) + biz.ErrIsNil(err, "修改头像失败") } // SysUserUpdatePwd 修改密码 @@ -223,7 +229,8 @@ func (u *UserApi) SysUserUpdatePwd(rc *restfulx.ReqCtx) { user := entity.SysUser{} user.UserId = rc.LoginAccount.UserId - u.UserApp.SetPwd(user, pws) + err := u.UserApp.SetPwd(user, pws) + biz.ErrIsNil(err, "修改密码失败") } // GetSysUser 获取用户 @@ -232,19 +239,23 @@ func (u *UserApi) GetSysUser(rc *restfulx.ReqCtx) { user := entity.SysUser{} user.UserId = int64(userId) - result := u.UserApp.FindOne(user) - + result, err := u.UserApp.FindOne(user) + biz.ErrIsNil(err, "用户可能不存在!") var role entity.SysRole var post entity.SysPost var organization entity.SysOrganization + roles, _ := u.RoleApp.FindList(role) + posts, _ := u.PostApp.FindList(post) + orgs, _ := u.OrganizationApp.SelectOrganization(organization) + rc.ResData = vo.UserVo{ Data: result, PostIds: result.PostIds, RoleIds: result.RoleIds, - Roles: *u.RoleApp.FindList(role), - Posts: *u.PostApp.FindList(post), - Organizations: u.OrganizationApp.SelectOrganization(organization), + Roles: *roles, + Posts: *posts, + Organizations: orgs, } } @@ -252,9 +263,9 @@ func (u *UserApi) GetSysUser(rc *restfulx.ReqCtx) { func (u *UserApi) GetSysUserInit(rc *restfulx.ReqCtx) { var role entity.SysRole - roles := u.RoleApp.FindList(role) + roles, _ := u.RoleApp.FindList(role) var post entity.SysPost - posts := u.PostApp.FindList(post) + posts, _ := u.PostApp.FindList(post) rc.ResData = vo.UserRolePost{ Roles: *roles, Posts: *posts, @@ -266,16 +277,22 @@ func (u *UserApi) GetUserRolePost(rc *restfulx.ReqCtx) { var user entity.SysUser user.UserId = rc.LoginAccount.UserId - resData := u.UserApp.FindOne(user) - + resData, err := u.UserApp.FindOne(user) + biz.ErrIsNil(err, "用户可能不存在!") roles := make([]entity.SysRole, 0) posts := make([]entity.SysPost, 0) for _, roleId := range strings.Split(resData.RoleIds, ",") { - ro := u.RoleApp.FindOne(kgo.KConv.Str2Int64(roleId)) + ro, err := u.RoleApp.FindOne(kgo.KConv.Str2Int64(roleId)) + if err != nil { + continue + } roles = append(roles, *ro) } for _, postId := range strings.Split(resData.PostIds, ",") { - po := u.PostApp.FindOne(kgo.KConv.Str2Int64(postId)) + po, err := u.PostApp.FindOne(kgo.KConv.Str2Int64(postId)) + if err != nil { + continue + } posts = append(posts, *po) } rc.ResData = vo.UserRolePost{ @@ -289,7 +306,8 @@ func (u *UserApi) InsertSysUser(rc *restfulx.ReqCtx) { var sysUser entity.SysUser restfulx.BindJsonAndValid(rc, &sysUser) sysUser.CreateBy = rc.LoginAccount.UserName - u.UserApp.Insert(sysUser) + _, err := u.UserApp.Insert(sysUser) + biz.ErrIsNil(err, "添加用户失败") } // UpdateSysUser 修改用户数据 @@ -297,7 +315,8 @@ func (u *UserApi) UpdateSysUser(rc *restfulx.ReqCtx) { var sysUser entity.SysUser restfulx.BindJsonAndValid(rc, &sysUser) sysUser.CreateBy = rc.LoginAccount.UserName - u.UserApp.Update(sysUser) + err := u.UserApp.Update(sysUser) + biz.ErrIsNil(err, "修改用户失败") } // UpdateSysUserSelf 用户修改数据 @@ -305,7 +324,8 @@ func (u *UserApi) UpdateSysUserSelf(rc *restfulx.ReqCtx) { var sysUser entity.SysUser restfulx.BindJsonAndValid(rc, &sysUser) sysUser.UserId = rc.LoginAccount.UserId - u.UserApp.Update(sysUser) + err := u.UserApp.Update(sysUser) + biz.ErrIsNil(err, "修改用户数据失败") } // UpdateSysUserStu 修改用户状态 @@ -313,13 +333,15 @@ func (u *UserApi) UpdateSysUserStu(rc *restfulx.ReqCtx) { var sysUser entity.SysUser restfulx.BindJsonAndValid(rc, &sysUser) sysUser.CreateBy = rc.LoginAccount.UserName - u.UserApp.Update(sysUser) + err := u.UserApp.Update(sysUser) + biz.ErrIsNil(err, "修改用户状态失败") } // DeleteSysUser 删除用户数据 func (u *UserApi) DeleteSysUser(rc *restfulx.ReqCtx) { userIds := restfulx.PathParam(rc, "userId") - u.UserApp.Delete(utils.IdsStrToIdsIntGroup(userIds)) + err := u.UserApp.Delete(utils.IdsStrToIdsIntGroup(userIds)) + biz.ErrIsNil(err, "删除用户失败") } // ExportUser 导出用户 @@ -334,7 +356,8 @@ func (u *UserApi) ExportUser(rc *restfulx.ReqCtx) { user.Username = username user.Phone = phone - list := u.UserApp.FindList(user) + list, err := u.UserApp.FindList(user) + biz.ErrIsNil(err, "用户列表查询失败") // 对设置的文件名进行处理 fileName := utils.GetFileName(global.Conf.Server.ExcelDir, filename) utils.InterfaceToExcel(*list, fileName) diff --git a/apps/system/services/api.go b/apps/system/services/api.go index b17e97d..d1617d7 100644 --- a/apps/system/services/api.go +++ b/apps/system/services/api.go @@ -3,7 +3,6 @@ package services import ( "errors" "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/kit/casbin" "pandax/pkg/global" @@ -12,12 +11,12 @@ import ( type ( SysApiModel interface { - Insert(data entity.SysApi) *entity.SysApi - FindOne(id int64) *entity.SysApi - FindListPage(page, pageSize int, data entity.SysApi) (*[]entity.SysApi, int64) - FindList(data entity.SysApi) *[]entity.SysApi - Update(data entity.SysApi) *entity.SysApi - Delete(ids []int64) + Insert(data entity.SysApi) (*entity.SysApi, error) + FindOne(id int64) (*entity.SysApi, error) + FindListPage(page, pageSize int, data entity.SysApi) (*[]entity.SysApi, int64, error) + FindList(data entity.SysApi) (*[]entity.SysApi, error) + Update(data entity.SysApi) error + Delete(ids []int64) error } sysApiModelImpl struct { @@ -29,22 +28,22 @@ var SysApiModelDao SysApiModel = &sysApiModelImpl{ table: `sys_apis`, } -func (m *sysApiModelImpl) Insert(api entity.SysApi) *entity.SysApi { +func (m *sysApiModelImpl) Insert(api entity.SysApi) (*entity.SysApi, error) { err := global.Db.Table(m.table).Where("path = ? AND method = ?", api.Path, api.Method).First(&entity.SysApi{}).Error - biz.IsTrue(errors.Is(err, gorm.ErrRecordNotFound), "存在相同api") + if !errors.Is(err, gorm.ErrRecordNotFound) { + return nil, errors.New("存在相同api") + } err = global.Db.Table(m.table).Create(&api).Error - biz.ErrIsNil(err, "新增Api失败") - return &api + return &api, err } -func (m *sysApiModelImpl) FindOne(id int64) (resData *entity.SysApi) { +func (m *sysApiModelImpl) FindOne(id int64) (resData *entity.SysApi, err error) { resData = new(entity.SysApi) - err := global.Db.Table(m.table).Where("id = ?", id).First(&resData).Error - biz.ErrIsNil(err, "查询Api失败") + err = global.Db.Table(m.table).Where("id = ?", id).First(&resData).Error return } -func (m *sysApiModelImpl) FindListPage(page, pageSize int, data entity.SysApi) (*[]entity.SysApi, int64) { +func (m *sysApiModelImpl) FindListPage(page, pageSize int, data entity.SysApi) (*[]entity.SysApi, int64, error) { list := make([]entity.SysApi, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -69,12 +68,14 @@ func (m *sysApiModelImpl) FindListPage(page, pageSize int, data entity.SysApi) ( db.Where("delete_time IS NULL") err := db.Count(&total).Error + if err != nil { + return nil, 0, err + } err = db.Order("api_group").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询配置分页列表信息失败") - return &list, total + return &list, total, err } -func (m *sysApiModelImpl) FindList(data entity.SysApi) *[]entity.SysApi { +func (m *sysApiModelImpl) FindList(data entity.SysApi) (*[]entity.SysApi, error) { list := make([]entity.SysApi, 0) db := global.Db.Table(m.table) @@ -95,27 +96,31 @@ func (m *sysApiModelImpl) FindList(data entity.SysApi) *[]entity.SysApi { } db.Where("delete_time IS NULL") err := db.Order("api_group").Find(&list).Error - biz.ErrIsNil(err, "查询Api列表信息失败") - return &list + return &list, err } -func (m *sysApiModelImpl) Update(api entity.SysApi) *entity.SysApi { +func (m *sysApiModelImpl) Update(api entity.SysApi) error { var oldA entity.SysApi err := global.Db.Table(m.table).Where("id = ?", api.Id).First(&oldA).Error - biz.ErrIsNil(err, "【修改api】查询api失败") + if err != nil { + return err + } if oldA.Path != api.Path || oldA.Method != api.Method { err := global.Db.Table(m.table).Where("path = ? AND method = ?", api.Path, api.Method).First(&entity.SysApi{}).Error - biz.IsTrue(errors.Is(err, gorm.ErrRecordNotFound), "存在相同api路径") + if !errors.Is(err, gorm.ErrRecordNotFound) { + return errors.New("存在相同api路径") + } } // 异常直接抛错误 ca := casbin.CasbinService{ModelPath: global.Conf.Casbin.ModelPath} - ca.UpdateCasbinApi(oldA.Path, api.Path, oldA.Method, api.Method) + err = ca.UpdateCasbinApi(oldA.Path, api.Path, oldA.Method, api.Method) + if err != nil { + return err + } err = global.Db.Table(m.table).Model(&api).Updates(&api).Error - biz.ErrIsNil(err, "修改api信息失败") - return &api + return err } -func (m *sysApiModelImpl) Delete(ids []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysApi{}, "id in (?)", ids).Error - biz.ErrIsNil(err, "删除配置信息失败") +func (m *sysApiModelImpl) Delete(ids []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysApi{}, "id in (?)", ids).Error } diff --git a/apps/system/services/config.go b/apps/system/services/config.go index 2a92035..5dea0e5 100644 --- a/apps/system/services/config.go +++ b/apps/system/services/config.go @@ -2,18 +2,17 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysConfigModel interface { - Insert(data entity.SysConfig) *entity.SysConfig - FindOne(dictCode int64) *entity.SysConfig - FindListPage(page, pageSize int, data entity.SysConfig) (*[]entity.SysConfig, int64) - FindList(data entity.SysConfig) *[]entity.SysConfig - Update(data entity.SysConfig) *entity.SysConfig - Delete(dictCode []int64) + Insert(data entity.SysConfig) (*entity.SysConfig, error) + FindOne(dictCode int64) (*entity.SysConfig, error) + FindListPage(page, pageSize int, data entity.SysConfig) (*[]entity.SysConfig, int64, error) + FindList(data entity.SysConfig) (*[]entity.SysConfig, error) + Update(data entity.SysConfig) error + Delete(dictCode []int64) error } sysSysConfigModelImpl struct { @@ -25,20 +24,18 @@ var SysSysConfigModelDao SysConfigModel = &sysSysConfigModelImpl{ table: `sys_configs`, } -func (m *sysSysConfigModelImpl) Insert(data entity.SysConfig) *entity.SysConfig { +func (m *sysSysConfigModelImpl) Insert(data entity.SysConfig) (*entity.SysConfig, error) { err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "新增配置失败") - return &data + return &data, err } -func (m *sysSysConfigModelImpl) FindOne(configId int64) *entity.SysConfig { +func (m *sysSysConfigModelImpl) FindOne(configId int64) (*entity.SysConfig, error) { resData := new(entity.SysConfig) err := global.Db.Table(m.table).Where("config_id = ?", configId).First(resData).Error - biz.ErrIsNil(err, "查询配置信息失败") - return resData + return resData, err } -func (m *sysSysConfigModelImpl) FindListPage(page, pageSize int, data entity.SysConfig) (*[]entity.SysConfig, int64) { +func (m *sysSysConfigModelImpl) FindListPage(page, pageSize int, data entity.SysConfig) (*[]entity.SysConfig, int64, error) { list := make([]entity.SysConfig, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -56,12 +53,14 @@ func (m *sysSysConfigModelImpl) FindListPage(page, pageSize int, data entity.Sys } db.Where("delete_time IS NULL") err := db.Count(&total).Error + if err != nil { + return nil, 0, err + } err = db.Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询配置分页列表信息失败") - return &list, total + return &list, total, err } -func (m *sysSysConfigModelImpl) FindList(data entity.SysConfig) *[]entity.SysConfig { +func (m *sysSysConfigModelImpl) FindList(data entity.SysConfig) (*[]entity.SysConfig, error) { list := make([]entity.SysConfig, 0) db := global.Db.Table(m.table) @@ -77,18 +76,13 @@ func (m *sysSysConfigModelImpl) FindList(data entity.SysConfig) *[]entity.SysCon } db.Where("delete_time IS NULL") err := db.Order("create_time").Find(&list).Error - biz.ErrIsNil(err, "查询配置列表信息失败") - return &list + return &list, err } -func (m *sysSysConfigModelImpl) Update(data entity.SysConfig) *entity.SysConfig { - err := global.Db.Table(m.table).Model(&data).Updates(&data).Error - biz.ErrIsNil(err, "修改配置信息失败") - return &data +func (m *sysSysConfigModelImpl) Update(data entity.SysConfig) error { + return global.Db.Table(m.table).Model(&data).Updates(&data).Error } -func (m *sysSysConfigModelImpl) Delete(configIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysConfig{}, "config_id in (?)", configIds).Error - biz.ErrIsNil(err, "删除配置信息失败") - return +func (m *sysSysConfigModelImpl) Delete(configIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysConfig{}, "config_id in (?)", configIds).Error } diff --git a/apps/system/services/dict_data.go b/apps/system/services/dict_data.go index d32d17c..6cb79d4 100644 --- a/apps/system/services/dict_data.go +++ b/apps/system/services/dict_data.go @@ -2,18 +2,17 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysDictDataModel interface { - Insert(data entity.SysDictData) *entity.SysDictData - FindOne(dictCode int64) *entity.SysDictData - FindListPage(page, pageSize int, data entity.SysDictData) (*[]entity.SysDictData, int64) - FindList(data entity.SysDictData) *[]entity.SysDictData - Update(data entity.SysDictData) *entity.SysDictData - Delete(dictCode []int64) + Insert(data entity.SysDictData) (*entity.SysDictData, error) + FindOne(dictCode int64) (*entity.SysDictData, error) + FindListPage(page, pageSize int, data entity.SysDictData) (*[]entity.SysDictData, int64, error) + FindList(data entity.SysDictData) (*[]entity.SysDictData, error) + Update(data entity.SysDictData) error + Delete(dictCode []int64) error } sysDictDataModelImpl struct { @@ -25,20 +24,18 @@ var SysDictDataModelDao SysDictDataModel = &sysDictDataModelImpl{ table: `sys_dict_data`, } -func (m *sysDictDataModelImpl) Insert(data entity.SysDictData) *entity.SysDictData { +func (m *sysDictDataModelImpl) Insert(data entity.SysDictData) (*entity.SysDictData, error) { err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "新增字典数据失败") - return &data + return &data, err } -func (m *sysDictDataModelImpl) FindOne(codeId int64) *entity.SysDictData { +func (m *sysDictDataModelImpl) FindOne(codeId int64) (*entity.SysDictData, error) { resData := new(entity.SysDictData) err := global.Db.Table(m.table).Where("dict_code = ?", codeId).First(resData).Error - biz.ErrIsNil(err, "查询字典数据信息失败") - return resData + return resData, err } -func (m *sysDictDataModelImpl) FindListPage(page, pageSize int, data entity.SysDictData) (*[]entity.SysDictData, int64) { +func (m *sysDictDataModelImpl) FindListPage(page, pageSize int, data entity.SysDictData) (*[]entity.SysDictData, int64, error) { list := make([]entity.SysDictData, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -56,12 +53,14 @@ func (m *sysDictDataModelImpl) FindListPage(page, pageSize int, data entity.SysD } db.Where("delete_time IS NULL") err := db.Count(&total).Error + if err != nil { + return nil, 0, err + } err = db.Order("dict_sort").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询字典数据分页列表信息失败") - return &list, total + return &list, total, err } -func (m *sysDictDataModelImpl) FindList(data entity.SysDictData) *[]entity.SysDictData { +func (m *sysDictDataModelImpl) FindList(data entity.SysDictData) (*[]entity.SysDictData, error) { list := make([]entity.SysDictData, 0) db := global.Db.Table(m.table) @@ -77,18 +76,13 @@ func (m *sysDictDataModelImpl) FindList(data entity.SysDictData) *[]entity.SysDi } db.Where("delete_time IS NULL") err := db.Order("dict_sort").Find(&list).Error - biz.ErrIsNil(err, "查询字典数据列表信息失败") - return &list + return &list, err } -func (m *sysDictDataModelImpl) Update(data entity.SysDictData) *entity.SysDictData { - err := global.Db.Table(m.table).Where("dict_code = ?", data.DictCode).Updates(&data).Error - biz.ErrIsNil(err, "修改字典数据信息失败") - return &data +func (m *sysDictDataModelImpl) Update(data entity.SysDictData) error { + return global.Db.Table(m.table).Where("dict_code = ?", data.DictCode).Updates(&data).Error } -func (m *sysDictDataModelImpl) Delete(codeIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysOrganization{}, "dict_code in (?)", codeIds).Error - biz.ErrIsNil(err, "删除字典数据信息失败") - return +func (m *sysDictDataModelImpl) Delete(codeIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysOrganization{}, "dict_code in (?)", codeIds).Error } diff --git a/apps/system/services/dict_type.go b/apps/system/services/dict_type.go index 12eee1d..748edf0 100644 --- a/apps/system/services/dict_type.go +++ b/apps/system/services/dict_type.go @@ -2,18 +2,17 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysDictTypeModel interface { - Insert(data entity.SysDictType) *entity.SysDictType - FindOne(organizationId int64) *entity.SysDictType - FindListPage(page, pageSize int, data entity.SysDictType) (*[]entity.SysDictType, int64) - FindList(data entity.SysDictType) *[]entity.SysDictType - Update(data entity.SysDictType) *entity.SysDictType - Delete(organizationId []int64) + Insert(data entity.SysDictType) (*entity.SysDictType, error) + FindOne(organizationId int64) (*entity.SysDictType, error) + FindListPage(page, pageSize int, data entity.SysDictType) (*[]entity.SysDictType, int64, error) + FindList(data entity.SysDictType) (*[]entity.SysDictType, error) + Update(data entity.SysDictType) error + Delete(organizationId []int64) error } sysDictTypeModelImpl struct { @@ -25,20 +24,18 @@ var SysDictTypeModelDao SysDictTypeModel = &sysDictTypeModelImpl{ table: `sys_dict_types`, } -func (m *sysDictTypeModelImpl) Insert(data entity.SysDictType) *entity.SysDictType { +func (m *sysDictTypeModelImpl) Insert(data entity.SysDictType) (*entity.SysDictType, error) { err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "新增字典类型失败") - return &data + return &data, err } -func (m *sysDictTypeModelImpl) FindOne(dictId int64) *entity.SysDictType { +func (m *sysDictTypeModelImpl) FindOne(dictId int64) (*entity.SysDictType, error) { resData := new(entity.SysDictType) err := global.Db.Table(m.table).Where("dict_id = ?", dictId).First(resData).Error - biz.ErrIsNil(err, "查询字典类型信息失败") - return resData + return resData, err } -func (m *sysDictTypeModelImpl) FindListPage(page, pageSize int, data entity.SysDictType) (*[]entity.SysDictType, int64) { +func (m *sysDictTypeModelImpl) FindListPage(page, pageSize int, data entity.SysDictType) (*[]entity.SysDictType, int64, error) { list := make([]entity.SysDictType, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -56,12 +53,14 @@ func (m *sysDictTypeModelImpl) FindListPage(page, pageSize int, data entity.SysD } db.Where("delete_time IS NULL") err := db.Count(&total).Error + if err != nil { + return nil, 0, err + } err = db.Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询字典类型分页列表信息失败") - return &list, total + return &list, total, err } -func (m *sysDictTypeModelImpl) FindList(data entity.SysDictType) *[]entity.SysDictType { +func (m *sysDictTypeModelImpl) FindList(data entity.SysDictType) (*[]entity.SysDictType, error) { list := make([]entity.SysDictType, 0) db := global.Db.Table(m.table) @@ -77,18 +76,13 @@ func (m *sysDictTypeModelImpl) FindList(data entity.SysDictType) *[]entity.SysDi } db.Where("delete_time IS NULL") err := db.Order("create_time").Find(&list).Error - biz.ErrIsNil(err, "查询字典类型列表信息失败") - return &list + return &list, err } -func (m *sysDictTypeModelImpl) Update(data entity.SysDictType) *entity.SysDictType { - err := global.Db.Table(m.table).Where("dict_id = ?", data.DictId).Updates(&data).Error - biz.ErrIsNil(err, "修改字典类型信息失败") - return &data +func (m *sysDictTypeModelImpl) Update(data entity.SysDictType) error { + return global.Db.Table(m.table).Where("dict_id = ?", data.DictId).Updates(&data).Error } -func (m *sysDictTypeModelImpl) Delete(dictIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysDictType{}, "dict_id in (?)", dictIds).Error - biz.ErrIsNil(err, "删除字典类型信息失败") - return +func (m *sysDictTypeModelImpl) Delete(dictIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysDictType{}, "dict_id in (?)", dictIds).Error } diff --git a/apps/system/services/menu.go b/apps/system/services/menu.go index 9ed2bd3..dd71a8b 100644 --- a/apps/system/services/menu.go +++ b/apps/system/services/menu.go @@ -2,22 +2,21 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysMenuModel interface { - Insert(data entity.SysMenu) *entity.SysMenu - FindOne(menuId int64) *entity.SysMenu - FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64) - FindList(data entity.SysMenu) *[]entity.SysMenu - Update(data entity.SysMenu) *entity.SysMenu - Delete(menuId []int64) - SelectMenu(data entity.SysMenu) *[]entity.SysMenu - SelectMenuLable(data entity.SysMenu) *[]entity.MenuLable - SelectMenuRole(roleName string) *[]entity.SysMenu - GetMenuRole(data entity.MenuRole) *[]entity.MenuRole + Insert(data entity.SysMenu) (*entity.SysMenu, error) + FindOne(menuId int64) (*entity.SysMenu, error) + FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64, error) + FindList(data entity.SysMenu) (*[]entity.SysMenu, error) + Update(data entity.SysMenu) error + Delete(menuId []int64) error + SelectMenu(data entity.SysMenu) (*[]entity.SysMenu, error) + SelectMenuLable(data entity.SysMenu) (*[]entity.MenuLable, error) + SelectMenuRole(roleName string) (*[]entity.SysMenu, error) + GetMenuRole(data entity.MenuRole) (*[]entity.MenuRole, error) } sysMenuModelImpl struct { @@ -29,20 +28,18 @@ var SysMenuModelDao SysMenuModel = &sysMenuModelImpl{ table: `sys_menus`, } -func (m *sysMenuModelImpl) Insert(data entity.SysMenu) *entity.SysMenu { +func (m *sysMenuModelImpl) Insert(data entity.SysMenu) (*entity.SysMenu, error) { err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加菜单失败") - return &data + return &data, err } -func (m *sysMenuModelImpl) FindOne(menuId int64) *entity.SysMenu { +func (m *sysMenuModelImpl) FindOne(menuId int64) (*entity.SysMenu, error) { resData := new(entity.SysMenu) err := global.Db.Table(m.table).Where("menu_id = ?", menuId).First(resData).Error - biz.ErrIsNil(err, "查询菜单失败") - return resData + return resData, err } -func (m *sysMenuModelImpl) FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64) { +func (m *sysMenuModelImpl) FindListPage(page, pageSize int, data entity.SysMenu) (*[]entity.SysMenu, int64, error) { list := make([]entity.SysMenu, 0) var total int64 = 0 @@ -52,11 +49,10 @@ func (m *sysMenuModelImpl) FindListPage(page, pageSize int, data entity.SysMenu) db.Where("delete_time IS NULL") err := db.Count(&total).Error err = db.Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询分页菜单失败") - return &list, total + return &list, total, err } -func (m *sysMenuModelImpl) FindList(data entity.SysMenu) *[]entity.SysMenu { +func (m *sysMenuModelImpl) FindList(data entity.SysMenu) (*[]entity.SysMenu, error) { list := make([]entity.SysMenu, 0) db := global.Db.Table(m.table) @@ -78,25 +74,22 @@ func (m *sysMenuModelImpl) FindList(data entity.SysMenu) *[]entity.SysMenu { } db.Where("delete_time IS NULL") err := db.Order("sort").Find(&list).Error - biz.ErrIsNil(err, "查询菜单列表失败") - return &list + return &list, err } -func (m *sysMenuModelImpl) Update(data entity.SysMenu) *entity.SysMenu { - err := global.Db.Table(m.table).Select("*").Updates(data).Error - biz.ErrIsNil(err, "修改菜单失败") - return &data +func (m *sysMenuModelImpl) Update(data entity.SysMenu) error { + return global.Db.Table(m.table).Select("*").Updates(data).Error } -func (m *sysMenuModelImpl) Delete(menuIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysMenu{}, "menu_id in (?)", menuIds).Error - biz.ErrIsNil(err, "修改菜单失败") - return +func (m *sysMenuModelImpl) Delete(menuIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysMenu{}, "menu_id in (?)", menuIds).Error } -func (m *sysMenuModelImpl) SelectMenu(data entity.SysMenu) *[]entity.SysMenu { - menuList := m.FindList(data) - +func (m *sysMenuModelImpl) SelectMenu(data entity.SysMenu) (*[]entity.SysMenu, error) { + menuList, err := m.FindList(data) + if err != nil { + return nil, err + } redData := make([]entity.SysMenu, 0) ml := *menuList for i := 0; i < len(ml); i++ { @@ -106,12 +99,14 @@ func (m *sysMenuModelImpl) SelectMenu(data entity.SysMenu) *[]entity.SysMenu { menusInfo := DiguiMenu(menuList, ml[i]) redData = append(redData, menusInfo) } - return &redData + return &redData, nil } -func (m *sysMenuModelImpl) SelectMenuLable(data entity.SysMenu) *[]entity.MenuLable { - menuList := m.FindList(data) - +func (m *sysMenuModelImpl) SelectMenuLable(data entity.SysMenu) (*[]entity.MenuLable, error) { + menuList, err := m.FindList(data) + if err != nil { + return nil, err + } redData := make([]entity.MenuLable, 0) ml := *menuList for i := 0; i < len(ml); i++ { @@ -125,23 +120,25 @@ func (m *sysMenuModelImpl) SelectMenuLable(data entity.SysMenu) *[]entity.MenuLa redData = append(redData, menusInfo) } - return &redData + return &redData, nil } -func (m *sysMenuModelImpl) GetMenuByRoleKey(roleKey string) *[]entity.SysMenu { +func (m *sysMenuModelImpl) GetMenuByRoleKey(roleKey string) (*[]entity.SysMenu, error) { menus := make([]entity.SysMenu, 0) db := global.Db.Table(m.table).Select("sys_menus.*").Joins("left join sys_role_menus on sys_role_menus.menu_id=sys_menus.menu_id") db = db.Where("sys_role_menus.role_name=? and menu_type in ('M','C')", roleKey) db.Where("sys_menus.delete_time IS NULL") err := db.Order("sort").Find(&menus).Error - biz.ErrIsNil(err, "通过角色名查询菜单失败") - return &menus + return &menus, err } -func (m *sysMenuModelImpl) SelectMenuRole(roleKey string) *[]entity.SysMenu { +func (m *sysMenuModelImpl) SelectMenuRole(roleKey string) (*[]entity.SysMenu, error) { redData := make([]entity.SysMenu, 0) - menulist := m.GetMenuByRoleKey(roleKey) + menulist, err := m.GetMenuByRoleKey(roleKey) + if err != nil { + return nil, err + } menuList := *menulist redData = make([]entity.SysMenu, 0) for i := 0; i < len(menuList); i++ { @@ -152,9 +149,9 @@ func (m *sysMenuModelImpl) SelectMenuRole(roleKey string) *[]entity.SysMenu { redData = append(redData, menusInfo) } - return &redData + return &redData, nil } -func (m *sysMenuModelImpl) GetMenuRole(data entity.MenuRole) *[]entity.MenuRole { +func (m *sysMenuModelImpl) GetMenuRole(data entity.MenuRole) (*[]entity.MenuRole, error) { menus := make([]entity.MenuRole, 0) db := global.Db.Table(m.table) @@ -162,8 +159,8 @@ func (m *sysMenuModelImpl) GetMenuRole(data entity.MenuRole) *[]entity.MenuRole db = db.Where("menu_name = ?", data.MenuName) } db.Where("delete_time IS NULL") - biz.ErrIsNil(db.Order("sort").Find(&menus).Error, "查询角色菜单失败") - return &menus + err := db.Order("sort").Find(&menus).Error + return &menus, err } func DiguiMenu(menulist *[]entity.SysMenu, menu entity.SysMenu) entity.SysMenu { diff --git a/apps/system/services/notice.go b/apps/system/services/notice.go index 9b86993..8e08e5c 100644 --- a/apps/system/services/notice.go +++ b/apps/system/services/notice.go @@ -2,17 +2,16 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysNoticeModel interface { - Insert(data entity.SysNotice) *entity.SysNotice - FindOne(postId int64) *entity.SysNotice - FindListPage(page, pageSize int, data entity.SysNotice) (*[]entity.SysNotice, int64) - Update(data entity.SysNotice) *entity.SysNotice - Delete(postId []int64) + Insert(data entity.SysNotice) (*entity.SysNotice, error) + FindOne(postId int64) (*entity.SysNotice, error) + FindListPage(page, pageSize int, data entity.SysNotice) (*[]entity.SysNotice, int64, error) + Update(data entity.SysNotice) error + Delete(postId []int64) error } sysNoticeModelImpl struct { @@ -24,20 +23,18 @@ var SysNoticeModelDao SysNoticeModel = &sysNoticeModelImpl{ table: `sys_notices`, } -func (m *sysNoticeModelImpl) Insert(data entity.SysNotice) *entity.SysNotice { +func (m *sysNoticeModelImpl) Insert(data entity.SysNotice) (*entity.SysNotice, error) { err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加通知失败") - return &data + return &data, err } -func (m *sysNoticeModelImpl) FindOne(postId int64) *entity.SysNotice { +func (m *sysNoticeModelImpl) FindOne(postId int64) (*entity.SysNotice, error) { resData := new(entity.SysNotice) err := global.Db.Table(m.table).Where("post_id = ?", postId).First(resData).Error - biz.ErrIsNil(err, "查询通知失败") - return resData + return resData, err } -func (m *sysNoticeModelImpl) FindListPage(page, pageSize int, data entity.SysNotice) (*[]entity.SysNotice, int64) { +func (m *sysNoticeModelImpl) FindListPage(page, pageSize int, data entity.SysNotice) (*[]entity.SysNotice, int64, error) { list := make([]entity.SysNotice, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -55,15 +52,13 @@ func (m *sysNoticeModelImpl) FindListPage(page, pageSize int, data entity.SysNot db.Where("delete_time IS NULL") err := db.Count(&total).Error err = db.Order("create_time").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询通知分页列表失败") - return &list, total + return &list, total, err } -func (m *sysNoticeModelImpl) Update(data entity.SysNotice) *entity.SysNotice { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改通知失败") - return &data +func (m *sysNoticeModelImpl) Update(data entity.SysNotice) error { + return global.Db.Table(m.table).Updates(&data).Error } -func (m *sysNoticeModelImpl) Delete(postIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysNotice{}, "notice_id in (?)", postIds).Error, "删除通知失败") +func (m *sysNoticeModelImpl) Delete(postIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysNotice{}, "notice_id in (?)", postIds).Error } diff --git a/apps/system/services/organization.go b/apps/system/services/organization.go index 56875f1..d53a0d3 100644 --- a/apps/system/services/organization.go +++ b/apps/system/services/organization.go @@ -3,7 +3,6 @@ package services import ( "errors" "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" "github.com/kakuilan/kgo" @@ -11,15 +10,15 @@ import ( type ( SysOrganizationModel interface { - Insert(data entity.SysOrganization) *entity.SysOrganization - FindOne(organizationId int64) *entity.SysOrganization - FindListPage(page, pageSize int, data entity.SysOrganization) (*[]entity.SysOrganization, int64) - FindList(data entity.SysOrganization) *[]entity.SysOrganization - Update(data entity.SysOrganization) *entity.SysOrganization - Delete(organizationId []int64) - SelectOrganization(data entity.SysOrganization) []entity.SysOrganization - SelectOrganizationLable(data entity.SysOrganization) []entity.OrganizationLable - SelectOrganizationIds(data entity.SysOrganization) []int64 + Insert(data entity.SysOrganization) (*entity.SysOrganization, error) + FindOne(organizationId int64) (*entity.SysOrganization, error) + FindListPage(page, pageSize int, data entity.SysOrganization) (*[]entity.SysOrganization, int64, error) + FindList(data entity.SysOrganization) (*[]entity.SysOrganization, error) + Update(data entity.SysOrganization) error + Delete(organizationId []int64) error + SelectOrganization(data entity.SysOrganization) ([]entity.SysOrganization, error) + SelectOrganizationLable(data entity.SysOrganization) ([]entity.OrganizationLable, error) + SelectOrganizationIds(data entity.SysOrganization) ([]int64, error) } sysOrganizationModelImpl struct { @@ -31,28 +30,33 @@ var SysOrganizationModelDao SysOrganizationModel = &sysOrganizationModelImpl{ table: `sys_organizations`, } -func (m *sysOrganizationModelImpl) Insert(data entity.SysOrganization) *entity.SysOrganization { - biz.ErrIsNil(global.Db.Table(m.table).Create(&data).Error, "新增组织信息失败") +func (m *sysOrganizationModelImpl) Insert(data entity.SysOrganization) (*entity.SysOrganization, error) { + err := global.Db.Table(m.table).Create(&data).Error + if err != nil { + return nil, err + } organizationPath := "/" + kgo.KConv.Int2Str(data.OrganizationId) if int(data.ParentId) != 0 { - organizationP := m.FindOne(data.ParentId) + organizationP, err := m.FindOne(data.ParentId) + if err != nil { + return nil, err + } organizationPath = organizationP.OrganizationPath + organizationPath } else { organizationPath = "/0" + organizationPath } data.OrganizationPath = organizationPath - biz.ErrIsNil(global.Db.Table(m.table).Model(&data).Updates(&data).Error, "修改组织信息失败") - return &data + err = global.Db.Table(m.table).Model(&data).Updates(&data).Error + return &data, err } -func (m *sysOrganizationModelImpl) FindOne(organizationId int64) *entity.SysOrganization { +func (m *sysOrganizationModelImpl) FindOne(organizationId int64) (*entity.SysOrganization, error) { resData := new(entity.SysOrganization) err := global.Db.Table(m.table).Where("organization_id = ?", organizationId).First(resData).Error - biz.ErrIsNil(err, "查询组织信息失败") - return resData + return resData, err } -func (m *sysOrganizationModelImpl) FindListPage(page, pageSize int, data entity.SysOrganization) (*[]entity.SysOrganization, int64) { +func (m *sysOrganizationModelImpl) FindListPage(page, pageSize int, data entity.SysOrganization) (*[]entity.SysOrganization, int64, error) { list := make([]entity.SysOrganization, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -74,11 +78,10 @@ func (m *sysOrganizationModelImpl) FindListPage(page, pageSize int, data entity. db.Where("delete_time IS NULL") err := db.Count(&total).Error err = db.Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询组织分页列表信息失败") - return &list, total + return &list, total, err } -func (m *sysOrganizationModelImpl) FindList(data entity.SysOrganization) *[]entity.SysOrganization { +func (m *sysOrganizationModelImpl) FindList(data entity.SysOrganization) (*[]entity.SysOrganization, error) { list := make([]entity.SysOrganization, 0) db := global.Db.Table(m.table) @@ -94,16 +97,20 @@ func (m *sysOrganizationModelImpl) FindList(data entity.SysOrganization) *[]enti } db.Where("delete_time IS NULL") err := db.Order("sort").Find(&list).Error - biz.ErrIsNil(err, "查询组织列表信息失败") - return &list + return &list, err } -func (m *sysOrganizationModelImpl) Update(data entity.SysOrganization) *entity.SysOrganization { - one := m.FindOne(data.OrganizationId) - +func (m *sysOrganizationModelImpl) Update(data entity.SysOrganization) error { + one, err := m.FindOne(data.OrganizationId) + if err != nil { + return err + } organizationPath := "/" + kgo.KConv.Int2Str(data.OrganizationId) if int(data.ParentId) != 0 { - organizationP := m.FindOne(data.ParentId) + organizationP, err := m.FindOne(data.ParentId) + if err != nil { + return err + } organizationPath = organizationP.OrganizationPath + organizationPath } else { organizationPath = "/0" + organizationPath @@ -111,21 +118,21 @@ func (m *sysOrganizationModelImpl) Update(data entity.SysOrganization) *entity.S data.OrganizationPath = organizationPath if data.OrganizationPath != "" && data.OrganizationPath != one.OrganizationPath { - biz.ErrIsNil(errors.New("上级组织不允许修改!"), "上级组织不允许修改") + return errors.New("上级组织不允许修改!") } - biz.ErrIsNil(global.Db.Table(m.table).Model(&data).Updates(&data).Error, "修改组织信息失败") - return &data + err = global.Db.Table(m.table).Model(&data).Updates(&data).Error + return err } -func (m *sysOrganizationModelImpl) Delete(organizationIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysOrganization{}, "organization_id in (?)", organizationIds).Error - biz.ErrIsNil(err, "删除组织信息失败") - return +func (m *sysOrganizationModelImpl) Delete(organizationIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysOrganization{}, "organization_id in (?)", organizationIds).Error } -func (m *sysOrganizationModelImpl) SelectOrganization(data entity.SysOrganization) []entity.SysOrganization { - list := m.FindList(data) - +func (m *sysOrganizationModelImpl) SelectOrganization(data entity.SysOrganization) ([]entity.SysOrganization, error) { + list, err := m.FindList(data) + if err != nil { + return nil, err + } sd := make([]entity.SysOrganization, 0) li := *list for i := 0; i < len(li); i++ { @@ -136,12 +143,14 @@ func (m *sysOrganizationModelImpl) SelectOrganization(data entity.SysOrganizatio sd = append(sd, info) } - return sd + return sd, nil } -func (m *sysOrganizationModelImpl) SelectOrganizationLable(data entity.SysOrganization) []entity.OrganizationLable { - organizationlist := m.FindList(data) - +func (m *sysOrganizationModelImpl) SelectOrganizationLable(data entity.SysOrganization) ([]entity.OrganizationLable, error) { + organizationlist, err := m.FindList(data) + if err != nil { + return nil, err + } dl := make([]entity.OrganizationLable, 0) organizationl := *organizationlist for i := 0; i < len(organizationl); i++ { @@ -155,11 +164,14 @@ func (m *sysOrganizationModelImpl) SelectOrganizationLable(data entity.SysOrgani dl = append(dl, organizationsInfo) } - return dl + return dl, nil } -func (m *sysOrganizationModelImpl) SelectOrganizationIds(data entity.SysOrganization) []int64 { - organizationlist := m.FindList(data) +func (m *sysOrganizationModelImpl) SelectOrganizationIds(data entity.SysOrganization) ([]int64, error) { + organizationlist, err := m.FindList(data) + if err != nil { + return nil, err + } dl := make([]int64, 0) organizationl := *organizationlist for i := 0; i < len(organizationl); i++ { @@ -173,7 +185,7 @@ func (m *sysOrganizationModelImpl) SelectOrganizationIds(data entity.SysOrganiza id := DiguiOrganizationId(organizationlist, e) dl = append(dl, id...) } - return dl + return dl, nil } func Digui(organizationlist *[]entity.SysOrganization, menu entity.SysOrganization) entity.SysOrganization { diff --git a/apps/system/services/post.go b/apps/system/services/post.go index 786a8c9..076a184 100644 --- a/apps/system/services/post.go +++ b/apps/system/services/post.go @@ -2,18 +2,17 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysPostModel interface { - Insert(data entity.SysPost) *entity.SysPost - FindOne(postId int64) *entity.SysPost - FindListPage(page, pageSize int, data entity.SysPost) (*[]entity.SysPost, int64) - FindList(data entity.SysPost) *[]entity.SysPost - Update(data entity.SysPost) *entity.SysPost - Delete(postId []int64) + Insert(data entity.SysPost) (*entity.SysPost, error) + FindOne(postId int64) (*entity.SysPost, error) + FindListPage(page, pageSize int, data entity.SysPost) (*[]entity.SysPost, int64, error) + FindList(data entity.SysPost) (*[]entity.SysPost, error) + Update(data entity.SysPost) error + Delete(postId []int64) error } sysPostModelImpl struct { @@ -25,20 +24,18 @@ var SysPostModelDao SysPostModel = &sysPostModelImpl{ table: `sys_posts`, } -func (m *sysPostModelImpl) Insert(data entity.SysPost) *entity.SysPost { +func (m *sysPostModelImpl) Insert(data entity.SysPost) (*entity.SysPost, error) { err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加岗位失败") - return &data + return &data, err } -func (m *sysPostModelImpl) FindOne(postId int64) *entity.SysPost { +func (m *sysPostModelImpl) FindOne(postId int64) (*entity.SysPost, error) { resData := new(entity.SysPost) err := global.Db.Table(m.table).Where("post_id = ?", postId).First(resData).Error - biz.ErrIsNil(err, "查询岗位失败") - return resData + return resData, err } -func (m *sysPostModelImpl) FindListPage(page, pageSize int, data entity.SysPost) (*[]entity.SysPost, int64) { +func (m *sysPostModelImpl) FindListPage(page, pageSize int, data entity.SysPost) (*[]entity.SysPost, int64, error) { list := make([]entity.SysPost, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -59,11 +56,10 @@ func (m *sysPostModelImpl) FindListPage(page, pageSize int, data entity.SysPost) db.Where("delete_time IS NULL") err := db.Count(&total).Error err = db.Order("sort").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询岗位分页列表失败") - return &list, total + return &list, total, err } -func (m *sysPostModelImpl) FindList(data entity.SysPost) *[]entity.SysPost { +func (m *sysPostModelImpl) FindList(data entity.SysPost) (*[]entity.SysPost, error) { list := make([]entity.SysPost, 0) db := global.Db.Table(m.table) // 此处填写 where参数判断 @@ -80,15 +76,14 @@ func (m *sysPostModelImpl) FindList(data entity.SysPost) *[]entity.SysPost { db = db.Where("status = ?", data.Status) } db.Where("delete_time IS NULL") - biz.ErrIsNil(db.Order("sort").Find(&list).Error, "查询岗位列表失败") - return &list + err := db.Order("sort").Find(&list).Error + return &list, err } -func (m *sysPostModelImpl) Update(data entity.SysPost) *entity.SysPost { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改岗位失败") - return &data +func (m *sysPostModelImpl) Update(data entity.SysPost) error { + return global.Db.Table(m.table).Updates(&data).Error } -func (m *sysPostModelImpl) Delete(postIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysPost{}, "post_id in (?)", postIds).Error, "删除岗位失败") +func (m *sysPostModelImpl) Delete(postIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysPost{}, "post_id in (?)", postIds).Error } diff --git a/apps/system/services/role.go b/apps/system/services/role.go index 274b0c5..d4096e5 100644 --- a/apps/system/services/role.go +++ b/apps/system/services/role.go @@ -3,20 +3,19 @@ package services import ( "errors" "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysRoleModel interface { - Insert(data entity.SysRole) *entity.SysRole - FindOne(roleId int64) *entity.SysRole - FindListPage(page, pageSize int, data entity.SysRole) (list *[]entity.SysRole, total int64) - FindList(data entity.SysRole) (list *[]entity.SysRole) - Update(data entity.SysRole) *entity.SysRole - Delete(roleId []int64) - GetRoleMeunId(data entity.SysRole) []int64 - GetRoleOrganizationId(data entity.SysRole) []int64 + Insert(data entity.SysRole) (*entity.SysRole, error) + FindOne(roleId int64) (*entity.SysRole, error) + FindListPage(page, pageSize int, data entity.SysRole) (list *[]entity.SysRole, total int64, err error) + FindList(data entity.SysRole) (list *[]entity.SysRole, err error) + Update(data entity.SysRole) (*entity.SysRole, error) + Delete(roleId []int64) error + GetRoleMeunId(data entity.SysRole) ([]int64, error) + GetRoleOrganizationId(data entity.SysRole) ([]int64, error) FindOrganizationsByRoleId(roleId int64) (entity.SysRoleAuth, error) } @@ -29,25 +28,25 @@ var SysRoleModelDao SysRoleModel = &sysRoleModel{ table: `sys_roles`, } -func (m *sysRoleModel) Insert(data entity.SysRole) *entity.SysRole { +func (m *sysRoleModel) Insert(data entity.SysRole) (*entity.SysRole, error) { var i int64 = 0 global.Db.Table(m.table).Where("(role_name = ? or role_key = ?) and delete_time IS NULL", data.RoleName, data.RoleKey).Count(&i) - biz.IsTrue(i == 0, "角色名称或者角色标识已经存在!") + if i != 0 { + return nil, errors.New("角色名称或者角色标识已经存在!") + } data.UpdateBy = "" err := global.Db.Table(m.table).Create(&data).Error - biz.ErrIsNil(err, "添加角色失败") - - return &data + return &data, err } -func (m *sysRoleModel) FindOne(roleId int64) *entity.SysRole { +func (m *sysRoleModel) FindOne(roleId int64) (*entity.SysRole, error) { resData := new(entity.SysRole) - biz.ErrIsNil(global.Db.Table(m.table).Where("role_id = ?", roleId).First(resData).Error, "查询角色失败") - return resData + err := global.Db.Table(m.table).Where("role_id = ?", roleId).First(resData).Error + return resData, err } -func (m *sysRoleModel) FindListPage(page, pageSize int, data entity.SysRole) (*[]entity.SysRole, int64) { +func (m *sysRoleModel) FindListPage(page, pageSize int, data entity.SysRole) (*[]entity.SysRole, int64, error) { list := make([]entity.SysRole, 0) var total int64 = 0 @@ -70,11 +69,10 @@ func (m *sysRoleModel) FindListPage(page, pageSize int, data entity.SysRole) (*[ db.Where("delete_time IS NULL") err := db.Count(&total).Error err = db.Order("role_sort").Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询角色分页列表失败") - return &list, total + return &list, total, err } -func (m *sysRoleModel) FindList(data entity.SysRole) *[]entity.SysRole { +func (m *sysRoleModel) FindList(data entity.SysRole) (*[]entity.SysRole, error) { list := make([]entity.SysRole, 0) db := global.Db.Table(m.table) // 此处填写 where参数判断 @@ -88,48 +86,53 @@ func (m *sysRoleModel) FindList(data entity.SysRole) *[]entity.SysRole { db = db.Where("role_key like ?", "%"+data.RoleKey+"%") } db.Where("delete_time IS NULL") - biz.ErrIsNil(db.Order("role_sort").Find(&list).Error, "查询角色列表失败") - return &list + err := db.Order("role_sort").Find(&list).Error + return &list, err } -func (m *sysRoleModel) Update(data entity.SysRole) *entity.SysRole { +func (m *sysRoleModel) Update(data entity.SysRole) (*entity.SysRole, error) { update := new(entity.SysRole) - biz.ErrIsNil(global.Db.Table(m.table).First(update, data.RoleId).Error, "查询角色失败") - if data.RoleKey != "" && data.RoleKey != update.RoleKey { - biz.ErrIsNil(errors.New("角色标识不允许修改!"), "角色标识不允许修改!") + err := global.Db.Table(m.table).First(update, data.RoleId).Error + if err != nil { + return nil, err } - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改角色失败") - return &data + if data.RoleKey != "" && data.RoleKey != update.RoleKey { + return nil, errors.New("角色标识不允许修改!") + } + err = global.Db.Table(m.table).Updates(&data).Error + return &data, err } -func (m *sysRoleModel) Delete(roleIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysRole{}, "role_id in (?)", roleIds).Error, "删除角色失败") - return +func (m *sysRoleModel) Delete(roleIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysRole{}, "role_id in (?)", roleIds).Error + } // 获取角色对应的菜单ids -func (m *sysRoleModel) GetRoleMeunId(data entity.SysRole) []int64 { +func (m *sysRoleModel) GetRoleMeunId(data entity.SysRole) ([]int64, error) { menuIds := make([]int64, 0) menuList := make([]entity.MenuIdList, 0) err := global.Db.Table("sys_menus").Select("sys_menus.menu_id").Joins("LEFT JOIN sys_role_menus on sys_role_menus.menu_id=sys_menus.menu_id").Where("sys_role_menus.role_id = ? ", data.RoleId).Where("sys_menus.menu_id not in (select sys_menus.parent_id from sys_menus LEFT JOIN sys_role_menus on sys_menus.menu_id=sys_role_menus.menu_id where sys_role_menus.role_id =? )", data.RoleId).Find(&menuList).Error - - biz.ErrIsNil(err, "查询角色菜单列表失败") + if err != nil { + return nil, err + } for i := 0; i < len(menuList); i++ { menuIds = append(menuIds, menuList[i].MenuId) } - return menuIds + return menuIds, nil } -func (m *sysRoleModel) GetRoleOrganizationId(data entity.SysRole) []int64 { +func (m *sysRoleModel) GetRoleOrganizationId(data entity.SysRole) ([]int64, error) { organizationIds := make([]int64, 0) organizationList := make([]entity.OrganizationIdList, 0) err := global.Db.Table("sys_role_organizations").Select("sys_role_organizations.organization_id").Joins("LEFT JOIN sys_organizations on sys_organizations.organization_id=sys_role_organizations.organization_id").Where("role_id = ? ", data.RoleId).Where(" sys_role_organizations.organization_id not in(select sys_organizations.parent_id from sys_role_organizations LEFT JOIN sys_organizations on sys_organizations.organization_id=sys_role_organizations.organization_id where role_id =? )", data.RoleId).Find(&organizationList).Error - biz.ErrIsNil(err, "查询角色组织列表失败") - + if err != nil { + return nil, err + } for i := 0; i < len(organizationList); i++ { organizationIds = append(organizationIds, organizationList[i].OrganizationId) } - return organizationIds + return organizationIds, nil } func (m *sysRoleModel) FindOrganizationsByRoleId(roleId int64) (entity.SysRoleAuth, error) { diff --git a/apps/system/services/role_menu.go b/apps/system/services/role_menu.go index 861a746..addfb46 100644 --- a/apps/system/services/role_menu.go +++ b/apps/system/services/role_menu.go @@ -2,20 +2,19 @@ package services import ( "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysRoleMenuModel interface { - Insert(roleId int64, menuId []int64) bool - FindList(data entity.SysRoleMenu) *[]entity.SysRoleMenu - Update(data entity.SysRoleMenu) *entity.SysRoleMenu - Delete(RoleId int64, MenuID int64) - GetPermis(roleId int64) []string - GetMenuPaths(rm entity.SysRoleMenu) []entity.MenuPath - DeleteRoleMenu(RoleId int64) - DeleteRoleMenus(roleIds []int64) + Insert(roleId int64, menuId []int64) error + FindList(data entity.SysRoleMenu) (*[]entity.SysRoleMenu, error) + Update(data entity.SysRoleMenu) error + Delete(RoleId int64, MenuID int64) error + GetPermis(roleId int64) ([]string, error) + GetMenuPaths(rm entity.SysRoleMenu) ([]entity.MenuPath, error) + DeleteRoleMenu(RoleId int64) error + DeleteRoleMenus(roleIds []int64) error } sysRoleMenuImpl struct { @@ -27,36 +26,38 @@ var SysRoleMenuModelDao SysRoleMenuModel = &sysRoleMenuImpl{ table: `sys_role_menus`, } -func (m *sysRoleMenuImpl) Insert(roleId int64, menuId []int64) bool { +func (m *sysRoleMenuImpl) Insert(roleId int64, menuId []int64) error { var role entity.SysRole - biz.ErrIsNil(global.Db.Table("sys_roles").Where("role_id = ?", roleId).First(&role).Error, "查询角色失败") - + err := global.Db.Table("sys_roles").Where("role_id = ?", roleId).First(&role).Error + if err != nil { + return err + } var menu []entity.SysMenu - biz.ErrIsNil(global.Db.Table("sys_menus").Where("menu_id in (?)", menuId).Find(&menu).Error, "查询菜单失败") - + err = global.Db.Table("sys_menus").Where("menu_id in (?)", menuId).Find(&menu).Error + if err != nil { + return err + } menus := make([]entity.SysRoleMenu, 0) for i := 0; i < len(menu); i++ { menus = append(menus, entity.SysRoleMenu{RoleId: role.RoleId, MenuId: menu[i].MenuId, RoleName: role.RoleKey}) } - biz.ErrIsNil(global.Db.CreateInBatches(&menus, len(menus)).Error, "新增角色菜单失败") - - return true + return global.Db.CreateInBatches(&menus, len(menus)).Error } -func (m *sysRoleMenuImpl) FindList(data entity.SysRoleMenu) *[]entity.SysRoleMenu { +func (m *sysRoleMenuImpl) FindList(data entity.SysRoleMenu) (*[]entity.SysRoleMenu, error) { list := make([]entity.SysRoleMenu, 0) db := global.Db.Table(m.table) // 此处填写 where参数判断 if data.RoleId != 0 { db = db.Where("role_id = ?", data.RoleId) } - biz.ErrIsNil(db.Find(&list).Error, "查询角色菜单失败") - return &list + err := db.Find(&list).Error + return &list, err } // 查询权限标识 -func (m *sysRoleMenuImpl) GetPermis(roleId int64) []string { +func (m *sysRoleMenuImpl) GetPermis(roleId int64) ([]string, error) { var r []entity.SysMenu db := global.Db.Select("sys_menus.permission").Table("sys_menus").Joins("left join sys_role_menus on sys_menus.menu_id = sys_role_menus.menu_id") @@ -64,45 +65,43 @@ func (m *sysRoleMenuImpl) GetPermis(roleId int64) []string { db = db.Where("sys_menus.menu_type in ('F','C')") - biz.ErrIsNil(db.Find(&r).Error, "查询查询权限标识列表失败") - + err := db.Find(&r).Error + if err != nil { + return nil, err + } var list []string for i := 0; i < len(r); i++ { list = append(list, r[i].Permission) } - return list + return list, nil } -func (m *sysRoleMenuImpl) GetMenuPaths(rm entity.SysRoleMenu) []entity.MenuPath { +func (m *sysRoleMenuImpl) GetMenuPaths(rm entity.SysRoleMenu) ([]entity.MenuPath, error) { var r []entity.MenuPath db := global.Db.Select("sys_menus.path").Table(m.table) db = db.Joins("left join sys_roles on sys_roles.role_id=sys_role_menus.role_id") db = db.Joins("left join sys_menus on sys_menus.id=sys_role_menus.menu_id") db = db.Where("sys_roles.role_key = ? and sys_menus.type=1", rm.RoleName) - biz.ErrIsNil(db.Find(&r).Error, "查询菜单路径失败") - return r + err := db.Find(&r).Error + return r, err } -func (m *sysRoleMenuImpl) Update(data entity.SysRoleMenu) *entity.SysRoleMenu { - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改菜单失败") - return &data +func (m *sysRoleMenuImpl) Update(data entity.SysRoleMenu) error { + return global.Db.Table(m.table).Updates(&data).Error } -func (m *sysRoleMenuImpl) DeleteRoleMenu(roleId int64) { +func (m *sysRoleMenuImpl) DeleteRoleMenu(roleId int64) error { var rm entity.SysRoleMenu - if err := global.Db.Table(m.table).Where("role_id = ?", roleId).Delete(&rm).Error; err != nil { - biz.ErrIsNil(err, "删除角色菜单失败") - } - return + return global.Db.Table(m.table).Where("role_id = ?", roleId).Delete(&rm).Error } -func (m *sysRoleMenuImpl) DeleteRoleMenus(roleIds []int64) { +func (m *sysRoleMenuImpl) DeleteRoleMenus(roleIds []int64) error { var rm entity.SysRoleMenu - biz.ErrIsNil(global.Db.Table(m.table).Where("role_id in (?)", roleIds).Delete(&rm).Error, "批量删除角色菜单失败") + return global.Db.Table(m.table).Where("role_id in (?)", roleIds).Delete(&rm).Error } -func (m *sysRoleMenuImpl) Delete(RoleId int64, MenuID int64) { +func (m *sysRoleMenuImpl) Delete(RoleId int64, MenuID int64) error { var rm entity.SysRoleMenu rm.RoleId = RoleId db := global.Db.Table(m.table).Where("role_id = ?", RoleId) @@ -110,7 +109,6 @@ func (m *sysRoleMenuImpl) Delete(RoleId int64, MenuID int64) { db = db.Where("menu_id = ?", MenuID) } - biz.ErrIsNil(db.Delete(&rm).Error, "删除角色菜单失败") - return + return db.Delete(&rm).Error } diff --git a/apps/system/services/role_organization.go b/apps/system/services/role_organization.go index 6e58cc6..65a676c 100644 --- a/apps/system/services/role_organization.go +++ b/apps/system/services/role_organization.go @@ -3,15 +3,14 @@ package services import ( "fmt" "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" ) type ( SysRoleOrganizationModel interface { - Insert(roleId int64, organizationIds []int64) bool + Insert(roleId int64, organizationIds []int64) error FindOrganizationsByRoleId(roleId int64) ([]int64, error) - Delete(rm entity.SysRoleOrganization) + Delete(rm entity.SysRoleOrganization) error } sysRoleOrganizationImpl struct { @@ -23,7 +22,7 @@ var SysRoleOrganizationModelDao SysRoleOrganizationModel = &sysRoleOrganizationI table: `sys_role_organizations`, } -func (m *sysRoleOrganizationImpl) Insert(roleId int64, organizationIds []int64) bool { +func (m *sysRoleOrganizationImpl) Insert(roleId int64, organizationIds []int64) error { sql := "INSERT INTO sys_role_organizations (role_id, organization_id) VALUES " for i := 0; i < len(organizationIds); i++ { @@ -34,8 +33,8 @@ func (m *sysRoleOrganizationImpl) Insert(roleId int64, organizationIds []int64) sql += fmt.Sprintf("(%d,%d),", roleId, organizationIds[i]) } } - global.Db.Exec(sql) - return true + + return global.Db.Exec(sql).Error } func (m *sysRoleOrganizationImpl) FindOrganizationsByRoleId(roleId int64) ([]int64, error) { @@ -44,7 +43,6 @@ func (m *sysRoleOrganizationImpl) FindOrganizationsByRoleId(roleId int64) ([]int return result, err } -func (m *sysRoleOrganizationImpl) Delete(rm entity.SysRoleOrganization) { - biz.ErrIsNil(global.Db.Table(m.table).Where("role_id = ?", rm.RoleId).Delete(&rm).Error, "删除角色失败") - return +func (m *sysRoleOrganizationImpl) Delete(rm entity.SysRoleOrganization) error { + return global.Db.Table(m.table).Where("role_id = ?", rm.RoleId).Delete(&rm).Error } diff --git a/apps/system/services/user.go b/apps/system/services/user.go index 7077a8b..714f228 100644 --- a/apps/system/services/user.go +++ b/apps/system/services/user.go @@ -1,8 +1,8 @@ package services import ( + "errors" "pandax/apps/system/entity" - "pandax/kit/biz" "pandax/pkg/global" "github.com/kakuilan/kgo" @@ -11,14 +11,14 @@ import ( type ( SysUserModel interface { - Login(u entity.Login) *entity.SysUser - Insert(data entity.SysUser) *entity.SysUser - FindOne(data entity.SysUser) (resData *entity.SysUserView) - FindListPage(page, pageSize int, data entity.SysUser) (list *[]entity.SysUserPage, total int64) - FindList(data entity.SysUser) (list *[]entity.SysUserView) - Update(data entity.SysUser) *entity.SysUser - Delete(userId []int64) - SetPwd(data entity.SysUser, pwd entity.SysUserPwd) bool + Login(u entity.Login) (*entity.SysUser, error) + Insert(data entity.SysUser) (*entity.SysUser, error) + FindOne(data entity.SysUser) (resData *entity.SysUserView, err error) + FindListPage(page, pageSize int, data entity.SysUser) (list *[]entity.SysUserPage, total int64, err error) + FindList(data entity.SysUser) (list *[]entity.SysUserView, err error) + Update(data entity.SysUser) error + Delete(userId []int64) error + SetPwd(data entity.SysUser, pwd entity.SysUserPwd) error } sysUserModelImpl struct { @@ -30,33 +30,36 @@ var SysUserModelDao SysUserModel = &sysUserModelImpl{ table: `sys_users`, } -func (m *sysUserModelImpl) Login(u entity.Login) *entity.SysUser { +func (m *sysUserModelImpl) Login(u entity.Login) (*entity.SysUser, error) { user := new(entity.SysUser) - - err := global.Db.Table(m.table).Where("username = ? ", u.Username).Find(user) - biz.ErrIsNil(err.Error, "查询用户信息失败") + err := global.Db.Table(m.table).Where("username = ? ", u.Username).Find(user).Error + if err != nil { + return nil, errors.New("查询用户信息失败") + } // 验证密码 b := kgo.KEncr.PasswordVerify([]byte(u.Password), []byte(user.Password)) - biz.IsTrue(b, "密码错误") - - return user + if !b { + return nil, errors.New("密码错误") + } + return user, nil } -func (m *sysUserModelImpl) Insert(data entity.SysUser) *entity.SysUser { +func (m *sysUserModelImpl) Insert(data entity.SysUser) (*entity.SysUser, error) { bytes, _ := kgo.KEncr.PasswordHash([]byte(data.Password), bcrypt.DefaultCost) data.Password = string(bytes) // check 用户名 var count int64 global.Db.Table(m.table).Where("username = ? and delete_time IS NULL", data.Username).Count(&count) - biz.IsTrue(count == 0, "账户已存在!") - - biz.ErrIsNil(global.Db.Table(m.table).Create(&data).Error, "添加用户失败") - return &data + if count != 0 { + return nil, errors.New("账户已存在!") + } + err := global.Db.Table(m.table).Create(&data).Error + return &data, err } -func (m *sysUserModelImpl) FindOne(data entity.SysUser) *entity.SysUserView { +func (m *sysUserModelImpl) FindOne(data entity.SysUser) (*entity.SysUserView, error) { resData := new(entity.SysUserView) db := global.Db.Table(m.table).Select([]string{"sys_users.*", "sys_roles.role_name"}) @@ -79,12 +82,12 @@ func (m *sysUserModelImpl) FindOne(data entity.SysUser) *entity.SysUserView { if data.PostId != 0 { db = db.Where("post_id = ?", data.PostId) } - biz.ErrIsNil(db.First(resData).Error, "查询用户失败") + err := db.First(resData).Error - return resData + return resData, err } -func (m *sysUserModelImpl) FindListPage(page, pageSize int, data entity.SysUser) (*[]entity.SysUserPage, int64) { +func (m *sysUserModelImpl) FindListPage(page, pageSize int, data entity.SysUser) (*[]entity.SysUserPage, int64, error) { list := make([]entity.SysUserPage, 0) var total int64 = 0 offset := pageSize * (page - 1) @@ -111,11 +114,10 @@ func (m *sysUserModelImpl) FindListPage(page, pageSize int, data entity.SysUser) db.Where("sys_users.delete_time IS NULL") err := db.Count(&total).Error err = db.Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询用户分页列表失败") - return &list, total + return &list, total, err } -func (m *sysUserModelImpl) FindList(data entity.SysUser) *[]entity.SysUserView { +func (m *sysUserModelImpl) FindList(data entity.SysUser) (*[]entity.SysUserView, error) { list := make([]entity.SysUserView, 0) // 此处填写 where参数判断 db := global.Db.Table(m.table).Select([]string{"sys_users.*", "sys_roles.role_name"}) @@ -147,38 +149,43 @@ func (m *sysUserModelImpl) FindList(data entity.SysUser) *[]entity.SysUserView { } db.Where("sys_users.delete_time IS NULL") - biz.ErrIsNilAppendErr(db.Find(&list).Error, "查询用户列表失败") + err := db.Find(&list).Error - return &list + return &list, err } -func (m *sysUserModelImpl) Update(data entity.SysUser) *entity.SysUser { +func (m *sysUserModelImpl) Update(data entity.SysUser) error { if data.Password != "" { bytes, _ := kgo.KEncr.PasswordHash([]byte(data.Password), bcrypt.DefaultCost) data.Password = string(bytes) } update := new(entity.SysUser) - biz.ErrIsNil(global.Db.Table(m.table).First(update, data.UserId).Error, "查询用户失败") + err := global.Db.Table(m.table).First(update, data.UserId).Error + if err != nil { + return err + } if data.RoleId == 0 { data.RoleId = update.RoleId } - biz.ErrIsNil(global.Db.Table(m.table).Updates(&data).Error, "修改用户失败") - return &data + return global.Db.Table(m.table).Updates(&data).Error } -func (m *sysUserModelImpl) Delete(userIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysUser{}, "user_id in (?)", userIds).Error, "删除用户失败") +func (m *sysUserModelImpl) Delete(userIds []int64) error { + return global.Db.Table(m.table).Delete(&entity.SysUser{}, "user_id in (?)", userIds).Error } -func (m *sysUserModelImpl) SetPwd(data entity.SysUser, pwd entity.SysUserPwd) bool { - user := m.FindOne(data) +func (m *sysUserModelImpl) SetPwd(data entity.SysUser, pwd entity.SysUserPwd) error { + user, err := m.FindOne(data) + if err != nil { + return err + } bl := kgo.KEncr.PasswordVerify([]byte(pwd.OldPassword), []byte(user.Password)) - biz.IsTrue(bl, "旧密码输入错误") + if !bl { + return errors.New("旧密码输入错误") + } data.Password = pwd.NewPassword - m.Update(data) - - return true + return m.Update(data) } diff --git a/pkg/tool/file.go b/pkg/tool/file.go index 08bc8d2..865d577 100644 --- a/pkg/tool/file.go +++ b/pkg/tool/file.go @@ -2,11 +2,189 @@ package tool import ( "crypto/md5" + "encoding/base64" "encoding/hex" + "encoding/json" + "errors" "io" + "mime/multipart" "os" + "pandax/pkg/global" + "path" + "strings" + "time" ) +type Local struct { + Path string +} + +const ( + DevicePath = "DevicePath" //设备相关 + RulePath = "RulePath" //规则链截图及json + VisualPath = "VisualPath" //组态截图及json + ThreePath = "ThreePath" //3D组态截图及json + VisualGalleryPath = "VisualGalleryPath" //组态图库 + ThreeModelPath = "ThreeModelPath" //3D模型和缩略图 + ThreeMapPath = "ThreeMapPath" //3d贴图 + OtherPath = "OtherPath" //其他 +) + +var PathMap = map[string]string{ + DevicePath: "uploads/device", + RulePath: "uploads/rule", + VisualPath: "uploads/visual", + ThreePath: "uploads/three", + VisualGalleryPath: "uploads/visual/gallery", + ThreeModelPath: "uploads/three/model", + ThreeMapPath: "uploads/three/map", + OtherPath: "uploads/other", +} + +func init() { + for _, path := range PathMap { + go os.MkdirAll(path, 0755) + } +} + +func GetFilePath(fielType string) string { + if path, ok := PathMap[fielType]; ok { + return path + } + return "" +} + +//@object: *Local +//@function: UploadFile +//@description: 上传文件 +//@param: file *multipart.FileHeader +//@return: string, string, error + +func (local *Local) UploadFile(file *multipart.FileHeader) (string, string, error) { + // 读取文件后缀 + ext := path.Ext(file.Filename) + // 读取文件名并加密 + name := strings.TrimSuffix(file.Filename, ext) + name = MD5V([]byte(name)) + // 拼接新文件名 + filename := name + "_" + time.Now().Format("20060102150405") + ext + // 尝试创建此路径 + mkdirErr := os.MkdirAll(local.Path, os.ModePerm) + if mkdirErr != nil { + global.Log.Error("function os.MkdirAll() Filed", mkdirErr.Error()) + return "", "", errors.New("function os.MkdirAll() Filed, err:" + mkdirErr.Error()) + } + // 拼接路径和文件名 + p := local.Path + "/" + filename + + f, openError := file.Open() // 读取文件 + if openError != nil { + global.Log.Error("function file.Open() Filed", openError.Error()) + return "", "", errors.New("function file.Open() Filed, err:" + openError.Error()) + } + defer f.Close() // 创建文件 defer 关闭 + + out, createErr := os.Create(p) + if createErr != nil { + global.Log.Error("function os.Create() Filed", createErr.Error()) + return "", "", errors.New("function os.Create() Filed, err:" + createErr.Error()) + } + defer out.Close() // 创建文件 defer 关闭 + + _, copyErr := io.Copy(out, f) // 传输(拷贝)文件 + if copyErr != nil { + global.Log.Error("function io.Copy() Filed", copyErr.Error()) + return "", "", errors.New("function io.Copy() Filed, err:" + copyErr.Error()) + } + return p, filename, nil +} + +func (local *Local) Base64ToFile(name, base64Str string) (path string, fileName string, err error) { + if strings.Contains(base64Str, "data:image") { + base64Str = strings.TrimPrefix(base64Str, "data:image/png;base64,") + } + + imgData, err := base64.StdEncoding.DecodeString(base64Str) + filename := name + ".png" + path = local.Path + "/" + filename + _, err = os.Stat(path) + if err == nil { + // 文件存在,删除原有文件 + os.Remove(fileName) + } + + file, err := os.Create(path) + if err != nil { + return path, "", errors.New("function os.Create() Filed, err:" + err.Error()) + } + defer file.Close() // 创建文件 defer 关闭 + + _, err = file.Write(imgData) + if err != nil { + return path, "", errors.New("写文件错误:" + err.Error()) + } + return path, filename, nil +} + +func (local *Local) JsonToFile(name, jsonStr string) (path string, fileName string, err error) { + var data map[string]interface{} + err = json.Unmarshal([]byte(jsonStr), &data) + if err != nil { + return "", "", errors.New("json 格式错误:" + err.Error()) + } + jsonData, err := json.MarshalIndent(data, "", " ") + if err != nil { + return "", "", errors.New("json 格式化错误:" + err.Error()) + } + + filename := name + ".json" + path = local.Path + "/" + filename + _, err = os.Stat(path) + if err == nil { + // 文件存在,删除原有文件 + os.Remove(fileName) + } + + file, err := os.Create(path) + if err != nil { + return path, "", errors.New("function os.Create() Filed, err:" + err.Error()) + } + defer file.Close() // 创建文件 defer 关闭 + + _, err = file.Write(jsonData) + if err != nil { + return path, "", errors.New("写文件错误:" + err.Error()) + } + return path, filename, nil +} + +func (local *Local) GetJsonFile(name string) (map[string]any, error) { + path := local.Path + "/" + name + ".json" + file, err := os.Open(path) + if err != nil { + return nil, err + } + defer file.Close() + decoder := json.NewDecoder(file) + var data = make(map[string]any) + err = decoder.Decode(&data) + return data, err +} + +//@object: *Local +//@function: DeleteFile +//@description: 删除文件 +//@param: key string +//@return: error + +func (local *Local) DeleteFile(key string) error { + p := local.Path + "/" + key + if err := os.Remove(p); err != nil { + return errors.New("本地文件删除失败, err:" + err.Error()) + } + return nil +} + func GetFileMd5(filePath string) (string, error) { // 打开文件 file, err := os.Open(filePath) @@ -26,3 +204,9 @@ func GetFileMd5(filePath string) (string, error) { md5String := hex.EncodeToString(hashBytes) return md5String, nil } + +func MD5V(str []byte) string { + h := md5.New() + h.Write(str) + return hex.EncodeToString(h.Sum(nil)) +} diff --git a/pkg/tool/local.go b/pkg/tool/local.go deleted file mode 100644 index a5a000b..0000000 --- a/pkg/tool/local.go +++ /dev/null @@ -1,85 +0,0 @@ -package tool - -import ( - "crypto/md5" - "encoding/hex" - "errors" - "io" - "mime/multipart" - "os" - "pandax/pkg/global" - "path" - "strings" - "time" -) - -type Local struct { - Path string -} - -//@object: *Local -//@function: UploadFile -//@description: 上传文件 -//@param: file *multipart.FileHeader -//@return: string, string, error - -func (local *Local) UploadFile(file *multipart.FileHeader) (string, string, error) { - // 读取文件后缀 - ext := path.Ext(file.Filename) - // 读取文件名并加密 - name := strings.TrimSuffix(file.Filename, ext) - name = MD5V([]byte(name)) - // 拼接新文件名 - filename := name + "_" + time.Now().Format("20060102150405") + ext - // 尝试创建此路径 - mkdirErr := os.MkdirAll(local.Path, os.ModePerm) - if mkdirErr != nil { - global.Log.Error("function os.MkdirAll() Filed", mkdirErr.Error()) - return "", "", errors.New("function os.MkdirAll() Filed, err:" + mkdirErr.Error()) - } - // 拼接路径和文件名 - p := local.Path + "/" + filename - - f, openError := file.Open() // 读取文件 - if openError != nil { - global.Log.Error("function file.Open() Filed", openError.Error()) - return "", "", errors.New("function file.Open() Filed, err:" + openError.Error()) - } - defer f.Close() // 创建文件 defer 关闭 - - out, createErr := os.Create(p) - if createErr != nil { - global.Log.Error("function os.Create() Filed", createErr.Error()) - return "", "", errors.New("function os.Create() Filed, err:" + createErr.Error()) - } - defer out.Close() // 创建文件 defer 关闭 - - _, copyErr := io.Copy(out, f) // 传输(拷贝)文件 - if copyErr != nil { - global.Log.Error("function io.Copy() Filed", copyErr.Error()) - return "", "", errors.New("function io.Copy() Filed, err:" + copyErr.Error()) - } - return p, filename, nil -} - -//@object: *Local -//@function: DeleteFile -//@description: 删除文件 -//@param: key string -//@return: error - -func (local *Local) DeleteFile(key string) error { - p := local.Path + "/" + key - if strings.Contains(p, local.Path) { - if err := os.Remove(p); err != nil { - return errors.New("本地文件删除失败, err:" + err.Error()) - } - } - return nil -} - -func MD5V(str []byte) string { - h := md5.New() - h.Write(str) - return hex.EncodeToString(h.Sum(nil)) -}