Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 1h43m42s
- 迁移 000221:新增 tb_business_user_group、tb_business_user_group_member、tb_shop_business_owner_import_task,成员一账号一行由部分唯一索引保证,店铺所属组按当前负责人实时推导,不回填历史分组。 - 用户组 CRUD、成员改组/清空归属、店铺批量交接(原子失败不部分写入)。 - 店铺负责人 CSV 导入任务:逐行独立事务、逐行明细、任务级与行级失败分离。 - 读侧推导与筛选:未分组、业务线、停用组可筛出并带停用标记。 - 补齐操作审计动作与资源、openapi 清单、发布门禁巡检表清单。 - 归档 add-shop-salesperson-groups 变更并同步 openspec/specs/business-user-group,补齐 AUG26-003 验证证据链。
52 lines
1.9 KiB
Go
52 lines
1.9 KiB
Go
package constants
|
|
|
|
// 业务用户组是平台用户的业务分类,只用于店铺负责人推导、筛选与批量维护,
|
|
// 不进入登录、角色权限或数据范围判定。
|
|
|
|
// 业务用户组所属业务线取值,来源于 AUG26-003 的三枚举,允许为空表示未分类。
|
|
const (
|
|
// BusinessLineStandard 表示标品业务线。
|
|
BusinessLineStandard = "standard"
|
|
// BusinessLineSmart 表示智能产品业务线。
|
|
BusinessLineSmart = "smart"
|
|
// BusinessLineOther 表示其他业务线。
|
|
BusinessLineOther = "other"
|
|
)
|
|
|
|
// GetBusinessLineName 返回业务线单值的中文名称,空值表示未设置业务线。
|
|
func GetBusinessLineName(businessLine string) string {
|
|
switch businessLine {
|
|
case BusinessLineStandard:
|
|
return "标品"
|
|
case BusinessLineSmart:
|
|
return "智能产品"
|
|
case BusinessLineOther:
|
|
return "其他"
|
|
default:
|
|
return ""
|
|
}
|
|
}
|
|
|
|
// IsValidBusinessLine 判断业务线单值是否合法;允许为空表示未设置业务线。
|
|
func IsValidBusinessLine(businessLine string) bool {
|
|
switch businessLine {
|
|
case "", BusinessLineStandard, BusinessLineSmart, BusinessLineOther:
|
|
return true
|
|
default:
|
|
return false
|
|
}
|
|
}
|
|
|
|
// 业务用户组维护入口的角色约束与统一失败文案。
|
|
const (
|
|
// PlatformManagementForbiddenMessage 表示非超级管理员/平台账号访问平台维护入口的统一失败文案。
|
|
PlatformManagementForbiddenMessage = "无权限操作该资源或资源不存在"
|
|
)
|
|
|
|
// IsAvailablePlatformBusinessOwner 判定账号是否为当前有效的平台业务员。
|
|
// 语义为「平台用户 + 启用 + 未软删」,供本 Change 的成员维护、批量交接与导入共用;
|
|
// 既有内联判定按 As-Is 保留,不回改。需要数据库条件的调用方自行在查询中表达同一条件。
|
|
func IsAvailablePlatformBusinessOwner(userType, status int, deleted bool) bool {
|
|
return userType == UserTypePlatform && status == StatusEnabled && !deleted
|
|
}
|