Commit c2e3194d04edb97efb9d968026928107a181d95b
1 parent
ecb291fd
登陆优化;产品-门店绑定优化
Showing
18 changed files
with
427 additions
and
206 deletions
标签模块接口对接说明.md
| @@ -574,6 +574,10 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -574,6 +574,10 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 574 | 入参: | 574 | 入参: |
| 575 | - `id`:产品Id(`fl_product.Id`) | 575 | - `id`:产品Id(`fl_product.Id`) |
| 576 | 576 | ||
| 577 | +返回(`ProductGetOutputDto`,与实现一致的主要字段): | ||
| 578 | +- `id`、`productCode`、`productName`、`categoryId`、`categoryName`、`productImageUrl`、`state` | ||
| 579 | +- **`locationIds`**:`string[]`,该产品在 **`fl_location_product`** 中绑定的门店 Id(去重);无关联时为空数组 | ||
| 580 | + | ||
| 577 | ### 6.3 新增产品 | 581 | ### 6.3 新增产品 |
| 578 | 582 | ||
| 579 | 方法:`POST /api/app/product` | 583 | 方法:`POST /api/app/product` |
| @@ -583,15 +587,30 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -583,15 +587,30 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 583 | { | 587 | { |
| 584 | "productCode": "PRD_TEST_001", | 588 | "productCode": "PRD_TEST_001", |
| 585 | "productName": "Chicken", | 589 | "productName": "Chicken", |
| 586 | - "categoryName": "Meat", | 590 | + "categoryId": "a2696b9e-2277-11f1-b4c6-00163e0c7c4f", |
| 587 | "productImageUrl": "https://example.com/img.png", | 591 | "productImageUrl": "https://example.com/img.png", |
| 588 | - "state": true | 592 | + "state": true, |
| 593 | + "locationIds": [ | ||
| 594 | + "11111111-1111-1111-1111-111111111111", | ||
| 595 | + "22222222-2222-2222-2222-222222222222" | ||
| 596 | + ] | ||
| 589 | } | 597 | } |
| 590 | ``` | 598 | ``` |
| 591 | 599 | ||
| 600 | +字段说明: | ||
| 601 | +| 字段 | 类型 | 必填 | 说明 | | ||
| 602 | +|------|------|------|------| | ||
| 603 | +| `productCode` | string | 是 | 产品编码 | | ||
| 604 | +| `productName` | string | 是 | 产品名称 | | ||
| 605 | +| `categoryId` | string \| null | 否 | 产品分类 Id(`fl_product_category.id`) | | ||
| 606 | +| `productImageUrl` | string \| null | 否 | 主图 URL | | ||
| 607 | +| `state` | bool | 否 | 默认 `true` | | ||
| 608 | +| **`locationIds`** | `string[]` \| **省略** | 否 | **可选。** 有该字段时:在同一事务内按列表批量写入 **`fl_location_product`**(**每个门店 Id 一行**,即「一产品一门店一条关联」)。**请求体中省略该字段**时:本接口不写门店关联,仍可通过 **§7 Product-Location** 维护。传空数组 `[]` 表示新建产品后不绑定任何门店。 | | ||
| 609 | + | ||
| 592 | 校验: | 610 | 校验: |
| 593 | -- `productCode/productName` 不能为空 | 611 | +- `productCode` / `productName` 不能为空 |
| 594 | - `productCode` 不能与未删除的数据重复 | 612 | - `productCode` 不能与未删除的数据重复 |
| 613 | +- 若传入 **`locationIds`** 且含非空项:每个 Id 须为合法 Guid,且对应门店存在于 **`Location`** 主数据且未删除;否则返回友好错误(如「门店Id格式不正确」「门店不存在」) | ||
| 595 | 614 | ||
| 596 | ### 6.4 编辑产品 | 615 | ### 6.4 编辑产品 |
| 597 | 616 | ||
| @@ -599,7 +618,13 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -599,7 +618,13 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 599 | 618 | ||
| 600 | 入参: | 619 | 入参: |
| 601 | - Path:`id` 为当前产品Id(`fl_product.Id`) | 620 | - Path:`id` 为当前产品Id(`fl_product.Id`) |
| 602 | -- Body:字段同新增(`ProductUpdateInputVo`) | 621 | +- Body:字段同新增(`ProductUpdateInputVo`,继承 `ProductCreateInputVo`) |
| 622 | + | ||
| 623 | +**`locationIds` 行为(与新增不同,请注意):** | ||
| 624 | +- **请求体中省略 `locationIds` 属性**:不修改 **`fl_location_product`**(仅更新 `fl_product` 主表字段;兼容原「先 PUT 产品再调 §7 同步门店」的调用方式)。 | ||
| 625 | +- **请求体中包含 `locationIds` 属性**(含空数组 `[]`):对该产品的门店关联做 **整表替换**——先删除本产品下全部 **`fl_location_product`** 行,再按列表逐条插入;`[]` 表示解除该产品与所有门店的关联。 | ||
| 626 | + | ||
| 627 | +其它校验同 **§6.3**(含门店存在性校验,当 `locationIds` 含非空项时)。 | ||
| 603 | 628 | ||
| 604 | ### 6.5 删除(逻辑删除) | 629 | ### 6.5 删除(逻辑删除) |
| 605 | 630 | ||
| @@ -613,6 +638,7 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -613,6 +638,7 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 613 | 638 | ||
| 614 | 说明: | 639 | 说明: |
| 615 | - 关联表:`fl_location_product` | 640 | - 关联表:`fl_location_product` |
| 641 | +- 也可在 **§6.3 / §6.4** 通过产品 Body 的 **`locationIds`** 一次性维护本产品在各门店的关联(与 §7 写入同一张表);二者可并存,按需选择调用方式。 | ||
| 616 | - 关联按门店进行批量替换: | 642 | - 关联按门店进行批量替换: |
| 617 | - `Create`:在门店下新增未存在的 product 关联 | 643 | - `Create`:在门店下新增未存在的 product 关联 |
| 618 | - `Update`:替换该门店下全部关联(先删后建) | 644 | - `Update`:替换该门店下全部关联(先删后建) |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/food-labeling-us/FoodLabeling.Application.Contracts/Dtos/Product/ProductCreateInputVo.cs
| 1 | +using System.Collections.Generic; | ||
| 2 | + | ||
| 1 | namespace FoodLabeling.Application.Contracts.Dtos.Product; | 3 | namespace FoodLabeling.Application.Contracts.Dtos.Product; |
| 2 | 4 | ||
| 3 | public class ProductCreateInputVo | 5 | public class ProductCreateInputVo |
| @@ -11,5 +13,11 @@ public class ProductCreateInputVo | @@ -11,5 +13,11 @@ public class ProductCreateInputVo | ||
| 11 | public string? ProductImageUrl { get; set; } | 13 | public string? ProductImageUrl { get; set; } |
| 12 | 14 | ||
| 13 | public bool State { get; set; } = true; | 15 | public bool State { get; set; } = true; |
| 16 | + | ||
| 17 | + /// <summary> | ||
| 18 | + /// 可选。门店 Id 列表;每个 Id 在 fl_location_product 落一行(同一 fl_product 可对应多门店)。 | ||
| 19 | + /// 不传或空列表则不在本接口写入门店关联(仍可用 product-location 接口维护)。 | ||
| 20 | + /// </summary> | ||
| 21 | + public List<string>? LocationIds { get; set; } | ||
| 14 | } | 22 | } |
| 15 | 23 |
美国版/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 | @@ -23,11 +23,18 @@ public interface IProductAppService : IApplicationService | ||
| 23 | /// <summary> | 23 | /// <summary> |
| 24 | /// 新增产品 | 24 | /// 新增产品 |
| 25 | /// </summary> | 25 | /// </summary> |
| 26 | + /// <remarks> | ||
| 27 | + /// 若 <see cref="ProductCreateInputVo.LocationIds"/> 有值,将在同一事务内批量写入 fl_location_product(一门店一条)。 | ||
| 28 | + /// </remarks> | ||
| 26 | Task<ProductGetOutputDto> CreateAsync(ProductCreateInputVo input); | 29 | Task<ProductGetOutputDto> CreateAsync(ProductCreateInputVo input); |
| 27 | 30 | ||
| 28 | /// <summary> | 31 | /// <summary> |
| 29 | /// 编辑产品 | 32 | /// 编辑产品 |
| 30 | /// </summary> | 33 | /// </summary> |
| 34 | + /// <remarks> | ||
| 35 | + /// 当请求体包含 <see cref="ProductCreateInputVo.LocationIds"/> 属性时,按该列表整表替换本产品在各门店的关联; | ||
| 36 | + /// 不传该属性则不改门店关联(兼容仅改名称/分类等调用)。 | ||
| 37 | + /// </remarks> | ||
| 31 | Task<ProductGetOutputDto> UpdateAsync(string id, ProductUpdateInputVo input); | 38 | Task<ProductGetOutputDto> UpdateAsync(string id, ProductUpdateInputVo input); |
| 32 | 39 | ||
| 33 | /// <summary> | 40 | /// <summary> |
美国版/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; | @@ -3,6 +3,7 @@ using FoodLabeling.Application.Contracts.Dtos.Common; | ||
| 3 | using FoodLabeling.Application.Contracts.Dtos.Product; | 3 | using FoodLabeling.Application.Contracts.Dtos.Product; |
| 4 | using FoodLabeling.Application.Contracts.IServices; | 4 | using FoodLabeling.Application.Contracts.IServices; |
| 5 | using FoodLabeling.Application.Services.DbModels; | 5 | using FoodLabeling.Application.Services.DbModels; |
| 6 | +using FoodLabeling.Domain.Entities; | ||
| 6 | using SqlSugar; | 7 | using SqlSugar; |
| 7 | using Volo.Abp; | 8 | using Volo.Abp; |
| 8 | using Volo.Abp.Application.Services; | 9 | using Volo.Abp.Application.Services; |
| @@ -188,6 +189,13 @@ public class ProductAppService : ApplicationService, IProductAppService | @@ -188,6 +189,13 @@ public class ProductAppService : ApplicationService, IProductAppService | ||
| 188 | }; | 189 | }; |
| 189 | 190 | ||
| 190 | await _dbContext.SqlSugarClient.Insertable(entity).ExecuteCommandAsync(); | 191 | await _dbContext.SqlSugarClient.Insertable(entity).ExecuteCommandAsync(); |
| 192 | + | ||
| 193 | + if (input.LocationIds is not null) | ||
| 194 | + { | ||
| 195 | + var locIds = await NormalizeAndValidateLocationIdsAsync(input.LocationIds); | ||
| 196 | + await ReplaceProductLocationLinksAsync(entity.Id, locIds); | ||
| 197 | + } | ||
| 198 | + | ||
| 191 | return await GetAsync(entity.Id); | 199 | return await GetAsync(entity.Id); |
| 192 | } | 200 | } |
| 193 | 201 | ||
| @@ -228,6 +236,13 @@ public class ProductAppService : ApplicationService, IProductAppService | @@ -228,6 +236,13 @@ public class ProductAppService : ApplicationService, IProductAppService | ||
| 228 | entity.State = input.State; | 236 | entity.State = input.State; |
| 229 | 237 | ||
| 230 | await _dbContext.SqlSugarClient.Updateable(entity).ExecuteCommandAsync(); | 238 | await _dbContext.SqlSugarClient.Updateable(entity).ExecuteCommandAsync(); |
| 239 | + | ||
| 240 | + if (input.LocationIds is not null) | ||
| 241 | + { | ||
| 242 | + var locIds = await NormalizeAndValidateLocationIdsAsync(input.LocationIds); | ||
| 243 | + await ReplaceProductLocationLinksAsync(productId, locIds); | ||
| 244 | + } | ||
| 245 | + | ||
| 231 | return await GetAsync(productId); | 246 | return await GetAsync(productId); |
| 232 | } | 247 | } |
| 233 | 248 | ||
| @@ -251,6 +266,66 @@ public class ProductAppService : ApplicationService, IProductAppService | @@ -251,6 +266,66 @@ public class ProductAppService : ApplicationService, IProductAppService | ||
| 251 | await _dbContext.SqlSugarClient.Updateable(entity).ExecuteCommandAsync(); | 266 | await _dbContext.SqlSugarClient.Updateable(entity).ExecuteCommandAsync(); |
| 252 | } | 267 | } |
| 253 | 268 | ||
| 269 | + /// <summary> | ||
| 270 | + /// 去重、校验门店 Id 格式与存在性。 | ||
| 271 | + /// </summary> | ||
| 272 | + private async Task<List<string>> NormalizeAndValidateLocationIdsAsync(IEnumerable<string> rawIds) | ||
| 273 | + { | ||
| 274 | + var distinct = rawIds | ||
| 275 | + .Where(x => !string.IsNullOrWhiteSpace(x)) | ||
| 276 | + .Select(x => x.Trim()) | ||
| 277 | + .Distinct(StringComparer.Ordinal) | ||
| 278 | + .ToList(); | ||
| 279 | + | ||
| 280 | + if (distinct.Count == 0) | ||
| 281 | + { | ||
| 282 | + return new List<string>(); | ||
| 283 | + } | ||
| 284 | + | ||
| 285 | + foreach (var id in distinct) | ||
| 286 | + { | ||
| 287 | + if (!Guid.TryParse(id, out _)) | ||
| 288 | + { | ||
| 289 | + throw new UserFriendlyException("门店Id格式不正确"); | ||
| 290 | + } | ||
| 291 | + } | ||
| 292 | + | ||
| 293 | + var guidList = distinct.Select(Guid.Parse).ToList(); | ||
| 294 | + var existCount = await _dbContext.SqlSugarClient.Queryable<LocationAggregateRoot>() | ||
| 295 | + .Where(x => !x.IsDeleted && guidList.Contains(x.Id)) | ||
| 296 | + .CountAsync(); | ||
| 297 | + if (existCount != distinct.Count) | ||
| 298 | + { | ||
| 299 | + throw new UserFriendlyException("门店不存在"); | ||
| 300 | + } | ||
| 301 | + | ||
| 302 | + return distinct; | ||
| 303 | + } | ||
| 304 | + | ||
| 305 | + /// <summary> | ||
| 306 | + /// 按产品维度替换 fl_location_product:先删本产品全部关联,再按列表插入(每门店一行)。 | ||
| 307 | + /// </summary> | ||
| 308 | + private async Task ReplaceProductLocationLinksAsync(string productId, List<string> locationIds) | ||
| 309 | + { | ||
| 310 | + await _dbContext.SqlSugarClient.Deleteable<FlLocationProductDbEntity>() | ||
| 311 | + .Where(x => x.ProductId == productId) | ||
| 312 | + .ExecuteCommandAsync(); | ||
| 313 | + | ||
| 314 | + if (locationIds.Count == 0) | ||
| 315 | + { | ||
| 316 | + return; | ||
| 317 | + } | ||
| 318 | + | ||
| 319 | + var rows = locationIds.Select(lid => new FlLocationProductDbEntity | ||
| 320 | + { | ||
| 321 | + Id = _guidGenerator.Create().ToString(), | ||
| 322 | + LocationId = lid, | ||
| 323 | + ProductId = productId | ||
| 324 | + }).ToList(); | ||
| 325 | + | ||
| 326 | + await _dbContext.SqlSugarClient.Insertable(rows).ExecuteCommandAsync(); | ||
| 327 | + } | ||
| 328 | + | ||
| 254 | private static PagedResultWithPageDto<T> BuildPagedResult<T>(int skipCount, int maxResultCount, int total, List<T> items) | 329 | private static PagedResultWithPageDto<T> BuildPagedResult<T>(int skipCount, int maxResultCount, int total, List<T> items) |
| 255 | { | 330 | { |
| 256 | var pageSize = maxResultCount <= 0 ? items.Count : maxResultCount; | 331 | var pageSize = maxResultCount <= 0 ? items.Count : maxResultCount; |
美国版/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 | @@ -413,16 +413,21 @@ public class UsAppAuthAppService : ApplicationService, IUsAppAuthAppService | ||
| 413 | } | 413 | } |
| 414 | 414 | ||
| 415 | /// <summary> | 415 | /// <summary> |
| 416 | - /// 按邮箱查找未删除且启用的用户(邮箱比较忽略大小写) | 416 | + /// 按邮箱或用户名(邮箱形字符串写在 UserName 时)查找未删除且启用的用户;比较忽略大小写,Email 命中优先。 |
| 417 | /// </summary> | 417 | /// </summary> |
| 418 | private async Task<UserAggregateRoot?> FindActiveUserByEmailAsync(string email) | 418 | private async Task<UserAggregateRoot?> FindActiveUserByEmailAsync(string email) |
| 419 | { | 419 | { |
| 420 | var normalized = email.Trim().ToLowerInvariant(); | 420 | var normalized = email.Trim().ToLowerInvariant(); |
| 421 | var users = await _userRepository._DbQueryable | 421 | var users = await _userRepository._DbQueryable |
| 422 | .Where(u => !u.IsDeleted && u.State == true) | 422 | .Where(u => !u.IsDeleted && u.State == true) |
| 423 | - .Where(u => u.Email != null && SqlFunc.ToLower(u.Email) == normalized) | 423 | + .Where(u => |
| 424 | + (u.Email != null && SqlFunc.ToLower(u.Email) == normalized) || | ||
| 425 | + SqlFunc.ToLower(u.UserName) == normalized) | ||
| 424 | .ToListAsync(); | 426 | .ToListAsync(); |
| 425 | - return users.FirstOrDefault(); | 427 | + return users.FirstOrDefault(u => |
| 428 | + u.Email != null && | ||
| 429 | + string.Equals(u.Email.Trim(), normalized, StringComparison.OrdinalIgnoreCase)) | ||
| 430 | + ?? users.FirstOrDefault(); | ||
| 426 | } | 431 | } |
| 427 | 432 | ||
| 428 | private string CreateAppAccessToken(UserAggregateRoot user) | 433 | private string CreateAppAccessToken(UserAggregateRoot user) |
美国版/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 | @@ -14,12 +14,6 @@ namespace Yi.Framework.Rbac.Application.Contracts.IServices | ||
| 14 | Task<bool> RestPasswordAsync(Guid userId, RestPasswordDto input); | 14 | Task<bool> RestPasswordAsync(Guid userId, RestPasswordDto input); |
| 15 | 15 | ||
| 16 | /// <summary> | 16 | /// <summary> |
| 17 | - /// 提供其他服务使用,根据用户id,直接返回token | ||
| 18 | - /// </summary> | ||
| 19 | - /// <returns></returns> | ||
| 20 | - Task<LoginOutputDto> PostLoginAsync(Guid userId); | ||
| 21 | - | ||
| 22 | - /// <summary> | ||
| 23 | /// 根据信息查询用户,可能为空,代表该用户不存在或禁用 | 17 | /// 根据信息查询用户,可能为空,代表该用户不存在或禁用 |
| 24 | /// </summary> | 18 | /// </summary> |
| 25 | /// <param name="userName"></param> | 19 | /// <param name="userName"></param> |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/ObjectMapping/RbacMapsterRegister.cs
0 → 100644
| 1 | +using Mapster; | ||
| 2 | +using Yi.Framework.Rbac.Application.Contracts.Dtos.Menu; | ||
| 3 | +using Yi.Framework.Rbac.Domain.Entities; | ||
| 4 | +using Yi.Framework.Rbac.Domain.Shared; | ||
| 5 | +using Yi.Framework.Rbac.Domain.Shared.Dtos; | ||
| 6 | + | ||
| 7 | +namespace Yi.Framework.Rbac.Application.ObjectMapping; | ||
| 8 | + | ||
| 9 | +/// <summary> | ||
| 10 | +/// <c>Menu.ParentId</c> 实体为字符串,对外 DTO 仍为 <see cref="Guid"/>。 | ||
| 11 | +/// </summary> | ||
| 12 | +public class RbacMapsterRegister : IRegister | ||
| 13 | +{ | ||
| 14 | + public void Register(TypeAdapterConfig config) | ||
| 15 | + { | ||
| 16 | + config.NewConfig<MenuAggregateRoot, MenuGetOutputDto>() | ||
| 17 | + .Map(d => d.ParentId, s => MenuParentIdConverter.ToGuid(s.ParentId)); | ||
| 18 | + | ||
| 19 | + config.NewConfig<MenuAggregateRoot, MenuGetListOutputDto>() | ||
| 20 | + .Map(d => d.ParentId, s => MenuParentIdConverter.ToGuid(s.ParentId)); | ||
| 21 | + | ||
| 22 | + // 登录组装用户信息时使用;库中 ParentId 可能为 "0",不能交给 Mapster 默认 string→Guid | ||
| 23 | + config.NewConfig<MenuAggregateRoot, MenuDto>() | ||
| 24 | + .Map(d => d.ParentId, s => MenuParentIdConverter.ToGuid(s.ParentId)); | ||
| 25 | + } | ||
| 26 | +} |
美国版/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 | @@ -115,11 +115,17 @@ namespace Yi.Framework.Rbac.Application.Services | ||
| 115 | ValidationImageCaptcha(input.Uuid,input.Code); | 115 | ValidationImageCaptcha(input.Uuid,input.Code); |
| 116 | 116 | ||
| 117 | var normalized = email.ToLowerInvariant(); | 117 | var normalized = email.ToLowerInvariant(); |
| 118 | + // 平台登录框为「邮箱」:优先按 Email 匹配;若历史账号仅把邮箱形字符串写在 UserName、Email 为空,则按 UserName 匹配。 | ||
| 118 | var candidates = await _userRepository._DbQueryable | 119 | var candidates = await _userRepository._DbQueryable |
| 119 | .Where(u => !u.IsDeleted && u.State == true) | 120 | .Where(u => !u.IsDeleted && u.State == true) |
| 120 | - .Where(u => u.Email != null && SqlFunc.ToLower(u.Email) == normalized) | 121 | + .Where(u => |
| 122 | + (u.Email != null && SqlFunc.ToLower(u.Email) == normalized) || | ||
| 123 | + SqlFunc.ToLower(u.UserName) == normalized) | ||
| 121 | .ToListAsync(); | 124 | .ToListAsync(); |
| 122 | - var user = candidates.FirstOrDefault(); | 125 | + var user = candidates.FirstOrDefault(u => |
| 126 | + u.Email != null && | ||
| 127 | + string.Equals(u.Email.Trim(), normalized, StringComparison.OrdinalIgnoreCase)) | ||
| 128 | + ?? candidates.FirstOrDefault(); | ||
| 123 | if (user is null) | 129 | if (user is null) |
| 124 | { | 130 | { |
| 125 | throw new UserFriendlyException("Sign-in failed: account not found."); | 131 | throw new UserFriendlyException("Sign-in failed: account not found."); |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain.Shared/MenuParentIdConverter.cs
0 → 100644
| 1 | +namespace Yi.Framework.Rbac.Domain.Shared; | ||
| 2 | + | ||
| 3 | +/// <summary> | ||
| 4 | +/// <c>Menu.ParentId</c> 在部分库中为 <c>varchar</c>(如根节点为 <c>0</c>),与 ORM 中 Guid 映射不一致时会导致 SqlSugar 绑定失败;统一用字符串落库并在需要时转为 <see cref="Guid"/>。 | ||
| 5 | +/// </summary> | ||
| 6 | +public static class MenuParentIdConverter | ||
| 7 | +{ | ||
| 8 | + public static bool IsRoot(string? raw) => | ||
| 9 | + string.IsNullOrWhiteSpace(raw) || | ||
| 10 | + raw.Trim() == "0" || | ||
| 11 | + string.Equals(raw.Trim(), Guid.Empty.ToString(), StringComparison.OrdinalIgnoreCase); | ||
| 12 | + | ||
| 13 | + public static Guid ToGuid(string? raw) | ||
| 14 | + { | ||
| 15 | + if (IsRoot(raw)) | ||
| 16 | + { | ||
| 17 | + return Guid.Empty; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + var t = raw!.Trim(); | ||
| 21 | + return Guid.TryParse(t, out var g) ? g : Guid.Empty; | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + /// <summary>写入数据库:根节点与历史库对齐为 <c>0</c>,否则为标准 GUID 字符串。</summary> | ||
| 25 | + public static string FromGuid(Guid g) => g == Guid.Empty ? "0" : g.ToString("D"); | ||
| 26 | +} |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/MenuAggregateRoot.cs
| 1 | -using System.Text.RegularExpressions; | 1 | +using System.Text.RegularExpressions; |
| 2 | using System.Web; | 2 | using System.Web; |
| 3 | using NUglify.Helpers; | 3 | using NUglify.Helpers; |
| 4 | using SqlSugar; | 4 | using SqlSugar; |
| @@ -7,6 +7,7 @@ using Volo.Abp.Auditing; | @@ -7,6 +7,7 @@ using Volo.Abp.Auditing; | ||
| 7 | using Volo.Abp.Domain.Entities; | 7 | using Volo.Abp.Domain.Entities; |
| 8 | using Yi.Framework.Core.Data; | 8 | using Yi.Framework.Core.Data; |
| 9 | using Yi.Framework.Core.Helper; | 9 | using Yi.Framework.Core.Helper; |
| 10 | +using Yi.Framework.Rbac.Domain.Shared; | ||
| 10 | using Yi.Framework.Rbac.Domain.Shared.Dtos; | 11 | using Yi.Framework.Rbac.Domain.Shared.Dtos; |
| 11 | using Yi.Framework.Rbac.Domain.Shared.Enums; | 12 | using Yi.Framework.Rbac.Domain.Shared.Enums; |
| 12 | 13 | ||
| @@ -25,13 +26,13 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -25,13 +26,13 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 25 | public MenuAggregateRoot(Guid id) | 26 | public MenuAggregateRoot(Guid id) |
| 26 | { | 27 | { |
| 27 | Id = id; | 28 | Id = id; |
| 28 | - ParentId = Guid.Empty; | 29 | + ParentId = MenuParentIdConverter.FromGuid(Guid.Empty); |
| 29 | } | 30 | } |
| 30 | 31 | ||
| 31 | public MenuAggregateRoot(Guid id, Guid parentId) | 32 | public MenuAggregateRoot(Guid id, Guid parentId) |
| 32 | { | 33 | { |
| 33 | Id = id; | 34 | Id = id; |
| 34 | - ParentId = parentId; | 35 | + ParentId = MenuParentIdConverter.FromGuid(parentId); |
| 35 | } | 36 | } |
| 36 | 37 | ||
| 37 | /// <summary> | 38 | /// <summary> |
| @@ -100,8 +101,9 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -100,8 +101,9 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 100 | /// <summary> | 101 | /// <summary> |
| 101 | /// | 102 | /// |
| 102 | ///</summary> | 103 | ///</summary> |
| 104 | + /// <summary>父级菜单 Id;库中多为 varchar(如根为 <c>0</c> 或 GUID 文本)。</summary> | ||
| 103 | [SugarColumn(ColumnName = "ParentId")] | 105 | [SugarColumn(ColumnName = "ParentId")] |
| 104 | - public Guid ParentId { get; set; } | 106 | + public string ParentId { get; set; } = "0"; |
| 105 | 107 | ||
| 106 | /// <summary> | 108 | /// <summary> |
| 107 | /// 菜单图标 | 109 | /// 菜单图标 |
| @@ -183,7 +185,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -183,7 +185,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 183 | r.OrderNum = m.OrderNum; | 185 | r.OrderNum = m.OrderNum; |
| 184 | var routerName = m.Router?.Split("/").LastOrDefault(); | 186 | var routerName = m.Router?.Split("/").LastOrDefault(); |
| 185 | r.Id = m.Id; | 187 | r.Id = m.Id; |
| 186 | - r.ParentId = m.ParentId; | 188 | + r.ParentId = MenuParentIdConverter.ToGuid(m.ParentId); |
| 187 | 189 | ||
| 188 | //开头大写 | 190 | //开头大写 |
| 189 | r.Name = routerName?.First().ToString().ToUpper() + routerName?.Substring(1); | 191 | r.Name = routerName?.First().ToString().ToUpper() + routerName?.Substring(1); |
| @@ -197,7 +199,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -197,7 +199,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 197 | r.AlwaysShow = true; | 199 | r.AlwaysShow = true; |
| 198 | 200 | ||
| 199 | //判断是否为最顶层的路由 | 201 | //判断是否为最顶层的路由 |
| 200 | - if (Guid.Empty == m.ParentId) | 202 | + if (MenuParentIdConverter.IsRoot(m.ParentId)) |
| 201 | { | 203 | { |
| 202 | r.Component = "Layout"; | 204 | r.Component = "Layout"; |
| 203 | } | 205 | } |
| @@ -250,7 +252,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -250,7 +252,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 250 | var r = new Vue3RouterDto(); | 252 | var r = new Vue3RouterDto(); |
| 251 | r.OrderNum = m.OrderNum; | 253 | r.OrderNum = m.OrderNum; |
| 252 | r.Id = m.Id; | 254 | r.Id = m.Id; |
| 253 | - r.ParentId = m.ParentId; | 255 | + r.ParentId = MenuParentIdConverter.ToGuid(m.ParentId); |
| 254 | r.Hidden = !m.IsShow; | 256 | r.Hidden = !m.IsShow; |
| 255 | 257 | ||
| 256 | // 检测是否为 URL 链接(http:// 或 https:// 开头) | 258 | // 检测是否为 URL 链接(http:// 或 https:// 开头) |
| @@ -359,7 +361,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -359,7 +361,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 359 | r.AlwaysShow = false; | 361 | r.AlwaysShow = false; |
| 360 | 362 | ||
| 361 | // 判断是否为最顶层的路由 | 363 | // 判断是否为最顶层的路由 |
| 362 | - if (Guid.Empty == m.ParentId) | 364 | + if (MenuParentIdConverter.IsRoot(m.ParentId)) |
| 363 | { | 365 | { |
| 364 | r.Component = "Layout"; | 366 | r.Component = "Layout"; |
| 365 | } | 367 | } |
| @@ -385,7 +387,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -385,7 +387,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 385 | r.AlwaysShow = true; | 387 | r.AlwaysShow = true; |
| 386 | 388 | ||
| 387 | // 判断是否为最顶层的路由 | 389 | // 判断是否为最顶层的路由 |
| 388 | - if (Guid.Empty == m.ParentId) | 390 | + if (MenuParentIdConverter.IsRoot(m.ParentId)) |
| 389 | { | 391 | { |
| 390 | r.Component = "Layout"; | 392 | r.Component = "Layout"; |
| 391 | } | 393 | } |
| @@ -449,7 +451,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -449,7 +451,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 449 | }, | 451 | }, |
| 450 | Children =null, | 452 | Children =null, |
| 451 | Id = m.Id, | 453 | Id = m.Id, |
| 452 | - ParentId = m.ParentId | 454 | + ParentId = MenuParentIdConverter.ToGuid(m.ParentId) |
| 453 | }) | 455 | }) |
| 454 | .ToList(); | 456 | .ToList(); |
| 455 | 457 | ||
| @@ -487,7 +489,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | @@ -487,7 +489,7 @@ namespace Yi.Framework.Rbac.Domain.Entities | ||
| 487 | var treeDto = new MenuTreeDto | 489 | var treeDto = new MenuTreeDto |
| 488 | { | 490 | { |
| 489 | Id = m.Id, | 491 | Id = m.Id, |
| 490 | - ParentId = m.ParentId, | 492 | + ParentId = MenuParentIdConverter.ToGuid(m.ParentId), |
| 491 | OrderNum = m.OrderNum, | 493 | OrderNum = m.OrderNum, |
| 492 | MenuName = m.MenuName, | 494 | MenuName = m.MenuName, |
| 493 | MenuType = m.MenuType, | 495 | MenuType = m.MenuType, |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs
| 1 | -using System.IdentityModel.Tokens.Jwt; | 1 | +using System.IdentityModel.Tokens.Jwt; |
| 2 | using System.Security.Claims; | 2 | using System.Security.Claims; |
| 3 | using System.Text; | 3 | using System.Text; |
| 4 | using Mapster; | 4 | using Mapster; |
| @@ -77,10 +77,8 @@ namespace Yi.Framework.Rbac.Domain.Managers | @@ -77,10 +77,8 @@ namespace Yi.Framework.Rbac.Domain.Managers | ||
| 77 | { | 77 | { |
| 78 | throw new UserFriendlyException(UserConst.No_Role); | 78 | throw new UserFriendlyException(UserConst.No_Role); |
| 79 | } | 79 | } |
| 80 | - if (!userInfo.PermissionCodes.Any()) | ||
| 81 | - { | ||
| 82 | - throw new UserFriendlyException(UserConst.No_Permission); | ||
| 83 | - } | 80 | + |
| 81 | + // 菜单表 PermissionCode 可未落库;当前以角色及角色-菜单绑定为准,不要求 PermissionCodes 非空 | ||
| 84 | 82 | ||
| 85 | if (getUserInfo is not null) | 83 | if (getUserInfo is not null) |
| 86 | { | 84 | { |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/UserManager.cs
| 1 | -using System.Text.RegularExpressions; | 1 | +using System.Text.RegularExpressions; |
| 2 | using Mapster; | 2 | using Mapster; |
| 3 | using Microsoft.Extensions.Caching.Distributed; | 3 | using Microsoft.Extensions.Caching.Distributed; |
| 4 | using Microsoft.Extensions.DependencyInjection; | 4 | using Microsoft.Extensions.DependencyInjection; |
| @@ -10,6 +10,7 @@ using Volo.Abp.EventBus.Local; | @@ -10,6 +10,7 @@ using Volo.Abp.EventBus.Local; | ||
| 10 | using Volo.Abp.Guids; | 10 | using Volo.Abp.Guids; |
| 11 | using Yi.Framework.Rbac.Domain.Entities; | 11 | using Yi.Framework.Rbac.Domain.Entities; |
| 12 | using Yi.Framework.Rbac.Domain.Repositories; | 12 | using Yi.Framework.Rbac.Domain.Repositories; |
| 13 | +using Yi.Framework.Rbac.Domain.Shared; | ||
| 13 | using Yi.Framework.Rbac.Domain.Shared.Caches; | 14 | using Yi.Framework.Rbac.Domain.Shared.Caches; |
| 14 | using Yi.Framework.Rbac.Domain.Shared.Consts; | 15 | using Yi.Framework.Rbac.Domain.Shared.Consts; |
| 15 | using Yi.Framework.Rbac.Domain.Shared.Dtos; | 16 | using Yi.Framework.Rbac.Domain.Shared.Dtos; |
美国版/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 | @@ -87,7 +87,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 87 | Router = "/system/user/index", | 87 | Router = "/system/user/index", |
| 88 | MenuIcon = "ri:admin-line", | 88 | MenuIcon = "ri:admin-line", |
| 89 | OrderNum = 100, | 89 | OrderNum = 100, |
| 90 | - ParentId = system.Id, | 90 | + ParentId = system.Id.ToString(), |
| 91 | RouterName = "SystemUser" | 91 | RouterName = "SystemUser" |
| 92 | }; | 92 | }; |
| 93 | entities.Add(user); | 93 | entities.Add(user); |
| @@ -99,7 +99,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -99,7 +99,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 99 | PermissionCode = "system:user:query", | 99 | PermissionCode = "system:user:query", |
| 100 | MenuType = MenuTypeEnum.Component, | 100 | MenuType = MenuTypeEnum.Component, |
| 101 | OrderNum = 100, | 101 | OrderNum = 100, |
| 102 | - ParentId = user.Id, | 102 | + ParentId = user.Id.ToString(), |
| 103 | IsDeleted = false | 103 | IsDeleted = false |
| 104 | }; | 104 | }; |
| 105 | entities.Add(userQuery); | 105 | entities.Add(userQuery); |
| @@ -111,7 +111,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -111,7 +111,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 111 | PermissionCode = "system:user:add", | 111 | PermissionCode = "system:user:add", |
| 112 | MenuType = MenuTypeEnum.Component, | 112 | MenuType = MenuTypeEnum.Component, |
| 113 | OrderNum = 100, | 113 | OrderNum = 100, |
| 114 | - ParentId = user.Id, | 114 | + ParentId = user.Id.ToString(), |
| 115 | IsDeleted = false | 115 | IsDeleted = false |
| 116 | }; | 116 | }; |
| 117 | entities.Add(userAdd); | 117 | entities.Add(userAdd); |
| @@ -123,7 +123,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -123,7 +123,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 123 | PermissionCode = "system:user:edit", | 123 | PermissionCode = "system:user:edit", |
| 124 | MenuType = MenuTypeEnum.Component, | 124 | MenuType = MenuTypeEnum.Component, |
| 125 | OrderNum = 100, | 125 | OrderNum = 100, |
| 126 | - ParentId = user.Id, | 126 | + ParentId = user.Id.ToString(), |
| 127 | IsDeleted = false | 127 | IsDeleted = false |
| 128 | }; | 128 | }; |
| 129 | entities.Add(userEdit); | 129 | entities.Add(userEdit); |
| @@ -135,7 +135,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -135,7 +135,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 135 | PermissionCode = "system:user:remove", | 135 | PermissionCode = "system:user:remove", |
| 136 | MenuType = MenuTypeEnum.Component, | 136 | MenuType = MenuTypeEnum.Component, |
| 137 | OrderNum = 100, | 137 | OrderNum = 100, |
| 138 | - ParentId = user.Id, | 138 | + ParentId = user.Id.ToString(), |
| 139 | IsDeleted = false | 139 | IsDeleted = false |
| 140 | }; | 140 | }; |
| 141 | entities.Add(userRemove); | 141 | entities.Add(userRemove); |
| @@ -148,7 +148,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -148,7 +148,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 148 | PermissionCode = "system:user:resetPwd", | 148 | PermissionCode = "system:user:resetPwd", |
| 149 | MenuType = MenuTypeEnum.Component, | 149 | MenuType = MenuTypeEnum.Component, |
| 150 | OrderNum = 100, | 150 | OrderNum = 100, |
| 151 | - ParentId = user.Id, | 151 | + ParentId = user.Id.ToString(), |
| 152 | IsDeleted = false | 152 | IsDeleted = false |
| 153 | }; | 153 | }; |
| 154 | entities.Add(userResetPwd); | 154 | entities.Add(userResetPwd); |
| @@ -164,7 +164,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -164,7 +164,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 164 | Router = "/system/role/index", | 164 | Router = "/system/role/index", |
| 165 | MenuIcon = "ri:admin-fill", | 165 | MenuIcon = "ri:admin-fill", |
| 166 | OrderNum = 99, | 166 | OrderNum = 99, |
| 167 | - ParentId = system.Id, | 167 | + ParentId = system.Id.ToString(), |
| 168 | RouterName = "SystemRole" | 168 | RouterName = "SystemRole" |
| 169 | }; | 169 | }; |
| 170 | entities.Add(role); | 170 | entities.Add(role); |
| @@ -176,7 +176,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -176,7 +176,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 176 | PermissionCode = "system:role:query", | 176 | PermissionCode = "system:role:query", |
| 177 | MenuType = MenuTypeEnum.Component, | 177 | MenuType = MenuTypeEnum.Component, |
| 178 | OrderNum = 100, | 178 | OrderNum = 100, |
| 179 | - ParentId = role.Id, | 179 | + ParentId = role.Id.ToString(), |
| 180 | IsDeleted = false | 180 | IsDeleted = false |
| 181 | }; | 181 | }; |
| 182 | entities.Add(roleQuery); | 182 | entities.Add(roleQuery); |
| @@ -188,7 +188,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -188,7 +188,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 188 | PermissionCode = "system:role:add", | 188 | PermissionCode = "system:role:add", |
| 189 | MenuType = MenuTypeEnum.Component, | 189 | MenuType = MenuTypeEnum.Component, |
| 190 | OrderNum = 100, | 190 | OrderNum = 100, |
| 191 | - ParentId = role.Id, | 191 | + ParentId = role.Id.ToString(), |
| 192 | IsDeleted = false | 192 | IsDeleted = false |
| 193 | }; | 193 | }; |
| 194 | entities.Add(roleAdd); | 194 | entities.Add(roleAdd); |
| @@ -200,7 +200,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -200,7 +200,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 200 | PermissionCode = "system:role:edit", | 200 | PermissionCode = "system:role:edit", |
| 201 | MenuType = MenuTypeEnum.Component, | 201 | MenuType = MenuTypeEnum.Component, |
| 202 | OrderNum = 100, | 202 | OrderNum = 100, |
| 203 | - ParentId = role.Id, | 203 | + ParentId = role.Id.ToString(), |
| 204 | IsDeleted = false | 204 | IsDeleted = false |
| 205 | }; | 205 | }; |
| 206 | entities.Add(roleEdit); | 206 | entities.Add(roleEdit); |
| @@ -212,7 +212,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -212,7 +212,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 212 | PermissionCode = "system:role:remove", | 212 | PermissionCode = "system:role:remove", |
| 213 | MenuType = MenuTypeEnum.Component, | 213 | MenuType = MenuTypeEnum.Component, |
| 214 | OrderNum = 100, | 214 | OrderNum = 100, |
| 215 | - ParentId = role.Id, | 215 | + ParentId = role.Id.ToString(), |
| 216 | IsDeleted = false | 216 | IsDeleted = false |
| 217 | }; | 217 | }; |
| 218 | entities.Add(roleRemove); | 218 | entities.Add(roleRemove); |
| @@ -228,7 +228,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -228,7 +228,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 228 | Router = "/system/menu/index", | 228 | Router = "/system/menu/index", |
| 229 | MenuIcon = "ep:menu", | 229 | MenuIcon = "ep:menu", |
| 230 | OrderNum = 98, | 230 | OrderNum = 98, |
| 231 | - ParentId = system.Id, | 231 | + ParentId = system.Id.ToString(), |
| 232 | RouterName = "SystemMenu" | 232 | RouterName = "SystemMenu" |
| 233 | }; | 233 | }; |
| 234 | entities.Add(menu); | 234 | entities.Add(menu); |
| @@ -240,7 +240,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -240,7 +240,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 240 | PermissionCode = "system:menu:query", | 240 | PermissionCode = "system:menu:query", |
| 241 | MenuType = MenuTypeEnum.Component, | 241 | MenuType = MenuTypeEnum.Component, |
| 242 | OrderNum = 100, | 242 | OrderNum = 100, |
| 243 | - ParentId = menu.Id, | 243 | + ParentId = menu.Id.ToString(), |
| 244 | IsDeleted = false | 244 | IsDeleted = false |
| 245 | }; | 245 | }; |
| 246 | entities.Add(menuQuery); | 246 | entities.Add(menuQuery); |
| @@ -252,7 +252,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -252,7 +252,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 252 | PermissionCode = "system:menu:add", | 252 | PermissionCode = "system:menu:add", |
| 253 | MenuType = MenuTypeEnum.Component, | 253 | MenuType = MenuTypeEnum.Component, |
| 254 | OrderNum = 100, | 254 | OrderNum = 100, |
| 255 | - ParentId = menu.Id, | 255 | + ParentId = menu.Id.ToString(), |
| 256 | IsDeleted = false | 256 | IsDeleted = false |
| 257 | }; | 257 | }; |
| 258 | entities.Add(menuAdd); | 258 | entities.Add(menuAdd); |
| @@ -264,7 +264,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -264,7 +264,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 264 | PermissionCode = "system:menu:edit", | 264 | PermissionCode = "system:menu:edit", |
| 265 | MenuType = MenuTypeEnum.Component, | 265 | MenuType = MenuTypeEnum.Component, |
| 266 | OrderNum = 100, | 266 | OrderNum = 100, |
| 267 | - ParentId = menu.Id, | 267 | + ParentId = menu.Id.ToString(), |
| 268 | IsDeleted = false | 268 | IsDeleted = false |
| 269 | }; | 269 | }; |
| 270 | entities.Add(menuEdit); | 270 | entities.Add(menuEdit); |
| @@ -276,7 +276,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -276,7 +276,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 276 | PermissionCode = "system:menu:remove", | 276 | PermissionCode = "system:menu:remove", |
| 277 | MenuType = MenuTypeEnum.Component, | 277 | MenuType = MenuTypeEnum.Component, |
| 278 | OrderNum = 100, | 278 | OrderNum = 100, |
| 279 | - ParentId = menu.Id, | 279 | + ParentId = menu.Id.ToString(), |
| 280 | IsDeleted = false | 280 | IsDeleted = false |
| 281 | }; | 281 | }; |
| 282 | entities.Add(menuRemove); | 282 | entities.Add(menuRemove); |
| @@ -291,7 +291,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -291,7 +291,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 291 | Router = "/system/dept/index", | 291 | Router = "/system/dept/index", |
| 292 | MenuIcon = "ri:git-branch-line", | 292 | MenuIcon = "ri:git-branch-line", |
| 293 | OrderNum = 97, | 293 | OrderNum = 97, |
| 294 | - ParentId = system.Id, | 294 | + ParentId = system.Id.ToString(), |
| 295 | RouterName = "SystemDept" | 295 | RouterName = "SystemDept" |
| 296 | }; | 296 | }; |
| 297 | entities.Add(dept); | 297 | entities.Add(dept); |
| @@ -303,7 +303,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -303,7 +303,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 303 | PermissionCode = "system:dept:query", | 303 | PermissionCode = "system:dept:query", |
| 304 | MenuType = MenuTypeEnum.Component, | 304 | MenuType = MenuTypeEnum.Component, |
| 305 | OrderNum = 100, | 305 | OrderNum = 100, |
| 306 | - ParentId = dept.Id, | 306 | + ParentId = dept.Id.ToString(), |
| 307 | IsDeleted = false | 307 | IsDeleted = false |
| 308 | }; | 308 | }; |
| 309 | entities.Add(deptQuery); | 309 | entities.Add(deptQuery); |
| @@ -315,7 +315,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -315,7 +315,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 315 | PermissionCode = "system:dept:add", | 315 | PermissionCode = "system:dept:add", |
| 316 | MenuType = MenuTypeEnum.Component, | 316 | MenuType = MenuTypeEnum.Component, |
| 317 | OrderNum = 100, | 317 | OrderNum = 100, |
| 318 | - ParentId = dept.Id, | 318 | + ParentId = dept.Id.ToString(), |
| 319 | IsDeleted = false | 319 | IsDeleted = false |
| 320 | }; | 320 | }; |
| 321 | entities.Add(deptAdd); | 321 | entities.Add(deptAdd); |
| @@ -327,7 +327,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -327,7 +327,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 327 | PermissionCode = "system:dept:edit", | 327 | PermissionCode = "system:dept:edit", |
| 328 | MenuType = MenuTypeEnum.Component, | 328 | MenuType = MenuTypeEnum.Component, |
| 329 | OrderNum = 100, | 329 | OrderNum = 100, |
| 330 | - ParentId = dept.Id, | 330 | + ParentId = dept.Id.ToString(), |
| 331 | IsDeleted = false | 331 | IsDeleted = false |
| 332 | }; | 332 | }; |
| 333 | entities.Add(deptEdit); | 333 | entities.Add(deptEdit); |
| @@ -339,7 +339,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -339,7 +339,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 339 | PermissionCode = "system:dept:remove", | 339 | PermissionCode = "system:dept:remove", |
| 340 | MenuType = MenuTypeEnum.Component, | 340 | MenuType = MenuTypeEnum.Component, |
| 341 | OrderNum = 100, | 341 | OrderNum = 100, |
| 342 | - ParentId = dept.Id, | 342 | + ParentId = dept.Id.ToString(), |
| 343 | IsDeleted = false | 343 | IsDeleted = false |
| 344 | }; | 344 | }; |
| 345 | entities.Add(deptRemove); | 345 | entities.Add(deptRemove); |
| @@ -356,7 +356,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -356,7 +356,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 356 | Router = "/system/post/index", | 356 | Router = "/system/post/index", |
| 357 | MenuIcon = "ant-design:deployment-unit-outlined", | 357 | MenuIcon = "ant-design:deployment-unit-outlined", |
| 358 | OrderNum = 96, | 358 | OrderNum = 96, |
| 359 | - ParentId = system.Id, | 359 | + ParentId = system.Id.ToString(), |
| 360 | RouterName = "SystemPost" | 360 | RouterName = "SystemPost" |
| 361 | }; | 361 | }; |
| 362 | entities.Add(post); | 362 | entities.Add(post); |
| @@ -368,7 +368,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -368,7 +368,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 368 | PermissionCode = "system:post:query", | 368 | PermissionCode = "system:post:query", |
| 369 | MenuType = MenuTypeEnum.Component, | 369 | MenuType = MenuTypeEnum.Component, |
| 370 | OrderNum = 100, | 370 | OrderNum = 100, |
| 371 | - ParentId = post.Id, | 371 | + ParentId = post.Id.ToString(), |
| 372 | IsDeleted = false | 372 | IsDeleted = false |
| 373 | }; | 373 | }; |
| 374 | entities.Add(postQuery); | 374 | entities.Add(postQuery); |
| @@ -380,7 +380,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -380,7 +380,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 380 | PermissionCode = "system:post:add", | 380 | PermissionCode = "system:post:add", |
| 381 | MenuType = MenuTypeEnum.Component, | 381 | MenuType = MenuTypeEnum.Component, |
| 382 | OrderNum = 100, | 382 | OrderNum = 100, |
| 383 | - ParentId = post.Id, | 383 | + ParentId = post.Id.ToString(), |
| 384 | IsDeleted = false | 384 | IsDeleted = false |
| 385 | }; | 385 | }; |
| 386 | entities.Add(postAdd); | 386 | entities.Add(postAdd); |
| @@ -392,7 +392,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -392,7 +392,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 392 | PermissionCode = "system:post:edit", | 392 | PermissionCode = "system:post:edit", |
| 393 | MenuType = MenuTypeEnum.Component, | 393 | MenuType = MenuTypeEnum.Component, |
| 394 | OrderNum = 100, | 394 | OrderNum = 100, |
| 395 | - ParentId = post.Id, | 395 | + ParentId = post.Id.ToString(), |
| 396 | IsDeleted = false | 396 | IsDeleted = false |
| 397 | }; | 397 | }; |
| 398 | entities.Add(postEdit); | 398 | entities.Add(postEdit); |
| @@ -404,7 +404,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -404,7 +404,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 404 | PermissionCode = "system:post:remove", | 404 | PermissionCode = "system:post:remove", |
| 405 | MenuType = MenuTypeEnum.Component, | 405 | MenuType = MenuTypeEnum.Component, |
| 406 | OrderNum = 100, | 406 | OrderNum = 100, |
| 407 | - ParentId = post.Id, | 407 | + ParentId = post.Id.ToString(), |
| 408 | IsDeleted = false | 408 | IsDeleted = false |
| 409 | }; | 409 | }; |
| 410 | entities.Add(postRemove); | 410 | entities.Add(postRemove); |
| @@ -420,7 +420,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -420,7 +420,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 420 | Router = "/monitor/operation-logs", | 420 | Router = "/monitor/operation-logs", |
| 421 | MenuIcon = "ri:history-fill", | 421 | MenuIcon = "ri:history-fill", |
| 422 | OrderNum = 100, | 422 | OrderNum = 100, |
| 423 | - ParentId = monitoring.Id, | 423 | + ParentId = monitoring.Id.ToString(), |
| 424 | RouterName = "OperationLog", | 424 | RouterName = "OperationLog", |
| 425 | Component = "monitor/logs/operation/index" | 425 | Component = "monitor/logs/operation/index" |
| 426 | }; | 426 | }; |
| @@ -433,7 +433,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -433,7 +433,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 433 | PermissionCode = "monitor:operlog:query", | 433 | PermissionCode = "monitor:operlog:query", |
| 434 | MenuType = MenuTypeEnum.Component, | 434 | MenuType = MenuTypeEnum.Component, |
| 435 | OrderNum = 100, | 435 | OrderNum = 100, |
| 436 | - ParentId = operationLog.Id, | 436 | + ParentId = operationLog.Id.ToString(), |
| 437 | IsDeleted = false | 437 | IsDeleted = false |
| 438 | }; | 438 | }; |
| 439 | entities.Add(operationLogQuery); | 439 | entities.Add(operationLogQuery); |
| @@ -445,7 +445,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -445,7 +445,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 445 | PermissionCode = "monitor:operlog:remove", | 445 | PermissionCode = "monitor:operlog:remove", |
| 446 | MenuType = MenuTypeEnum.Component, | 446 | MenuType = MenuTypeEnum.Component, |
| 447 | OrderNum = 100, | 447 | OrderNum = 100, |
| 448 | - ParentId = operationLog.Id, | 448 | + ParentId = operationLog.Id.ToString(), |
| 449 | IsDeleted = false | 449 | IsDeleted = false |
| 450 | }; | 450 | }; |
| 451 | entities.Add(operationLogRemove); | 451 | entities.Add(operationLogRemove); |
| @@ -465,7 +465,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -465,7 +465,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 465 | Component = "monitor/logs/login/index", | 465 | Component = "monitor/logs/login/index", |
| 466 | MenuIcon = "ri:window-line", | 466 | MenuIcon = "ri:window-line", |
| 467 | OrderNum = 100, | 467 | OrderNum = 100, |
| 468 | - ParentId = monitoring.Id, | 468 | + ParentId = monitoring.Id.ToString(), |
| 469 | RouterName = "LoginLog", | 469 | RouterName = "LoginLog", |
| 470 | }; | 470 | }; |
| 471 | entities.Add(loginLog); | 471 | entities.Add(loginLog); |
| @@ -477,7 +477,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -477,7 +477,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 477 | PermissionCode = "monitor:logininfor:query", | 477 | PermissionCode = "monitor:logininfor:query", |
| 478 | MenuType = MenuTypeEnum.Component, | 478 | MenuType = MenuTypeEnum.Component, |
| 479 | OrderNum = 100, | 479 | OrderNum = 100, |
| 480 | - ParentId = loginLog.Id, | 480 | + ParentId = loginLog.Id.ToString(), |
| 481 | IsDeleted = false | 481 | IsDeleted = false |
| 482 | }; | 482 | }; |
| 483 | entities.Add(loginLogQuery); | 483 | entities.Add(loginLogQuery); |
| @@ -489,7 +489,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -489,7 +489,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 489 | PermissionCode = "monitor:logininfor:remove", | 489 | PermissionCode = "monitor:logininfor:remove", |
| 490 | MenuType = MenuTypeEnum.Component, | 490 | MenuType = MenuTypeEnum.Component, |
| 491 | OrderNum = 100, | 491 | OrderNum = 100, |
| 492 | - ParentId = loginLog.Id, | 492 | + ParentId = loginLog.Id.ToString(), |
| 493 | IsDeleted = false, | 493 | IsDeleted = false, |
| 494 | 494 | ||
| 495 | }; | 495 | }; |
| @@ -509,7 +509,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -509,7 +509,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 509 | Component = "/system/config/index", | 509 | Component = "/system/config/index", |
| 510 | MenuIcon = "ri:edit-box-line", | 510 | MenuIcon = "ri:edit-box-line", |
| 511 | OrderNum = 94, | 511 | OrderNum = 94, |
| 512 | - ParentId = system.Id, | 512 | + ParentId = system.Id.ToString(), |
| 513 | IsDeleted = false | 513 | IsDeleted = false |
| 514 | }; | 514 | }; |
| 515 | entities.Add(config); | 515 | entities.Add(config); |
| @@ -521,7 +521,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -521,7 +521,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 521 | PermissionCode = "system:config:query", | 521 | PermissionCode = "system:config:query", |
| 522 | MenuType = MenuTypeEnum.Component, | 522 | MenuType = MenuTypeEnum.Component, |
| 523 | OrderNum = 100, | 523 | OrderNum = 100, |
| 524 | - ParentId = config.Id, | 524 | + ParentId = config.Id.ToString(), |
| 525 | IsDeleted = false | 525 | IsDeleted = false |
| 526 | }; | 526 | }; |
| 527 | entities.Add(configQuery); | 527 | entities.Add(configQuery); |
| @@ -533,7 +533,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -533,7 +533,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 533 | PermissionCode = "system:config:add", | 533 | PermissionCode = "system:config:add", |
| 534 | MenuType = MenuTypeEnum.Component, | 534 | MenuType = MenuTypeEnum.Component, |
| 535 | OrderNum = 100, | 535 | OrderNum = 100, |
| 536 | - ParentId = config.Id, | 536 | + ParentId = config.Id.ToString(), |
| 537 | IsDeleted = false | 537 | IsDeleted = false |
| 538 | }; | 538 | }; |
| 539 | entities.Add(configAdd); | 539 | entities.Add(configAdd); |
| @@ -545,7 +545,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -545,7 +545,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 545 | PermissionCode = "system:config:edit", | 545 | PermissionCode = "system:config:edit", |
| 546 | MenuType = MenuTypeEnum.Component, | 546 | MenuType = MenuTypeEnum.Component, |
| 547 | OrderNum = 100, | 547 | OrderNum = 100, |
| 548 | - ParentId = config.Id, | 548 | + ParentId = config.Id.ToString(), |
| 549 | IsDeleted = false | 549 | IsDeleted = false |
| 550 | }; | 550 | }; |
| 551 | entities.Add(configEdit); | 551 | entities.Add(configEdit); |
| @@ -557,7 +557,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -557,7 +557,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 557 | PermissionCode = "system:config:remove", | 557 | PermissionCode = "system:config:remove", |
| 558 | MenuType = MenuTypeEnum.Component, | 558 | MenuType = MenuTypeEnum.Component, |
| 559 | OrderNum = 100, | 559 | OrderNum = 100, |
| 560 | - ParentId = config.Id, | 560 | + ParentId = config.Id.ToString(), |
| 561 | IsDeleted = false | 561 | IsDeleted = false |
| 562 | }; | 562 | }; |
| 563 | entities.Add(configRemove); | 563 | entities.Add(configRemove); |
美国版/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 | @@ -88,7 +88,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 88 | Component = "code/field/index", | 88 | Component = "code/field/index", |
| 89 | MenuIcon = "number", | 89 | MenuIcon = "number", |
| 90 | OrderNum = 99, | 90 | OrderNum = 99, |
| 91 | - ParentId = code.Id, | 91 | + ParentId = code.Id.ToString(), |
| 92 | IsDeleted = false | 92 | IsDeleted = false |
| 93 | }; | 93 | }; |
| 94 | entities.Add(field); | 94 | entities.Add(field); |
| @@ -599,7 +599,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -599,7 +599,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 599 | Component = "system/tenant/index", | 599 | Component = "system/tenant/index", |
| 600 | MenuIcon = "list", | 600 | MenuIcon = "list", |
| 601 | OrderNum = 101, | 601 | OrderNum = 101, |
| 602 | - ParentId = system.Id, | 602 | + ParentId = system.Id.ToString(), |
| 603 | IsDeleted = false | 603 | IsDeleted = false |
| 604 | }; | 604 | }; |
| 605 | entities.Add(tenant); | 605 | entities.Add(tenant); |
| @@ -611,7 +611,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -611,7 +611,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 611 | PermissionCode = "system:tenant:query", | 611 | PermissionCode = "system:tenant:query", |
| 612 | MenuType = MenuTypeEnum.Component, | 612 | MenuType = MenuTypeEnum.Component, |
| 613 | OrderNum = 100, | 613 | OrderNum = 100, |
| 614 | - ParentId = tenant.Id, | 614 | + ParentId = tenant.Id.ToString(), |
| 615 | IsDeleted = false | 615 | IsDeleted = false |
| 616 | }; | 616 | }; |
| 617 | entities.Add(tenantQuery); | 617 | entities.Add(tenantQuery); |
| @@ -623,7 +623,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -623,7 +623,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 623 | PermissionCode = "system:tenant:add", | 623 | PermissionCode = "system:tenant:add", |
| 624 | MenuType = MenuTypeEnum.Component, | 624 | MenuType = MenuTypeEnum.Component, |
| 625 | OrderNum = 100, | 625 | OrderNum = 100, |
| 626 | - ParentId = tenant.Id, | 626 | + ParentId = tenant.Id.ToString(), |
| 627 | IsDeleted = false | 627 | IsDeleted = false |
| 628 | }; | 628 | }; |
| 629 | entities.Add(tenantAdd); | 629 | entities.Add(tenantAdd); |
| @@ -635,7 +635,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -635,7 +635,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 635 | PermissionCode = "system:tenant:edit", | 635 | PermissionCode = "system:tenant:edit", |
| 636 | MenuType = MenuTypeEnum.Component, | 636 | MenuType = MenuTypeEnum.Component, |
| 637 | OrderNum = 100, | 637 | OrderNum = 100, |
| 638 | - ParentId = tenant.Id, | 638 | + ParentId = tenant.Id.ToString(), |
| 639 | IsDeleted = false | 639 | IsDeleted = false |
| 640 | }; | 640 | }; |
| 641 | entities.Add(tenantEdit); | 641 | entities.Add(tenantEdit); |
| @@ -647,7 +647,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -647,7 +647,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 647 | PermissionCode = "system:tenant:remove", | 647 | PermissionCode = "system:tenant:remove", |
| 648 | MenuType = MenuTypeEnum.Component, | 648 | MenuType = MenuTypeEnum.Component, |
| 649 | OrderNum = 100, | 649 | OrderNum = 100, |
| 650 | - ParentId = tenant.Id, | 650 | + ParentId = tenant.Id.ToString(), |
| 651 | IsDeleted = false | 651 | IsDeleted = false |
| 652 | }; | 652 | }; |
| 653 | entities.Add(tenantRemove); | 653 | entities.Add(tenantRemove); |
| @@ -677,7 +677,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -677,7 +677,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 677 | Component = "system/user/index", | 677 | Component = "system/user/index", |
| 678 | MenuIcon = "user", | 678 | MenuIcon = "user", |
| 679 | OrderNum = 100, | 679 | OrderNum = 100, |
| 680 | - ParentId = system.Id, | 680 | + ParentId = system.Id.ToString(), |
| 681 | IsDeleted = false | 681 | IsDeleted = false |
| 682 | }; | 682 | }; |
| 683 | entities.Add(user); | 683 | entities.Add(user); |
| @@ -689,7 +689,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -689,7 +689,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 689 | PermissionCode = "system:user:query", | 689 | PermissionCode = "system:user:query", |
| 690 | MenuType = MenuTypeEnum.Component, | 690 | MenuType = MenuTypeEnum.Component, |
| 691 | OrderNum = 100, | 691 | OrderNum = 100, |
| 692 | - ParentId = user.Id, | 692 | + ParentId = user.Id.ToString(), |
| 693 | IsDeleted = false | 693 | IsDeleted = false |
| 694 | }; | 694 | }; |
| 695 | entities.Add(userQuery); | 695 | entities.Add(userQuery); |
| @@ -701,7 +701,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -701,7 +701,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 701 | PermissionCode = "system:user:add", | 701 | PermissionCode = "system:user:add", |
| 702 | MenuType = MenuTypeEnum.Component, | 702 | MenuType = MenuTypeEnum.Component, |
| 703 | OrderNum = 100, | 703 | OrderNum = 100, |
| 704 | - ParentId = user.Id, | 704 | + ParentId = user.Id.ToString(), |
| 705 | IsDeleted = false | 705 | IsDeleted = false |
| 706 | }; | 706 | }; |
| 707 | entities.Add(userAdd); | 707 | entities.Add(userAdd); |
| @@ -713,7 +713,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -713,7 +713,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 713 | PermissionCode = "system:user:edit", | 713 | PermissionCode = "system:user:edit", |
| 714 | MenuType = MenuTypeEnum.Component, | 714 | MenuType = MenuTypeEnum.Component, |
| 715 | OrderNum = 100, | 715 | OrderNum = 100, |
| 716 | - ParentId = user.Id, | 716 | + ParentId = user.Id.ToString(), |
| 717 | IsDeleted = false | 717 | IsDeleted = false |
| 718 | }; | 718 | }; |
| 719 | entities.Add(userEdit); | 719 | entities.Add(userEdit); |
| @@ -725,7 +725,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -725,7 +725,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 725 | PermissionCode = "system:user:remove", | 725 | PermissionCode = "system:user:remove", |
| 726 | MenuType = MenuTypeEnum.Component, | 726 | MenuType = MenuTypeEnum.Component, |
| 727 | OrderNum = 100, | 727 | OrderNum = 100, |
| 728 | - ParentId = user.Id, | 728 | + ParentId = user.Id.ToString(), |
| 729 | IsDeleted = false | 729 | IsDeleted = false |
| 730 | }; | 730 | }; |
| 731 | entities.Add(userRemove); | 731 | entities.Add(userRemove); |
| @@ -738,7 +738,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -738,7 +738,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 738 | PermissionCode = "system:user:resetPwd", | 738 | PermissionCode = "system:user:resetPwd", |
| 739 | MenuType = MenuTypeEnum.Component, | 739 | MenuType = MenuTypeEnum.Component, |
| 740 | OrderNum = 100, | 740 | OrderNum = 100, |
| 741 | - ParentId = user.Id, | 741 | + ParentId = user.Id.ToString(), |
| 742 | IsDeleted = false | 742 | IsDeleted = false |
| 743 | }; | 743 | }; |
| 744 | entities.Add(userResetPwd); | 744 | entities.Add(userResetPwd); |
| @@ -758,7 +758,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -758,7 +758,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 758 | Component = "system/role/index", | 758 | Component = "system/role/index", |
| 759 | MenuIcon = "peoples", | 759 | MenuIcon = "peoples", |
| 760 | OrderNum = 99, | 760 | OrderNum = 99, |
| 761 | - ParentId = system.Id, | 761 | + ParentId = system.Id.ToString(), |
| 762 | IsDeleted = false | 762 | IsDeleted = false |
| 763 | }; | 763 | }; |
| 764 | entities.Add(role); | 764 | entities.Add(role); |
| @@ -770,7 +770,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -770,7 +770,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 770 | PermissionCode = "system:role:query", | 770 | PermissionCode = "system:role:query", |
| 771 | MenuType = MenuTypeEnum.Component, | 771 | MenuType = MenuTypeEnum.Component, |
| 772 | OrderNum = 100, | 772 | OrderNum = 100, |
| 773 | - ParentId = role.Id, | 773 | + ParentId = role.Id.ToString(), |
| 774 | IsDeleted = false | 774 | IsDeleted = false |
| 775 | }; | 775 | }; |
| 776 | entities.Add(roleQuery); | 776 | entities.Add(roleQuery); |
| @@ -782,7 +782,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -782,7 +782,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 782 | PermissionCode = "system:role:add", | 782 | PermissionCode = "system:role:add", |
| 783 | MenuType = MenuTypeEnum.Component, | 783 | MenuType = MenuTypeEnum.Component, |
| 784 | OrderNum = 100, | 784 | OrderNum = 100, |
| 785 | - ParentId = role.Id, | 785 | + ParentId = role.Id.ToString(), |
| 786 | IsDeleted = false | 786 | IsDeleted = false |
| 787 | }; | 787 | }; |
| 788 | entities.Add(roleAdd); | 788 | entities.Add(roleAdd); |
| @@ -794,7 +794,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -794,7 +794,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 794 | PermissionCode = "system:role:edit", | 794 | PermissionCode = "system:role:edit", |
| 795 | MenuType = MenuTypeEnum.Component, | 795 | MenuType = MenuTypeEnum.Component, |
| 796 | OrderNum = 100, | 796 | OrderNum = 100, |
| 797 | - ParentId = role.Id, | 797 | + ParentId = role.Id.ToString(), |
| 798 | IsDeleted = false | 798 | IsDeleted = false |
| 799 | }; | 799 | }; |
| 800 | entities.Add(roleEdit); | 800 | entities.Add(roleEdit); |
| @@ -806,7 +806,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -806,7 +806,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 806 | PermissionCode = "system:role:remove", | 806 | PermissionCode = "system:role:remove", |
| 807 | MenuType = MenuTypeEnum.Component, | 807 | MenuType = MenuTypeEnum.Component, |
| 808 | OrderNum = 100, | 808 | OrderNum = 100, |
| 809 | - ParentId = role.Id, | 809 | + ParentId = role.Id.ToString(), |
| 810 | IsDeleted = false | 810 | IsDeleted = false |
| 811 | }; | 811 | }; |
| 812 | entities.Add(roleRemove); | 812 | entities.Add(roleRemove); |
| @@ -826,7 +826,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -826,7 +826,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 826 | Component = "system/menu/index", | 826 | Component = "system/menu/index", |
| 827 | MenuIcon = "tree-table", | 827 | MenuIcon = "tree-table", |
| 828 | OrderNum = 98, | 828 | OrderNum = 98, |
| 829 | - ParentId = system.Id, | 829 | + ParentId = system.Id.ToString(), |
| 830 | IsDeleted = false | 830 | IsDeleted = false |
| 831 | }; | 831 | }; |
| 832 | entities.Add(menu); | 832 | entities.Add(menu); |
| @@ -838,7 +838,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -838,7 +838,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 838 | PermissionCode = "system:menu:query", | 838 | PermissionCode = "system:menu:query", |
| 839 | MenuType = MenuTypeEnum.Component, | 839 | MenuType = MenuTypeEnum.Component, |
| 840 | OrderNum = 100, | 840 | OrderNum = 100, |
| 841 | - ParentId = menu.Id, | 841 | + ParentId = menu.Id.ToString(), |
| 842 | IsDeleted = false | 842 | IsDeleted = false |
| 843 | }; | 843 | }; |
| 844 | entities.Add(menuQuery); | 844 | entities.Add(menuQuery); |
| @@ -850,7 +850,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -850,7 +850,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 850 | PermissionCode = "system:menu:add", | 850 | PermissionCode = "system:menu:add", |
| 851 | MenuType = MenuTypeEnum.Component, | 851 | MenuType = MenuTypeEnum.Component, |
| 852 | OrderNum = 100, | 852 | OrderNum = 100, |
| 853 | - ParentId = menu.Id, | 853 | + ParentId = menu.Id.ToString(), |
| 854 | IsDeleted = false | 854 | IsDeleted = false |
| 855 | }; | 855 | }; |
| 856 | entities.Add(menuAdd); | 856 | entities.Add(menuAdd); |
| @@ -862,7 +862,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -862,7 +862,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 862 | PermissionCode = "system:menu:edit", | 862 | PermissionCode = "system:menu:edit", |
| 863 | MenuType = MenuTypeEnum.Component, | 863 | MenuType = MenuTypeEnum.Component, |
| 864 | OrderNum = 100, | 864 | OrderNum = 100, |
| 865 | - ParentId = menu.Id, | 865 | + ParentId = menu.Id.ToString(), |
| 866 | IsDeleted = false | 866 | IsDeleted = false |
| 867 | }; | 867 | }; |
| 868 | entities.Add(menuEdit); | 868 | entities.Add(menuEdit); |
| @@ -874,7 +874,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -874,7 +874,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 874 | PermissionCode = "system:menu:remove", | 874 | PermissionCode = "system:menu:remove", |
| 875 | MenuType = MenuTypeEnum.Component, | 875 | MenuType = MenuTypeEnum.Component, |
| 876 | OrderNum = 100, | 876 | OrderNum = 100, |
| 877 | - ParentId = menu.Id, | 877 | + ParentId = menu.Id.ToString(), |
| 878 | IsDeleted = false | 878 | IsDeleted = false |
| 879 | }; | 879 | }; |
| 880 | entities.Add(menuRemove); | 880 | entities.Add(menuRemove); |
| @@ -893,7 +893,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -893,7 +893,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 893 | Component = "system/dept/index", | 893 | Component = "system/dept/index", |
| 894 | MenuIcon = "tree", | 894 | MenuIcon = "tree", |
| 895 | OrderNum = 97, | 895 | OrderNum = 97, |
| 896 | - ParentId = system.Id, | 896 | + ParentId = system.Id.ToString(), |
| 897 | IsDeleted = false | 897 | IsDeleted = false |
| 898 | }; | 898 | }; |
| 899 | entities.Add(dept); | 899 | entities.Add(dept); |
| @@ -905,7 +905,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -905,7 +905,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 905 | PermissionCode = "system:dept:query", | 905 | PermissionCode = "system:dept:query", |
| 906 | MenuType = MenuTypeEnum.Component, | 906 | MenuType = MenuTypeEnum.Component, |
| 907 | OrderNum = 100, | 907 | OrderNum = 100, |
| 908 | - ParentId = dept.Id, | 908 | + ParentId = dept.Id.ToString(), |
| 909 | IsDeleted = false | 909 | IsDeleted = false |
| 910 | }; | 910 | }; |
| 911 | entities.Add(deptQuery); | 911 | entities.Add(deptQuery); |
| @@ -917,7 +917,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -917,7 +917,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 917 | PermissionCode = "system:dept:add", | 917 | PermissionCode = "system:dept:add", |
| 918 | MenuType = MenuTypeEnum.Component, | 918 | MenuType = MenuTypeEnum.Component, |
| 919 | OrderNum = 100, | 919 | OrderNum = 100, |
| 920 | - ParentId = dept.Id, | 920 | + ParentId = dept.Id.ToString(), |
| 921 | IsDeleted = false | 921 | IsDeleted = false |
| 922 | }; | 922 | }; |
| 923 | entities.Add(deptAdd); | 923 | entities.Add(deptAdd); |
| @@ -929,7 +929,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -929,7 +929,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 929 | PermissionCode = "system:dept:edit", | 929 | PermissionCode = "system:dept:edit", |
| 930 | MenuType = MenuTypeEnum.Component, | 930 | MenuType = MenuTypeEnum.Component, |
| 931 | OrderNum = 100, | 931 | OrderNum = 100, |
| 932 | - ParentId = dept.Id, | 932 | + ParentId = dept.Id.ToString(), |
| 933 | IsDeleted = false | 933 | IsDeleted = false |
| 934 | }; | 934 | }; |
| 935 | entities.Add(deptEdit); | 935 | entities.Add(deptEdit); |
| @@ -941,7 +941,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -941,7 +941,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 941 | PermissionCode = "system:dept:remove", | 941 | PermissionCode = "system:dept:remove", |
| 942 | MenuType = MenuTypeEnum.Component, | 942 | MenuType = MenuTypeEnum.Component, |
| 943 | OrderNum = 100, | 943 | OrderNum = 100, |
| 944 | - ParentId = dept.Id, | 944 | + ParentId = dept.Id.ToString(), |
| 945 | IsDeleted = false | 945 | IsDeleted = false |
| 946 | }; | 946 | }; |
| 947 | entities.Add(deptRemove); | 947 | entities.Add(deptRemove); |
| @@ -962,7 +962,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -962,7 +962,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 962 | Component = "system/post/index", | 962 | Component = "system/post/index", |
| 963 | MenuIcon = "post", | 963 | MenuIcon = "post", |
| 964 | OrderNum = 96, | 964 | OrderNum = 96, |
| 965 | - ParentId = system.Id, | 965 | + ParentId = system.Id.ToString(), |
| 966 | IsDeleted = false | 966 | IsDeleted = false |
| 967 | }; | 967 | }; |
| 968 | entities.Add(post); | 968 | entities.Add(post); |
| @@ -974,7 +974,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -974,7 +974,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 974 | PermissionCode = "system:post:query", | 974 | PermissionCode = "system:post:query", |
| 975 | MenuType = MenuTypeEnum.Component, | 975 | MenuType = MenuTypeEnum.Component, |
| 976 | OrderNum = 100, | 976 | OrderNum = 100, |
| 977 | - ParentId = post.Id, | 977 | + ParentId = post.Id.ToString(), |
| 978 | IsDeleted = false | 978 | IsDeleted = false |
| 979 | }; | 979 | }; |
| 980 | entities.Add(postQuery); | 980 | entities.Add(postQuery); |
| @@ -986,7 +986,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -986,7 +986,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 986 | PermissionCode = "system:post:add", | 986 | PermissionCode = "system:post:add", |
| 987 | MenuType = MenuTypeEnum.Component, | 987 | MenuType = MenuTypeEnum.Component, |
| 988 | OrderNum = 100, | 988 | OrderNum = 100, |
| 989 | - ParentId = post.Id, | 989 | + ParentId = post.Id.ToString(), |
| 990 | IsDeleted = false | 990 | IsDeleted = false |
| 991 | }; | 991 | }; |
| 992 | entities.Add(postAdd); | 992 | entities.Add(postAdd); |
| @@ -998,7 +998,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -998,7 +998,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 998 | PermissionCode = "system:post:edit", | 998 | PermissionCode = "system:post:edit", |
| 999 | MenuType = MenuTypeEnum.Component, | 999 | MenuType = MenuTypeEnum.Component, |
| 1000 | OrderNum = 100, | 1000 | OrderNum = 100, |
| 1001 | - ParentId = post.Id, | 1001 | + ParentId = post.Id.ToString(), |
| 1002 | IsDeleted = false | 1002 | IsDeleted = false |
| 1003 | }; | 1003 | }; |
| 1004 | entities.Add(postEdit); | 1004 | entities.Add(postEdit); |
| @@ -1010,7 +1010,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1010,7 +1010,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1010 | PermissionCode = "system:post:remove", | 1010 | PermissionCode = "system:post:remove", |
| 1011 | MenuType = MenuTypeEnum.Component, | 1011 | MenuType = MenuTypeEnum.Component, |
| 1012 | OrderNum = 100, | 1012 | OrderNum = 100, |
| 1013 | - ParentId = post.Id, | 1013 | + ParentId = post.Id.ToString(), |
| 1014 | IsDeleted = false | 1014 | IsDeleted = false |
| 1015 | }; | 1015 | }; |
| 1016 | entities.Add(postRemove); | 1016 | entities.Add(postRemove); |
| @@ -1029,7 +1029,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1029,7 +1029,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1029 | Component = "system/dict/index", | 1029 | Component = "system/dict/index", |
| 1030 | MenuIcon = "dict", | 1030 | MenuIcon = "dict", |
| 1031 | OrderNum = 95, | 1031 | OrderNum = 95, |
| 1032 | - ParentId = system.Id, | 1032 | + ParentId = system.Id.ToString(), |
| 1033 | IsDeleted = false | 1033 | IsDeleted = false |
| 1034 | }; | 1034 | }; |
| 1035 | entities.Add(dict); | 1035 | entities.Add(dict); |
| @@ -1041,7 +1041,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1041,7 +1041,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1041 | PermissionCode = "system:dict:query", | 1041 | PermissionCode = "system:dict:query", |
| 1042 | MenuType = MenuTypeEnum.Component, | 1042 | MenuType = MenuTypeEnum.Component, |
| 1043 | OrderNum = 100, | 1043 | OrderNum = 100, |
| 1044 | - ParentId = dict.Id, | 1044 | + ParentId = dict.Id.ToString(), |
| 1045 | IsDeleted = false | 1045 | IsDeleted = false |
| 1046 | }; | 1046 | }; |
| 1047 | entities.Add(dictQuery); | 1047 | entities.Add(dictQuery); |
| @@ -1053,7 +1053,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1053,7 +1053,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1053 | PermissionCode = "system:dict:add", | 1053 | PermissionCode = "system:dict:add", |
| 1054 | MenuType = MenuTypeEnum.Component, | 1054 | MenuType = MenuTypeEnum.Component, |
| 1055 | OrderNum = 100, | 1055 | OrderNum = 100, |
| 1056 | - ParentId = dict.Id, | 1056 | + ParentId = dict.Id.ToString(), |
| 1057 | IsDeleted = false | 1057 | IsDeleted = false |
| 1058 | }; | 1058 | }; |
| 1059 | entities.Add(dictAdd); | 1059 | entities.Add(dictAdd); |
| @@ -1065,7 +1065,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1065,7 +1065,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1065 | PermissionCode = "system:dict:edit", | 1065 | PermissionCode = "system:dict:edit", |
| 1066 | MenuType = MenuTypeEnum.Component, | 1066 | MenuType = MenuTypeEnum.Component, |
| 1067 | OrderNum = 100, | 1067 | OrderNum = 100, |
| 1068 | - ParentId = dict.Id, | 1068 | + ParentId = dict.Id.ToString(), |
| 1069 | IsDeleted = false | 1069 | IsDeleted = false |
| 1070 | }; | 1070 | }; |
| 1071 | entities.Add(dictEdit); | 1071 | entities.Add(dictEdit); |
| @@ -1077,7 +1077,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1077,7 +1077,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1077 | PermissionCode = "system:dict:remove", | 1077 | PermissionCode = "system:dict:remove", |
| 1078 | MenuType = MenuTypeEnum.Component, | 1078 | MenuType = MenuTypeEnum.Component, |
| 1079 | OrderNum = 100, | 1079 | OrderNum = 100, |
| 1080 | - ParentId = dict.Id, | 1080 | + ParentId = dict.Id.ToString(), |
| 1081 | IsDeleted = false | 1081 | IsDeleted = false |
| 1082 | }; | 1082 | }; |
| 1083 | entities.Add(dictRemove); | 1083 | entities.Add(dictRemove); |
| @@ -1097,7 +1097,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1097,7 +1097,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1097 | Component = "system/config/index", | 1097 | Component = "system/config/index", |
| 1098 | MenuIcon = "edit", | 1098 | MenuIcon = "edit", |
| 1099 | OrderNum = 94, | 1099 | OrderNum = 94, |
| 1100 | - ParentId = system.Id, | 1100 | + ParentId = system.Id.ToString(), |
| 1101 | IsDeleted = false | 1101 | IsDeleted = false |
| 1102 | }; | 1102 | }; |
| 1103 | entities.Add(config); | 1103 | entities.Add(config); |
| @@ -1109,7 +1109,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1109,7 +1109,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1109 | PermissionCode = "system:config:query", | 1109 | PermissionCode = "system:config:query", |
| 1110 | MenuType = MenuTypeEnum.Component, | 1110 | MenuType = MenuTypeEnum.Component, |
| 1111 | OrderNum = 100, | 1111 | OrderNum = 100, |
| 1112 | - ParentId = config.Id, | 1112 | + ParentId = config.Id.ToString(), |
| 1113 | IsDeleted = false | 1113 | IsDeleted = false |
| 1114 | }; | 1114 | }; |
| 1115 | entities.Add(configQuery); | 1115 | entities.Add(configQuery); |
| @@ -1121,7 +1121,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1121,7 +1121,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1121 | PermissionCode = "system:config:add", | 1121 | PermissionCode = "system:config:add", |
| 1122 | MenuType = MenuTypeEnum.Component, | 1122 | MenuType = MenuTypeEnum.Component, |
| 1123 | OrderNum = 100, | 1123 | OrderNum = 100, |
| 1124 | - ParentId = config.Id, | 1124 | + ParentId = config.Id.ToString(), |
| 1125 | IsDeleted = false | 1125 | IsDeleted = false |
| 1126 | }; | 1126 | }; |
| 1127 | entities.Add(configAdd); | 1127 | entities.Add(configAdd); |
| @@ -1133,7 +1133,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1133,7 +1133,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1133 | PermissionCode = "system:config:edit", | 1133 | PermissionCode = "system:config:edit", |
| 1134 | MenuType = MenuTypeEnum.Component, | 1134 | MenuType = MenuTypeEnum.Component, |
| 1135 | OrderNum = 100, | 1135 | OrderNum = 100, |
| 1136 | - ParentId = config.Id, | 1136 | + ParentId = config.Id.ToString(), |
| 1137 | IsDeleted = false | 1137 | IsDeleted = false |
| 1138 | }; | 1138 | }; |
| 1139 | entities.Add(configEdit); | 1139 | entities.Add(configEdit); |
| @@ -1145,7 +1145,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1145,7 +1145,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1145 | PermissionCode = "system:config:remove", | 1145 | PermissionCode = "system:config:remove", |
| 1146 | MenuType = MenuTypeEnum.Component, | 1146 | MenuType = MenuTypeEnum.Component, |
| 1147 | OrderNum = 100, | 1147 | OrderNum = 100, |
| 1148 | - ParentId = config.Id, | 1148 | + ParentId = config.Id.ToString(), |
| 1149 | IsDeleted = false | 1149 | IsDeleted = false |
| 1150 | }; | 1150 | }; |
| 1151 | entities.Add(configRemove); | 1151 | entities.Add(configRemove); |
| @@ -1167,7 +1167,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1167,7 +1167,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1167 | Component = "system/notice/index", | 1167 | Component = "system/notice/index", |
| 1168 | MenuIcon = "message", | 1168 | MenuIcon = "message", |
| 1169 | OrderNum = 93, | 1169 | OrderNum = 93, |
| 1170 | - ParentId = system.Id, | 1170 | + ParentId = system.Id.ToString(), |
| 1171 | IsDeleted = false | 1171 | IsDeleted = false |
| 1172 | }; | 1172 | }; |
| 1173 | entities.Add(notice); | 1173 | entities.Add(notice); |
| @@ -1179,7 +1179,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1179,7 +1179,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1179 | PermissionCode = "system:notice:query", | 1179 | PermissionCode = "system:notice:query", |
| 1180 | MenuType = MenuTypeEnum.Component, | 1180 | MenuType = MenuTypeEnum.Component, |
| 1181 | OrderNum = 100, | 1181 | OrderNum = 100, |
| 1182 | - ParentId = notice.Id, | 1182 | + ParentId = notice.Id.ToString(), |
| 1183 | IsDeleted = false | 1183 | IsDeleted = false |
| 1184 | }; | 1184 | }; |
| 1185 | entities.Add(noticeQuery); | 1185 | entities.Add(noticeQuery); |
| @@ -1191,7 +1191,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1191,7 +1191,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1191 | PermissionCode = "system:notice:add", | 1191 | PermissionCode = "system:notice:add", |
| 1192 | MenuType = MenuTypeEnum.Component, | 1192 | MenuType = MenuTypeEnum.Component, |
| 1193 | OrderNum = 100, | 1193 | OrderNum = 100, |
| 1194 | - ParentId = notice.Id, | 1194 | + ParentId = notice.Id.ToString(), |
| 1195 | IsDeleted = false | 1195 | IsDeleted = false |
| 1196 | }; | 1196 | }; |
| 1197 | entities.Add(noticeAdd); | 1197 | entities.Add(noticeAdd); |
| @@ -1203,7 +1203,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1203,7 +1203,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1203 | PermissionCode = "system:notice:edit", | 1203 | PermissionCode = "system:notice:edit", |
| 1204 | MenuType = MenuTypeEnum.Component, | 1204 | MenuType = MenuTypeEnum.Component, |
| 1205 | OrderNum = 100, | 1205 | OrderNum = 100, |
| 1206 | - ParentId = notice.Id, | 1206 | + ParentId = notice.Id.ToString(), |
| 1207 | IsDeleted = false | 1207 | IsDeleted = false |
| 1208 | }; | 1208 | }; |
| 1209 | entities.Add(noticeEdit); | 1209 | entities.Add(noticeEdit); |
| @@ -1215,7 +1215,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1215,7 +1215,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1215 | PermissionCode = "system:notice:remove", | 1215 | PermissionCode = "system:notice:remove", |
| 1216 | MenuType = MenuTypeEnum.Component, | 1216 | MenuType = MenuTypeEnum.Component, |
| 1217 | OrderNum = 100, | 1217 | OrderNum = 100, |
| 1218 | - ParentId = notice.Id, | 1218 | + ParentId = notice.Id.ToString(), |
| 1219 | IsDeleted = false | 1219 | IsDeleted = false |
| 1220 | }; | 1220 | }; |
| 1221 | entities.Add(noticeRemove); | 1221 | entities.Add(noticeRemove); |
| @@ -1233,7 +1233,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1233,7 +1233,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1233 | IsLink = false, | 1233 | IsLink = false, |
| 1234 | MenuIcon = "log", | 1234 | MenuIcon = "log", |
| 1235 | OrderNum = 92, | 1235 | OrderNum = 92, |
| 1236 | - ParentId = system.Id, | 1236 | + ParentId = system.Id.ToString(), |
| 1237 | IsDeleted = false | 1237 | IsDeleted = false |
| 1238 | }; | 1238 | }; |
| 1239 | entities.Add(log); | 1239 | entities.Add(log); |
| @@ -1252,7 +1252,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1252,7 +1252,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1252 | Component = "monitor/operlog/index", | 1252 | Component = "monitor/operlog/index", |
| 1253 | MenuIcon = "form", | 1253 | MenuIcon = "form", |
| 1254 | OrderNum = 100, | 1254 | OrderNum = 100, |
| 1255 | - ParentId = log.Id, | 1255 | + ParentId = log.Id.ToString(), |
| 1256 | IsDeleted = false | 1256 | IsDeleted = false |
| 1257 | }; | 1257 | }; |
| 1258 | entities.Add(operationLog); | 1258 | entities.Add(operationLog); |
| @@ -1264,7 +1264,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1264,7 +1264,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1264 | PermissionCode = "monitor:operlog:query", | 1264 | PermissionCode = "monitor:operlog:query", |
| 1265 | MenuType = MenuTypeEnum.Component, | 1265 | MenuType = MenuTypeEnum.Component, |
| 1266 | OrderNum = 100, | 1266 | OrderNum = 100, |
| 1267 | - ParentId = operationLog.Id, | 1267 | + ParentId = operationLog.Id.ToString(), |
| 1268 | IsDeleted = false | 1268 | IsDeleted = false |
| 1269 | }; | 1269 | }; |
| 1270 | entities.Add(operationLogQuery); | 1270 | entities.Add(operationLogQuery); |
| @@ -1276,7 +1276,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1276,7 +1276,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1276 | PermissionCode = "monitor:operlog:remove", | 1276 | PermissionCode = "monitor:operlog:remove", |
| 1277 | MenuType = MenuTypeEnum.Component, | 1277 | MenuType = MenuTypeEnum.Component, |
| 1278 | OrderNum = 100, | 1278 | OrderNum = 100, |
| 1279 | - ParentId = operationLog.Id, | 1279 | + ParentId = operationLog.Id.ToString(), |
| 1280 | IsDeleted = false | 1280 | IsDeleted = false |
| 1281 | }; | 1281 | }; |
| 1282 | entities.Add(operationLogRemove); | 1282 | entities.Add(operationLogRemove); |
| @@ -1296,7 +1296,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1296,7 +1296,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1296 | Component = "monitor/logininfor/index", | 1296 | Component = "monitor/logininfor/index", |
| 1297 | MenuIcon = "logininfor", | 1297 | MenuIcon = "logininfor", |
| 1298 | OrderNum = 100, | 1298 | OrderNum = 100, |
| 1299 | - ParentId = log.Id, | 1299 | + ParentId = log.Id.ToString(), |
| 1300 | IsDeleted = false | 1300 | IsDeleted = false |
| 1301 | }; | 1301 | }; |
| 1302 | entities.Add(loginLog); | 1302 | entities.Add(loginLog); |
| @@ -1308,7 +1308,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1308,7 +1308,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1308 | PermissionCode = "monitor:logininfor:query", | 1308 | PermissionCode = "monitor:logininfor:query", |
| 1309 | MenuType = MenuTypeEnum.Component, | 1309 | MenuType = MenuTypeEnum.Component, |
| 1310 | OrderNum = 100, | 1310 | OrderNum = 100, |
| 1311 | - ParentId = loginLog.Id, | 1311 | + ParentId = loginLog.Id.ToString(), |
| 1312 | IsDeleted = false | 1312 | IsDeleted = false |
| 1313 | }; | 1313 | }; |
| 1314 | entities.Add(loginLogQuery); | 1314 | entities.Add(loginLogQuery); |
| @@ -1320,7 +1320,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -1320,7 +1320,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 1320 | PermissionCode = "monitor:logininfor:remove", | 1320 | PermissionCode = "monitor:logininfor:remove", |
| 1321 | MenuType = MenuTypeEnum.Component, | 1321 | MenuType = MenuTypeEnum.Component, |
| 1322 | OrderNum = 100, | 1322 | OrderNum = 100, |
| 1323 | - ParentId = loginLog.Id, | 1323 | + ParentId = loginLog.Id.ToString(), |
| 1324 | IsDeleted = false | 1324 | IsDeleted = false |
| 1325 | }; | 1325 | }; |
| 1326 | entities.Add(loginLogRemove); | 1326 | entities.Add(loginLogRemove); |
美国版/Food Labeling Management Code/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.SqlSugarCore/DataSeeds/MenuVben5DataSeed.cs
| 1 | -using Volo.Abp.Data; | 1 | +using Volo.Abp.Data; |
| 2 | using Volo.Abp.DependencyInjection; | 2 | using Volo.Abp.DependencyInjection; |
| 3 | using Volo.Abp.Guids; | 3 | using Volo.Abp.Guids; |
| 4 | using Yi.Framework.Rbac.Domain.Entities; | 4 | using Yi.Framework.Rbac.Domain.Entities; |
| @@ -88,7 +88,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -88,7 +88,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 88 | // Component = "code/field/index", | 88 | // Component = "code/field/index", |
| 89 | // MenuIcon = "tabler:file-code", | 89 | // MenuIcon = "tabler:file-code", |
| 90 | // OrderNum = 99, | 90 | // OrderNum = 99, |
| 91 | - // ParentId = code.Id, | 91 | + // ParentId = code.Id.ToString(), |
| 92 | // IsDeleted = false | 92 | // IsDeleted = false |
| 93 | // }; | 93 | // }; |
| 94 | // entities.Add(field); | 94 | // entities.Add(field); |
| @@ -251,7 +251,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -251,7 +251,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 251 | Component = "system/tenant/index", | 251 | Component = "system/tenant/index", |
| 252 | MenuIcon = "tabler:users", | 252 | MenuIcon = "tabler:users", |
| 253 | OrderNum = 101, | 253 | OrderNum = 101, |
| 254 | - ParentId = system.Id, | 254 | + ParentId = system.Id.ToString(), |
| 255 | IsDeleted = false | 255 | IsDeleted = false |
| 256 | }; | 256 | }; |
| 257 | entities.Add(tenant); | 257 | entities.Add(tenant); |
| @@ -263,7 +263,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -263,7 +263,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 263 | PermissionCode = "system:tenant:query", | 263 | PermissionCode = "system:tenant:query", |
| 264 | MenuType = MenuTypeEnum.Component, | 264 | MenuType = MenuTypeEnum.Component, |
| 265 | OrderNum = 100, | 265 | OrderNum = 100, |
| 266 | - ParentId = tenant.Id, | 266 | + ParentId = tenant.Id.ToString(), |
| 267 | IsDeleted = false | 267 | IsDeleted = false |
| 268 | }; | 268 | }; |
| 269 | entities.Add(tenantQuery); | 269 | entities.Add(tenantQuery); |
| @@ -275,7 +275,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -275,7 +275,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 275 | PermissionCode = "system:tenant:add", | 275 | PermissionCode = "system:tenant:add", |
| 276 | MenuType = MenuTypeEnum.Component, | 276 | MenuType = MenuTypeEnum.Component, |
| 277 | OrderNum = 100, | 277 | OrderNum = 100, |
| 278 | - ParentId = tenant.Id, | 278 | + ParentId = tenant.Id.ToString(), |
| 279 | IsDeleted = false | 279 | IsDeleted = false |
| 280 | }; | 280 | }; |
| 281 | entities.Add(tenantAdd); | 281 | entities.Add(tenantAdd); |
| @@ -287,7 +287,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -287,7 +287,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 287 | PermissionCode = "system:tenant:edit", | 287 | PermissionCode = "system:tenant:edit", |
| 288 | MenuType = MenuTypeEnum.Component, | 288 | MenuType = MenuTypeEnum.Component, |
| 289 | OrderNum = 100, | 289 | OrderNum = 100, |
| 290 | - ParentId = tenant.Id, | 290 | + ParentId = tenant.Id.ToString(), |
| 291 | IsDeleted = false | 291 | IsDeleted = false |
| 292 | }; | 292 | }; |
| 293 | entities.Add(tenantEdit); | 293 | entities.Add(tenantEdit); |
| @@ -299,7 +299,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -299,7 +299,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 299 | PermissionCode = "system:tenant:remove", | 299 | PermissionCode = "system:tenant:remove", |
| 300 | MenuType = MenuTypeEnum.Component, | 300 | MenuType = MenuTypeEnum.Component, |
| 301 | OrderNum = 100, | 301 | OrderNum = 100, |
| 302 | - ParentId = tenant.Id, | 302 | + ParentId = tenant.Id.ToString(), |
| 303 | IsDeleted = false | 303 | IsDeleted = false |
| 304 | }; | 304 | }; |
| 305 | entities.Add(tenantRemove); | 305 | entities.Add(tenantRemove); |
| @@ -318,7 +318,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -318,7 +318,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 318 | Component = "system/user/index", | 318 | Component = "system/user/index", |
| 319 | MenuIcon = "tabler:user", | 319 | MenuIcon = "tabler:user", |
| 320 | OrderNum = 100, | 320 | OrderNum = 100, |
| 321 | - ParentId = system.Id, | 321 | + ParentId = system.Id.ToString(), |
| 322 | IsDeleted = false | 322 | IsDeleted = false |
| 323 | }; | 323 | }; |
| 324 | entities.Add(user); | 324 | entities.Add(user); |
| @@ -330,7 +330,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -330,7 +330,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 330 | PermissionCode = "system:user:query", | 330 | PermissionCode = "system:user:query", |
| 331 | MenuType = MenuTypeEnum.Component, | 331 | MenuType = MenuTypeEnum.Component, |
| 332 | OrderNum = 100, | 332 | OrderNum = 100, |
| 333 | - ParentId = user.Id, | 333 | + ParentId = user.Id.ToString(), |
| 334 | IsDeleted = false | 334 | IsDeleted = false |
| 335 | }; | 335 | }; |
| 336 | entities.Add(userQuery); | 336 | entities.Add(userQuery); |
| @@ -342,7 +342,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -342,7 +342,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 342 | PermissionCode = "system:user:add", | 342 | PermissionCode = "system:user:add", |
| 343 | MenuType = MenuTypeEnum.Component, | 343 | MenuType = MenuTypeEnum.Component, |
| 344 | OrderNum = 100, | 344 | OrderNum = 100, |
| 345 | - ParentId = user.Id, | 345 | + ParentId = user.Id.ToString(), |
| 346 | IsDeleted = false | 346 | IsDeleted = false |
| 347 | }; | 347 | }; |
| 348 | entities.Add(userAdd); | 348 | entities.Add(userAdd); |
| @@ -354,7 +354,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -354,7 +354,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 354 | PermissionCode = "system:user:edit", | 354 | PermissionCode = "system:user:edit", |
| 355 | MenuType = MenuTypeEnum.Component, | 355 | MenuType = MenuTypeEnum.Component, |
| 356 | OrderNum = 100, | 356 | OrderNum = 100, |
| 357 | - ParentId = user.Id, | 357 | + ParentId = user.Id.ToString(), |
| 358 | IsDeleted = false | 358 | IsDeleted = false |
| 359 | }; | 359 | }; |
| 360 | entities.Add(userEdit); | 360 | entities.Add(userEdit); |
| @@ -366,7 +366,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -366,7 +366,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 366 | PermissionCode = "system:user:remove", | 366 | PermissionCode = "system:user:remove", |
| 367 | MenuType = MenuTypeEnum.Component, | 367 | MenuType = MenuTypeEnum.Component, |
| 368 | OrderNum = 100, | 368 | OrderNum = 100, |
| 369 | - ParentId = user.Id, | 369 | + ParentId = user.Id.ToString(), |
| 370 | IsDeleted = false | 370 | IsDeleted = false |
| 371 | }; | 371 | }; |
| 372 | entities.Add(userRemove); | 372 | entities.Add(userRemove); |
| @@ -379,7 +379,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -379,7 +379,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 379 | PermissionCode = "system:user:resetPwd", | 379 | PermissionCode = "system:user:resetPwd", |
| 380 | MenuType = MenuTypeEnum.Component, | 380 | MenuType = MenuTypeEnum.Component, |
| 381 | OrderNum = 100, | 381 | OrderNum = 100, |
| 382 | - ParentId = user.Id, | 382 | + ParentId = user.Id.ToString(), |
| 383 | IsDeleted = false | 383 | IsDeleted = false |
| 384 | }; | 384 | }; |
| 385 | entities.Add(userResetPwd); | 385 | entities.Add(userResetPwd); |
| @@ -399,7 +399,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -399,7 +399,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 399 | Component = "system/role/index", | 399 | Component = "system/role/index", |
| 400 | MenuIcon = "eos-icons:role-binding-outlined", | 400 | MenuIcon = "eos-icons:role-binding-outlined", |
| 401 | OrderNum = 99, | 401 | OrderNum = 99, |
| 402 | - ParentId = system.Id, | 402 | + ParentId = system.Id.ToString(), |
| 403 | IsDeleted = false | 403 | IsDeleted = false |
| 404 | }; | 404 | }; |
| 405 | entities.Add(role); | 405 | entities.Add(role); |
| @@ -411,7 +411,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -411,7 +411,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 411 | PermissionCode = "system:role:query", | 411 | PermissionCode = "system:role:query", |
| 412 | MenuType = MenuTypeEnum.Component, | 412 | MenuType = MenuTypeEnum.Component, |
| 413 | OrderNum = 100, | 413 | OrderNum = 100, |
| 414 | - ParentId = role.Id, | 414 | + ParentId = role.Id.ToString(), |
| 415 | IsDeleted = false | 415 | IsDeleted = false |
| 416 | }; | 416 | }; |
| 417 | entities.Add(roleQuery); | 417 | entities.Add(roleQuery); |
| @@ -423,7 +423,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -423,7 +423,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 423 | PermissionCode = "system:role:add", | 423 | PermissionCode = "system:role:add", |
| 424 | MenuType = MenuTypeEnum.Component, | 424 | MenuType = MenuTypeEnum.Component, |
| 425 | OrderNum = 100, | 425 | OrderNum = 100, |
| 426 | - ParentId = role.Id, | 426 | + ParentId = role.Id.ToString(), |
| 427 | IsDeleted = false | 427 | IsDeleted = false |
| 428 | }; | 428 | }; |
| 429 | entities.Add(roleAdd); | 429 | entities.Add(roleAdd); |
| @@ -435,7 +435,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -435,7 +435,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 435 | PermissionCode = "system:role:edit", | 435 | PermissionCode = "system:role:edit", |
| 436 | MenuType = MenuTypeEnum.Component, | 436 | MenuType = MenuTypeEnum.Component, |
| 437 | OrderNum = 100, | 437 | OrderNum = 100, |
| 438 | - ParentId = role.Id, | 438 | + ParentId = role.Id.ToString(), |
| 439 | IsDeleted = false | 439 | IsDeleted = false |
| 440 | }; | 440 | }; |
| 441 | entities.Add(roleEdit); | 441 | entities.Add(roleEdit); |
| @@ -447,7 +447,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -447,7 +447,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 447 | PermissionCode = "system:role:remove", | 447 | PermissionCode = "system:role:remove", |
| 448 | MenuType = MenuTypeEnum.Component, | 448 | MenuType = MenuTypeEnum.Component, |
| 449 | OrderNum = 100, | 449 | OrderNum = 100, |
| 450 | - ParentId = role.Id, | 450 | + ParentId = role.Id.ToString(), |
| 451 | IsDeleted = false | 451 | IsDeleted = false |
| 452 | }; | 452 | }; |
| 453 | entities.Add(roleRemove); | 453 | entities.Add(roleRemove); |
| @@ -466,7 +466,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -466,7 +466,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 466 | MenuIcon = "tabler:user-shield", | 466 | MenuIcon = "tabler:user-shield", |
| 467 | OrderNum = 15, | 467 | OrderNum = 15, |
| 468 | IsDeleted = false, | 468 | IsDeleted = false, |
| 469 | - ParentId = system.Id | 469 | + ParentId = system.Id.ToString() |
| 470 | }; | 470 | }; |
| 471 | entities.Add(roleAuthUser); | 471 | entities.Add(roleAuthUser); |
| 472 | 472 | ||
| @@ -485,7 +485,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -485,7 +485,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 485 | Component = "system/menu/index", | 485 | Component = "system/menu/index", |
| 486 | MenuIcon = "ic:sharp-menu", | 486 | MenuIcon = "ic:sharp-menu", |
| 487 | OrderNum = 98, | 487 | OrderNum = 98, |
| 488 | - ParentId = system.Id, | 488 | + ParentId = system.Id.ToString(), |
| 489 | IsDeleted = false | 489 | IsDeleted = false |
| 490 | }; | 490 | }; |
| 491 | entities.Add(menu); | 491 | entities.Add(menu); |
| @@ -497,7 +497,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -497,7 +497,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 497 | PermissionCode = "system:menu:query", | 497 | PermissionCode = "system:menu:query", |
| 498 | MenuType = MenuTypeEnum.Component, | 498 | MenuType = MenuTypeEnum.Component, |
| 499 | OrderNum = 100, | 499 | OrderNum = 100, |
| 500 | - ParentId = menu.Id, | 500 | + ParentId = menu.Id.ToString(), |
| 501 | IsDeleted = false | 501 | IsDeleted = false |
| 502 | }; | 502 | }; |
| 503 | entities.Add(menuQuery); | 503 | entities.Add(menuQuery); |
| @@ -509,7 +509,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -509,7 +509,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 509 | PermissionCode = "system:menu:add", | 509 | PermissionCode = "system:menu:add", |
| 510 | MenuType = MenuTypeEnum.Component, | 510 | MenuType = MenuTypeEnum.Component, |
| 511 | OrderNum = 100, | 511 | OrderNum = 100, |
| 512 | - ParentId = menu.Id, | 512 | + ParentId = menu.Id.ToString(), |
| 513 | IsDeleted = false | 513 | IsDeleted = false |
| 514 | }; | 514 | }; |
| 515 | entities.Add(menuAdd); | 515 | entities.Add(menuAdd); |
| @@ -521,7 +521,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -521,7 +521,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 521 | PermissionCode = "system:menu:edit", | 521 | PermissionCode = "system:menu:edit", |
| 522 | MenuType = MenuTypeEnum.Component, | 522 | MenuType = MenuTypeEnum.Component, |
| 523 | OrderNum = 100, | 523 | OrderNum = 100, |
| 524 | - ParentId = menu.Id, | 524 | + ParentId = menu.Id.ToString(), |
| 525 | IsDeleted = false | 525 | IsDeleted = false |
| 526 | }; | 526 | }; |
| 527 | entities.Add(menuEdit); | 527 | entities.Add(menuEdit); |
| @@ -533,7 +533,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -533,7 +533,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 533 | PermissionCode = "system:menu:remove", | 533 | PermissionCode = "system:menu:remove", |
| 534 | MenuType = MenuTypeEnum.Component, | 534 | MenuType = MenuTypeEnum.Component, |
| 535 | OrderNum = 100, | 535 | OrderNum = 100, |
| 536 | - ParentId = menu.Id, | 536 | + ParentId = menu.Id.ToString(), |
| 537 | IsDeleted = false | 537 | IsDeleted = false |
| 538 | }; | 538 | }; |
| 539 | entities.Add(menuRemove); | 539 | entities.Add(menuRemove); |
| @@ -552,7 +552,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -552,7 +552,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 552 | Component = "system/dept/index", | 552 | Component = "system/dept/index", |
| 553 | MenuIcon = "mingcute:department-line", | 553 | MenuIcon = "mingcute:department-line", |
| 554 | OrderNum = 97, | 554 | OrderNum = 97, |
| 555 | - ParentId = system.Id, | 555 | + ParentId = system.Id.ToString(), |
| 556 | IsDeleted = false | 556 | IsDeleted = false |
| 557 | }; | 557 | }; |
| 558 | entities.Add(dept); | 558 | entities.Add(dept); |
| @@ -564,7 +564,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -564,7 +564,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 564 | PermissionCode = "system:dept:query", | 564 | PermissionCode = "system:dept:query", |
| 565 | MenuType = MenuTypeEnum.Component, | 565 | MenuType = MenuTypeEnum.Component, |
| 566 | OrderNum = 100, | 566 | OrderNum = 100, |
| 567 | - ParentId = dept.Id, | 567 | + ParentId = dept.Id.ToString(), |
| 568 | IsDeleted = false | 568 | IsDeleted = false |
| 569 | }; | 569 | }; |
| 570 | entities.Add(deptQuery); | 570 | entities.Add(deptQuery); |
| @@ -576,7 +576,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -576,7 +576,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 576 | PermissionCode = "system:dept:add", | 576 | PermissionCode = "system:dept:add", |
| 577 | MenuType = MenuTypeEnum.Component, | 577 | MenuType = MenuTypeEnum.Component, |
| 578 | OrderNum = 100, | 578 | OrderNum = 100, |
| 579 | - ParentId = dept.Id, | 579 | + ParentId = dept.Id.ToString(), |
| 580 | IsDeleted = false | 580 | IsDeleted = false |
| 581 | }; | 581 | }; |
| 582 | entities.Add(deptAdd); | 582 | entities.Add(deptAdd); |
| @@ -588,7 +588,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -588,7 +588,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 588 | PermissionCode = "system:dept:edit", | 588 | PermissionCode = "system:dept:edit", |
| 589 | MenuType = MenuTypeEnum.Component, | 589 | MenuType = MenuTypeEnum.Component, |
| 590 | OrderNum = 100, | 590 | OrderNum = 100, |
| 591 | - ParentId = dept.Id, | 591 | + ParentId = dept.Id.ToString(), |
| 592 | IsDeleted = false | 592 | IsDeleted = false |
| 593 | }; | 593 | }; |
| 594 | entities.Add(deptEdit); | 594 | entities.Add(deptEdit); |
| @@ -600,7 +600,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -600,7 +600,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 600 | PermissionCode = "system:dept:remove", | 600 | PermissionCode = "system:dept:remove", |
| 601 | MenuType = MenuTypeEnum.Component, | 601 | MenuType = MenuTypeEnum.Component, |
| 602 | OrderNum = 100, | 602 | OrderNum = 100, |
| 603 | - ParentId = dept.Id, | 603 | + ParentId = dept.Id.ToString(), |
| 604 | IsDeleted = false | 604 | IsDeleted = false |
| 605 | }; | 605 | }; |
| 606 | entities.Add(deptRemove); | 606 | entities.Add(deptRemove); |
| @@ -621,7 +621,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -621,7 +621,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 621 | Component = "system/post/index", | 621 | Component = "system/post/index", |
| 622 | MenuIcon = "tabler:user-star", | 622 | MenuIcon = "tabler:user-star", |
| 623 | OrderNum = 96, | 623 | OrderNum = 96, |
| 624 | - ParentId = system.Id, | 624 | + ParentId = system.Id.ToString(), |
| 625 | IsDeleted = false | 625 | IsDeleted = false |
| 626 | }; | 626 | }; |
| 627 | entities.Add(post); | 627 | entities.Add(post); |
| @@ -633,7 +633,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -633,7 +633,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 633 | PermissionCode = "system:post:query", | 633 | PermissionCode = "system:post:query", |
| 634 | MenuType = MenuTypeEnum.Component, | 634 | MenuType = MenuTypeEnum.Component, |
| 635 | OrderNum = 100, | 635 | OrderNum = 100, |
| 636 | - ParentId = post.Id, | 636 | + ParentId = post.Id.ToString(), |
| 637 | IsDeleted = false | 637 | IsDeleted = false |
| 638 | }; | 638 | }; |
| 639 | entities.Add(postQuery); | 639 | entities.Add(postQuery); |
| @@ -645,7 +645,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -645,7 +645,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 645 | PermissionCode = "system:post:add", | 645 | PermissionCode = "system:post:add", |
| 646 | MenuType = MenuTypeEnum.Component, | 646 | MenuType = MenuTypeEnum.Component, |
| 647 | OrderNum = 100, | 647 | OrderNum = 100, |
| 648 | - ParentId = post.Id, | 648 | + ParentId = post.Id.ToString(), |
| 649 | IsDeleted = false | 649 | IsDeleted = false |
| 650 | }; | 650 | }; |
| 651 | entities.Add(postAdd); | 651 | entities.Add(postAdd); |
| @@ -657,7 +657,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -657,7 +657,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 657 | PermissionCode = "system:post:edit", | 657 | PermissionCode = "system:post:edit", |
| 658 | MenuType = MenuTypeEnum.Component, | 658 | MenuType = MenuTypeEnum.Component, |
| 659 | OrderNum = 100, | 659 | OrderNum = 100, |
| 660 | - ParentId = post.Id, | 660 | + ParentId = post.Id.ToString(), |
| 661 | IsDeleted = false | 661 | IsDeleted = false |
| 662 | }; | 662 | }; |
| 663 | entities.Add(postEdit); | 663 | entities.Add(postEdit); |
| @@ -669,7 +669,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -669,7 +669,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 669 | PermissionCode = "system:post:remove", | 669 | PermissionCode = "system:post:remove", |
| 670 | MenuType = MenuTypeEnum.Component, | 670 | MenuType = MenuTypeEnum.Component, |
| 671 | OrderNum = 100, | 671 | OrderNum = 100, |
| 672 | - ParentId = post.Id, | 672 | + ParentId = post.Id.ToString(), |
| 673 | IsDeleted = false | 673 | IsDeleted = false |
| 674 | }; | 674 | }; |
| 675 | entities.Add(postRemove); | 675 | entities.Add(postRemove); |
| @@ -688,7 +688,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -688,7 +688,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 688 | Component = "system/dict/index", | 688 | Component = "system/dict/index", |
| 689 | MenuIcon = "fluent-mdl2:dictionary", | 689 | MenuIcon = "fluent-mdl2:dictionary", |
| 690 | OrderNum = 95, | 690 | OrderNum = 95, |
| 691 | - ParentId = system.Id, | 691 | + ParentId = system.Id.ToString(), |
| 692 | IsDeleted = false | 692 | IsDeleted = false |
| 693 | }; | 693 | }; |
| 694 | entities.Add(dict); | 694 | entities.Add(dict); |
| @@ -700,7 +700,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -700,7 +700,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 700 | PermissionCode = "system:dict:query", | 700 | PermissionCode = "system:dict:query", |
| 701 | MenuType = MenuTypeEnum.Component, | 701 | MenuType = MenuTypeEnum.Component, |
| 702 | OrderNum = 100, | 702 | OrderNum = 100, |
| 703 | - ParentId = dict.Id, | 703 | + ParentId = dict.Id.ToString(), |
| 704 | IsDeleted = false | 704 | IsDeleted = false |
| 705 | }; | 705 | }; |
| 706 | entities.Add(dictQuery); | 706 | entities.Add(dictQuery); |
| @@ -712,7 +712,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -712,7 +712,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 712 | PermissionCode = "system:dict:add", | 712 | PermissionCode = "system:dict:add", |
| 713 | MenuType = MenuTypeEnum.Component, | 713 | MenuType = MenuTypeEnum.Component, |
| 714 | OrderNum = 100, | 714 | OrderNum = 100, |
| 715 | - ParentId = dict.Id, | 715 | + ParentId = dict.Id.ToString(), |
| 716 | IsDeleted = false | 716 | IsDeleted = false |
| 717 | }; | 717 | }; |
| 718 | entities.Add(dictAdd); | 718 | entities.Add(dictAdd); |
| @@ -724,7 +724,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -724,7 +724,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 724 | PermissionCode = "system:dict:edit", | 724 | PermissionCode = "system:dict:edit", |
| 725 | MenuType = MenuTypeEnum.Component, | 725 | MenuType = MenuTypeEnum.Component, |
| 726 | OrderNum = 100, | 726 | OrderNum = 100, |
| 727 | - ParentId = dict.Id, | 727 | + ParentId = dict.Id.ToString(), |
| 728 | IsDeleted = false | 728 | IsDeleted = false |
| 729 | }; | 729 | }; |
| 730 | entities.Add(dictEdit); | 730 | entities.Add(dictEdit); |
| @@ -736,7 +736,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -736,7 +736,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 736 | PermissionCode = "system:dict:remove", | 736 | PermissionCode = "system:dict:remove", |
| 737 | MenuType = MenuTypeEnum.Component, | 737 | MenuType = MenuTypeEnum.Component, |
| 738 | OrderNum = 100, | 738 | OrderNum = 100, |
| 739 | - ParentId = dict.Id, | 739 | + ParentId = dict.Id.ToString(), |
| 740 | IsDeleted = false | 740 | IsDeleted = false |
| 741 | }; | 741 | }; |
| 742 | entities.Add(dictRemove); | 742 | entities.Add(dictRemove); |
| @@ -756,7 +756,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -756,7 +756,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 756 | Component = "system/config/index", | 756 | Component = "system/config/index", |
| 757 | MenuIcon = "ant-design:setting-outlined", | 757 | MenuIcon = "ant-design:setting-outlined", |
| 758 | OrderNum = 94, | 758 | OrderNum = 94, |
| 759 | - ParentId = system.Id, | 759 | + ParentId = system.Id.ToString(), |
| 760 | IsDeleted = false | 760 | IsDeleted = false |
| 761 | }; | 761 | }; |
| 762 | entities.Add(config); | 762 | entities.Add(config); |
| @@ -768,7 +768,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -768,7 +768,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 768 | PermissionCode = "system:config:query", | 768 | PermissionCode = "system:config:query", |
| 769 | MenuType = MenuTypeEnum.Component, | 769 | MenuType = MenuTypeEnum.Component, |
| 770 | OrderNum = 100, | 770 | OrderNum = 100, |
| 771 | - ParentId = config.Id, | 771 | + ParentId = config.Id.ToString(), |
| 772 | IsDeleted = false | 772 | IsDeleted = false |
| 773 | }; | 773 | }; |
| 774 | entities.Add(configQuery); | 774 | entities.Add(configQuery); |
| @@ -780,7 +780,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -780,7 +780,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 780 | PermissionCode = "system:config:add", | 780 | PermissionCode = "system:config:add", |
| 781 | MenuType = MenuTypeEnum.Component, | 781 | MenuType = MenuTypeEnum.Component, |
| 782 | OrderNum = 100, | 782 | OrderNum = 100, |
| 783 | - ParentId = config.Id, | 783 | + ParentId = config.Id.ToString(), |
| 784 | IsDeleted = false | 784 | IsDeleted = false |
| 785 | }; | 785 | }; |
| 786 | entities.Add(configAdd); | 786 | entities.Add(configAdd); |
| @@ -792,7 +792,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -792,7 +792,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 792 | PermissionCode = "system:config:edit", | 792 | PermissionCode = "system:config:edit", |
| 793 | MenuType = MenuTypeEnum.Component, | 793 | MenuType = MenuTypeEnum.Component, |
| 794 | OrderNum = 100, | 794 | OrderNum = 100, |
| 795 | - ParentId = config.Id, | 795 | + ParentId = config.Id.ToString(), |
| 796 | IsDeleted = false | 796 | IsDeleted = false |
| 797 | }; | 797 | }; |
| 798 | entities.Add(configEdit); | 798 | entities.Add(configEdit); |
| @@ -804,7 +804,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -804,7 +804,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 804 | PermissionCode = "system:config:remove", | 804 | PermissionCode = "system:config:remove", |
| 805 | MenuType = MenuTypeEnum.Component, | 805 | MenuType = MenuTypeEnum.Component, |
| 806 | OrderNum = 100, | 806 | OrderNum = 100, |
| 807 | - ParentId = config.Id, | 807 | + ParentId = config.Id.ToString(), |
| 808 | IsDeleted = false | 808 | IsDeleted = false |
| 809 | }; | 809 | }; |
| 810 | entities.Add(configRemove); | 810 | entities.Add(configRemove); |
| @@ -826,7 +826,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -826,7 +826,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 826 | Component = "system/notice/index", | 826 | Component = "system/notice/index", |
| 827 | MenuIcon = "fe:notice-push", | 827 | MenuIcon = "fe:notice-push", |
| 828 | OrderNum = 93, | 828 | OrderNum = 93, |
| 829 | - ParentId = system.Id, | 829 | + ParentId = system.Id.ToString(), |
| 830 | IsDeleted = false | 830 | IsDeleted = false |
| 831 | }; | 831 | }; |
| 832 | entities.Add(notice); | 832 | entities.Add(notice); |
| @@ -838,7 +838,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -838,7 +838,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 838 | PermissionCode = "system:notice:query", | 838 | PermissionCode = "system:notice:query", |
| 839 | MenuType = MenuTypeEnum.Component, | 839 | MenuType = MenuTypeEnum.Component, |
| 840 | OrderNum = 100, | 840 | OrderNum = 100, |
| 841 | - ParentId = notice.Id, | 841 | + ParentId = notice.Id.ToString(), |
| 842 | IsDeleted = false | 842 | IsDeleted = false |
| 843 | }; | 843 | }; |
| 844 | entities.Add(noticeQuery); | 844 | entities.Add(noticeQuery); |
| @@ -850,7 +850,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -850,7 +850,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 850 | PermissionCode = "system:notice:add", | 850 | PermissionCode = "system:notice:add", |
| 851 | MenuType = MenuTypeEnum.Component, | 851 | MenuType = MenuTypeEnum.Component, |
| 852 | OrderNum = 100, | 852 | OrderNum = 100, |
| 853 | - ParentId = notice.Id, | 853 | + ParentId = notice.Id.ToString(), |
| 854 | IsDeleted = false | 854 | IsDeleted = false |
| 855 | }; | 855 | }; |
| 856 | entities.Add(noticeAdd); | 856 | entities.Add(noticeAdd); |
| @@ -862,7 +862,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -862,7 +862,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 862 | PermissionCode = "system:notice:edit", | 862 | PermissionCode = "system:notice:edit", |
| 863 | MenuType = MenuTypeEnum.Component, | 863 | MenuType = MenuTypeEnum.Component, |
| 864 | OrderNum = 100, | 864 | OrderNum = 100, |
| 865 | - ParentId = notice.Id, | 865 | + ParentId = notice.Id.ToString(), |
| 866 | IsDeleted = false | 866 | IsDeleted = false |
| 867 | }; | 867 | }; |
| 868 | entities.Add(noticeEdit); | 868 | entities.Add(noticeEdit); |
| @@ -874,7 +874,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -874,7 +874,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 874 | PermissionCode = "system:notice:remove", | 874 | PermissionCode = "system:notice:remove", |
| 875 | MenuType = MenuTypeEnum.Component, | 875 | MenuType = MenuTypeEnum.Component, |
| 876 | OrderNum = 100, | 876 | OrderNum = 100, |
| 877 | - ParentId = notice.Id, | 877 | + ParentId = notice.Id.ToString(), |
| 878 | IsDeleted = false | 878 | IsDeleted = false |
| 879 | }; | 879 | }; |
| 880 | entities.Add(noticeRemove); | 880 | entities.Add(noticeRemove); |
| @@ -892,7 +892,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -892,7 +892,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 892 | IsLink = false, | 892 | IsLink = false, |
| 893 | MenuIcon = "material-symbols:logo-dev-outline", | 893 | MenuIcon = "material-symbols:logo-dev-outline", |
| 894 | OrderNum = 92, | 894 | OrderNum = 92, |
| 895 | - ParentId = system.Id, | 895 | + ParentId = system.Id.ToString(), |
| 896 | IsDeleted = false | 896 | IsDeleted = false |
| 897 | }; | 897 | }; |
| 898 | entities.Add(log); | 898 | entities.Add(log); |
| @@ -911,7 +911,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -911,7 +911,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 911 | Component = "monitor/operlog/index", | 911 | Component = "monitor/operlog/index", |
| 912 | MenuIcon = "tabler:align-box-right-middle", | 912 | MenuIcon = "tabler:align-box-right-middle", |
| 913 | OrderNum = 100, | 913 | OrderNum = 100, |
| 914 | - ParentId = log.Id, | 914 | + ParentId = log.Id.ToString(), |
| 915 | IsDeleted = false | 915 | IsDeleted = false |
| 916 | }; | 916 | }; |
| 917 | entities.Add(operationLog); | 917 | entities.Add(operationLog); |
| @@ -923,7 +923,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -923,7 +923,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 923 | PermissionCode = "monitor:operlog:query", | 923 | PermissionCode = "monitor:operlog:query", |
| 924 | MenuType = MenuTypeEnum.Component, | 924 | MenuType = MenuTypeEnum.Component, |
| 925 | OrderNum = 100, | 925 | OrderNum = 100, |
| 926 | - ParentId = operationLog.Id, | 926 | + ParentId = operationLog.Id.ToString(), |
| 927 | IsDeleted = false | 927 | IsDeleted = false |
| 928 | }; | 928 | }; |
| 929 | entities.Add(operationLogQuery); | 929 | entities.Add(operationLogQuery); |
| @@ -935,7 +935,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -935,7 +935,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 935 | PermissionCode = "monitor:operlog:remove", | 935 | PermissionCode = "monitor:operlog:remove", |
| 936 | MenuType = MenuTypeEnum.Component, | 936 | MenuType = MenuTypeEnum.Component, |
| 937 | OrderNum = 100, | 937 | OrderNum = 100, |
| 938 | - ParentId = operationLog.Id, | 938 | + ParentId = operationLog.Id.ToString(), |
| 939 | IsDeleted = false | 939 | IsDeleted = false |
| 940 | }; | 940 | }; |
| 941 | entities.Add(operationLogRemove); | 941 | entities.Add(operationLogRemove); |
| @@ -955,7 +955,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -955,7 +955,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 955 | Component = "monitor/logininfor/index", | 955 | Component = "monitor/logininfor/index", |
| 956 | MenuIcon = "tabler:align-box-right-middle", | 956 | MenuIcon = "tabler:align-box-right-middle", |
| 957 | OrderNum = 100, | 957 | OrderNum = 100, |
| 958 | - ParentId = log.Id, | 958 | + ParentId = log.Id.ToString(), |
| 959 | IsDeleted = false | 959 | IsDeleted = false |
| 960 | }; | 960 | }; |
| 961 | entities.Add(loginLog); | 961 | entities.Add(loginLog); |
| @@ -967,7 +967,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -967,7 +967,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 967 | PermissionCode = "monitor:logininfor:query", | 967 | PermissionCode = "monitor:logininfor:query", |
| 968 | MenuType = MenuTypeEnum.Component, | 968 | MenuType = MenuTypeEnum.Component, |
| 969 | OrderNum = 100, | 969 | OrderNum = 100, |
| 970 | - ParentId = loginLog.Id, | 970 | + ParentId = loginLog.Id.ToString(), |
| 971 | IsDeleted = false | 971 | IsDeleted = false |
| 972 | }; | 972 | }; |
| 973 | entities.Add(loginLogQuery); | 973 | entities.Add(loginLogQuery); |
| @@ -979,7 +979,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | @@ -979,7 +979,7 @@ namespace Yi.Framework.Rbac.SqlSugarCore.DataSeeds | ||
| 979 | PermissionCode = "monitor:logininfor:remove", | 979 | PermissionCode = "monitor:logininfor:remove", |
| 980 | MenuType = MenuTypeEnum.Component, | 980 | MenuType = MenuTypeEnum.Component, |
| 981 | OrderNum = 100, | 981 | OrderNum = 100, |
| 982 | - ParentId = loginLog.Id, | 982 | + ParentId = loginLog.Id.ToString(), |
| 983 | IsDeleted = false | 983 | IsDeleted = false |
| 984 | }; | 984 | }; |
| 985 | entities.Add(loginLogRemove); | 985 | entities.Add(loginLogRemove); |
美国版/Food Labeling Management Platform/src/components/products/ProductsView.tsx
| @@ -68,6 +68,7 @@ import type { LocationDto } from "../../types/location"; | @@ -68,6 +68,7 @@ import type { LocationDto } from "../../types/location"; | ||
| 68 | import type { ProductDto, ProductCreateInput, ProductUpdateInput } from "../../types/product"; | 68 | import type { ProductDto, ProductCreateInput, ProductUpdateInput } from "../../types/product"; |
| 69 | import type { ProductCategoryDto, ProductCategoryCreateInput } from "../../types/productCategory"; | 69 | import type { ProductCategoryDto, ProductCategoryCreateInput } from "../../types/productCategory"; |
| 70 | import { SearchableSelect } from "../ui/searchable-select"; | 70 | import { SearchableSelect } from "../ui/searchable-select"; |
| 71 | +import { SearchableMultiSelect } from "../ui/searchable-multi-select"; | ||
| 71 | import { | 72 | import { |
| 72 | Pagination, | 73 | Pagination, |
| 73 | PaginationContent, | 74 | PaginationContent, |
| @@ -101,24 +102,36 @@ async function buildProductLocationMap(signal?: AbortSignal): Promise<Map<string | @@ -101,24 +102,36 @@ async function buildProductLocationMap(signal?: AbortSignal): Promise<Map<string | ||
| 101 | return map; | 102 | return map; |
| 102 | } | 103 | } |
| 103 | 104 | ||
| 105 | +/** | ||
| 106 | + * 按「一个产品 + 一个门店」一行(fl_location_product)同步:移除旧门店关联、补齐新门店关联。 | ||
| 107 | + */ | ||
| 104 | async function syncProductStoreBinding( | 108 | async function syncProductStoreBinding( |
| 105 | productId: string, | 109 | productId: string, |
| 106 | - newLocationId: string, | 110 | + newLocationIds: string[], |
| 107 | previousLocationIds: string[], | 111 | previousLocationIds: string[], |
| 108 | ): Promise<void> { | 112 | ): Promise<void> { |
| 109 | const prev = [...new Set(previousLocationIds.filter(Boolean))]; | 113 | const prev = [...new Set(previousLocationIds.filter(Boolean))]; |
| 110 | - for (const locId of prev) { | ||
| 111 | - if (locId === newLocationId) continue; | ||
| 112 | - const current = await getProductIdsByLocation(locId); | ||
| 113 | - if (current.includes(productId)) { | 114 | + const next = [...new Set(newLocationIds.map((x) => x.trim()).filter(Boolean))]; |
| 115 | + const nextSet = new Set(next); | ||
| 116 | + const prevSet = new Set(prev); | ||
| 117 | + | ||
| 118 | + const removals = prev.filter((locId) => !nextSet.has(locId)); | ||
| 119 | + await Promise.all( | ||
| 120 | + removals.map(async (locId) => { | ||
| 121 | + const current = await getProductIdsByLocation(locId); | ||
| 122 | + if (!current.includes(productId)) return; | ||
| 114 | await updateProductLocation(locId, { | 123 | await updateProductLocation(locId, { |
| 115 | productIds: current.filter((x) => x !== productId), | 124 | productIds: current.filter((x) => x !== productId), |
| 116 | }); | 125 | }); |
| 117 | - } | ||
| 118 | - } | ||
| 119 | - if (newLocationId.trim()) { | ||
| 120 | - await createProductLocation({ locationId: newLocationId, productIds: [productId] }); | ||
| 121 | - } | 126 | + }), |
| 127 | + ); | ||
| 128 | + | ||
| 129 | + const additions = next.filter((locId) => !prevSet.has(locId)); | ||
| 130 | + await Promise.all( | ||
| 131 | + additions.map((locId) => | ||
| 132 | + createProductLocation({ locationId: locId, productIds: [productId] }), | ||
| 133 | + ), | ||
| 134 | + ); | ||
| 122 | } | 135 | } |
| 123 | 136 | ||
| 124 | export function ProductsView() { | 137 | export function ProductsView() { |
| @@ -966,7 +979,7 @@ function ProductFormDialog({ | @@ -966,7 +979,7 @@ function ProductFormDialog({ | ||
| 966 | const [categoryId, setCategoryId] = useState(""); | 979 | const [categoryId, setCategoryId] = useState(""); |
| 967 | const [productImageUrl, setProductImageUrl] = useState(""); | 980 | const [productImageUrl, setProductImageUrl] = useState(""); |
| 968 | const [state, setState] = useState(true); | 981 | const [state, setState] = useState(true); |
| 969 | - const [locationId, setLocationId] = useState(""); | 982 | + const [locationIds, setLocationIds] = useState<string[]>([]); |
| 970 | 983 | ||
| 971 | useEffect(() => { | 984 | useEffect(() => { |
| 972 | if (!open) return; | 985 | if (!open) return; |
| @@ -977,14 +990,14 @@ function ProductFormDialog({ | @@ -977,14 +990,14 @@ function ProductFormDialog({ | ||
| 977 | setProductImageUrl(editing.productImageUrl ?? ""); | 990 | setProductImageUrl(editing.productImageUrl ?? ""); |
| 978 | setState(editing.state !== false); | 991 | setState(editing.state !== false); |
| 979 | const lids = locationMap.get(editing.id) ?? []; | 992 | const lids = locationMap.get(editing.id) ?? []; |
| 980 | - setLocationId(lids[0] ?? ""); | 993 | + setLocationIds([...new Set(lids.filter(Boolean))]); |
| 981 | } else { | 994 | } else { |
| 982 | setProductCode(""); | 995 | setProductCode(""); |
| 983 | setProductName(""); | 996 | setProductName(""); |
| 984 | setCategoryId(""); | 997 | setCategoryId(""); |
| 985 | setProductImageUrl(""); | 998 | setProductImageUrl(""); |
| 986 | setState(true); | 999 | setState(true); |
| 987 | - setLocationId(""); | 1000 | + setLocationIds([]); |
| 988 | } | 1001 | } |
| 989 | }, [open, editing, locationMap]); | 1002 | }, [open, editing, locationMap]); |
| 990 | 1003 | ||
| @@ -993,8 +1006,9 @@ function ProductFormDialog({ | @@ -993,8 +1006,9 @@ function ProductFormDialog({ | ||
| 993 | toast.error("Validation", { description: "Product code and name are required." }); | 1006 | toast.error("Validation", { description: "Product code and name are required." }); |
| 994 | return; | 1007 | return; |
| 995 | } | 1008 | } |
| 996 | - if (!locationId.trim()) { | ||
| 997 | - toast.error("Validation", { description: "Select a store to bind this product." }); | 1009 | + const storeIds = [...new Set(locationIds.map((x) => x.trim()).filter(Boolean))]; |
| 1010 | + if (storeIds.length === 0) { | ||
| 1011 | + toast.error("Validation", { description: "Select at least one store to bind this product." }); | ||
| 998 | return; | 1012 | return; |
| 999 | } | 1013 | } |
| 1000 | 1014 | ||
| @@ -1011,10 +1025,14 @@ function ProductFormDialog({ | @@ -1011,10 +1025,14 @@ function ProductFormDialog({ | ||
| 1011 | if (editing) { | 1025 | if (editing) { |
| 1012 | await updateProduct(editing.id, body as ProductUpdateInput); | 1026 | await updateProduct(editing.id, body as ProductUpdateInput); |
| 1013 | const prev = locationMap.get(editing.id) ?? []; | 1027 | const prev = locationMap.get(editing.id) ?? []; |
| 1014 | - await syncProductStoreBinding(editing.id, locationId.trim(), prev); | 1028 | + await syncProductStoreBinding(editing.id, storeIds, prev); |
| 1015 | } else { | 1029 | } else { |
| 1016 | const created = await createProduct(body); | 1030 | const created = await createProduct(body); |
| 1017 | - await createProductLocation({ locationId: locationId.trim(), productIds: [created.id] }); | 1031 | + await Promise.all( |
| 1032 | + storeIds.map((locId) => | ||
| 1033 | + createProductLocation({ locationId: locId, productIds: [created.id] }), | ||
| 1034 | + ), | ||
| 1035 | + ); | ||
| 1018 | } | 1036 | } |
| 1019 | toast.success(editing ? "Product updated." : "Product created."); | 1037 | toast.success(editing ? "Product updated." : "Product created."); |
| 1020 | onSaved(); | 1038 | onSaved(); |
| @@ -1033,7 +1051,9 @@ function ProductFormDialog({ | @@ -1033,7 +1051,9 @@ function ProductFormDialog({ | ||
| 1033 | <DialogHeader> | 1051 | <DialogHeader> |
| 1034 | <DialogTitle>{editing ? "Edit Product" : "Add New Product"}</DialogTitle> | 1052 | <DialogTitle>{editing ? "Edit Product" : "Add New Product"}</DialogTitle> |
| 1035 | <DialogDescription> | 1053 | <DialogDescription> |
| 1036 | - {editing ? "Update product and store binding." : "Create a product and bind it to a store."} | 1054 | + {editing |
| 1055 | + ? "Update product and store bindings (one row per product–store pair)." | ||
| 1056 | + : "Create a product and bind it to one or more stores (one row per pair)."} | ||
| 1037 | </DialogDescription> | 1057 | </DialogDescription> |
| 1038 | </DialogHeader> | 1058 | </DialogHeader> |
| 1039 | 1059 | ||
| @@ -1080,12 +1100,12 @@ function ProductFormDialog({ | @@ -1080,12 +1100,12 @@ function ProductFormDialog({ | ||
| 1080 | /> | 1100 | /> |
| 1081 | </div> | 1101 | </div> |
| 1082 | <div className="space-y-2"> | 1102 | <div className="space-y-2"> |
| 1083 | - <Label>Bind to store *</Label> | ||
| 1084 | - <SearchableSelect | ||
| 1085 | - value={locationId} | ||
| 1086 | - onValueChange={setLocationId} | 1103 | + <Label>Bind to store(s) *</Label> |
| 1104 | + <SearchableMultiSelect | ||
| 1105 | + values={locationIds} | ||
| 1106 | + onValuesChange={setLocationIds} | ||
| 1087 | options={locationOptions} | 1107 | options={locationOptions} |
| 1088 | - placeholder="Select location" | 1108 | + placeholder="Select one or more locations" |
| 1089 | searchPlaceholder="Search location…" | 1109 | searchPlaceholder="Search location…" |
| 1090 | emptyText="No locations." | 1110 | emptyText="No locations." |
| 1091 | /> | 1111 | /> |
项目相关文档/本次新增与优化接口汇总.md
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | > - App `labeling-tree`:L1 标签分类返回 `buttonAppearance` | 7 | > - App `labeling-tree`:L1 标签分类返回 `buttonAppearance` |
| 8 | > - Web 管理端 `auth-session`:**当前用户菜单与权限**、**退出登录**(食品标签-美国版模块) | 8 | > - Web 管理端 `auth-session`:**当前用户菜单与权限**、**退出登录**(食品标签-美国版模块) |
| 9 | > - Web `rbac-menu` 列表/详情:补充返回 `routerName`、`router` | 9 | > - Web `rbac-menu` 列表/详情:补充返回 `routerName`、`router` |
| 10 | +> - 产品 **Products**:`POST/PUT /api/app/product` 支持可选 Body 字段 **`locationIds`**(多门店批量绑定 / 编辑时整表替换关联),详见 `项目相关文档/标签模块接口对接说明.md` **§6** | ||
| 10 | > | 11 | > |
| 11 | > 其余标签打印相关接口不在本文范围内。 | 12 | > 其余标签打印相关接口不在本文范围内。 |
| 12 | 13 |
项目相关文档/标签模块接口对接说明.md
| @@ -574,6 +574,10 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -574,6 +574,10 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 574 | 入参: | 574 | 入参: |
| 575 | - `id`:产品Id(`fl_product.Id`) | 575 | - `id`:产品Id(`fl_product.Id`) |
| 576 | 576 | ||
| 577 | +返回(`ProductGetOutputDto`,与实现一致的主要字段): | ||
| 578 | +- `id`、`productCode`、`productName`、`categoryId`、`categoryName`、`productImageUrl`、`state` | ||
| 579 | +- **`locationIds`**:`string[]`,该产品在 **`fl_location_product`** 中绑定的门店 Id(去重);无关联时为空数组 | ||
| 580 | + | ||
| 577 | ### 6.3 新增产品 | 581 | ### 6.3 新增产品 |
| 578 | 582 | ||
| 579 | 方法:`POST /api/app/product` | 583 | 方法:`POST /api/app/product` |
| @@ -583,15 +587,30 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -583,15 +587,30 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 583 | { | 587 | { |
| 584 | "productCode": "PRD_TEST_001", | 588 | "productCode": "PRD_TEST_001", |
| 585 | "productName": "Chicken", | 589 | "productName": "Chicken", |
| 586 | - "categoryName": "Meat", | 590 | + "categoryId": "a2696b9e-2277-11f1-b4c6-00163e0c7c4f", |
| 587 | "productImageUrl": "https://example.com/img.png", | 591 | "productImageUrl": "https://example.com/img.png", |
| 588 | - "state": true | 592 | + "state": true, |
| 593 | + "locationIds": [ | ||
| 594 | + "11111111-1111-1111-1111-111111111111", | ||
| 595 | + "22222222-2222-2222-2222-222222222222" | ||
| 596 | + ] | ||
| 589 | } | 597 | } |
| 590 | ``` | 598 | ``` |
| 591 | 599 | ||
| 600 | +字段说明: | ||
| 601 | +| 字段 | 类型 | 必填 | 说明 | | ||
| 602 | +|------|------|------|------| | ||
| 603 | +| `productCode` | string | 是 | 产品编码 | | ||
| 604 | +| `productName` | string | 是 | 产品名称 | | ||
| 605 | +| `categoryId` | string \| null | 否 | 产品分类 Id(`fl_product_category.id`) | | ||
| 606 | +| `productImageUrl` | string \| null | 否 | 主图 URL | | ||
| 607 | +| `state` | bool | 否 | 默认 `true` | | ||
| 608 | +| **`locationIds`** | `string[]` \| **省略** | 否 | **可选。** 有该字段时:在同一事务内按列表批量写入 **`fl_location_product`**(**每个门店 Id 一行**,即「一产品一门店一条关联」)。**请求体中省略该字段**时:本接口不写门店关联,仍可通过 **§7 Product-Location** 维护。传空数组 `[]` 表示新建产品后不绑定任何门店。 | | ||
| 609 | + | ||
| 592 | 校验: | 610 | 校验: |
| 593 | -- `productCode/productName` 不能为空 | 611 | +- `productCode` / `productName` 不能为空 |
| 594 | - `productCode` 不能与未删除的数据重复 | 612 | - `productCode` 不能与未删除的数据重复 |
| 613 | +- 若传入 **`locationIds`** 且含非空项:每个 Id 须为合法 Guid,且对应门店存在于 **`Location`** 主数据且未删除;否则返回友好错误(如「门店Id格式不正确」「门店不存在」) | ||
| 595 | 614 | ||
| 596 | ### 6.4 编辑产品 | 615 | ### 6.4 编辑产品 |
| 597 | 616 | ||
| @@ -599,7 +618,13 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -599,7 +618,13 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 599 | 618 | ||
| 600 | 入参: | 619 | 入参: |
| 601 | - Path:`id` 为当前产品Id(`fl_product.Id`) | 620 | - Path:`id` 为当前产品Id(`fl_product.Id`) |
| 602 | -- Body:字段同新增(`ProductUpdateInputVo`) | 621 | +- Body:字段同新增(`ProductUpdateInputVo`,继承 `ProductCreateInputVo`) |
| 622 | + | ||
| 623 | +**`locationIds` 行为(与新增不同,请注意):** | ||
| 624 | +- **请求体中省略 `locationIds` 属性**:不修改 **`fl_location_product`**(仅更新 `fl_product` 主表字段;兼容原「先 PUT 产品再调 §7 同步门店」的调用方式)。 | ||
| 625 | +- **请求体中包含 `locationIds` 属性**(含空数组 `[]`):对该产品的门店关联做 **整表替换**——先删除本产品下全部 **`fl_location_product`** 行,再按列表逐条插入;`[]` 表示解除该产品与所有门店的关联。 | ||
| 626 | + | ||
| 627 | +其它校验同 **§6.3**(含门店存在性校验,当 `locationIds` 含非空项时)。 | ||
| 603 | 628 | ||
| 604 | ### 6.5 删除(逻辑删除) | 629 | ### 6.5 删除(逻辑删除) |
| 605 | 630 | ||
| @@ -613,6 +638,7 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | @@ -613,6 +638,7 @@ ADD UNIQUE KEY `uk_fl_ltpd_template_product_label_type` (`TemplateId`, `ProductI | ||
| 613 | 638 | ||
| 614 | 说明: | 639 | 说明: |
| 615 | - 关联表:`fl_location_product` | 640 | - 关联表:`fl_location_product` |
| 641 | +- 也可在 **§6.3 / §6.4** 通过产品 Body 的 **`locationIds`** 一次性维护本产品在各门店的关联(与 §7 写入同一张表);二者可并存,按需选择调用方式。 | ||
| 616 | - 关联按门店进行批量替换: | 642 | - 关联按门店进行批量替换: |
| 617 | - `Create`:在门店下新增未存在的 product 关联 | 643 | - `Create`:在门店下新增未存在的 product 关联 |
| 618 | - `Update`:替换该门店下全部关联(先删后建) | 644 | - `Update`:替换该门店下全部关联(先删后建) |