mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-05-14 15:42:12 +08:00
[fix]异常处理
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user