sync: 同步 v1.0.4 并脱敏配置与镜像

This commit is contained in:
MiFaZhan
2026-10-29 14:36:49 +08:00
parent 743e8e6e6e
commit 2206a393f7
516 changed files with 18119 additions and 2253 deletions
@@ -51,7 +51,7 @@ func applyStockBusinessFilters(ctx context.Context, mod *gdb.Model, filter stock
stockTable,
stockColumns.ChanKey,
channelColumns.TenantId,
channelColumns.ChanName,
channelDisplayNameColumn(ctx),
channelColumns.ChanKey,
),
contexts.GetTenantId(ctx),
@@ -144,12 +144,16 @@ func enrichStockListBusinessFields(ctx context.Context, list []*model.TSimCardSt
batchNos := make([]string, 0, len(list))
chanKeys := make([]string, 0, len(list))
deptIds := make([]int64, 0, len(list))
for _, item := range list {
if item == nil {
continue
}
batchNos = appendUniqueNonBlank(batchNos, item.BatchNo)
chanKeys = appendUniqueNonBlank(chanKeys, item.ChanKey)
if item.CreatedDept > 0 {
deptIds = append(deptIds, item.CreatedDept)
}
}
batchMap, err := loadStockBatchBusinessFields(ctx, batchNos)
@@ -167,6 +171,10 @@ func enrichStockListBusinessFields(ctx context.Context, list []*model.TSimCardSt
if err != nil {
return err
}
deptMap, err := loadStockDeptNames(ctx, deptIds)
if err != nil {
return err
}
for _, item := range list {
if item == nil {
@@ -178,6 +186,7 @@ func enrichStockListBusinessFields(ctx context.Context, list []*model.TSimCardSt
item.UpPkgCode = fields.UpPkgCode
item.UpPkgName = fields.UpPkgName
item.AgreementExpiryDate = fields.AgreementExpiryDate
item.CreatedDeptName = deptMap[item.CreatedDept]
}
return nil
}
@@ -419,7 +428,7 @@ func loadStockChannelNames(ctx context.Context, chanKeys []string) (map[string]s
var rows []*channelRow
columns := dao.TSimChannels.Columns()
if err := dao.TSimChannels.Ctx(ctx).
Fields(columns.ChanKey, columns.ChanName).
Fields(columns.ChanKey, channelDisplayNameSQL(ctx, dao.TSimChannels.Table())+" AS chan_name").
Where(columns.TenantId, contexts.GetTenantId(ctx)).
WhereIn(columns.ChanKey, chanKeys).
Scan(&rows); err != nil {
@@ -433,6 +442,51 @@ func loadStockChannelNames(ctx context.Context, chanKeys []string) (map[string]s
return result, nil
}
// loadStockDeptNames 批量补充创建部门名称(sys_dept.dept_id -> dept_name)。
func loadStockDeptNames(ctx context.Context, deptIds []int64) (map[int64]string, error) {
result := make(map[int64]string)
deptIds = uniqueInt64(deptIds)
if len(deptIds) == 0 {
return result, nil
}
type deptRow struct {
DeptId int64 `orm:"dept_id"`
DeptName string `orm:"dept_name"`
}
var rows []*deptRow
columns := dao.SysDept.Columns()
mod := dao.SysDept.Ctx(ctx).
Fields(columns.DeptId, columns.DeptName).
WhereIn(columns.DeptId, deptIds)
if tenantId := strings.TrimSpace(contexts.GetTenantId(ctx)); tenantId != "" {
mod = mod.Where(columns.TenantId, tenantId)
}
if err := mod.Scan(&rows); err != nil {
return nil, gerror.Wrap(err, "补充创建部门名称失败")
}
for _, row := range rows {
if row != nil && row.DeptId > 0 {
result[row.DeptId] = row.DeptName
}
}
return result, nil
}
// uniqueInt64 去重并剔除非正的部门ID。
func uniqueInt64(values []int64) []int64 {
seen := make(map[int64]bool, len(values))
result := make([]int64, 0, len(values))
for _, value := range values {
if value <= 0 || seen[value] {
continue
}
seen[value] = true
result = append(result, value)
}
return result
}
func loadStockUpstreamPackageNames(ctx context.Context, upPkgCodes []string) (map[string]string, error) {
result := make(map[string]string)
upPkgCodes = uniqueNonBlank(upPkgCodes)