add 代码生成导出excel

This commit is contained in:
yxh
2023-08-18 15:42:14 +08:00
parent b68f9fbbca
commit 61b8f655d4
18 changed files with 2162 additions and 57 deletions

View File

@@ -34,21 +34,21 @@ type sSysDictData struct {
}
// GetDictWithDataByType 通过字典键类型获取选项
func (s *sSysDictData) GetDictWithDataByType(ctx context.Context, req *system.GetDictReq) (dict *system.GetDictRes,
func (s *sSysDictData) GetDictWithDataByType(ctx context.Context, dictType, defaultValue string) (dict *system.GetDictRes,
err error) {
cache := service.Cache()
cacheKey := consts.CacheSysDict + "_" + req.DictType
cacheKey := consts.CacheSysDict + "_" + dictType
//从缓存获取
iDict := cache.GetOrSetFuncLock(ctx, cacheKey, func(ctx context.Context) (value interface{}, err error) {
err = g.Try(ctx, func(ctx context.Context) {
//从数据库获取
dict = &system.GetDictRes{}
//获取类型数据
err = dao.SysDictType.Ctx(ctx).Where(dao.SysDictType.Columns().DictType, req.DictType).
err = dao.SysDictType.Ctx(ctx).Where(dao.SysDictType.Columns().DictType, dictType).
Where(dao.SysDictType.Columns().Status, 1).Fields(model.DictTypeRes{}).Scan(&dict.Info)
liberr.ErrIsNil(ctx, err, "获取字典类型失败")
err = dao.SysDictData.Ctx(ctx).Fields(model.DictDataRes{}).
Where(dao.SysDictData.Columns().DictType, req.DictType).
Where(dao.SysDictData.Columns().DictType, dictType).
Order(dao.SysDictData.Columns().DictSort + " asc," +
dao.SysDictData.Columns().DictCode + " asc").
Scan(&dict.Values)
@@ -65,8 +65,8 @@ func (s *sSysDictData) GetDictWithDataByType(ctx context.Context, req *system.Ge
}
//设置给定的默认值
for _, v := range dict.Values {
if req.DefaultValue != "" {
if gstr.Equal(req.DefaultValue, v.DictValue) {
if defaultValue != "" {
if gstr.Equal(defaultValue, v.DictValue) {
v.IsDefault = 1
} else {
v.IsDefault = 0

View File

@@ -12,7 +12,7 @@ import (
)
type ISysDictData interface {
GetDictWithDataByType(ctx context.Context, req *system.GetDictReq) (dict *system.GetDictRes, err error)
GetDictWithDataByType(ctx context.Context, dictType, defaultValue string) (dict *system.GetDictRes, err error)
List(ctx context.Context, req *system.DictDataSearchReq) (res *system.DictDataSearchRes, err error)
Add(ctx context.Context, req *system.DictDataAddReq, userId uint64) (err error)
Get(ctx context.Context, dictCode uint) (res *system.DictDataGetRes, err error)