From c2e3194d04edb97efb9d968026928107a181d95b Mon Sep 17 00:00:00 2001
From: 李曜臣
Date: Fri, 8 May 2026 21:07:16 +0800
Subject: [PATCH] 登陆优化;产品-门店绑定优化
---
标签模块接口对接说明.md | 34 ++++++++++++++++++++++++++++++----
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/Dtos/Product/ProductCreateInputVo.cs | 8 ++++++++
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/IProductAppService.cs | 7 +++++++
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/ProductAppService.cs | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/UsAppAuthAppService.cs | 11 ++++++++---
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs | 6 ------
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/ObjectMapping/RbacMapsterRegister.cs | 26 ++++++++++++++++++++++++++
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs | 10 ++++++++--
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/MenuParentIdConverter.cs | 26 ++++++++++++++++++++++++++
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/MenuAggregateRoot.cs | 24 +++++++++++++-----------
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs | 8 +++-----
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/UserManager.cs | 3 ++-
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuPureDataSeed.cs | 74 +++++++++++++++++++++++++++++++++++++-------------------------------------
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuRuoYiDataSeed.cs | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuVben5DataSeed.cs | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
美国版/Food Labeling Management Platform/src/components/products/ProductsView.tsx | 66 +++++++++++++++++++++++++++++++++++++++++++-----------------------
项目相关文档/本次新增与优化接口汇总.md | 1 +
项目相关文档/标签模块接口对接说明.md | 34 ++++++++++++++++++++++++++++++----
18 files changed, 427 insertions(+), 206 deletions(-)
create mode 100644 美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/ObjectMapping/RbacMapsterRegister.cs
create mode 100644 美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/MenuParentIdConverter.cs
diff --git a/标签模块接口对接说明.md b/标签模块接口对接说明.md
index 5a88ce2..b002b2b 100644
--- a/标签模块接口对接说明.md
+++ b/标签模块接口对接说明.md
@@ -574,6 +574,10 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI
入参:
- `id`:产品Id(`fl_product.Id`)
+返回(`ProductGetOutputDto`,与实现一致的主要字段):
+- `id`、`productCode`、`productName`、`categoryId`、`categoryName`、`productImageUrl`、`state`
+- **`locationIds`**:`string[]`,该产品在 **`fl_location_product`** 中绑定的门店 Id(去重);无关联时为空数组
+
### 6.3 新增产品
方法:`POST /api/app/product`
@@ -583,15 +587,30 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI
{
"productCode": "PRD_TEST_001",
"productName": "Chicken",
- "categoryName": "Meat",
+ "categoryId": "a2696b9e-2277-11f1-b4c6-00163e0c7c4f",
"productImageUrl": "https://example.com/img.png",
- "state": true
+ "state": true,
+ "locationIds": [
+ "11111111-1111-1111-1111-111111111111",
+ "22222222-2222-2222-2222-222222222222"
+ ]
}
```
+字段说明:
+| 字段 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| `productCode` | string | 是 | 产品编码 |
+| `productName` | string | 是 | 产品名称 |
+| `categoryId` | string \| null | 否 | 产品分类 Id(`fl_product_category.id`) |
+| `productImageUrl` | string \| null | 否 | 主图 URL |
+| `state` | bool | 否 | 默认 `true` |
+| **`locationIds`** | `string[]` \| **省略** | 否 | **可选。** 有该字段时:在同一事务内按列表批量写入 **`fl_location_product`**(**每个门店 Id 一行**,即「一产品一门店一条关联」)。**请求体中省略该字段**时:本接口不写门店关联,仍可通过 **§7 Product-Location** 维护。传空数组 `[]` 表示新建产品后不绑定任何门店。 |
+
校验:
-- `productCode/productName` 不能为空
+- `productCode` / `productName` 不能为空
- `productCode` 不能与未删除的数据重复
+- 若传入 **`locationIds`** 且含非空项:每个 Id 须为合法 Guid,且对应门店存在于 **`Location`** 主数据且未删除;否则返回友好错误(如「门店Id格式不正确」「门店不存在」)
### 6.4 编辑产品
@@ -599,7 +618,13 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI
入参:
- Path:`id` 为当前产品Id(`fl_product.Id`)
-- Body:字段同新增(`ProductUpdateInputVo`)
+- Body:字段同新增(`ProductUpdateInputVo`,继承 `ProductCreateInputVo`)
+
+**`locationIds` 行为(与新增不同,请注意):**
+- **请求体中省略 `locationIds` 属性**:不修改 **`fl_location_product`**(仅更新 `fl_product` 主表字段;兼容原「先 PUT 产品再调 §7 同步门店」的调用方式)。
+- **请求体中包含 `locationIds` 属性**(含空数组 `[]`):对该产品的门店关联做 **整表替换**——先删除本产品下全部 **`fl_location_product`** 行,再按列表逐条插入;`[]` 表示解除该产品与所有门店的关联。
+
+其它校验同 **§6.3**(含门店存在性校验,当 `locationIds` 含非空项时)。
### 6.5 删除(逻辑删除)
@@ -613,6 +638,7 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI
说明:
- 关联表:`fl_location_product`
+- 也可在 **§6.3 / §6.4** 通过产品 Body 的 **`locationIds`** 一次性维护本产品在各门店的关联(与 §7 写入同一张表);二者可并存,按需选择调用方式。
- 关联按门店进行批量替换:
- `Create`:在门店下新增未存在的 product 关联
- `Update`:替换该门店下全部关联(先删后建)
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/Dtos/Product/ProductCreateInputVo.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/Dtos/Product/ProductCreateInputVo.cs
index 16a4335..3ed7135 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/Dtos/Product/ProductCreateInputVo.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/Dtos/Product/ProductCreateInputVo.cs
@@ -1,3 +1,5 @@
+using System.Collections.Generic;
+
namespace FoodLabeling.Application.Contracts.Dtos.Product;
public class ProductCreateInputVo
@@ -11,5 +13,11 @@ public class ProductCreateInputVo
public string? ProductImageUrl { get; set; }
public bool State { get; set; } = true;
+
+ ///
+ /// 可选。门店 Id 列表;每个 Id 在 fl_location_product 落一行(同一 fl_product 可对应多门店)。
+ /// 不传或空列表则不在本接口写入门店关联(仍可用 product-location 接口维护)。
+ ///
+ public List? LocationIds { get; set; }
}
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/IProductAppService.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/IProductAppService.cs
index c0f0cbd..4193329 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/IProductAppService.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/IServices/IProductAppService.cs
@@ -23,11 +23,18 @@ public interface IProductAppService : IApplicationService
///
/// 新增产品
///
+ ///
+ /// 若 有值,将在同一事务内批量写入 fl_location_product(一门店一条)。
+ ///
Task CreateAsync(ProductCreateInputVo input);
///
/// 编辑产品
///
+ ///
+ /// 当请求体包含 属性时,按该列表整表替换本产品在各门店的关联;
+ /// 不传该属性则不改门店关联(兼容仅改名称/分类等调用)。
+ ///
Task UpdateAsync(string id, ProductUpdateInputVo input);
///
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/ProductAppService.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/ProductAppService.cs
index 0bd17df..6b04d91 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/ProductAppService.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/ProductAppService.cs
@@ -3,6 +3,7 @@ using FoodLabeling.Application.Contracts.Dtos.Common;
using FoodLabeling.Application.Contracts.Dtos.Product;
using FoodLabeling.Application.Contracts.IServices;
using FoodLabeling.Application.Services.DbModels;
+using FoodLabeling.Domain.Entities;
using SqlSugar;
using Volo.Abp;
using Volo.Abp.Application.Services;
@@ -188,6 +189,13 @@ public class ProductAppService : ApplicationService, IProductAppService
};
await _dbContext.SqlSugarClient.Insertable(entity).ExecuteCommandAsync();
+
+ if (input.LocationIds is not null)
+ {
+ var locIds = await NormalizeAndValidateLocationIdsAsync(input.LocationIds);
+ await ReplaceProductLocationLinksAsync(entity.Id, locIds);
+ }
+
return await GetAsync(entity.Id);
}
@@ -228,6 +236,13 @@ public class ProductAppService : ApplicationService, IProductAppService
entity.State = input.State;
await _dbContext.SqlSugarClient.Updateable(entity).ExecuteCommandAsync();
+
+ if (input.LocationIds is not null)
+ {
+ var locIds = await NormalizeAndValidateLocationIdsAsync(input.LocationIds);
+ await ReplaceProductLocationLinksAsync(productId, locIds);
+ }
+
return await GetAsync(productId);
}
@@ -251,6 +266,66 @@ public class ProductAppService : ApplicationService, IProductAppService
await _dbContext.SqlSugarClient.Updateable(entity).ExecuteCommandAsync();
}
+ ///
+ /// 去重、校验门店 Id 格式与存在性。
+ ///
+ private async Task> NormalizeAndValidateLocationIdsAsync(IEnumerable rawIds)
+ {
+ var distinct = rawIds
+ .Where(x => !string.IsNullOrWhiteSpace(x))
+ .Select(x => x.Trim())
+ .Distinct(StringComparer.Ordinal)
+ .ToList();
+
+ if (distinct.Count == 0)
+ {
+ return new List();
+ }
+
+ foreach (var id in distinct)
+ {
+ if (!Guid.TryParse(id, out _))
+ {
+ throw new UserFriendlyException("门店Id格式不正确");
+ }
+ }
+
+ var guidList = distinct.Select(Guid.Parse).ToList();
+ var existCount = await _dbContext.SqlSugarClient.Queryable()
+ .Where(x => !x.IsDeleted && guidList.Contains(x.Id))
+ .CountAsync();
+ if (existCount != distinct.Count)
+ {
+ throw new UserFriendlyException("门店不存在");
+ }
+
+ return distinct;
+ }
+
+ ///
+ /// 按产品维度替换 fl_location_product:先删本产品全部关联,再按列表插入(每门店一行)。
+ ///
+ private async Task ReplaceProductLocationLinksAsync(string productId, List locationIds)
+ {
+ await _dbContext.SqlSugarClient.Deleteable()
+ .Where(x => x.ProductId == productId)
+ .ExecuteCommandAsync();
+
+ if (locationIds.Count == 0)
+ {
+ return;
+ }
+
+ var rows = locationIds.Select(lid => new FlLocationProductDbEntity
+ {
+ Id = _guidGenerator.Create().ToString(),
+ LocationId = lid,
+ ProductId = productId
+ }).ToList();
+
+ await _dbContext.SqlSugarClient.Insertable(rows).ExecuteCommandAsync();
+ }
+
private static PagedResultWithPageDto BuildPagedResult(int skipCount, int maxResultCount, int total, List items)
{
var pageSize = maxResultCount <= 0 ? items.Count : maxResultCount;
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/UsAppAuthAppService.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/UsAppAuthAppService.cs
index deacda1..1a8fd09 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/UsAppAuthAppService.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application/Services/UsAppAuthAppService.cs
@@ -413,16 +413,21 @@ public class UsAppAuthAppService : ApplicationService, IUsAppAuthAppService
}
///
- /// 按邮箱查找未删除且启用的用户(邮箱比较忽略大小写)
+ /// 按邮箱或用户名(邮箱形字符串写在 UserName 时)查找未删除且启用的用户;比较忽略大小写,Email 命中优先。
///
private async Task FindActiveUserByEmailAsync(string email)
{
var normalized = email.Trim().ToLowerInvariant();
var users = await _userRepository._DbQueryable
.Where(u => !u.IsDeleted && u.State == true)
- .Where(u => u.Email != null && SqlFunc.ToLower(u.Email) == normalized)
+ .Where(u =>
+ (u.Email != null && SqlFunc.ToLower(u.Email) == normalized) ||
+ SqlFunc.ToLower(u.UserName) == normalized)
.ToListAsync();
- return users.FirstOrDefault();
+ return users.FirstOrDefault(u =>
+ u.Email != null &&
+ string.Equals(u.Email.Trim(), normalized, StringComparison.OrdinalIgnoreCase))
+ ?? users.FirstOrDefault();
}
private string CreateAppAccessToken(UserAggregateRoot user)
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
index e06151a..e51810e 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/IServices/IAccountService.cs
@@ -14,12 +14,6 @@ namespace Yi.Framework.Rbac.Application.Contracts.IServices
Task RestPasswordAsync(Guid userId, RestPasswordDto input);
///
- /// 提供其他服务使用,根据用户id,直接返回token
- ///
- ///
- Task PostLoginAsync(Guid userId);
-
- ///
/// 根据信息查询用户,可能为空,代表该用户不存在或禁用
///
///
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/ObjectMapping/RbacMapsterRegister.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/ObjectMapping/RbacMapsterRegister.cs
new file mode 100644
index 0000000..bbeeb64
--- /dev/null
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/ObjectMapping/RbacMapsterRegister.cs
@@ -0,0 +1,26 @@
+using Mapster;
+using Yi.Framework.Rbac.Application.Contracts.Dtos.Menu;
+using Yi.Framework.Rbac.Domain.Entities;
+using Yi.Framework.Rbac.Domain.Shared;
+using Yi.Framework.Rbac.Domain.Shared.Dtos;
+
+namespace Yi.Framework.Rbac.Application.ObjectMapping;
+
+///
+/// Menu.ParentId 实体为字符串,对外 DTO 仍为 。
+///
+public class RbacMapsterRegister : IRegister
+{
+ public void Register(TypeAdapterConfig config)
+ {
+ config.NewConfig()
+ .Map(d => d.ParentId, s => MenuParentIdConverter.ToGuid(s.ParentId));
+
+ config.NewConfig()
+ .Map(d => d.ParentId, s => MenuParentIdConverter.ToGuid(s.ParentId));
+
+ // 登录组装用户信息时使用;库中 ParentId 可能为 "0",不能交给 Mapster 默认 string→Guid
+ config.NewConfig()
+ .Map(d => d.ParentId, s => MenuParentIdConverter.ToGuid(s.ParentId));
+ }
+}
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs
index efbdc4c..2b58f5a 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs
@@ -115,11 +115,17 @@ namespace Yi.Framework.Rbac.Application.Services
ValidationImageCaptcha(input.Uuid,input.Code);
var normalized = email.ToLowerInvariant();
+ // 平台登录框为「邮箱」:优先按 Email 匹配;若历史账号仅把邮箱形字符串写在 UserName、Email 为空,则按 UserName 匹配。
var candidates = await _userRepository._DbQueryable
.Where(u => !u.IsDeleted && u.State == true)
- .Where(u => u.Email != null && SqlFunc.ToLower(u.Email) == normalized)
+ .Where(u =>
+ (u.Email != null && SqlFunc.ToLower(u.Email) == normalized) ||
+ SqlFunc.ToLower(u.UserName) == normalized)
.ToListAsync();
- var user = candidates.FirstOrDefault();
+ var user = candidates.FirstOrDefault(u =>
+ u.Email != null &&
+ string.Equals(u.Email.Trim(), normalized, StringComparison.OrdinalIgnoreCase))
+ ?? candidates.FirstOrDefault();
if (user is null)
{
throw new UserFriendlyException("Sign-in failed: account not found.");
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/MenuParentIdConverter.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/MenuParentIdConverter.cs
new file mode 100644
index 0000000..77f2a96
--- /dev/null
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/MenuParentIdConverter.cs
@@ -0,0 +1,26 @@
+namespace Yi.Framework.Rbac.Domain.Shared;
+
+///
+/// Menu.ParentId 在部分库中为 varchar(如根节点为 0),与 ORM 中 Guid 映射不一致时会导致 SqlSugar 绑定失败;统一用字符串落库并在需要时转为 。
+///
+public static class MenuParentIdConverter
+{
+ public static bool IsRoot(string? raw) =>
+ string.IsNullOrWhiteSpace(raw) ||
+ raw.Trim() == "0" ||
+ string.Equals(raw.Trim(), Guid.Empty.ToString(), StringComparison.OrdinalIgnoreCase);
+
+ public static Guid ToGuid(string? raw)
+ {
+ if (IsRoot(raw))
+ {
+ return Guid.Empty;
+ }
+
+ var t = raw!.Trim();
+ return Guid.TryParse(t, out var g) ? g : Guid.Empty;
+ }
+
+ /// 写入数据库:根节点与历史库对齐为 0,否则为标准 GUID 字符串。
+ public static string FromGuid(Guid g) => g == Guid.Empty ? "0" : g.ToString("D");
+}
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/MenuAggregateRoot.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/MenuAggregateRoot.cs
index 9ede281..9604c9b 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/MenuAggregateRoot.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/MenuAggregateRoot.cs
@@ -1,4 +1,4 @@
-using System.Text.RegularExpressions;
+using System.Text.RegularExpressions;
using System.Web;
using NUglify.Helpers;
using SqlSugar;
@@ -7,6 +7,7 @@ using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;
using Yi.Framework.Core.Data;
using Yi.Framework.Core.Helper;
+using Yi.Framework.Rbac.Domain.Shared;
using Yi.Framework.Rbac.Domain.Shared.Dtos;
using Yi.Framework.Rbac.Domain.Shared.Enums;
@@ -25,13 +26,13 @@ namespace Yi.Framework.Rbac.Domain.Entities
public MenuAggregateRoot(Guid id)
{
Id = id;
- ParentId = Guid.Empty;
+ ParentId = MenuParentIdConverter.FromGuid(Guid.Empty);
}
public MenuAggregateRoot(Guid id, Guid parentId)
{
Id = id;
- ParentId = parentId;
+ ParentId = MenuParentIdConverter.FromGuid(parentId);
}
///
@@ -100,8 +101,9 @@ namespace Yi.Framework.Rbac.Domain.Entities
///
///
///
+ /// 父级菜单 Id;库中多为 varchar(如根为 0 或 GUID 文本)。
[SugarColumn(ColumnName = "ParentId")]
- public Guid ParentId { get; set; }
+ public string ParentId { get; set; } = "0";
///
/// 菜单图标
@@ -183,7 +185,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
r.OrderNum = m.OrderNum;
var routerName = m.Router?.Split("/").LastOrDefault();
r.Id = m.Id;
- r.ParentId = m.ParentId;
+ r.ParentId = MenuParentIdConverter.ToGuid(m.ParentId);
//开头大写
r.Name = routerName?.First().ToString().ToUpper() + routerName?.Substring(1);
@@ -197,7 +199,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
r.AlwaysShow = true;
//判断是否为最顶层的路由
- if (Guid.Empty == m.ParentId)
+ if (MenuParentIdConverter.IsRoot(m.ParentId))
{
r.Component = "Layout";
}
@@ -250,7 +252,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
var r = new Vue3RouterDto();
r.OrderNum = m.OrderNum;
r.Id = m.Id;
- r.ParentId = m.ParentId;
+ r.ParentId = MenuParentIdConverter.ToGuid(m.ParentId);
r.Hidden = !m.IsShow;
// 检测是否为 URL 链接(http:// 或 https:// 开头)
@@ -359,7 +361,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
r.AlwaysShow = false;
// 判断是否为最顶层的路由
- if (Guid.Empty == m.ParentId)
+ if (MenuParentIdConverter.IsRoot(m.ParentId))
{
r.Component = "Layout";
}
@@ -385,7 +387,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
r.AlwaysShow = true;
// 判断是否为最顶层的路由
- if (Guid.Empty == m.ParentId)
+ if (MenuParentIdConverter.IsRoot(m.ParentId))
{
r.Component = "Layout";
}
@@ -449,7 +451,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
},
Children =null,
Id = m.Id,
- ParentId = m.ParentId
+ ParentId = MenuParentIdConverter.ToGuid(m.ParentId)
})
.ToList();
@@ -487,7 +489,7 @@ namespace Yi.Framework.Rbac.Domain.Entities
var treeDto = new MenuTreeDto
{
Id = m.Id,
- ParentId = m.ParentId,
+ ParentId = MenuParentIdConverter.ToGuid(m.ParentId),
OrderNum = m.OrderNum,
MenuName = m.MenuName,
MenuType = m.MenuType,
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs
index f2b393e..1a9193b 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs
@@ -1,4 +1,4 @@
-using System.IdentityModel.Tokens.Jwt;
+using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
using Mapster;
@@ -77,10 +77,8 @@ namespace Yi.Framework.Rbac.Domain.Managers
{
throw new UserFriendlyException(UserConst.No_Role);
}
- if (!userInfo.PermissionCodes.Any())
- {
- throw new UserFriendlyException(UserConst.No_Permission);
- }
+
+ // 菜单表 PermissionCode 可未落库;当前以角色及角色-菜单绑定为准,不要求 PermissionCodes 非空
if (getUserInfo is not null)
{
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/UserManager.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/UserManager.cs
index cb05705..d826efa 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/UserManager.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/UserManager.cs
@@ -1,4 +1,4 @@
-using System.Text.RegularExpressions;
+using System.Text.RegularExpressions;
using Mapster;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.DependencyInjection;
@@ -10,6 +10,7 @@ using Volo.Abp.EventBus.Local;
using Volo.Abp.Guids;
using Yi.Framework.Rbac.Domain.Entities;
using Yi.Framework.Rbac.Domain.Repositories;
+using Yi.Framework.Rbac.Domain.Shared;
using Yi.Framework.Rbac.Domain.Shared.Caches;
using Yi.Framework.Rbac.Domain.Shared.Consts;
using Yi.Framework.Rbac.Domain.Shared.Dtos;
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuPureDataSeed.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuPureDataSeed.cs
index 3eaf7d6..7365854 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuPureDataSeed.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuPureDataSeed.cs
@@ -87,7 +87,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Router = "/system/user/index",
MenuIcon = "ri:admin-line",
OrderNum = 100,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
RouterName = "SystemUser"
};
entities.Add(user);
@@ -99,7 +99,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userQuery);
@@ -111,7 +111,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userAdd);
@@ -123,7 +123,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userEdit);
@@ -135,7 +135,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userRemove);
@@ -148,7 +148,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:resetPwd",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userResetPwd);
@@ -164,7 +164,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Router = "/system/role/index",
MenuIcon = "ri:admin-fill",
OrderNum = 99,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
RouterName = "SystemRole"
};
entities.Add(role);
@@ -176,7 +176,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleQuery);
@@ -188,7 +188,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleAdd);
@@ -200,7 +200,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleEdit);
@@ -212,7 +212,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleRemove);
@@ -228,7 +228,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Router = "/system/menu/index",
MenuIcon = "ep:menu",
OrderNum = 98,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
RouterName = "SystemMenu"
};
entities.Add(menu);
@@ -240,7 +240,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuQuery);
@@ -252,7 +252,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuAdd);
@@ -264,7 +264,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuEdit);
@@ -276,7 +276,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuRemove);
@@ -291,7 +291,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Router = "/system/dept/index",
MenuIcon = "ri:git-branch-line",
OrderNum = 97,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
RouterName = "SystemDept"
};
entities.Add(dept);
@@ -303,7 +303,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptQuery);
@@ -315,7 +315,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptAdd);
@@ -327,7 +327,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptEdit);
@@ -339,7 +339,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptRemove);
@@ -356,7 +356,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Router = "/system/post/index",
MenuIcon = "ant-design:deployment-unit-outlined",
OrderNum = 96,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
RouterName = "SystemPost"
};
entities.Add(post);
@@ -368,7 +368,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postQuery);
@@ -380,7 +380,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postAdd);
@@ -392,7 +392,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postEdit);
@@ -404,7 +404,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postRemove);
@@ -420,7 +420,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Router = "/monitor/operation-logs",
MenuIcon = "ri:history-fill",
OrderNum = 100,
- ParentId = monitoring.Id,
+ ParentId = monitoring.Id.ToString(),
RouterName = "OperationLog",
Component = "monitor/logs/operation/index"
};
@@ -433,7 +433,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:operlog:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = operationLog.Id,
+ ParentId = operationLog.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLogQuery);
@@ -445,7 +445,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:operlog:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = operationLog.Id,
+ ParentId = operationLog.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLogRemove);
@@ -465,7 +465,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "monitor/logs/login/index",
MenuIcon = "ri:window-line",
OrderNum = 100,
- ParentId = monitoring.Id,
+ ParentId = monitoring.Id.ToString(),
RouterName = "LoginLog",
};
entities.Add(loginLog);
@@ -477,7 +477,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:logininfor:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = loginLog.Id,
+ ParentId = loginLog.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLogQuery);
@@ -489,7 +489,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:logininfor:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = loginLog.Id,
+ ParentId = loginLog.Id.ToString(),
IsDeleted = false,
};
@@ -509,7 +509,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "/system/config/index",
MenuIcon = "ri:edit-box-line",
OrderNum = 94,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(config);
@@ -521,7 +521,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configQuery);
@@ -533,7 +533,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configAdd);
@@ -545,7 +545,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configEdit);
@@ -557,7 +557,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configRemove);
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuRuoYiDataSeed.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuRuoYiDataSeed.cs
index f00d25c..eb024b2 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuRuoYiDataSeed.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuRuoYiDataSeed.cs
@@ -88,7 +88,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "code/field/index",
MenuIcon = "number",
OrderNum = 99,
- ParentId = code.Id,
+ ParentId = code.Id.ToString(),
IsDeleted = false
};
entities.Add(field);
@@ -599,7 +599,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/tenant/index",
MenuIcon = "list",
OrderNum = 101,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(tenant);
@@ -611,7 +611,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantQuery);
@@ -623,7 +623,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantAdd);
@@ -635,7 +635,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantEdit);
@@ -647,7 +647,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantRemove);
@@ -677,7 +677,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/user/index",
MenuIcon = "user",
OrderNum = 100,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(user);
@@ -689,7 +689,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userQuery);
@@ -701,7 +701,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userAdd);
@@ -713,7 +713,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userEdit);
@@ -725,7 +725,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userRemove);
@@ -738,7 +738,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:resetPwd",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userResetPwd);
@@ -758,7 +758,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/role/index",
MenuIcon = "peoples",
OrderNum = 99,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(role);
@@ -770,7 +770,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleQuery);
@@ -782,7 +782,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleAdd);
@@ -794,7 +794,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleEdit);
@@ -806,7 +806,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleRemove);
@@ -826,7 +826,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/menu/index",
MenuIcon = "tree-table",
OrderNum = 98,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(menu);
@@ -838,7 +838,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuQuery);
@@ -850,7 +850,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuAdd);
@@ -862,7 +862,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuEdit);
@@ -874,7 +874,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuRemove);
@@ -893,7 +893,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/dept/index",
MenuIcon = "tree",
OrderNum = 97,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(dept);
@@ -905,7 +905,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptQuery);
@@ -917,7 +917,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptAdd);
@@ -929,7 +929,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptEdit);
@@ -941,7 +941,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptRemove);
@@ -962,7 +962,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/post/index",
MenuIcon = "post",
OrderNum = 96,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(post);
@@ -974,7 +974,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postQuery);
@@ -986,7 +986,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postAdd);
@@ -998,7 +998,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postEdit);
@@ -1010,7 +1010,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postRemove);
@@ -1029,7 +1029,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/dict/index",
MenuIcon = "dict",
OrderNum = 95,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(dict);
@@ -1041,7 +1041,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictQuery);
@@ -1053,7 +1053,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictAdd);
@@ -1065,7 +1065,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictEdit);
@@ -1077,7 +1077,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictRemove);
@@ -1097,7 +1097,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/config/index",
MenuIcon = "edit",
OrderNum = 94,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(config);
@@ -1109,7 +1109,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configQuery);
@@ -1121,7 +1121,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configAdd);
@@ -1133,7 +1133,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configEdit);
@@ -1145,7 +1145,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configRemove);
@@ -1167,7 +1167,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/notice/index",
MenuIcon = "message",
OrderNum = 93,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(notice);
@@ -1179,7 +1179,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeQuery);
@@ -1191,7 +1191,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeAdd);
@@ -1203,7 +1203,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeEdit);
@@ -1215,7 +1215,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeRemove);
@@ -1233,7 +1233,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
IsLink = false,
MenuIcon = "log",
OrderNum = 92,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(log);
@@ -1252,7 +1252,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "monitor/operlog/index",
MenuIcon = "form",
OrderNum = 100,
- ParentId = log.Id,
+ ParentId = log.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLog);
@@ -1264,7 +1264,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:operlog:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = operationLog.Id,
+ ParentId = operationLog.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLogQuery);
@@ -1276,7 +1276,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:operlog:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = operationLog.Id,
+ ParentId = operationLog.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLogRemove);
@@ -1296,7 +1296,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "monitor/logininfor/index",
MenuIcon = "logininfor",
OrderNum = 100,
- ParentId = log.Id,
+ ParentId = log.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLog);
@@ -1308,7 +1308,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:logininfor:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = loginLog.Id,
+ ParentId = loginLog.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLogQuery);
@@ -1320,7 +1320,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:logininfor:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = loginLog.Id,
+ ParentId = loginLog.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLogRemove);
diff --git a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuVben5DataSeed.cs b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuVben5DataSeed.cs
index f6437dd..7db6b19 100644
--- a/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuVben5DataSeed.cs
+++ b/美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuVben5DataSeed.cs
@@ -1,4 +1,4 @@
-using Volo.Abp.Data;
+using Volo.Abp.Data;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Guids;
using Yi.Framework.Rbac.Domain.Entities;
@@ -88,7 +88,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
// Component = "code/field/index",
// MenuIcon = "tabler:file-code",
// OrderNum = 99,
- // ParentId = code.Id,
+ // ParentId = code.Id.ToString(),
// IsDeleted = false
// };
// entities.Add(field);
@@ -251,7 +251,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/tenant/index",
MenuIcon = "tabler:users",
OrderNum = 101,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(tenant);
@@ -263,7 +263,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantQuery);
@@ -275,7 +275,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantAdd);
@@ -287,7 +287,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantEdit);
@@ -299,7 +299,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:tenant:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = tenant.Id,
+ ParentId = tenant.Id.ToString(),
IsDeleted = false
};
entities.Add(tenantRemove);
@@ -318,7 +318,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/user/index",
MenuIcon = "tabler:user",
OrderNum = 100,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(user);
@@ -330,7 +330,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userQuery);
@@ -342,7 +342,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userAdd);
@@ -354,7 +354,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userEdit);
@@ -366,7 +366,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userRemove);
@@ -379,7 +379,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:user:resetPwd",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = user.Id,
+ ParentId = user.Id.ToString(),
IsDeleted = false
};
entities.Add(userResetPwd);
@@ -399,7 +399,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/role/index",
MenuIcon = "eos-icons:role-binding-outlined",
OrderNum = 99,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(role);
@@ -411,7 +411,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleQuery);
@@ -423,7 +423,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleAdd);
@@ -435,7 +435,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleEdit);
@@ -447,7 +447,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:role:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = role.Id,
+ ParentId = role.Id.ToString(),
IsDeleted = false
};
entities.Add(roleRemove);
@@ -466,7 +466,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
MenuIcon = "tabler:user-shield",
OrderNum = 15,
IsDeleted = false,
- ParentId = system.Id
+ ParentId = system.Id.ToString()
};
entities.Add(roleAuthUser);
@@ -485,7 +485,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/menu/index",
MenuIcon = "ic:sharp-menu",
OrderNum = 98,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(menu);
@@ -497,7 +497,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuQuery);
@@ -509,7 +509,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuAdd);
@@ -521,7 +521,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuEdit);
@@ -533,7 +533,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:menu:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = menu.Id,
+ ParentId = menu.Id.ToString(),
IsDeleted = false
};
entities.Add(menuRemove);
@@ -552,7 +552,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/dept/index",
MenuIcon = "mingcute:department-line",
OrderNum = 97,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(dept);
@@ -564,7 +564,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptQuery);
@@ -576,7 +576,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptAdd);
@@ -588,7 +588,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptEdit);
@@ -600,7 +600,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dept:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dept.Id,
+ ParentId = dept.Id.ToString(),
IsDeleted = false
};
entities.Add(deptRemove);
@@ -621,7 +621,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/post/index",
MenuIcon = "tabler:user-star",
OrderNum = 96,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(post);
@@ -633,7 +633,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postQuery);
@@ -645,7 +645,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postAdd);
@@ -657,7 +657,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postEdit);
@@ -669,7 +669,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:post:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = post.Id,
+ ParentId = post.Id.ToString(),
IsDeleted = false
};
entities.Add(postRemove);
@@ -688,7 +688,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/dict/index",
MenuIcon = "fluent-mdl2:dictionary",
OrderNum = 95,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(dict);
@@ -700,7 +700,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictQuery);
@@ -712,7 +712,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictAdd);
@@ -724,7 +724,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictEdit);
@@ -736,7 +736,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:dict:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = dict.Id,
+ ParentId = dict.Id.ToString(),
IsDeleted = false
};
entities.Add(dictRemove);
@@ -756,7 +756,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/config/index",
MenuIcon = "ant-design:setting-outlined",
OrderNum = 94,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(config);
@@ -768,7 +768,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configQuery);
@@ -780,7 +780,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configAdd);
@@ -792,7 +792,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configEdit);
@@ -804,7 +804,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:config:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = config.Id,
+ ParentId = config.Id.ToString(),
IsDeleted = false
};
entities.Add(configRemove);
@@ -826,7 +826,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "system/notice/index",
MenuIcon = "fe:notice-push",
OrderNum = 93,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(notice);
@@ -838,7 +838,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeQuery);
@@ -850,7 +850,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:add",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeAdd);
@@ -862,7 +862,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:edit",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeEdit);
@@ -874,7 +874,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "system:notice:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = notice.Id,
+ ParentId = notice.Id.ToString(),
IsDeleted = false
};
entities.Add(noticeRemove);
@@ -892,7 +892,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
IsLink = false,
MenuIcon = "material-symbols:logo-dev-outline",
OrderNum = 92,
- ParentId = system.Id,
+ ParentId = system.Id.ToString(),
IsDeleted = false
};
entities.Add(log);
@@ -911,7 +911,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "monitor/operlog/index",
MenuIcon = "tabler:align-box-right-middle",
OrderNum = 100,
- ParentId = log.Id,
+ ParentId = log.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLog);
@@ -923,7 +923,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:operlog:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = operationLog.Id,
+ ParentId = operationLog.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLogQuery);
@@ -935,7 +935,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:operlog:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = operationLog.Id,
+ ParentId = operationLog.Id.ToString(),
IsDeleted = false
};
entities.Add(operationLogRemove);
@@ -955,7 +955,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
Component = "monitor/logininfor/index",
MenuIcon = "tabler:align-box-right-middle",
OrderNum = 100,
- ParentId = log.Id,
+ ParentId = log.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLog);
@@ -967,7 +967,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:logininfor:query",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = loginLog.Id,
+ ParentId = loginLog.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLogQuery);
@@ -979,7 +979,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds
PermissionCode = "monitor:logininfor:remove",
MenuType = MenuTypeEnum.Component,
OrderNum = 100,
- ParentId = loginLog.Id,
+ ParentId = loginLog.Id.ToString(),
IsDeleted = false
};
entities.Add(loginLogRemove);
diff --git a/美国版/Food Labeling Management Platform/src/components/products/ProductsView.tsx b/美国版/Food Labeling Management Platform/src/components/products/ProductsView.tsx
index 4bb8dcb..a8493c5 100755
--- a/美国版/Food Labeling Management Platform/src/components/products/ProductsView.tsx
+++ b/美国版/Food Labeling Management Platform/src/components/products/ProductsView.tsx
@@ -68,6 +68,7 @@ import type { LocationDto } from "../../types/location";
import type { ProductDto, ProductCreateInput, ProductUpdateInput } from "../../types/product";
import type { ProductCategoryDto, ProductCategoryCreateInput } from "../../types/productCategory";
import { SearchableSelect } from "../ui/searchable-select";
+import { SearchableMultiSelect } from "../ui/searchable-multi-select";
import {
Pagination,
PaginationContent,
@@ -101,24 +102,36 @@ async function buildProductLocationMap(signal?: AbortSignal): Promise