You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
434 KiB

{"knowledge_relations":[{"id":87,"source_id":"835b2a5a-3749-48a1-877a-445eefd2921a","target_id":"a7e3868c-bf54-49cf-8b09-da179cd49b00","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 835b2a5a-3749-48a1-877a-445eefd2921a -\u003e a7e3868c-bf54-49cf-8b09-da179cd49b00","gmt_create":"2026-08-01T10:58:43.9112506+08:00","gmt_modified":"2026-08-01T10:58:43.9112506+08:00"},{"id":88,"source_id":"835b2a5a-3749-48a1-877a-445eefd2921a","target_id":"46f44ec3-2ed5-4794-a294-29af3806350c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 835b2a5a-3749-48a1-877a-445eefd2921a -\u003e 46f44ec3-2ed5-4794-a294-29af3806350c","gmt_create":"2026-08-01T10:58:43.9128874+08:00","gmt_modified":"2026-08-01T10:58:43.9128874+08:00"},{"id":89,"source_id":"835b2a5a-3749-48a1-877a-445eefd2921a","target_id":"578a7b52-5069-4091-b20c-0a2719998171","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 835b2a5a-3749-48a1-877a-445eefd2921a -\u003e 578a7b52-5069-4091-b20c-0a2719998171","gmt_create":"2026-08-01T10:58:43.9134309+08:00","gmt_modified":"2026-08-01T10:58:43.9134309+08:00"},{"id":90,"source_id":"835b2a5a-3749-48a1-877a-445eefd2921a","target_id":"cc9e475c-e6e1-44b2-9448-5198b2b22167","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 835b2a5a-3749-48a1-877a-445eefd2921a -\u003e cc9e475c-e6e1-44b2-9448-5198b2b22167","gmt_create":"2026-08-01T10:58:43.9139454+08:00","gmt_modified":"2026-08-01T10:58:43.9139454+08:00"},{"id":91,"source_id":"c0741164-f5df-4211-9366-481c2bfaefdd","target_id":"d496a48a-7729-483b-b9a6-c417666b53cf","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c0741164-f5df-4211-9366-481c2bfaefdd -\u003e d496a48a-7729-483b-b9a6-c417666b53cf","gmt_create":"2026-08-01T10:58:43.9139454+08:00","gmt_modified":"2026-08-01T10:58:43.9139454+08:00"},{"id":92,"source_id":"c0741164-f5df-4211-9366-481c2bfaefdd","target_id":"c6764f02-7eca-4a98-9c34-59ed848dc61a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c0741164-f5df-4211-9366-481c2bfaefdd -\u003e c6764f02-7eca-4a98-9c34-59ed848dc61a","gmt_create":"2026-08-01T10:58:43.9144565+08:00","gmt_modified":"2026-08-01T10:58:43.9144565+08:00"},{"id":93,"source_id":"c0741164-f5df-4211-9366-481c2bfaefdd","target_id":"e7288499-90bb-49bc-a65f-b1512e3b3381","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c0741164-f5df-4211-9366-481c2bfaefdd -\u003e e7288499-90bb-49bc-a65f-b1512e3b3381","gmt_create":"2026-08-01T10:58:43.9144565+08:00","gmt_modified":"2026-08-01T10:58:43.9144565+08:00"},{"id":94,"source_id":"c0741164-f5df-4211-9366-481c2bfaefdd","target_id":"58cd732e-1dad-4901-ad9e-e4361eb7c8a9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c0741164-f5df-4211-9366-481c2bfaefdd -\u003e 58cd732e-1dad-4901-ad9e-e4361eb7c8a9","gmt_create":"2026-08-01T10:58:43.9149663+08:00","gmt_modified":"2026-08-01T10:58:43.9149663+08:00"},{"id":95,"source_id":"c0741164-f5df-4211-9366-481c2bfaefdd","target_id":"af9f4de4-1412-4728-a72e-7fe9e237e33e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c0741164-f5df-4211-9366-481c2bfaefdd -\u003e af9f4de4-1412-4728-a72e-7fe9e237e33e","gmt_create":"2026-08-01T10:58:43.9149663+08:00","gmt_modified":"2026-08-01T10:58:43.9149663+08:00"},{"id":96,"source_id":"f809cf60-fb54-482f-ba5e-b19b957bba4f","target_id":"dd99122b-3207-4b57-a3f0-9123477387bd","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f809cf60-fb54-482f-ba5e-b19b957bba4f -\u003e dd99122b-3207-4b57-a3f0-9123477387bd","gmt_create":"2026-08-01T10:58:43.9154811+08:00","gmt_modified":"2026-08-01T10:58:43.9154811+08:00"},{"id":97,"source_id":"f809cf60-fb54-482f-ba5e-b19b957bba4f","target_id":"cdadc305-f41d-403b-8423-d51ec201bb2e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f809cf60-fb54-482f-ba5e-b19b957bba4f -\u003e cdadc305-f41d-403b-8423-d51ec201bb2e","gmt_create":"2026-08-01T10:58:43.9154811+08:00","gmt_modified":"2026-08-01T10:58:43.9154811+08:00"},{"id":98,"source_id":"f809cf60-fb54-482f-ba5e-b19b957bba4f","target_id":"e2d056dd-e698-4446-9a12-7511654dd87b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f809cf60-fb54-482f-ba5e-b19b957bba4f -\u003e e2d056dd-e698-4446-9a12-7511654dd87b","gmt_create":"2026-08-01T10:58:43.9160243+08:00","gmt_modified":"2026-08-01T10:58:43.9160243+08:00"},{"id":99,"source_id":"f809cf60-fb54-482f-ba5e-b19b957bba4f","target_id":"679d7719-8478-4b8f-8fa1-e57fa19b0e03","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f809cf60-fb54-482f-ba5e-b19b957bba4f -\u003e 679d7719-8478-4b8f-8fa1-e57fa19b0e03","gmt_create":"2026-08-01T10:58:43.9160243+08:00","gmt_modified":"2026-08-01T10:58:43.9160243+08:00"},{"id":100,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"739f48f0-1ddd-445d-93ec-e6e27f17be8b","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e 739f48f0-1ddd-445d-93ec-e6e27f17be8b","gmt_create":"2026-08-01T10:58:43.9165376+08:00","gmt_modified":"2026-08-01T10:58:43.9165376+08:00"},{"id":101,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"af2f204d-1540-4290-a5b4-ab906d6e2a79","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e af2f204d-1540-4290-a5b4-ab906d6e2a79","gmt_create":"2026-08-01T10:58:43.9165376+08:00","gmt_modified":"2026-08-01T10:58:43.9165376+08:00"},{"id":102,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"4962231f-487f-4931-be07-9407f400b4f2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e 4962231f-487f-4931-be07-9407f400b4f2","gmt_create":"2026-08-01T10:58:43.9171397+08:00","gmt_modified":"2026-08-01T10:58:43.9171397+08:00"},{"id":103,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"2a67478e-68fd-4c5f-8d3b-4c85a6d43302","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e 2a67478e-68fd-4c5f-8d3b-4c85a6d43302","gmt_create":"2026-08-01T10:58:43.9176576+08:00","gmt_modified":"2026-08-01T10:58:43.9176576+08:00"},{"id":104,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","gmt_create":"2026-08-01T10:58:43.9176576+08:00","gmt_modified":"2026-08-01T10:58:43.9176576+08:00"},{"id":105,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"7bebed75-a6b5-44c6-8b82-ea3803183cb8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e 7bebed75-a6b5-44c6-8b82-ea3803183cb8","gmt_create":"2026-08-01T10:58:43.9181739+08:00","gmt_modified":"2026-08-01T10:58:43.9181739+08:00"},{"id":106,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"26f1483c-c42d-4fff-9ce1-2b5ad38352e9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e 26f1483c-c42d-4fff-9ce1-2b5ad38352e9","gmt_create":"2026-08-01T10:58:43.9186878+08:00","gmt_modified":"2026-08-01T10:58:43.9186878+08:00"},{"id":107,"source_id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","target_id":"a7c8e7fb-dd50-4d48-8e97-53abb3d8e2be","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: f974312e-2807-4ebd-9fad-3eca5e05a8de -\u003e a7c8e7fb-dd50-4d48-8e97-53abb3d8e2be","gmt_create":"2026-08-01T10:58:43.9192053+08:00","gmt_modified":"2026-08-01T10:58:43.9192053+08:00"},{"id":108,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"c6b3c46f-1eab-4ddd-bab3-051a9fc3e5c3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e c6b3c46f-1eab-4ddd-bab3-051a9fc3e5c3","gmt_create":"2026-08-01T10:58:43.9192053+08:00","gmt_modified":"2026-08-01T10:58:43.9192053+08:00"},{"id":109,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"d076a6b7-0b4d-4684-9fd8-4a8d28601f9e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e d076a6b7-0b4d-4684-9fd8-4a8d28601f9e","gmt_create":"2026-08-01T10:58:43.9197185+08:00","gmt_modified":"2026-08-01T10:58:43.9197185+08:00"},{"id":110,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"dca695f7-b800-4204-9977-ed394004ae5d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e dca695f7-b800-4204-9977-ed394004ae5d","gmt_create":"2026-08-01T10:58:43.9202321+08:00","gmt_modified":"2026-08-01T10:58:43.9202321+08:00"},{"id":111,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"e68c0bcd-bcf0-409b-98e5-e73abcd07eab","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e e68c0bcd-bcf0-409b-98e5-e73abcd07eab","gmt_create":"2026-08-01T10:58:43.9207363+08:00","gmt_modified":"2026-08-01T10:58:43.9207363+08:00"},{"id":112,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"c8887b82-7caa-476e-a7b3-37a0da8ca941","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e c8887b82-7caa-476e-a7b3-37a0da8ca941","gmt_create":"2026-08-01T10:58:43.9207464+08:00","gmt_modified":"2026-08-01T10:58:43.9207464+08:00"},{"id":113,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"0578c02d-17e0-4521-b976-1590c45adfc8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e 0578c02d-17e0-4521-b976-1590c45adfc8","gmt_create":"2026-08-01T10:58:43.9212828+08:00","gmt_modified":"2026-08-01T10:58:43.9212828+08:00"},{"id":114,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"3ac2b9bb-6133-44bc-bf03-6873b7a2c9b6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e 3ac2b9bb-6133-44bc-bf03-6873b7a2c9b6","gmt_create":"2026-08-01T10:58:43.9212828+08:00","gmt_modified":"2026-08-01T10:58:43.9212828+08:00"},{"id":115,"source_id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","target_id":"f1cd91eb-6089-40e0-ba34-48626a1649c1","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: dce63e18-37d0-459b-9f80-0b22e0f89b2b -\u003e f1cd91eb-6089-40e0-ba34-48626a1649c1","gmt_create":"2026-08-01T10:58:43.9217982+08:00","gmt_modified":"2026-08-01T10:58:43.9217982+08:00"},{"id":116,"source_id":"de8d54c2-b3f5-446e-84c8-d197d614857d","target_id":"d1644805-fad0-4c88-837f-8b5ebe55ba82","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: de8d54c2-b3f5-446e-84c8-d197d614857d -\u003e d1644805-fad0-4c88-837f-8b5ebe55ba82","gmt_create":"2026-08-01T10:58:43.9217982+08:00","gmt_modified":"2026-08-01T10:58:43.9217982+08:00"},{"id":117,"source_id":"de8d54c2-b3f5-446e-84c8-d197d614857d","target_id":"20483fce-853c-49c8-9ec1-fa13c71e70e9","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: de8d54c2-b3f5-446e-84c8-d197d614857d -\u003e 20483fce-853c-49c8-9ec1-fa13c71e70e9","gmt_create":"2026-08-01T10:58:43.9223169+08:00","gmt_modified":"2026-08-01T10:58:43.9223169+08:00"},{"id":118,"source_id":"de8d54c2-b3f5-446e-84c8-d197d614857d","target_id":"9824ed4a-9f48-4b22-abb2-8389cf0c78d6","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: de8d54c2-b3f5-446e-84c8-d197d614857d -\u003e 9824ed4a-9f48-4b22-abb2-8389cf0c78d6","gmt_create":"2026-08-01T10:58:43.9223169+08:00","gmt_modified":"2026-08-01T10:58:43.9223169+08:00"},{"id":119,"source_id":"ae9abd4e-ed02-4ce6-b76d-6f6e769d7654","target_id":"98467387-2104-4105-8022-54584f55d093","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ae9abd4e-ed02-4ce6-b76d-6f6e769d7654 -\u003e 98467387-2104-4105-8022-54584f55d093","gmt_create":"2026-08-01T10:58:43.9228309+08:00","gmt_modified":"2026-08-01T10:58:43.9228309+08:00"},{"id":120,"source_id":"ae9abd4e-ed02-4ce6-b76d-6f6e769d7654","target_id":"1a72341c-b76a-4424-ac9b-0c582ce278d5","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ae9abd4e-ed02-4ce6-b76d-6f6e769d7654 -\u003e 1a72341c-b76a-4424-ac9b-0c582ce278d5","gmt_create":"2026-08-01T10:58:43.9228309+08:00","gmt_modified":"2026-08-01T10:58:43.9228309+08:00"},{"id":121,"source_id":"ae9abd4e-ed02-4ce6-b76d-6f6e769d7654","target_id":"3f0f5e2e-4454-4342-894a-d0465bef487a","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ae9abd4e-ed02-4ce6-b76d-6f6e769d7654 -\u003e 3f0f5e2e-4454-4342-894a-d0465bef487a","gmt_create":"2026-08-01T10:58:43.9233788+08:00","gmt_modified":"2026-08-01T10:58:43.9233788+08:00"},{"id":122,"source_id":"ae9abd4e-ed02-4ce6-b76d-6f6e769d7654","target_id":"465ea2cf-ea85-46b0-adb8-f23e0f51dc0d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: ae9abd4e-ed02-4ce6-b76d-6f6e769d7654 -\u003e 465ea2cf-ea85-46b0-adb8-f23e0f51dc0d","gmt_create":"2026-08-01T10:58:43.9233788+08:00","gmt_modified":"2026-08-01T10:58:43.9233788+08:00"},{"id":123,"source_id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","target_id":"871fadc5-8e0b-4190-a31b-a0f727c64553","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 88f456c9-e905-4ab8-8c8d-910b1e7bced7 -\u003e 871fadc5-8e0b-4190-a31b-a0f727c64553","gmt_create":"2026-08-01T10:58:43.9238906+08:00","gmt_modified":"2026-08-01T10:58:43.9238906+08:00"},{"id":124,"source_id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","target_id":"88337c10-c005-4f9a-955d-1656ab0269fa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 88f456c9-e905-4ab8-8c8d-910b1e7bced7 -\u003e 88337c10-c005-4f9a-955d-1656ab0269fa","gmt_create":"2026-08-01T10:58:43.9238906+08:00","gmt_modified":"2026-08-01T10:58:43.9238906+08:00"},{"id":125,"source_id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","target_id":"f0adf36f-aaef-42c9-9edc-316ad8e8cb33","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 88f456c9-e905-4ab8-8c8d-910b1e7bced7 -\u003e f0adf36f-aaef-42c9-9edc-316ad8e8cb33","gmt_create":"2026-08-01T10:58:43.9560464+08:00","gmt_modified":"2026-08-01T10:58:43.9560464+08:00"},{"id":126,"source_id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","target_id":"370c9ddf-9cc5-4fbc-95f4-30125ec04c07","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 88f456c9-e905-4ab8-8c8d-910b1e7bced7 -\u003e 370c9ddf-9cc5-4fbc-95f4-30125ec04c07","gmt_create":"2026-08-01T10:58:43.9581496+08:00","gmt_modified":"2026-08-01T10:58:43.9581496+08:00"},{"id":127,"source_id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","target_id":"5e5d62c5-3a5e-416a-92fb-361b19cca8c7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 88f456c9-e905-4ab8-8c8d-910b1e7bced7 -\u003e 5e5d62c5-3a5e-416a-92fb-361b19cca8c7","gmt_create":"2026-08-01T10:58:43.9586637+08:00","gmt_modified":"2026-08-01T10:58:43.9586637+08:00"},{"id":128,"source_id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","target_id":"82457347-6367-456a-9356-2e5acbfdb390","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 88f456c9-e905-4ab8-8c8d-910b1e7bced7 -\u003e 82457347-6367-456a-9356-2e5acbfdb390","gmt_create":"2026-08-01T10:58:43.9586637+08:00","gmt_modified":"2026-08-01T10:58:43.9586637+08:00"},{"id":129,"source_id":"060cac65-05a5-4a8e-91c0-3fa0b6e3eb60","target_id":"b6d63b77-8358-4231-8181-c4ca5666ff14","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 060cac65-05a5-4a8e-91c0-3fa0b6e3eb60 -\u003e b6d63b77-8358-4231-8181-c4ca5666ff14","gmt_create":"2026-08-01T10:58:43.9591799+08:00","gmt_modified":"2026-08-01T10:58:43.9591799+08:00"},{"id":130,"source_id":"060cac65-05a5-4a8e-91c0-3fa0b6e3eb60","target_id":"87256e45-1bb1-4bd8-ac1b-4bb17dfd4c19","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 060cac65-05a5-4a8e-91c0-3fa0b6e3eb60 -\u003e 87256e45-1bb1-4bd8-ac1b-4bb17dfd4c19","gmt_create":"2026-08-01T10:58:43.9591799+08:00","gmt_modified":"2026-08-01T10:58:43.9591799+08:00"},{"id":131,"source_id":"060cac65-05a5-4a8e-91c0-3fa0b6e3eb60","target_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 060cac65-05a5-4a8e-91c0-3fa0b6e3eb60 -\u003e 1d76fd1c-9468-4ff7-819c-620a1aa32680","gmt_create":"2026-08-01T10:58:43.9596901+08:00","gmt_modified":"2026-08-01T10:58:43.9596901+08:00"},{"id":132,"source_id":"060cac65-05a5-4a8e-91c0-3fa0b6e3eb60","target_id":"83b5d55c-3806-4d43-b9a0-96b208a5f635","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 060cac65-05a5-4a8e-91c0-3fa0b6e3eb60 -\u003e 83b5d55c-3806-4d43-b9a0-96b208a5f635","gmt_create":"2026-08-01T10:58:43.9596901+08:00","gmt_modified":"2026-08-01T10:58:43.9596901+08:00"},{"id":133,"source_id":"060cac65-05a5-4a8e-91c0-3fa0b6e3eb60","target_id":"27f4b863-ad48-4671-934f-7ad121133892","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 060cac65-05a5-4a8e-91c0-3fa0b6e3eb60 -\u003e 27f4b863-ad48-4671-934f-7ad121133892","gmt_create":"2026-08-01T10:58:43.9601984+08:00","gmt_modified":"2026-08-01T10:58:43.9601984+08:00"},{"id":134,"source_id":"c6764f02-7eca-4a98-9c34-59ed848dc61a","target_id":"dedca28d-2bd5-4710-8fd5-84eda4378859","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c6764f02-7eca-4a98-9c34-59ed848dc61a -\u003e dedca28d-2bd5-4710-8fd5-84eda4378859","gmt_create":"2026-08-01T10:58:43.961217+08:00","gmt_modified":"2026-08-01T10:58:43.961217+08:00"},{"id":135,"source_id":"c6764f02-7eca-4a98-9c34-59ed848dc61a","target_id":"b1cf2f70-ee01-46e5-bcd6-7157f0df3a64","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c6764f02-7eca-4a98-9c34-59ed848dc61a -\u003e b1cf2f70-ee01-46e5-bcd6-7157f0df3a64","gmt_create":"2026-08-01T10:58:43.9617331+08:00","gmt_modified":"2026-08-01T10:58:43.9617331+08:00"},{"id":136,"source_id":"c6764f02-7eca-4a98-9c34-59ed848dc61a","target_id":"25518006-c055-4ba0-acb5-fc063b4b3b84","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c6764f02-7eca-4a98-9c34-59ed848dc61a -\u003e 25518006-c055-4ba0-acb5-fc063b4b3b84","gmt_create":"2026-08-01T10:58:43.9617331+08:00","gmt_modified":"2026-08-01T10:58:43.9617331+08:00"},{"id":137,"source_id":"c6764f02-7eca-4a98-9c34-59ed848dc61a","target_id":"590e4f01-6f30-4261-9df2-3d16f9e54802","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: c6764f02-7eca-4a98-9c34-59ed848dc61a -\u003e 590e4f01-6f30-4261-9df2-3d16f9e54802","gmt_create":"2026-08-01T10:58:43.962245+08:00","gmt_modified":"2026-08-01T10:58:43.962245+08:00"},{"id":138,"source_id":"578a7b52-5069-4091-b20c-0a2719998171","target_id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 578a7b52-5069-4091-b20c-0a2719998171 -\u003e 4c74b943-94bc-46c7-b16a-e33abc3af2c4","gmt_create":"2026-08-01T10:58:43.9635988+08:00","gmt_modified":"2026-08-01T10:58:43.9635988+08:00"},{"id":139,"source_id":"578a7b52-5069-4091-b20c-0a2719998171","target_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 578a7b52-5069-4091-b20c-0a2719998171 -\u003e eb5fc685-6b02-430d-aacc-bf8baf0b30aa","gmt_create":"2026-08-01T10:58:43.9641194+08:00","gmt_modified":"2026-08-01T10:58:43.9641194+08:00"},{"id":140,"source_id":"578a7b52-5069-4091-b20c-0a2719998171","target_id":"b69e8856-d6fc-4f7a-a439-e7a22dce434e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 578a7b52-5069-4091-b20c-0a2719998171 -\u003e b69e8856-d6fc-4f7a-a439-e7a22dce434e","gmt_create":"2026-08-01T10:58:43.9646366+08:00","gmt_modified":"2026-08-01T10:58:43.9646366+08:00"},{"id":141,"source_id":"578a7b52-5069-4091-b20c-0a2719998171","target_id":"33860bb6-3fe5-457a-9c8b-f6d52e51cbfa","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 578a7b52-5069-4091-b20c-0a2719998171 -\u003e 33860bb6-3fe5-457a-9c8b-f6d52e51cbfa","gmt_create":"2026-08-01T10:58:43.9646366+08:00","gmt_modified":"2026-08-01T10:58:43.9646366+08:00"},{"id":142,"source_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","target_id":"42b4f623-7f24-4764-832e-2de9e17e8317","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1d76fd1c-9468-4ff7-819c-620a1aa32680 -\u003e 42b4f623-7f24-4764-832e-2de9e17e8317","gmt_create":"2026-08-01T10:58:43.9666232+08:00","gmt_modified":"2026-08-01T10:58:43.9666232+08:00"},{"id":143,"source_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","target_id":"51e8d9a1-92fe-4561-bddb-333fac216f79","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1d76fd1c-9468-4ff7-819c-620a1aa32680 -\u003e 51e8d9a1-92fe-4561-bddb-333fac216f79","gmt_create":"2026-08-01T10:58:43.9671379+08:00","gmt_modified":"2026-08-01T10:58:43.9671379+08:00"},{"id":144,"source_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","target_id":"0eee2d19-c134-4448-9c32-6f44d9c263f4","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1d76fd1c-9468-4ff7-819c-620a1aa32680 -\u003e 0eee2d19-c134-4448-9c32-6f44d9c263f4","gmt_create":"2026-08-01T10:58:43.9671898+08:00","gmt_modified":"2026-08-01T10:58:43.9671898+08:00"},{"id":145,"source_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","target_id":"0183a3a0-b70e-4bd8-9ef9-58a80fb9d16c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1d76fd1c-9468-4ff7-819c-620a1aa32680 -\u003e 0183a3a0-b70e-4bd8-9ef9-58a80fb9d16c","gmt_create":"2026-08-01T10:58:43.9671898+08:00","gmt_modified":"2026-08-01T10:58:43.9671898+08:00"},{"id":146,"source_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","target_id":"ace33c50-eea1-4a9c-a55b-7aa665892ae8","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1d76fd1c-9468-4ff7-819c-620a1aa32680 -\u003e ace33c50-eea1-4a9c-a55b-7aa665892ae8","gmt_create":"2026-08-01T10:58:43.9681315+08:00","gmt_modified":"2026-08-01T10:58:43.9681315+08:00"},{"id":147,"source_id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","target_id":"766ad4ed-5ff8-426a-803f-390ee1362c29","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 1d76fd1c-9468-4ff7-819c-620a1aa32680 -\u003e 766ad4ed-5ff8-426a-803f-390ee1362c29","gmt_create":"2026-08-01T10:58:43.9681315+08:00","gmt_modified":"2026-08-01T10:58:43.9681315+08:00"},{"id":148,"source_id":"2a67478e-68fd-4c5f-8d3b-4c85a6d43302","target_id":"35cac571-af96-43f9-b4c8-3dab1e836bec","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2a67478e-68fd-4c5f-8d3b-4c85a6d43302 -\u003e 35cac571-af96-43f9-b4c8-3dab1e836bec","gmt_create":"2026-08-01T10:58:43.9701251+08:00","gmt_modified":"2026-08-01T10:58:43.9701251+08:00"},{"id":149,"source_id":"2a67478e-68fd-4c5f-8d3b-4c85a6d43302","target_id":"46877382-98e5-4a69-85f8-52c9317452f3","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2a67478e-68fd-4c5f-8d3b-4c85a6d43302 -\u003e 46877382-98e5-4a69-85f8-52c9317452f3","gmt_create":"2026-08-01T10:58:43.9701251+08:00","gmt_modified":"2026-08-01T10:58:43.9701251+08:00"},{"id":150,"source_id":"2a67478e-68fd-4c5f-8d3b-4c85a6d43302","target_id":"57aa3d52-9f51-4f33-bae7-6dbd8fba9b21","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 2a67478e-68fd-4c5f-8d3b-4c85a6d43302 -\u003e 57aa3d52-9f51-4f33-bae7-6dbd8fba9b21","gmt_create":"2026-08-01T10:58:43.971123+08:00","gmt_modified":"2026-08-01T10:58:43.971123+08:00"},{"id":151,"source_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","target_id":"669ce1d2-0875-4103-832c-e872b5bc25fe","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea -\u003e 669ce1d2-0875-4103-832c-e872b5bc25fe","gmt_create":"2026-08-01T10:58:43.9721226+08:00","gmt_modified":"2026-08-01T10:58:43.9721226+08:00"},{"id":152,"source_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","target_id":"2f3be026-db25-43bf-b241-7a7d5e8d6c17","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea -\u003e 2f3be026-db25-43bf-b241-7a7d5e8d6c17","gmt_create":"2026-08-01T10:58:43.9721226+08:00","gmt_modified":"2026-08-01T10:58:43.9721226+08:00"},{"id":153,"source_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","target_id":"f562463e-96a1-4061-9cd0-c35c162755df","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea -\u003e f562463e-96a1-4061-9cd0-c35c162755df","gmt_create":"2026-08-01T10:58:43.9731193+08:00","gmt_modified":"2026-08-01T10:58:43.9731193+08:00"},{"id":154,"source_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","target_id":"afae8ec4-6d94-4a7b-98cf-63806d7628b7","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea -\u003e afae8ec4-6d94-4a7b-98cf-63806d7628b7","gmt_create":"2026-08-01T10:58:43.9731193+08:00","gmt_modified":"2026-08-01T10:58:43.9731193+08:00"},{"id":155,"source_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","target_id":"7f519117-7bc1-40df-a903-dee68830d81d","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea -\u003e 7f519117-7bc1-40df-a903-dee68830d81d","gmt_create":"2026-08-01T10:58:43.9741156+08:00","gmt_modified":"2026-08-01T10:58:43.9741156+08:00"},{"id":156,"source_id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","target_id":"b4388d32-165b-4835-a667-5a8100caf17c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea -\u003e b4388d32-165b-4835-a667-5a8100caf17c","gmt_create":"2026-08-01T10:58:43.9741156+08:00","gmt_modified":"2026-08-01T10:58:43.9741156+08:00"},{"id":157,"source_id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","target_id":"121d6223-4b50-4f14-b316-a48642a9b6ef","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 4c74b943-94bc-46c7-b16a-e33abc3af2c4 -\u003e 121d6223-4b50-4f14-b316-a48642a9b6ef","gmt_create":"2026-08-01T10:58:43.9761109+08:00","gmt_modified":"2026-08-01T10:58:43.9761109+08:00"},{"id":158,"source_id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","target_id":"0792dbca-20cb-4e0b-bde8-cadd57aa7bb2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 4c74b943-94bc-46c7-b16a-e33abc3af2c4 -\u003e 0792dbca-20cb-4e0b-bde8-cadd57aa7bb2","gmt_create":"2026-08-01T10:58:43.9771078+08:00","gmt_modified":"2026-08-01T10:58:43.9771078+08:00"},{"id":159,"source_id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","target_id":"e7c93a3f-2f55-4647-b8cc-640e9b1b8beb","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 4c74b943-94bc-46c7-b16a-e33abc3af2c4 -\u003e e7c93a3f-2f55-4647-b8cc-640e9b1b8beb","gmt_create":"2026-08-01T10:58:43.9771078+08:00","gmt_modified":"2026-08-01T10:58:43.9771078+08:00"},{"id":160,"source_id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","target_id":"84b6fa9b-8bb5-4a1c-9709-23f2e18a78be","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 4c74b943-94bc-46c7-b16a-e33abc3af2c4 -\u003e 84b6fa9b-8bb5-4a1c-9709-23f2e18a78be","gmt_create":"2026-08-01T10:58:43.9771078+08:00","gmt_modified":"2026-08-01T10:58:43.9771078+08:00"},{"id":161,"source_id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","target_id":"30275e72-7abf-42cd-a02d-b692ab10a425","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: 4c74b943-94bc-46c7-b16a-e33abc3af2c4 -\u003e 30275e72-7abf-42cd-a02d-b692ab10a425","gmt_create":"2026-08-01T10:58:43.9781046+08:00","gmt_modified":"2026-08-01T10:58:43.9781046+08:00"},{"id":162,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"3b7d1597-4486-4a34-8f50-64dfda4fd89e","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e 3b7d1597-4486-4a34-8f50-64dfda4fd89e","gmt_create":"2026-08-01T10:58:43.979102+08:00","gmt_modified":"2026-08-01T10:58:43.979102+08:00"},{"id":163,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"f69d5d81-5661-4100-89e4-c6b0ebf7189f","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e f69d5d81-5661-4100-89e4-c6b0ebf7189f","gmt_create":"2026-08-01T10:58:43.9800998+08:00","gmt_modified":"2026-08-01T10:58:43.9800998+08:00"},{"id":164,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"acad7822-89eb-4886-bad3-c205238abddc","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e acad7822-89eb-4886-bad3-c205238abddc","gmt_create":"2026-08-01T10:58:43.9800998+08:00","gmt_modified":"2026-08-01T10:58:43.9800998+08:00"},{"id":165,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"871f728c-3b52-4e48-aba8-85d419828db2","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e 871f728c-3b52-4e48-aba8-85d419828db2","gmt_create":"2026-08-01T10:58:43.9810974+08:00","gmt_modified":"2026-08-01T10:58:43.9810974+08:00"},{"id":166,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"115aabe2-05c0-4655-91ac-4a20b674e18c","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e 115aabe2-05c0-4655-91ac-4a20b674e18c","gmt_create":"2026-08-01T10:58:43.9810974+08:00","gmt_modified":"2026-08-01T10:58:43.9810974+08:00"},{"id":167,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"c77935c8-6adf-4378-b023-af20bbc387eb","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e c77935c8-6adf-4378-b023-af20bbc387eb","gmt_create":"2026-08-01T10:58:43.9810974+08:00","gmt_modified":"2026-08-01T10:58:43.9810974+08:00"},{"id":168,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"b536efef-bc32-48ed-b2d1-14b0c344df06","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e b536efef-bc32-48ed-b2d1-14b0c344df06","gmt_create":"2026-08-01T10:58:43.9810974+08:00","gmt_modified":"2026-08-01T10:58:43.9810974+08:00"},{"id":169,"source_id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","target_id":"cb774213-8f87-4d1f-bab1-1e1f251b5e51","source_type":"WIKI_ITEM","target_type":"WIKI_ITEM","relationship_type":"PARENT_CHILD","extra":"Wiki parent-child relationship: eb5fc685-6b02-430d-aacc-bf8baf0b30aa -\u003e cb774213-8f87-4d1f-bab1-1e1f251b5e51","gmt_create":"2026-08-01T10:58:43.982608+08:00","gmt_modified":"2026-08-01T10:58:43.982608+08:00"}],"wiki_catalogs":[{"id":"a894a655-5840-44a9-a639-04a0c1885521","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"项目概览","description":"project-overview","prompt":"为CRM后端项目创建全面的概览文档。详细介绍项目的整体架构、技术栈选择、模块划分和核心功能。解释微服务架构设计,包括认证服务(crm-auth)、基础框架(crm-base)、文件服务(crm-file)等模块的职责和相互关系。说明项目的启动方式、配置管理和部署架构。为初学者提供清晰的项目理解路径,同时为有经验的开发者提供深入的技术细节。使用与代码库一致的术语,包含实际的使用示例和架构图表。","progress_status":"completed","dependent_files":"pom.xml,crm-app/src/main/java/com/crm/app/CrmAppApplication.java,crm-app/src/main/resources/application.yml","gmt_create":"2026-08-01T10:23:12.9536149+08:00","gmt_modified":"2026-08-01T10:25:32.0641868+08:00","raw_data":"WikiEncrypted:0MI1/XkBoMl0lTbK6t0Cn/+8FdvqrJ62ianMLvZj02eMuUR943AbMM5Fsw0cjdvnsogyxu+GQaWvGJsNYYuxs9uqt6bv6Rad5yNFnQxqc/zcIAP4Z0vNddCsfGTlXUyz4MfN8yC2qjjb2vWYfPJ83LP/X6bNolUatkvylP4TS35fJXDNkvWDIHqdQhK7dQvJSUrKHBER1noS0MMe6uXvQOmmJm86sdA3FA524PS3sSPb610ftofNfHuy/sCdmX4SP49Vv1IfvsiEvBMuWJiOr70mPYEsfSFLlAarlpsbd0N1xYumBEu1xpWT7/4eFeopti/y4M/GLZoxAni69Rl8dNyTEl96ona6fuMnCjgPHme8MpBkqiO42qtnWXVIcOjpWJ7c+Wl37wrj3M+SJMuvHSOgL4un0eZr7xfAGfo04uikN7pbCBqJNPpqehuAx3APEQ6SUECPKidl2hYMoiPhe01fQwrC18s68QaBxSgdl4DMhV7wNL9V5Hqtjf76jxUb9whCs+DZVS0UmaKaSQriLgqg+nbkQojCGZtCDY2gg9aC1qSkjjEYuPi/1PvGa2ayFq2UKlTUZ758WfGf3kH6AQG63vSpF/Wj6ZwJQMffKofUfp/Ipdt8FyEqbbYgZq7Kg4dBgXBN56RiLIDOW+fIj0Y+zhQ+d5TnmoPZ2ncTIMec+0uzKycSKlP6vhfexN4WBdSK4Ur2S6PRsxIr6S+r9OJqYSG3v0G01iVDV02o12zZx/rRcno1kg5OAANu/J0kWAvCfOoAP4uXTra9lh2tPy3p26QngElNJrUYg7zLVR6DD01P92EEfmOMbTL8iNGqM6q7m4bHPoVZcdfDxaRZ4kSAZcuNmhVLsdStF54hUYMI8DctKo6TlNzQT9IVe22Nhc0saP0tecL0YPVlOjF/1eKn2Wv+0c8EYnqXwNYw3YShm8nwLQtSwItR3+AtEugXAgCuCaSSj6zaJU7l2lbwV+H2V9wb+JSVx7+GbQEXnInPKJtVANrPBpp+AjBExPw6FfeSHsMwiYJyZqBCnChsP2jmEg4V3DIHhGJI6YDWuUgWuX/g0rcHhWAzzmOSbjxv2+v0XCS+zTr+MNQ8NUp+ZV1bd858SG7Mf0J23WWAoD0bUrLIlmObRGf7ffMiwCcTK357WyVJet69E9AiHsc51zLpMMFPgPGCnR/Mczo6EX5jqkNI9sq4KAlfS8Wz26yAutxbJuWU6eRDMLb8FJq0B2LTCURD254bxWg6z0Dasg9sGigcN0bSKnblYDbiJsPTnWqwYrI8YRyIBVzsTIYxlTvtapI/BcJI0Docu3dDGClVjYzIvxk8ASQgHUzuLOye"},{"id":"cdf8610c-1f66-4fcd-a8bb-816e8fa5e29f","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"架构设计","description":"architecture-design","prompt":"为CRM后端项目创建详细的架构设计文档。深入解释微服务架构的整体设计,包括认证服务(crm-auth)、基础框架(crm-base)、文件服务(crm-file)等核心模块的架构模式。详细说明各模块间的通信机制、数据流向和依赖关系。阐述分层架构设计,包括Controller层、Service层、Mapper层的职责划分。解释安全架构,包括JWT认证、权限控制、数据权限隔离等安全机制。说明缓存策略、数据库访问模式和事务管理。包含系统边界定义、组件交互图和部署拓扑图。为开发者提供清晰的架构理解路径和技术决策背景。","parent_id":"a894a655-5840-44a9-a639-04a0c1885521","progress_status":"completed","dependent_files":"pom.xml,crm-app/src/main/java/com/crm/app/CrmAppApplication.java,crm-auth/src/main/java/com/crm/auth/AuthApplication.java,crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-file/src/main/java/com/crm/file/config/MinioConfig.java","gmt_create":"2026-08-01T10:23:24.3456806+08:00","gmt_modified":"2026-08-01T10:30:47.0152135+08:00","raw_data":"WikiEncrypted:EPw1VhZSv2AMLpYzHbCG5QXmatSKh1iukhkKRz99kcVPFHJKZVqOFStJHt5slSqzsunLJoqpKyeDoj/jTKKfGYkVeSD5qRDxr0g7O1UVdh+o5o+NYUhb7THIgGi7yxWUJXLy/nO13rYHpF8mYa2R5oKpql6wft24x3YHabhNJ20VIPpg1UqAGUTcVnw0LrPXwo0EBWslqFeLtF1ZuJfME3e7x+2EhR2Y1d7YwoPH3lfu0FhIjQHyH+y8s7zB9xI80tkx31028PZAt9eL2qURHMQ4UYJfj3oln+1aSJPbSDv5U3nHoKfdDZeLwwVWO8zzP7hVa/2pxfaSLDeEGNnJqnZg5xHfNpRFT6r8xg7wdbsr67Zths5+Vcd48iAivNOlDfjK9m+gN+DnBiyhSBacX8/UCMci9p4pqHqWFzyy28yESwyElOL5CRYhCCh7VDcO0zuQP4e0yGysRdWvAOuT8eDGCq3AJdkQIG6dXOEC8t7DXIgif3sFVv6xKrXQYm6y8JHPhDFxVKSY6e+1LsahYfZ8gf9EcZEPF0jqbovImvj0Er5Y522gjkuIiRuw4BrDHrnVm8LTPobnpfQK8zbNFhQU4F9GG2nymenxIK6+VliEc7VCUWc3QFIkmvebCTb6gnENEtWHlKoztJRd9acXhSGarTM6uK4G7rUzLemnBssmHy81jOswrgwnoAbfrwVVP63zCViBkERbYBlPAoywzLHPzB76z7O2oXC5Gm3DJcY5wK2G6Ke1ADGR6dkP9F8Pdqb72kDY0IzWaV7GYjkA8vS50JB9Keb11aI0HyjlAup9SLiwASIg675hxcNWmpSFOrp0zP52vwgfZxfraZmxFpGOP4owGqS5RdD/KSblDkYwgJlm9i/PiqszeR5YOLGnIAvFxtwO2UaIQCH+9kIWVyAFH6ag6pNazQW+52eu2+57+MzRj8Vfxw/w1MWaD4d5+Oi+1CnTW0sK0kvqu9vzOkDaXNPVmDC77bHcC+g/fR7eHQfHWjYiyNdRwlo8h0eRNgF17vzfZjlf3LRJhidGrxDwXMxuHIWdmK83ntUTyaO7slA0A6SUD7clisce/O1XCrzUgCPKY71jkN22zx7BuWo4jxF+HdFbBHyo3SucQEQoLvfPSRxN4ntGofwMaSdYO594STF65kcvnj3OMJhbC/kXatTnBsYUlJ4PwomzTlBXPcOzDjmtpJc4BMZpQ7u4SsSYYbDGPO93lGiKpAWwl7p3T2XorjaiNm7juik/rXFTGY34qXTcaVNhyzi+Z/dVsBXvFzKmIOxANZSHj0wWCEOXy0MeFQLbpG60G+NqPsDotsgl0A6WxvyIxwu0tK4ziN3G+gYOQmqJ6J/nkc5B17FMKNo8sal6pNP9B3K6etcL5LqGi/p0PVNydQf4H8eetAZ2nuPiFDVDY0PFAs6WecwtOFq6WWTMKM6NlHd545XDG4jO/+pvkZKLyzlgT/66zDVZv1bSHMo0pkAnQ9G0ZC3zy2PHle46N7sMJx0mmZH5lmQce6qcS8fxdWGqa3BMvdoOb2/L0/d+L6tAWX3h/tt7zR32LIOqw+LXPeJibEbRuMfuO3BFwiO/oG6aNKfC","layer_level":1},{"id":"78ac8ca5-1992-44f0-aa14-f1776a557eff","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"整体架构模式","description":"overall-architecture","prompt":"创建CRM系统的整体架构模式文档。详细描述微服务架构设计、模块划分原则、服务间通信机制。解释Maven多模块项目的组织结构,包括crm-app(应用入口)、crm-auth(认证服务)、crm-base(基础框架)、crm-file(文件服务)等模块的职责和依赖关系。说明Spring Boot应用的启动流程、组件扫描机制和服务发现模式。包含架构图展示各模块间的调用关系和数据流向。为开发者提供系统级理解和技术选型依据。","parent_id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","progress_status":"completed","dependent_files":"crm-app/src/main/java/com/crm/app/CrmAppApplication.java,pom.xml,crm-auth/pom.xml,crm-base/pom.xml,crm-file/pom.xml","gmt_create":"2026-08-01T10:23:24.8214908+08:00","gmt_modified":"2026-08-01T10:30:23.8767291+08:00","raw_data":"WikiEncrypted:KLd6hqS3YDnCCH772QA0H79opxzq6gDz6O6XbE8wXJCkKw6BpWqI3e9aCSSxRib9AaqPJ6L1OVYJF7K84J101oetRySG+xcKQLzp9l8Pv7j2ZRiuTuy6DI71pK91ZvD3wRlPxxBashmsPgKM2Z2FmGhnKZYuVoVvxpoXNbb2rVxATwZC4eYHLIgaJPZmAXkkfijxFRtw/TX4wuXlfEoNhUEukYgWeqg0e9GcsQGUwid2XILPfA6r7O4twKh73WJ7zXX7WyUpBUqz6dgZSn2L/bandVg/hrFCo0sMn3fxmcOQEUFUBBeVs2uB5V/ghMLGgUyFQ5vFIXw7H8rZTroM48rDTdPSCjpcXZhRbq4j4ku3pvLQ7LQgA4KWbZ+c7XTRMIYQgPO22h7lyyg99W2xUzEr4h0PXkl64FUv3WGcksuPqZuNbBX6feB31KQhLa6W6DrnHpOfFdl6WboK5RzONjOsq12iuBzWkgpUYVqBmwJWq+koP6NUKoB0gmeFjmgH/YfLCEAJe9IFKARkBzMTcEGpOegNBo/9UVhzJ5r/g3fY0fJzQmm2j+TJPfRtxWU2i749xCB7tqtnetYdqrYsITi0tpk4z5fV6nHNUV7z4GDk5M0ZptR9kSDYOkYEOitaHYPH3HGWKPexI3VX9V9lPMrY7AfN45d2YxTuCWSMem8ud5xHyv1fj+xQ7CliDZWhAVCdzczOH6MAAzQWmLbAyIuUQSjI5pLGUTkVNg0UlRWdzVoyf6x0rhX4V464v8rClpUEa03clBbH8jTT9tbwMONWwMDbT/l89JrDxr7vO7Y15PaGRHktuDBNBwT6j1WL2qzX9FcB83aakkTx6QcJb4IfZE1DUioaziSc7vk2TvEEH4ggGaUGYe3qJQ5PW7tRFPLtMK4xAcCTDNPofMNu0z9M/9F2MvhmWbByey5E8K2pFsIXBhwYzAa6b3NSSLNBvKPPUgqRvbxe7vzIsIFwC0yaWYIPo5Ppem55mxfX/m4Toeb6Y1FOnFk6yzlEjRxI/daNZtrW6xi88PwHmD3jFcKRyzqDxkPGsm8G09bI7Hm5v9LkSXNCp8mfPEEcIXXbV8vs0tQSBb5Q7WfoRfxLh5KBRwlLrG7hgnwFfdN8GD/a8Zbk4E4PKKx6lH6kqjjnvwBW8ekYmbuafg+/to304tzwjd+KZTpfQbz4ZoZp+9ZRAR7zNWn6OYrHZnzKUXitlyZ9i4m9b8u35xRu+qEAHw==","layer_level":1},{"id":"a4335df0-1d8d-4bd9-b9f9-7a83a2522db5","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证核心机制","description":"auth-core","prompt":"为认证核心机制创建详细的技术文档。深入解释JWT令牌生成、验证和刷新机制,详细说明安全过滤器链的工作原理,包括请求拦截、用户身份解析、权限校验等流程。阐述AuthLoginUser的设计模式和会话管理机制。包含令牌安全策略、过期处理、并发控制等高级特性。提供完整的配置示例和故障排查指南。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java,crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/security/AuthLoginUser.java","gmt_create":"2026-08-01T10:23:32.498734+08:00","gmt_modified":"2026-08-01T10:31:02.3054717+08:00","raw_data":"WikiEncrypted:9QOSaOQHbzL61d6MLK2xGPwC1XklY/msrrXNFxJx7m2vqLAxqZJSSgFbNzuJb6KYMn4ytYEmEyrQVjb4LUWIMF2QXJqjNUO9WXIz+pXT+Xmzofi+C8Wf0Uqm2R3GuI/CV2D9XjJgyqsKD/uimt/z8a8HGXdQJLWs3BI91owtsbEG31jOYFD1DD5S39F2FBTJhopkhsiFJOAyo+EOLjGqLpOQ2lr6vuDe8EfOyL1J/h9v5UuO7PEfujrfy8qYGjGPdY+f1IvMluS8rLzRuBEQ0wkEKLcRcrMV/9k7wloAtKwqY3fcQUbkOs/vlXNgymiYEcZdvIX5+RtXdv5HnXKuz3hbloHTyOY8M0wrJ6V76pQCJIocT50+HnrU/GHs1KFP1hPFpS9Y2vCTIUTuKax83oLJSAZk9Qu7QKXEWdwMiPMi8qrarMEspqyIalP1C6bBD2L8QeJkhZbyxbt3Ut1e65JEJtKHwNJBKumi3X4Kb1ROkUk3ecZsXgbJbZPDtDQHDqMo+lySClVssrcFXWPZ++agF+AkYjL0NnZ/DQugAmQrShuusZD0b6R6elnfYVsxOM6U4hxHDP/UD1L62KSP7wQn9jsQVLTr2THb87q3pvrmm0WWNs0NWVkwtOSLUSBECAB/SAG7IlzI+YMYfFwgHYAaPPDhA3TpQfnI91znStCvNxJFvy3Mq2EIITMm/+5kKypbZ8E4tThjyDsvaZ97UEFDpbu6u5DFfQv0mnG9Iy/euVcwJeMDDcW6hZnUnvSoBTGydjCAQ6K/zDP5unO/z+BgRSp2VCvPFodPT/r25EceYf9dZcpDM/YkguhIF1RsBIPg00z2eubM9erj2DoTQ0NiGoUkJpRzSmoV1k6DCdm/2KEgnax9wr4W+/mu0L4NW7dgHnSQ9yxE0qCEXoyDnEM5ntg0Rk5kgL+Z2YKtFfueilq18wR+4t1rdF/1iT4SeOm7vn26NwwFXhK0kWN6WFZgfGDhL/mIBQC18JbkpeViadB5ntUsd3Ed8CdmG7+3TdnMtC10BTHyPIN1z1QdwYEvPiJeuTHvmGMfJnN3yRTLE+FEC5GAldmTk5HkmVAL2uHpYGFsHO8f7D8XT1LnvVGA10bSTDTWFAz12RIkL8thKoQ+Km9wlVjvJ6Z0lIhB7WS0zOcYaw2UiRbJWlYbVJn/mxc+MLtuQDcBRBBY9Gx/qiMaxpt0gWqhLVYjeCrwqzvNRgIE9IGBD/bCH3Sny9XBRconmq9KS4W/P8u9j+l5AqsIm5LDZJAt6twSXiXI","layer_level":1},{"id":"a11cb84f-70ea-42cf-9dfb-e644c1d2bcdd","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件上传下载","description":"file-upload-download","prompt":"为文件上传下载功能创建详细的技术文档。深入介绍单文件上传、分片上传、断点续传的实现机制,详细说明MultipartFile处理流程、会话管理、进度跟踪等核心功能。包含文件校验规则、大小限制、类型验证等安全机制。提供完整的API接口规范、请求响应示例和错误处理方案。解释分片上传的并发控制、重试机制和异常恢复策略。包含客户端集成代码示例和最佳实践建议。","parent_id":"61603fbe-2a48-4f60-89e4-cdf37e119d32","progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/controller/FileController.java,crm-file/src/main/java/com/crm/file/service/IFileInfoService.java,crm-file/src/main/java/com/crm/file/domain/dto/UploadSession.java,crm-file/src/main/java/com/crm/file/domain/dto/MultipartInitDTO.java","gmt_create":"2026-08-01T10:23:36.1278563+08:00","gmt_modified":"2026-08-01T10:31:18.101729+08:00","raw_data":"WikiEncrypted:Z+2lIkAHY5bnkLie2uX+xtPriHrS2r7MBu6LwRjC6flIeNryxSwE6tTKKEd6DWjiYgis08Yo8dpA0xYj//9uDC+SSh3n4r4YMBIiD35NRlF+yngyn3VktDkxt8ONk1niK9mSXHKpXi+1C36opxeVXQVRp/psEZlohbKUBBTiMcqiD3Y7s9DxcXKTOJ4byP42Tsdu22HGgw2I7gitSuRewQ79i4VKLDNUdxYvyXqqEAM/RK+oiADVoDcOBCLz6+mz4xMfiAqQr95yyXMhGolWskRLHiPL9pBuQ3kTPBe4/gXOeBYzY9Jyy/FLPmdJkHrInCIRrmYX9AhFC+nzV0v1z8vcjIN6euM52s+JjcRiXBzm8UlJYx18VYl3h/65FtWJT/tJmTnCpjpKYkCUUSK6rFXrWVVne7QPUVtfcXYU5HdYPISADtY+bTBIIwfg2cuRRjYzFM0gHUKj2FnQ4IOPGqj8z944dLYO+k/GtM74OYsfJskC8QJPT4217XWnnF+9tWnSQD0yBgHBn9lZ7dodsHjjFJBanZw1e8ke8ZY0ZyRPpv+twPckBBWB6kGiZACer5OpeVXsHhjW2GcLCBB2ch3puqLvnYb3GfnzT28P0ZLJsgC+BOgZJGRUNSzlGZVjRDcZgH7Mg/xEaM46BLhXiTNGj84ypOItV7C6jVjXCPAYMcMNdrET4vOFpQqkh63zWy+dTCm81xBWQ/sQhyf0PIaeKWFbybuASlzJ3OI1Vq3P+Wztmk0a2p9lAzEkc4qCkf1Old3yACFni2J5enQD8TDNJLXFUbxcbmNuWkc9xuAD9ejJ8WwlD4FxGYYyMzI2m9x2R9Au9xSfG6ZzmFcZmBqAGJOSzksXjIaLcoDsdOaiACSR33YozCirpRQRGMv44IkRsPdPL3L4rS/4q9H8uIPGYYLpT+iw573anMJ0/rlvNebbyOGYI4gd5xnWRij0cEn+Gb1E/l+KGjuxPKnC+EMTqnlteESHXnmgK4RQEqxZ+qdyWMRTfRSPfSpNhLfpkComg4QM3TGAkYOUzXt5jTgVAB2pcEw7THAsv8f1h+4p9cRlTDoRR2pmhY4Ch/Zs55n7nEx8p/Ibg4k9NCJJSB6A05V/u5Eun6lgYTZ01ab5YXZSCBUsDQnIFiE4NfIKkddgmIiHWQ9qmWsQQRQn3Sxjx90z2odf5QlJ/ped9zAhbnkpdeNRFeUfjdZYYOG+zYm2D/QktwA5uW0eca9beUQq4MexbrBTe05DJTsKUvtvNw6d0lf6jhqtodFhMfB98hWgYIrd4xJC0I2ct7ai+8PeytrF60mMVwNdKKJZYMbkC1AyXTn2PnW1Wv1+FJlmFjSRrhlNVs1fg1Ip25mhrPIRJrj4oifo7bSg0A3091Jbo/VBk9W/OLEegJxWn9cE","layer_level":1},{"id":"e2e50fda-d3c4-4b07-8ded-1931eef5b705","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证API","description":"auth-api","prompt":"创建认证模块的API文档。详细记录用户登录、登出、获取用户信息、第三方登录等接口的HTTP方法、URL路径、请求参数、响应格式和状态码。包含JWT令牌生成机制、OAuth2集成流程、权限验证方式。提供完整的请求响应示例,包括成功和失败场景。说明密码加密策略、会话管理、安全最佳实践。包含第三方平台(钉钉等)的集成配置和使用示例。","parent_id":"972dc29b-39fa-4e22-b4a9-d06594d5fb55","progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/controller/AuthController.java","gmt_create":"2026-08-01T10:23:40.9201206+08:00","gmt_modified":"2026-08-01T10:31:57.482644+08:00","raw_data":"WikiEncrypted:I6KYYMxpAemyHFwJy5bny+FhLrJAxcHi9isgLCIR7jIRaVDL8BHx3WUxAKQL7tg9vcc+jKuxlqqkOqp1TrZfOFsNMptreRRTJV4w1XxVNaEzwjVusV92HqiYyqJEm2Q0fikw9nca3XlwncYzwlo7J1wyuq/w/vdVjKa0tIB61QntHgAkD/AWlmxeeN3EDIZ93Z+/1Xbi1/3dx/tz/hudoDFGpzZTucCqjcoyv7PV8cz0GabGOdGhiUZhOfTsVsPBwE31ew7q7nJd0eHGHrmuE3ViuYz4gFOT0pv9sRGgMNNrvQzimqNgjj8UN6cz+eISjKKHN9+cyrINrX9u4vZ/dsFI9VpkIZVOLDXHQdFTcick1FUf6I4hmmg93FOfWScTWiN4muZ82T7HtfwE+Uc41Sscioaf13lD/vZEXQ02w7iqOYOREur5kynh+xuwhzv+xYoZt39AbUR1DX/u50iZggVBuQZozSll9gk8eBFR/3Jpe6knmN433FFttkwFAj6NVqm6k1gWByW1vHJ9Y95Z+GUHqyOa47exyPZmZ+kheI1RUJ9jwPCFF5+uagyrUpAF7HswwIIHKI5Ys2PsfE9y6A6qtPBzYBDNYS3M8vTDsd2eNpaux4v861TaqB11KqwrO5D8OiVeEBmC20RoOU8t43eC9p2ui58mDIxYKb0lkVHzV6fET0zwTnUypl4tk66Iticg8y+7Hmqs7/+m9JM+CilQx+IAcHkNFS5qdea1us4AoJe9tGptbQmH/jxb4/RvKfDJo4HkrTmHsaL1jBVnxzzfjJ3B3ANQ0/v+moHd4kNOlw1KHRqUhzZbzWpEx7imq0AtG7pwXX4nRebfpE+cjbtgUX1BO/nxWB7RXP2iz0JwnnBdTio3c2lYfylEHPu67kB/dGQROHxbNkHJM+N17j3ilw7NTLNpT80C763I5dS+DbR0ZTgYY3OVkg/mFKItDPgZxGH0VVcBr9jNZaiDWLQDudllhoNT0+NFl24T5XkiAUTfr1bez32J5Dh+mlfV7il6VdZrA5no6v38/WX+tA==","layer_level":1},{"id":"d54ac4b2-811a-400d-89e5-be4b3db5d39a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"通用实体类","description":"base-entities","prompt":"为通用实体类创建详细文档。说明BaseEntity作为所有实体的基类,包含的公共字段如ID、创建时间、更新时间等。详细介绍OwnedEntity的数据所有权控制机制,包括数据所有者字段和权限继承。解释实体类的自动填充机制、审计字段管理和数据可见性控制。提供实体类继承的最佳实践和自定义扩展方法。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/domain/entity/OwnedEntity.java","gmt_create":"2026-08-01T10:23:41.0518983+08:00","gmt_modified":"2026-08-01T10:32:06.9103529+08:00","raw_data":"WikiEncrypted:eWJG/e5ing0ewFH7hWSyzDgM79nSThP7ImW6wv9PEA8JEKVMy3UMkVt/vXcNfrDUzwvN1fofc1lstL9M9gzTUF0lX5sad/ZoKMtuphVzXHoefd46e4xF41p1gxABJbq7qjzjPp8B+0J7P7Ljmo84TFxlJR9NPmY8hegiskinS3ioVvbWll1cGkXx/1ZCnuFyStxkepIUDnYI6MUs0v1rSrivTXki+oClYl/mWAIJW1NmW6tHc6fjJQRXj9t+3K0+cHdzY1YeCyt5CZ0KxerYKqqmf9u6jTlvLbzOkvW2zzocgXHJKoEBcEiK5WDFmh+vU0GticOnUlmDvFyldS6ZHPCKqCPJxvExr4lX0vL6rj6+i5VHof70MAuU9urgPdvPy/Y/NMENy1thfF8z8RK68xJmffTsKXovFQjaQSOLYqW6UmoNjVkN8sxDaeyInewpXu5Nb4AO2qCwKYmUD6MfhF2gSWFdXEpLYdlKeHqQXttExX02SIfmB1a6ymXXsW0tbugNwDJXqbk9Kv2epsXV+NPd9DRl3MYr1FUMGCiLfSqSrgGUPXMnQigoOucOm/Ogdsc4kt3a6V2MFKHqNBQ5F7rNAG3o9f4N8hAW4ASF1T9+PJSpoiMJMBGsVKVJ+F6Bb+amzeleQ9nyCVh62N9VHnUK3rBzUv2079Q891dcuGGi1ONemsblpjfsg8QLTljMFUf4rs9FrbZ7RN3hwE3EuGX+bAhEp6XouqMH8+NBm18Cngrqp7UeCwqvevE20rHoVLeguvfmawsIIprGiKaZZbMDE9+24qrfJ93Mv18fkA4Z1zwh651sko3T2OfBXHNJ1v4zggxyPsKtUt+fJSY1h+rwASYjDwlHwK2PqyWvXdV3Q9hCmbN74YCy6qDHqVsphKQiQIevpJ1M2YBYB8iGYcIekAjNqbIdkgkzxaz13GZJ8d+V/8Th6Wx3W4JIJvAl3eHowUoYJU0aIim2QKci1Q0Z2cLT9G/RgUvGbxgKVRGOTmDC7n5Ho2c+QlMsC7H1","layer_level":1},{"id":"e77ca833-d53b-4372-aadb-d9db1597b2ad","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"用户认证模型","description":"user-auth-models","prompt":"创建用户认证数据模型的详细文档。详细描述AuthUser、AuthIdentity等核心实体的字段定义、数据类型和业务含义。说明用户身份验证机制、多身份支持、登录结果数据结构。包含用户状态管理、密码加密存储、第三方身份集成。提供实体关系图、字段约束、默认值设置。解释用户信息DTO的设计模式和数据传输规范。为开发者提供完整的用户认证数据模型参考。","parent_id":"2e7654dc-4da7-4b34-910d-87bd6334f756","progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/domain/entity/AuthUser.java,crm-auth/src/main/java/com/crm/auth/domain/entity/AuthIdentity.java,crm-auth/src/main/java/com/crm/auth/domain/dto/LoginResultDTO.java,crm-auth/src/main/java/com/crm/auth/domain/dto/UserInfoDTO.java","gmt_create":"2026-08-01T10:23:46.6733101+08:00","gmt_modified":"2026-08-01T10:32:27.3529223+08:00","raw_data":"WikiEncrypted:SmmNTSq96N8aZksVSKE+84xs+Cutn7kbuj+ZIuUlRi3YXrc0WDJga98Al6qkDNBI5aNtJUjXdc+R7udC17sK+I2mvu4rE4XfjfL9v8zKuT61G6rXxtkBGnFKGdk8gmkz6KEIe9jZyQKFn3GyLCQwFZFCBSx7wjCxoAbbt9yH23PRmU1tn57ElaQtj8ILZarCMnz22M5E85Vc+zTWj7NVBrDnd/HzOWU9yvBgFzgzKWgXrGwHGLZCG9XL4E/rSu6SvTTAcW2ojQXccz8yMR2LSp1qw08ZUf6te9HShAV/zkeZXwFlCk5qygjBMDimtBa/spJDqLmaY3MGSXpjL3poKkTNcc961B6qh6tjoq+OwjxreJknU8ipC8lJG2pvD9Ks7RD2cE2t52y9p5G8aDC1PdLuieO/rN/EIxcbnYUKYFIdGrgJv9TbxQ7IlF3i8mGpRBVGvxyZIgjI0KdLzCp9+kW1I6OGOi6u/DGW6PDvPex2GMkNMdU8aBpuD81bYiBrgxhoQre4y/dGfms49luWbxVLiQ5cniEFSW1puu5K4qcUYJL4NdaBImS5BwbV69SfeG3W//Z8vsD7cycnLamUQYBptzEvPiHgc9pnf4dQMKBltuuTCtjHZVNXPocgLIT9F5cSaA8EMyjt5mfCm6eZep5IjSvI2JghirUTGdajnQqbgbW6VnJ+n5ZCW7kFgrOF/19fJwSou3cM7hEQd7h3wqlq+3kf1myCG1bkUtJHVB25LxHXC+romWKupNdzDff0mMmifpvVoUhSV2ntPEHfUfeSSwn1oWaK1UpdCiYUCJSOCrw8hjpkdihnSA983oHrGhBsXlPxFozI8xm1E2yo/wfYUrDTdhZVnCVKs6sSQjXCOVYT5IFSXIEonJ2Aje8WO/MfGJc652Hc8KvfKGdrTxoDoOLLMPiAUt7mJTgBywvmMCrm+s/FT7DamVzVvimnSWpvuwwyWHHWw1yXYSIhjdZOoEBOqrkGwRHve+dGZROzOOsBQyLe6iLX8thC3aRYyPGO38TvpYh856xLEw7E2WAPltUgT76Tya6xiN1BR3PIAutNrebUjBnhjA6Duwfu3qQSFRNPsGFS+CkNelz+yOZADmN32z+8ljLyKHpBbUyj/Bxho9ojMCY3ywy/HJf0afbGdNCysR4nOpeXvk1uNf/xpiwAZg43x4e4Jqzh13H1exdUAeKjr63mPQAOijUsHUX1Y5DQvLJB19eT8JhYZ/RoPDALrh0kWkx5HLzcg8/PM3LMFO3pO4A4Q/tn3b1S7TdyHGtiTEHiAm0BKTfdx4CD1yJC4KEToFsgqMDHtJaJpXxEaKoTsCVJxtLRPRtrIAm5J7A3aEMJ11ryY2VteQ==","layer_level":1},{"id":"b887ea86-369b-42eb-8c7b-7f6dcf2cb50a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"开发规范","description":"development-standards","prompt":"创建详细的开发规范文档。说明项目的代码风格、命名约定、包结构规范。详细介绍实体类设计规范,包括BaseEntity和OwnedEntity的使用方式。说明DTO、Param、Result等数据传输对象的设计模式。包含异常处理规范、日志记录规范、注释编写规范。提供Git提交信息规范、分支管理策略、代码审查流程。确保团队成员遵循统一的开发标准,提高代码质量和可维护性。","parent_id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/domain/entity/OwnedEntity.java,crm-base/src/main/java/com/crm/base/domain/result/Result.java,crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java","gmt_create":"2026-08-01T10:23:52.3696594+08:00","gmt_modified":"2026-08-01T10:33:13.0201505+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C40b3wrVqgUOe/aBj6phY0aUMIsWQ8Lw4ze43N3NCb2GeboTrOMujntTgQomqVR7fzuxFbKiv9cuXZxo1HPo79w+e+DcF/umkpBQOXyy54MdIMJfaBxkskPAxk7I5y3MSi1mJ9TZKimTQeLNM3EM/B0Y8newFBr27kFrbEmZfOH3WSkkRqv6sFvJeRmAIEVOeuStbgjn5YoEN8YnapSOTuaBvFhPgGcIOUT1kdOiV1Rq3sdPdzMAdxaZWSyjOwuYi9/RNveqg0xu/xcoMiSHr2SzQclqswoLypwXeyCwmsI965uR7vSB5CArOnFkf3AGFUS1U8X409T5vcNcm84Oit41sjTaytyiQA4dW2nvFoIV/6MlB4V/BftffK6VZFFOZK/H5iO3fmO6yy7kwaDVI2/uZz+w9GMsCmT77BEBprHRrjzGpp8auCPA0ErpJikzb9aYUc9SnL8KHyY0l1ZLIh+ayxNE6RkAdjQmH5y2KFi4yH1gCgyG3h5O2slz+0MWYg4JQF2KQWWpSjSZoA+1bJHh5bqovT32gtsyKx9uIeuJAJ8GY3se4nkyI8KQFXNEtjdaJN4lzih61cKiJPIFbAe5VEB/Wg7t/P+V9Vfulgu9NtvTcx+2nYKvGrHfE4lZMlH91hr0blhuMK32QoK/YQs8md0GKfNnZlmWHzm9jRlqH+l2BDlD+IP2GMLAP7LEEpPUoU3ZN05dZRyLeKAZTuCoUfCJrMAWNLERTJ7KSF9YyUhd9I71qKukfPInU/NeSI5BGOKP2yr+bLxvUruahNvagA1VsNa4kyehStkXYt6JPupfA5ZtHoBwx2TmTR4UeodsKzu+zbXP9egBg7MlewKxEzIvG202ER7U9C8zTtKZC4o3pe6mz0Q0Ko4TDaNsr4TLEyxSdvkjdZdt2H2jNsnikNDA665HXyHGXAll8lU9li0kt64YwCx7thRqI98N8RiBxFiR+R0dt0Z/61nbO1le/VUAm0yhzFsxMcCZX2okjFzi5Sxrue8rfukwdQkerle+rSJ3bzyNbUysAERdirhszYSaSF68EpLiurOTGaNS8LoMHmHsUuLrL/RN2YVBKgvl/L3elg+gg6ZaAl9XfZL7t6RuiSf21cTEGHt/Ow1Gew7yqbuinmX3Aia2HyWcjOfs9NqYbZids+2AN9QKQF7yj6Amc4RHQiwQOkDeWsiCReqh1Yy/pykLEzkfqmSQekWV2zRtQFKsPI4yA/DKxfIv0dsMqdytresE31zPH/Ny7T4vD+WKOeM0lrsEkGxm/1qFgqZu1kEPFeVDQx01KZaXvGNeumyFhVOh0jhXM4nxKkn7o6MYwXYwoIrpbWQ+Ng==","layer_level":1},{"id":"280dcba9-9e7e-4d0d-b3f1-e9179c16b97f","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"应用配置","description":"application-configuration","prompt":"创建应用配置详细文档。全面介绍各模块的application.yml配置文件结构,包括服务端口配置、上下文路径、多环境配置(dev/test/prod)、日志级别设置、Spring Boot基础配置等。详细说明配置文件的加载优先级、环境变量覆盖机制、配置分组管理。提供不同部署环境的配置模板和最佳实践建议。","parent_id":"1b327205-aef1-4e95-ba67-51808ac20eea","progress_status":"completed","dependent_files":"crm-app/src/main/resources/application.yml,crm-auth/src/main/resources/application.yml,crm-file/src/main/resources/application.yml","gmt_create":"2026-08-01T10:23:56.6321232+08:00","gmt_modified":"2026-08-01T10:32:56.6530971+08:00","raw_data":"WikiEncrypted:6Fw6zeKwEGma9eKCQx5Pd8+gczSK/sLVoUAk9JT1g1H5WE1OVfW4AZsI8yEXH4txBJYqTdRc2GU8r++KVoMBLn0XWm93DZb4Yeg7UHuMZBdNnPC2X/3BNCscwxZeMk9T4jCb2336W3KUYgNRJ3T2JSdoGGx9zCkh2I351qrZiAMUskSMjnYp4mZ+NHoK369UjBjFN7icPkVV+mO9kkzT1jcGp1BEHKtBSze29Gj49IFFk/5v3xmFScV4bd40aDzjUKyt06AouJvqZKVhhgU5N+k0XAvksOPzUBVeXC78FyqpbW2O3AmiGLcujC7+sHaHY6bGtyWC8b7LOval5FDPXCTCLR4IHoOdwwkzqsKb+pCjIgDvDUL7Qn0y0LNBht1hLMelwZERPjU8FKiCpOFwRfzZCAGBOdkLVensrpZsr3PRqisPHfqbPPy8ET0dtgj0XA+FJqWgWjFPMfw25Jl+DK5qj1dW7NqTVKg2gBS5+zShLTfAOI4CCrsIKaNB1AOY1xAxpFg0nBckIFmdosFY5/cT4RbulvV6+zHEiLzPAoXpKNg4guEjStzJpYYgyzornUSEbVurAbI9imK8vX+6FSBEgRrXJN5G8KOyD4ssOmPGeSv9VIbjeEVJlLAq5pVXVLFu45uFWedN7eOAMVhp9jAAZGM1G9uE3oj4KPwajC1bTJf9tlR9usqgZquYzWflD+lasPcSnbshbhRoQ4vW8EgPCN3y8jGJzd8oQwipXyoXPQeESTi1PM8WiXqQLVDDbwayKxnT37IlFYy2t4Gjaz01zjdTSP0MV5V2jScPRCTb6SLjHSNAOKSbExGTwNYFMIOhybyyr7yiczlVkjlVREHGcvNKfYRtxMV1USKTvvEyEnyWKILo1I0VCnY2VSZ+Rg4HXbOaKevMorXSbV66c5Dpg3AL6sLZ8dOudeT5tSpM8W3eKg5kecSVFFpKqVZ2YdFfehqcXbVoY9WrtX0xQH+6aj/HCbts7QJ0C0e721xr82Z/UyfrL7v3tWgZGaKOeGP/8s77wnqnLyKn/92JCw==","layer_level":1},{"id":"ac97848d-30cb-4326-a786-d6ff15c3b403","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证服务模块(crm-auth)","description":"auth-module","prompt":"为认证服务模块创建详细文档。深入介绍用户认证、权限管理、JWT令牌处理、第三方登录集成等核心功能。详细说明安全配置、过滤器链、用户会话管理、角色权限控制机制。包含认证流程、授权策略、数据权限控制实现。提供第三方登录(钉钉等)集成指南和自定义扩展方法。包含安全最佳实践、常见问题排查和性能优化建议。","parent_id":"ce73559d-e232-4666-a740-5db08637816c","progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/AuthApplication.java,crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/controller/AuthController.java,crm-auth/src/main/java/com/crm/auth/service/IAuthService.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java","gmt_create":"2026-08-01T10:23:56.9683762+08:00","gmt_modified":"2026-08-01T10:47:32.7053274+08:00","raw_data":"WikiEncrypted:+VM8U7FFLOniHies0noAqFKApEpRWPbpjLiX9fYGqrnas2jBm68g+lM3xGYgTlMvN7jew/ipW5mmcpgApJBaJC+yQm4vOucm6CCTPfd0TS375BA4kL8LDAgnd6V+QYIyiYlMumAhG6vF+hECIkBdKwYsbZRUmqHQzycAFM3vvioz8E0yxICvdLsq2twBT+GxKO03dBEiaeGjES5gszEdPnv8QgFs31XUv9/pfB8fVJit9oQ6w/OGMQYh1unDqH3Hsqvhf17nQezsi512BztVO6XBlssYSNQ6J53D4sgvqjP/GkLgZSy0M7uy+t+3QDqWVOBfvk/r6t/JXm6Tcfnd3Rl9NV7iDzuok2Hy/nTYdNBv6qE0gyUYhnkX8WJoVlxhXoJCPOnO3ZsL2WDCXn7ZJlV+IzInpdD0HZ9PN6+De/roOaPKfxjsRKLj5XP5dPzd+575Qt8AuMXRnXluO3zssXMX+5+hY4eIa3YipCG4anMg4aDAWJJjbQnAwPLiDHH48RUJ+hg9oBVFYf2nkJvqNaPgbrM3I/ZaySSL4N1Cs4Iss5IB8qGdgLHD0Og4FZ1T1/e0rS1iE7jDDZE/M45i2OYn9xzUEax6bHP4/J6kguFvbn+llLVWFJydVPBztDtJATxA18cl9LR/i5mQi/NjJr8/JNPUZPObjWNFJeBDPugB9g/wHwXttLDmNuEfRRoPSyWLzRG++wtVAcYb1lPpwaeWv4Wnc8IfSI0RQhG+BE8G8QPxzKx/BNUKImjKLEG2+cogqKfQn42Kl6yhj+4S9Z79/WgWTiQMEVk5+/BpEbo7kVNe9HjVMZhPAXWSy9UgVoDqech8bdoetxPtGDUTRoYK2yqBlJzKvQqy1tDR5kZJUNX0ibkvYR4OnCAG3yuUn+Jzidew06r4uaCaOw8MoAOcmJk7IPKfvU1OJp12XkzGpNDGbS7MbrWFilqzE/IIGlRIcWHpP4fkHQeqpz/WxfB9OWjZKGKU+2DDtPp2j0mulOTFjrRIePjSIihKHhYJ3Q9Lbvi48NejNHJkfYtljKqCOYk9Jm1iqRplGpKaqo/i0Kzudfk8Q3aaJWEuBHsMNaNCVWqj18YRLOyXS22RjuvA7yvwEdP9MQxjc5hm2nAcX1fCbAD3AEzO4HB5sNEbFwGqx0/CFJUEeEKlu07u+7L9iD8m1MNJfDrT4fmpY0wzcimX/W3viEPq0CUmrZu/dbcISsTh7YQiR+XR/nGFbSv62IhlHh2+4tNQvXx8M/LUGr5anGggNUXBNeVqa5tiUF9siESUJHfzwMrkWiRm7ZkZi8t1+ZbfyU0R5hzWNNuZ4wZQU4kD0CdcbPwHHIU+pg1rbiha+5B1O/lPTK/5XugheYkVJEW0sGFP2WosefvZjeU6Pll88kit/HHn3XC5I3fRnuonh0s/dEQ5aYGQo61oOsp7v3KUnlhvd1chG7M=","layer_level":2},{"id":"02662906-d5fa-498c-97ec-6b984ac00ece","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证机制","description":"authentication-mechanism","prompt":"创建CRM系统认证机制的详细文档。深入解释基于JWT的认证流程,包括JwtAuthenticationFilter过滤器的工作原理、TokenService令牌管理服务的设计实现。详细说明SecurityConfig安全配置类的各项设置,如登录接口放行、静态资源访问控制、跨域配置等。涵盖用户登录验证流程、令牌生成与刷新机制、密码加密策略(BCrypt)。包含第三方登录集成(钉钉)的实现方式。提供认证流程图和具体的代码示例,帮助开发者理解整个认证链路。","parent_id":"dfba2481-1f15-4203-89c4-a87c16ee2d90","progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java,crm-auth/src/main/java/com/crm/auth/controller/AuthController.java","gmt_create":"2026-08-01T10:24:06.2154865+08:00","gmt_modified":"2026-08-01T10:46:49.9440437+08:00","raw_data":"WikiEncrypted:uxAckj1IXK2TQH//kEdeBN19feZhfLoLwYBGoJKvH3N1obTJjcW+FHYSJonLP3jc+A/sg1WcUJ9+F9Iioivnmhhv2MDjd34HwbZjdBDoj5xh3OPjkRHpGc9D/d+FmLVOUJ3NFdLq1dWu3AX7Fpr+k0sTb+9Z7hfYvdk9/XHtPEvfA1L7oBoGoVXeIx/GtYlSiQQ/uHHB6eE3SYezSUXzKG2Wp4Q8eFDUJHg6CyWMpEpbL98T48ZtjqNdIafTfBvV7nTT8u9ptqe940AiKwxjicuwFbTLxw85VNH5iCOrzKmR/Peiw7lZicqPii2hQRF5f7R9EqqDIEcEXWfiFsbI5lhLv+gL90StETqsEr1hWqO36Sg7JtaGPLxMhGJMznER5LloiBHThpm6f3NnRPjVanmchPZ35Y+pQ/kjbkFDOksSMTT3lxagr4dbOGSWfAyWircsxffSGKfuEu+t/VjLrUyc4Jdsbpu/JIeCimQagzemisl2uJpuKoJ7hhwSAOgR58lT0na/ZBsPHfZy+2CEs2cHWzpn1pAesEc98nr56vJE9A6bEMhzEHrPjv2rJRqhhLxQxpIduaiMK46iQtOSihkhGyHzNO/ijJe+MjwAtesD0WJ96TBN9+3He19GlHxNJ2Vb/rOc2682szfcQbD46ZeIRCgAgZ9MiJaLa+P0bJZva37tR8k3Tyt3yuXM+S8D/px87khKX+yK5WgRitPBWCgEkk38qe+X5Wdf6pvQn5Z3T6tppOZ537651uCe6giscJ1Fh1VFejHoJ/0QEmEtOw/EwwAXeMKf/+2VGEaXItFPtzi7cbn/YAWpCbh7/C8d4FAj8aVVQpwsRis2WqqB7Q6PI6er+iFli3ACS0mAqHa8hTaVlSHRlYwueGyfx2aiR+Va1B/OzMaZW9DXAUZvdIa8RY5U+NmHmu+shRglawfVWMB0JBTTKwExXZx1J9xAhxvHJcTrAZ9P1Pt42oe1jTYJX7RtoI2sMflVXUKlHiYJIA+I5iTTryeOzcY+V/z3iDRUqKMOJccyUyf+sptjK/44mBlEp5Rn3L6YPp8TH9YviP8QhDCUL/MKz4tR4iz44ogG3F3wUx95zeo3rp59rhTyL+8uxiqoBXtxuOgEvpPi+D8Lw9U/kyyIZmk1ayUzvbeSZqvKJG+filjFQP92RF4X0n21Hej4z9X58YpIj+xi1WhMTpDfCVNiMcJJVbJk2kozfO5PwDTOfq5RmS/QIbhuEPlqBRrlTWHH5hs2yXPle+pmPCiCjIbQSaOlC+/yQLCOBewwSl6YaO54rk25LSaAMnhbSRnY25MjtyhR0TIFKocimw3VcJt1hKZYK9XQmkfYD2144cO6Aqo0UkBFyqx2L7kW0R5/yiqIIqkpYLqibx7xLjEL40QBEF7ozyRuUw1X2zXYTMhc8e4EkHYCc2gjw0LJeobb5JbK8XzAzrJNcZB0VUJIfu2ytCQ04RXZVJWcLv2iou3wJN0y5LoIRQ==","layer_level":2},{"id":"d211ba82-0e6e-4228-bc5e-89f3551b2d13","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据所有权控制","description":"data-ownership","prompt":"为数据所有权控制创建详细文档。深入解释DataOwnership注解的使用方法和配置选项,包括不同数据范围级别DataScopeLevel的定义和应用场景。详细说明如何自定义数据所有权规则,包括部门级、用户级和全局级的数据访问控制。提供具体的代码示例展示如何在Service层使用数据所有权注解,以及如何扩展新的数据范围级别。包含数据权限验证的拦截机制和性能优化建议。","parent_id":"09833ae7-ef9f-4e37-9c16-22301b4ad52e","progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/security/DataOwnership.java,crm-base/src/main/java/com/crm/base/security/DataScopeLevel.java","gmt_create":"2026-08-01T10:24:06.5647228+08:00","gmt_modified":"2026-08-01T10:47:46.4148252+08:00","raw_data":"WikiEncrypted:EWnmY7FrSrDNzKPUk9wUqVJbiamaj/WtxTUrb3BZ2ZijiB7KkRwwZde9phC+3XDz/ue79S08r8e4a69b+hZtK19Nr3S5bmAlsvXcgS9x3VW7TcdYOppI6JGQDvKOrhs2raSCPxohHagvItJCbKu0JZ1LnW3Rllt49eqY75nxZ/voU3p5PjiZe4t3a3QGCb4aZX9sH1E5wygVpBPWDT5LR+mHBtvy+1rd6oFqX0ATllpEEe8ghA8VgFikAtewtAK1A8Aal5hiDmFdIvEejZxv1wRS9VPjTqtgT337b6f55FGp8iRf78a6tXjosBob7kLArionaE6xlTX7sTh5zfLiVm/hUdxgw2W0ErBu8Sv01I3gCSQN7rsrJhUJUy6fKPGO/xUD/EePwTJL87uQERKaf+zvt2Y6w3VL2guU4rZ6LYeWQ/WeEEjjFAXBuZI0iCx9Sl/dRWBUNVe/NkooCcGLyEbUYPPLdzWCN1H9lgNRxQ2WmUtgq5EkwthJs6k7PsXlS+0QI8bb6OEURuwFoilBaO/mUdoH/WvDX95tmNfLT0K1IOToQACZoWZEYDS4ZKVtHyNCCCBhndXop7Knp7UAHuNwm+gHi+9jr8QvlkUDElcQzoEptp/YGDW2obdaclyY80jo5h54NDGybs3nd7fTUQg1UJKz9Usub4RR6FNq89CUmXn21cEhrjW8GXDtSfirLW18eSRACqqeSz5NP1ATdTXZKbbiM3fCwb5lRoJkyoWHGMA2bDdvqjYuoKBdVVmeTw5kQWUq/WSBrp34JaZlSsCYss2MJcbHmiNuYVX+Tg+Cqot/bkEdZwfiE4yeWKIzk2F2qDuye0+Mae1DxRSdWi38BWOxqERcT5cdAcYTm0DmTmpn9+WNu/YuCXhQGf7PGS98hyfPP+wLVmB/Ct24ijL7fmUn4cBLwH9h3v9fbuT9vgLTX+hOIGwxIMDBPDzObFHsijV9JW5sOKUFZOQVksXTXpyDzH1Cdf2cT7wzjsEilUrw1x9vCRFUAxeUByvd4kx1vu0D1JHXQBpygJUpC0Sg53x/jjE6oDQ0vV90iERJfK+82MhpvxU0dZYGfHqYQILae2mV/7XJGs4WRojEDJsxuY8MiZ4XWddPsUIz+YvOeIqoBAkpe8DEsSQcR//bpUZsASvh9nYlSqcg22mKHr0WVjxIz392dEkhzLFuRx0S7Z1vF1yNTFLremgj0G62","layer_level":2},{"id":"c0fa7e49-ec5c-4aea-837f-c36960b529d4","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"MyBatis Plus配置","description":"mybatis-plus-config","prompt":"为MyBatis Plus配置模块创建详细文档。说明分页插件、SQL注入器、元对象填充处理器的配置和使用。详细介绍自定义SQL注入器的实现原理,包括批量插入更新、逻辑删除等增强功能。解释元对象填充处理器如何自动填充创建时间、更新时间等字段。提供配置参数说明、性能优化建议和常见问题的解决方案。","parent_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/config/CrmSqlInjector.java,crm-base/src/main/java/com/crm/base/config/MetaObjectFillHandler.java","gmt_create":"2026-08-01T10:24:08.1666362+08:00","gmt_modified":"2026-08-01T10:47:44.8765359+08:00","raw_data":"WikiEncrypted:R3G/j4uraRHb43J+Y7g6azMTLUMZtTrKIaD5/AbxCc3BA+QAxAxW1rV1cbrgN3X8LxK9i6uZwuTAircVSKZ2mV2ZFKRiwCJtZRkvol+KikDKo8Y0FRfV5j/o/gLrDOry1ZB8XS5S91H3BmLceZScPZLiPLFJyJjwCcV3WvdvsljjJorUXFI3CS60Z0M2WhxvsA+MS/jQd9BXx/nVOaXJ3LneprSVsjZ+azk1kYG4HF778UPiRrFmbJcELGDSx/pyJaIIXk7pSCj3NI0o68uwg6jMI1WrOBN3q8PSHB9a/p429/OwAWay5rgx4m3uoIAm3QGiJEA69KTzoxUZwYfQexdXRHF7wgx1JKIIwLUd9ddoDUmWM9xC6F8nn51fUoQBGia9oQupBnpkjWwcX8Cqssg+OpFSjmfq4hw7u0RU0fWuLJzirKFVfFvL0SPL2+qblWRHBLH1exAOiE/qBe5S27qFANu2zhECrQwzo2yCyWrmT0FEOGvo/YrssTD4TaPMCCtPRl/98iCTM9W+XquOJNMFNTlPG7JfnXjnic61KxflC2XT0iJ1TEGRVokHIPoyX9nBsCC8ea3in+g+tjpsgNwxuBiaWNhls36idR8+FjHS9hy+ZS+AqRsXgtQMrZpygljzjwUqg00dek9Y0SIqjE9oKsF5awzPpWPfYsMTSjleIV0HS6zvTWYQ2nNJ3ePeziJTJcFCKSYlt7ICA8gtpGJvGcH+tsWDeXRnWMXv6fYmQt+10rV2IkR4tTxS1eAck12LUSQk3Mpg1onG5xX6pHZGOcN0ldfPMUmszkdquvWWKPDzfclkQkvfZ7hTiZq3eXRQ1J3ju9uOOSa4C3q5Btl7WnLo6dQ0lhARdelt4KMmLOF4pcPsUPrwdHJpIjVrMiEmi1uJUeDDZf2Neonm/92zIC6T4eWD8AudV80ccjgirCz+ONRd2vWoLyK664D8eOuxEsuCzIQbbDPOlbuGrlbr9gPPx2wbOWk0anVGr0Fsl4TxcwK5VKjQed7ybGQ9q4RcasD5SueZikUObfDFoK5T8LchJgoEZActdSFqJ/8LcugIecXxq06uRcHtjtAQZQXOFrJFeMHsxNVF8jS0tVd4Ov9EFKjujPIMUeTsKmVfWVxJE6M/LAwSFD9+omDdsZrVP4XmewzzDvVFxIArLkBXmo6yi+0zDA9VYSz0Lb4C2TC9GMWkB/PQAGDQtFCp","layer_level":2},{"id":"6d9e49cf-5d63-4f9b-a7aa-4e7f794e9254","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证核心功能","description":"auth-core","prompt":"为认证核心功能创建详细文档。深入介绍用户登录认证流程、JWT令牌生成与验证机制、会话管理实现。详细说明AuthController中的登录接口、AuthService中的认证逻辑、JwtAuthenticationFilter中的过滤器链处理、TokenService中的令牌管理服务。包含密码加密存储、令牌刷新机制、登录状态管理等核心功能的实现细节和使用示例。","parent_id":"ac97848d-30cb-4326-a786-d6ff15c3b403","progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/controller/AuthController.java,crm-auth/src/main/java/com/crm/auth/service/IAuthService.java,crm-auth/src/main/java/com/crm/auth/service/impl/AuthServiceImpl.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java","gmt_create":"2026-08-01T10:24:19.0167475+08:00","gmt_modified":"2026-08-01T10:54:25.5834368+08:00","raw_data":"WikiEncrypted:9QOSaOQHbzL61d6MLK2xGPwC1XklY/msrrXNFxJx7m2nyxyUlMigYzlIe9V3+mfyG2LS90VprjQ9SDyXC8LR1PB6RhlKw8YQpOky8PLRhHYHkdHlXQ/8PQ9AmbQpyJg1s3NR83N93UeWufZqgU86Dtnj98SuRgpOilY1iTClG6hGSDGdguqChJHcp7r3PiuN8nAeTqZ8yQfFF4r5V8fU3WWY6JuUoy+iR1LWQkCgxPvx5xZH99mADfgtAW7RzYp9jvO7YgHBA626WhVWqv6O7zNzOIo2x0n+UZHYTI//TSMpRP97QmiCLxDbuiw4Ff5h++8DQ2x7AUEaZAy1aeInes/Nomu/coouqY+qgrYVddc22Uzgz+bNy/PnG22I5K2bX65zc5cIPk4I4xIIlpwf6ICTFZN2Y++qiKxqc44b1haNl12EvFQvzgS9meu6X3DPZkKpSy32wP35vvHUX5b5MXl5gCL5o8mUp/Gk0foMLhMqUhBXXazaAd5jbBzGHym61Ze00Oc1B8Zn3/yZsUMz6/Za7QvBKqd0oRUQghnl0gV+8l9k+NFE1PPYGTnQjkxmWUIYqRNxgYUVrexuRuRybLZXVRxeZdQV3mHZPqu/bHJF1ZhyeqeaAt05Thx1CZnbSqbCrVLtB6OAvew+L2lQ7qt1JFkTJ1OKZboOS7oCwrFiD5cpomcWnx+Elg+AXKWcW2nZXmpGJ5xbnfvq1SghvKIL5J5l2Fz0zB1kgpnzZU6xNKFXLX7INlphYTJSeKKg4WASOcy5ZKOmr/kEEtEliSxDgSAnjVpuPWusPmImItxju/3r6hdsodcVmwCGvuuup6qzZfITbprhxbhIdeVMtEF837we0vSg6pk4hFMufAN3qvd/uO2+uGg4hBBTSTOuq8n7lKjFxwf8nl7WbJAJOvhHTt/jQWUNNdlAbBFxNI+GJGrxXwbQytfukrRNeOsYlEfeAA2quSPnIIrOkvfxqmHpBJDr6nlc4+9H1ncjEz3iLMyN2JZSiJKY/QKQYlDwzdzE4GRkMkB1CF6lcEsiffpEdfWj0txP7wcbzgmjLBI+xsjfCeVUoR3zhb94eMKl/Bd/zn+esJiL1HB7DjWl5Stu6wJ+c2sbxv5pCSWF4VjaNIiVoHMEP8Pqxcp12gG0/TfPf0mmNrkbM5V+uQsoYSrxuRE2mM7IuIYB5QCtuTA6xZZWmO/glDSiRfJe2+UZaVyelJz2J55RhYXenkR0fU9kl5GUnHvivJyYFuwuQlnQZtY+/Zzf1LnXtq79wbJOE9ATSv/6/FED84EtpA31lFPPOx3DQH21SBu5h7hn6aWip9g5XWf6nLE76+mvlOPGEAJ5HUqKb2Mnm6C9yI51ISr6Qy4wAbCYUmxO6mWr1Tc=","layer_level":3},{"id":"7709d8bb-c65a-4912-bb47-42975a880b8e","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"自定义注解开发","description":"custom-annotations","prompt":"创建自定义注解开发的详细文档。以DataScope注解为核心示例,详细说明AOP切面的实现原理和开发流程。包括注解定义、元注解使用、切面类编写、拦截器配置等完整实现过程。提供自定义注解的最佳实践,包括参数验证、异常处理、性能优化等注意事项。包含完整的代码示例和使用场景说明,帮助开发者快速掌握自定义注解的开发技巧。","parent_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/annotation/DataScope.java,crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java,crm-auth/src/main/java/com/crm/auth/config/PermissionConfig.java","gmt_create":"2026-08-01T10:24:20.4870431+08:00","gmt_modified":"2026-08-01T10:48:34.6505025+08:00","raw_data":"WikiEncrypted:VrTOMK0P24YINQ3w81YokT7HZqpHOgifbAbagg0+VsCbWv2FnlFkRhXiyhtutxmwsXQMf/rjyA/MBH+p8MPfYULZqxFtMwthmiRh1wQk89eJm6Df+qTn2P5+OsyqDca8c9VQ9pbh55BnFlBF9ULW23P3dhdOikPeNxIEMmK4Ahw7eUQjKkcZucKCxAkl22HnoZVjg4jkGZqQ+eQ/jcXKKncmmgRHQaWu22HpDEuyEcn+gvSUO4XtueD9hjo5atF9kGuRJzafMXmGoEQlbwEDUX0ggeC7OqrqBNiyERv4ZYYei7lgJpihBhkKy3ngoq+KVzM3rNFbIE1an6KcPvVQC86nwsxxhTH7VlVlIFDNcsuZBREZyMEepv6XroGkRQJ8w8BOUXMrNDFOQTxFWjrvoMeoMzeZzSSMfx2yN7GeRP9oWfUiOdHTp74ZodJY+lYM+H+kpVpFH7DZJh/fkJhUfBTDuEURHK0l/E2yeFZN9m8Jc3qMSs1TDNrn1KA+gfp0wmculjQbBd5XUn76E506gvhm6ynYNcPHL+/P3yeXqJOmyOv33qai0MPIFnbAn4ws35Zj8dad/1ZnskzV3vhmu9NJIOZaX48xdXZRSUdFcjqhp4lxANHKdZ6dnE8BRfItsTfzXoYa08sCIak37K2za6sAqTzHgKG6zg+WCufAcnRv8doiyD4ALmG/hcDODgyAsxniek2JcK/kH0DptPcEHHmO+W1C7rAA+eepof8FmzEzC0cAVLQhrAfvbM2LTjawLqMfE6siPTmFAN+lTZ+g9Lm+zmdJ58JoWqIoXzgPiuK1eDldZ7OpRjniP9CEfvR6UcIs09lk8BhxvZwkSfswgFCNIArHLoOtaLhEW2A5VVXtS4KoDr95Z0mQxnVYQwN8Kt9MzSLFVdJ5OtAuNiruzkjzW9rjjE9/Nhzw0Eq1T8Ej6f+tE7mBG6SSCxFfwrw8xY+Ap/kpQCHC/BDrZFqv7kVbA1fMfKI5m4dP+eD6Y5HO9q58qhSoTiIHfgRxRnG8q9JXTS09Q+gXAojeLFLT7RKQ1z1ArAI5tRya76z/EJSEssMHU+5G1ZZwuhUcCIphcFTzmHqmu6C8DCQnmdPLz2xbPG2iaNfyS+vha8vwFAvY9Aw7mTnOd2JaSDpNwBffE5fMu7nNlOX1Y0x8NqnhoNCbvM4pFk4qEkQFOtr/wG7P+wr6GeFmqHBMV4gBcb5QSENvZstvsL4kuIzCJFqPnA==","layer_level":2},{"id":"4ea40cfe-cfc8-4fc9-a38d-be371286aa3d","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"通用实体类","description":"base-entity","prompt":"创建通用实体类的详细文档。详细介绍BaseEntity和OwnedEntity的设计模式、字段定义、继承关系和使用方法。说明基础字段的自动填充机制、数据权限控制字段、审计字段等核心功能。包含实体类扩展指南和最佳实践示例。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/domain/entity/OwnedEntity.java","gmt_create":"2026-08-01T10:24:24.4027378+08:00","gmt_modified":"2026-08-01T10:54:30.1404+08:00","raw_data":"WikiEncrypted:eWJG/e5ing0ewFH7hWSyzHmm4uClAAvkyiDqUtcCNCNjWGIxFLxqytgUvr7r/8RaqNdcZeV4CCbh/bMhWOA/YED95Y9TiN/ziM8J0DR0eSdio8+MEDLQBE+mDLvK7/E6ap7b9Ixc9RO8BZYux2I7a/mWlDGVJymMZ07copzOKHP90kORH2qCocaAgeGNrhUwieU9lbQiR7s6pvC8I+vk9acaD+hEsvYtL1DRKrkjjM91rcBzIO613qYfu3CKjYMWGKRbfQO3l2VrpYzHshNtxcAzS2YXWbAhP5Ks//CtvTkzmcmrQrdeTTLXsMCqTSx9ILbDlXoD81crPQLQh/V0l4Wcv0bQ5AzsTlPutGJGktQoORptiUmZaTxqE6bq49xFB2iToo8FEsJnOjL3hz8Wh8TnPHAmB704/B3yl4eUrvafZSNedeGicsklHTZe+Dgx2WW+d9Nhe5qPyUje8XVqY1nauxXZ3GyjH1Yaa0NC6z6e2cE6Dhif0nH7+eblA1iX7t89XdwnQm6pB5OWVzJpFHD7kSuj9uG/d0IhWL4XKatN7fTJcGPP/PxFHPlTMp206vuDVm8qdz3C1A/ymmoiHlN0Q85ese+Mli3cmO7hNMFWqO4miIiBzie21sN3ogOhVF6qGt11OxJeJPBxdLLx4BpPC4CSXbdiuR0mbeTj+8MRpGY83NHycyrTeSvJtrmEbYJo1WWMkoLbkSRrm75WXO7j+/XOrwbRSXdTh389WijKJd7EvlddvfWmKR54BOwmyNk1GDOwGvLeUlo6ojpu7Ug73OIYZ8XGvleD/tY7IDlw3OBeVL6RNEUNG5etVEzFJAaDYMEaz9WTxa6l1MNo3flox49w62ser/DKca3MGGk=","layer_level":3},{"id":"dd587951-175e-4829-b096-36d9e6d5eaea","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"快速开始","description":"getting-started","prompt":"创建详细的快速开始指南,帮助开发者快速搭建和运行CRM系统。包含环境要求(JDK版本、数据库、Redis等)、项目克隆和构建步骤、配置文件设置、数据库初始化、服务启动流程。提供常见问题的解决方案和故障排除指南。确保新手能够在最短时间内成功运行项目,并了解基本的开发工作流程。","order":1,"progress_status":"completed","dependent_files":"pom.xml,crm-app/src/main/resources/application.yml,crm-auth/src/main/resources/application.yml,crm-file/src/main/resources/application.yml","gmt_create":"2026-08-01T10:23:12.9557465+08:00","gmt_modified":"2026-08-01T10:25:35.3348449+08:00","raw_data":"WikiEncrypted:qfgbutC7oyxR6nMxrwk1ODnNMBEQ3/sG78fQT1yXWju83LC7H/jAM8CEAvWT8huE5OClmQiIfNYNxHQ9s7RRS2mtAecmmvLPgKd6tawZUhB5KZnZSF5+8AMkH8jMNbukZfdZqdronEKkTAjb0Xui+g3820Sdih9Ijnkr2dVJTULtip4p7QaVr/sCbZvzEuNJ7fpWgmeBzNgy6EPgexjo7E/6Anh9tIPIwK5pbhrlOFOV4uu2QtML/o0V3TkPUJNRLHzPFAfj1RfX0NTGGxCmUcJBHtW26rVURVLG1SVPsaV8epeI67z7BsaXDX54AzJbWKOPFDsT6Mns4DededVnVAmcIBc+HWOSR0QgXcPmLUlkC+kAI+hzeEoHKQgD1sk/9fVotc4iC4aPAuyf71rygcOsJXEjOh2LBItJzkCD+RG0Hx7+d3T2tfy1dqjack2xxs3hXpi1nIC3GbqscmsPiuwCDMgYYTK4vgWiIBRVUG5Xd3zw5RttFvLT03rfQhOTJbJyDk/SCFhAV+5RDc8MQYcRwsF5ru818HnMrVEtcsSq/LSqgtpZJjipq5Yieg3wixQ5nUv8GBV8Po8cjva7+lil8gnUAXwBAYDESIMuF4cKQWsLdYUxnQXQICY2BBiW6hDjHjw7juMLIDGKt1eWp9+00+k2dgp+KZtGlYoYLgUx9yBAgZ2Yuj/NF7jE/+hD/w46zRRbrDUKNM/icU3ApRGfV83KvryPBQ/zjGzDqXBJTKEYWl8e7n0tMJFQ0IicN2uzLKvDxaJbyy/D/gXi+Vqa/2EDhdYnrhLDk5d0T4SlmgUJ1ytwslFy+oVr0W3bLTaOg7afgKDyRB+qPoAqm/HbAt8Q4PfprzZweoUUlXzvd9ABAA/HvMn5TCddpv5G1N9AblJZx9+gcZDb3NUCIBboAgQfUeJqs1pFLo4tsPsNOE4iIT+b46/7qhZKFswPL22LJbIBk/GrwZ8osCDsw5Bk4TrtgW351ILsPi3nVRwKRUT/uB+Qvoyngn0gL+G+m13QORAtHV3WFkFYQIWOyrPugZGHjxYHq3MQcWIQVS/avVHwUsb3TIO8MqHh2uJQ"},{"id":"8f718fa2-87c5-48d6-81a2-f1e34445f5a8","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"技术栈","description":"technology-stack","prompt":"为CRM后端项目创建全面的技术栈文档。详细介绍项目使用的核心技术选型,包括Spring Boot、MyBatis Plus、Redis、MySQL、MinIO等关键技术和版本信息。说明各技术组件的作用和集成方式,如Spring Security用于认证授权、Knife4j用于API文档、Jackson用于JSON处理等。解释第三方服务集成,如钉钉认证、文件预览服务等。包含开发工具链、构建工具和测试框架的选择理由。提供技术栈的版本兼容性矩阵和升级指南。为开发者提供技术选型的背景和最佳实践建议。","parent_id":"a894a655-5840-44a9-a639-04a0c1885521","order":1,"progress_status":"completed","dependent_files":"pom.xml,crm-base/pom.xml,crm-auth/pom.xml,crm-file/pom.xml,crm-app/pom.xml","gmt_create":"2026-08-01T10:23:24.3477244+08:00","gmt_modified":"2026-08-01T10:33:18.2060852+08:00","raw_data":"WikiEncrypted:w0CkdCdnXCcvlN5xOpiEhEX3U68GI0Ngj6azFMJo9xRSxuOblJXg8Gncvj5vankATp2aJeXH/Zz4LVKH2Ep+cKjWgx16S0ipU3KkK2EtlvXy6LXaj2N/9K9DSP9zPH2uIIbIn+lx2VTPF7lCwvm6SoN8yoQwdBxCAKy4KBTfTCFSr+WyCBgZaGrLcSYHT6qbUyvzo35eeMyCwUi62d03xAuV93u+ejXWhMOgLFu4+XZ1+zNRYVz9mbEBcaqKpKlUgSeq4UuwpduCdv0XVcxFl0o//BwrvFUdu2jCK+qwgdmbQOygPuKh681hedcQ8j3GBhH8+SPLCRU/NrPhUspAXUiq7zuwZQ/7dE/gwVNhekMz6NM656bqZb/4EACP0yOES1O//2TWNd0TzMOkj7XRYUUHLMRDVs51n4j8aDIr6pzBhQJlrODWBWQ0MmRpFsbO6kpAapRk1ori60jsu5zbdJSOq/Wzc8yn+jcqTjm6PyvTI/nBQKWNJbwgBI2lBn/39pNFJKndXt9t1FYTL5Z87WN4TP4WJ2MqYJ7xDlJyHYp6lQg6uv4ldq+mwfjEWCjDvMN8ic9MsQ27W9751py+fbHkty9aJNpZ9m+iSzjoKc98YXvGkfGtKXS3NuhfwyGjuxWBQZm9zylI+/6jtu9xsnAiI3kb+6+LZSMaBWf9M6yZSCQ8Sl2lXfRxuMjS+9HdnXIpxK5LbL9AzE27fTurSC7/yzPDrFhvHpb3KSZTkkO/cb8oaKpPCKTBEUTmKBdHu26wzEsLuaTkOrvwIEvag5nbC3L3jnpHP4Z4oaWVf1/BWPw8gpMgbIFdEcegV+mHnmEjFxjywgJWZdi53GStBB8nuy/jN2idGHuSv085JntemmMusA9UYV70DbOX1mzoV8vecinqS4oetx/7cl3wilT4MY0t1crFZklV1Cr7IXLmHQjNEg4Pzh92UQMWupNxCVydWdPFMgv/nUZU4dm6EOxFzUnSH3nUU6zMk5JWl2pvK1KQbBOEKG3RJapcj6DriPaNbaiQqfp5zHym4eQ5BfF3qCXo+SPsSIG51SRB0tGsgCv/O5KGyGn3AtR1gKmP/yQRJWAYQUbQoBkbVivSfaraKjUm4DM+WFmQbh0W2HY4b6qlH0f+7fLA5NrNLSwf+KDSu9gBVw63uYCELp9x2bw6+jnRc7rQSc5gLzvmiwtmlWdOVgmLRXn3Nwa4Ra8AMTkFkc11yZbid0cH0VAYaw==","layer_level":1},{"id":"dfba2481-1f15-4203-89c4-a87c16ee2d90","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"安全架构设计","description":"security-architecture","prompt":"创建CRM系统的安全架构设计文档。详细描述基于JWT的认证授权机制、RBAC权限模型、数据权限控制实现。解释SecurityConfig配置类的作用、JwtAuthenticationFilter过滤器链、TokenService令牌管理服务的设计。说明DataScope数据权限注解的实现原理、权限拦截器的工作流程。包含认证流程图、权限判断逻辑图。涵盖第三方登录集成(钉钉)、密码加密策略、会话管理等安全特性。为安全开发者和系统集成人员提供详细的技术参考。","parent_id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","order":1,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java,crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java","gmt_create":"2026-08-01T10:23:24.8214908+08:00","gmt_modified":"2026-08-01T10:34:01.6727633+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9Mk1JVoObLAcbfPlMN+VTvVmnuPEPQzgOEH2CHPPM25lQAQTDPOwDdnNeykeBonmEm0tTOQl5Z9cL4cKzNR+/AKzhcATTGXf/Nw6wHp5y7hqir8GpN7rXNuwlqhyHA3R7LnEiVvBkB+MYZPL/YwGHFnqA3iSlSuybpH/e677Y8ZHdW1Ld6Q83N6cdc/cxZf9IMJbbuD2J19btRW/3Bh1Omf4AsRmbOVSkN8GIvn9bYmIHZ/7rSyNfIk37P/0bkj4JhDxpHEnOgrCTYIFrZODOmijQ6daAZzYmPo38+FbrVDsit8xZINhpnxhzXhh99hZB9WwFKqxWi5dr44difJ3vaEUcg1WrkwGSb911OdFhV2JyDF7SUMgBSDHVkCYdgt6LTcU/8svWW0lOyISRaUVMm5dy5uEe+ERmGXcIWvzwmYnUT5hfa0ts/MhnC9copSeTIlp+8ywPYl+2dBNRkmP9KEfs6gyTEDJ3SWinljmBNwVZQcu6V3Prdb9LNlpNmMTKdG/vGHmxE7rlAu53cFgpItiXodFd/i+C5vdaw4NXA26Daeoiv0zYUqjxGwYAA8diat897PaIZ5xy239IaZ8P84UDtjocvj2edbcRP24s1IR/G9+lgkRKp75rwZaR8Cv4BqCiyy1XtOQ+1Y4Zsp918q7o9szq5InCWsUwdRG+K4axNcFiGO6x/tu3y5T5yC78GNt1BGmxM67tpt8LWIO449onENhznKvk1q+nJ+vkdx9t8684Nud4CUPju+V6IX9LgPsl54m0mLSrsPsHE2z043RaBX5T2UR/i0d96u45wK2BrimyKPPu2ckMKVj0SzrtxxF87Oo0wWcscrOoXU0G0+cDYW31BwGTEqAn04jGuQiXuF8/LQg5bCtN9GrjKE1TEEgQakXctS0Mw9w7M0KAm8sxlL7jlFM2Tzpl6MgNR+UV4Ttg6RZH1a0xVTZDIJaygYsSjBBK/PoCjYOwch5ZYz1/W7+C5MPUbFXiSCRIZ7CeAdNL0MPdX0q0SPAmq3eg5DGCvCO4H5q9IduwrAV+g21TTNOo9VGboxzU3DgMmT+6WeJBzroHExcF1y+UF6jX1EZRU5MiSyHKiwIQx1R4tMCvAtMLFhL6R8fQJ8A2PqGW7yPdBgbi63I/FhaGHSMztXyQJDWacCgF46hzTgYjbs/qlhbhCMDUDPi/9a8CXaZ71vlm+xwewgkuzy1bSYosCxkkuKL5khfjbyTQ878STaczvNY1wjNz8nxv38Mn3cWcz1xr6rPONJawyZnDA2o+GJtwU6H3SEMp27Y7sSUcB6BWmqmeNs80Ku6+65UwNJPmBn0tKCCATFbWH0PNRwdI5yCs9Rql8eO9F++5WzaeYJgLaUP8sW6MGw9/WL3b0b6sf1Zl7z4/s7C24J+0+xeIZpDEU3xT+rRkH/d98cVQlv/B8TRzNsycvwiknoYh+8nFpf/HaFZdVyqi3Wbyx63ez4CE3jSGbhcKV+CAj69lZvRpk63dDfciKKRrQdbpOVlOn","layer_level":1},{"id":"ff5cfc51-76e6-4697-9f94-ea25f3355e72","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"用户管理","description":"user-management","prompt":"为用户管理模块创建详细的技术文档。全面介绍用户实体模型设计、用户CRUD操作、用户状态管理、密码加密存储等功能。详细说明用户与角色、部门的多对多关系映射。包含用户数据导入导出、批量操作、查询优化等高级功能。提供完整的API接口文档和使用示例,涵盖用户生命周期管理的最佳实践。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":1,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/service/IAuthUserService.java,crm-auth/src/main/java/com/crm/auth/service/impl/AuthUserServiceImpl.java,crm-auth/src/main/java/com/crm/auth/domain/entity/AuthUser.java,crm-auth/src/main/java/com/crm/auth/mapper/AuthUserMapper.java","gmt_create":"2026-08-01T10:23:32.498734+08:00","gmt_modified":"2026-08-01T10:34:45.3066274+08:00","raw_data":"WikiEncrypted:piKNT601qxwAxFbFc+bbN9Jvv04A2h70W80VDYJEzNkP3Besmabio04H/3ACBdD5ZXABv04OfWGmsU9mI7L0Gu3QLExi3PInZ149HtXFpt1KdKXNPENOL2WYDHEc/+EKv9y11JWafgIeYlq1icnZQe8swvdalZD4N3EeVEb3LuEnwyeMEiMFaZmUvSc7QgCdY5eVgfsMm1sXsU7k3bkGf2LIFtiUiidNiSiyS+fsa5lXDrUUU+hFI4hKLKwyPzIZbel//5cGk5Z+nxb9DCDldHXs7BMMkWaiAkFWk9alJRf0LEnT9xyIaqi8dGIZRbDEpDz4lo3BkoZKnTsS2NbIMjj81j/+cOYTBOJd8KUeb3L16o3XD+fHboMyZzJNYh4tHbR/D+RIdpk8z1UNGHy4Ywe48rx9U+70SBfLTO0vk0zjvzNhwjlVuVZqcfSSJfSxhdQxXZiKL9J74sy1Br19hGccFEXtz8S8wAsbZX5bJ6975UMEUSM//BeavfGtOXZX66IsuT8EblloAXZa4nTh17mU3awo+OCervt90RQijMz4qgwQeNdXKm2GFpsKw5/4p5OK5BRnmPWmUMtQUl66vNBjvi3Jsvzn+dV/D42r4eBbButOm7YC6joRb4daMGDtb9TbDfcveYNnhorEEPJTmoorKuSg03As1Upw33QtmrQIojns9fbMa5EG9ginynwBwIzV+jx2tFHdc6gsDoisZrva22ORiY2pogW961NIFruCLkyJ4I38wMl/qqkAgzXyKi7wKTPLCuhcTnGhg6csv5i66YgxeCjVl2MXnmTSWJxxcGQZw64SFmmPX00qLiGCXgfp99ZJjxdIbtgIMQiRrR0712mUe48g316SIIouyBc+nsdiw//lLsu4T82o2z/EZ5158fzVEBu/E5xbj5SNoyTKFyugI30uv00NM8oRX2KYKe2eXDuMigdq2Na4LAIi5bYanHqPYtE+qFlTc6RXsWoNX6MfJlBKPn9BQQrICHwxJJie3/Txof6fdn4d3asoweuOnX9yOpNbOLCJDIZyVwZsa3AaKP2KZIcNpvvRritbiSZtU5kEFOgfdmOQd4EVaalV6BSXHTb5JE78N+whdI2OZ7tbuLQP+6UVzNlZTs2fxCl8jbRszWklnzDMbmye46JwWVqBa6bG6x4nLDw5SqQgeCGL+t9+PBPNtcdOowv7/kqR7zT3SBZ7UQgmIuAouCQqiogkQ3WBcU8+UwDpF2bqO9l1mumYBMYGMppEc08=","layer_level":1},{"id":"94bc6715-e744-4fd6-a155-9ea006d50fd6","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件预览","description":"file-preview","prompt":"为文件预览功能创建详细的技术文档。全面介绍KKFileView集成方案、支持的文档格式、预览参数配置等核心功能。详细说明PDF、Word、Excel、PPT等常见格式的预览实现原理。包含预览URL生成、参数传递、缓存策略等技术细节。提供预览服务的配置指南、性能优化建议和故障排查方法。解释不同文件格式的转换流程和渲染机制。包含客户端调用示例和常见问题解决方案。","parent_id":"61603fbe-2a48-4f60-89e4-cdf37e119d32","order":1,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/service/KkFileViewClient.java,crm-file/src/main/java/com/crm/file/domain/dto/FileInfoDTO.java,crm-file/src/main/java/com/crm/file/config/FileProperties.java","gmt_create":"2026-08-01T10:23:36.1283961+08:00","gmt_modified":"2026-08-01T10:34:15.7938667+08:00","raw_data":"WikiEncrypted:dxMhctgo/8krDJJIGvp5je7pnWhEGjPpcmzQzTYORNrHS89p2z0ROReU8lnJkh4uXBOz6IZfJJ4ZaPZsYZngPVK1yXZZDvBeVxrSz99iZIwZrjsWDcO/zHRCBXofWF5ppeJ9kiFjD0xAw+58zXgbLfLTjqPSl+cNXnPTFCh3zJIKeR+MVLajfbfP0TsN9kCNycb0ad2IgHxBJsyIrJpR8BkfgTdO7g+BFLSItYUR7/ra7DlU9oOvaJYbHbO6XdY9qHeK/JAsg5tUmTOJL6NalK8bdAIKSu2ASMHVH7iq7OSCupvPcUV5Lv6Qid58UIkulru+QTRUoTBbdOoOA1+7hVywnXS4ETxAeE7ZpOWwbZGc1o18U8QYSN4QkGCRkM+i9WCEWccvNKkL32bgEL3nO4jJurqmGDsck1ME6c2OxzoLCNOlG1hdu3S7UXZ/1I4g3tJFhob05DWMoGwFUwTt4LRndIqWwrq1VX6NrQD7VDlpAEamjfjx2+D50YJp1wTotyjGAue85eZwUI/O7uFTX90R8BWv1QcwMyQSmbtfDk1FGuIwVs4RH/7i8E7Go93z2awjMGeOASQPzd9Q1DN/knciKoZ3fT9zvh6TuZwmnZbnlO3/7iePFcvhQtKiuFfVgSz7oD91rmgbrRz3lg6ZIbQK1w7fHfM8fLNoK3Er7xJTJParYYOmcU9VeyZWK/Hgi3dBmVShiPuQbAFaW8LEiSoSLOetpUpmiDK6gqhaPuhV5Hzm0kCqwpVRm8m+T2Td2lBBxkwVogRQEVei/EYenbLJ+ScpFiqicf+RAZPgDAl5nnoZinmmzhbstkbCo5pBZiEqLOvuNLy0NmZYmaqCyYgCzYmVsNJ143UzFkzQRkFieGecHE7chtcN98Phnc74NbopkEgy/8T249h3HrBWYE86uaoybR1n0EE3Vm8PX/mf/OzpVGvNY3vy+0PLn3ViCkkt+X0qAn1fgNKdMtYtrdihPqXMJ7u4HOJ9VMa8I0pnw8Oy+2RAVQw4ceO8H6gSYjdKT7eT/1K301dVXX1D9ZL+d6Up2vpj28quYe1Ry/nFzYNZ01evQgq12s2wWMBd2WgDbVERZUvmyzvpAY9nTbIbg+PfTGEa8TpNl/JNV0Tiq3H59C1NPvwrBnb2OsS8MX7Y1xhgyCKaBh2ITYAqGvbKZ/3aNTKhCE4fRr7cmCqDGXJw/NqhE4hVpUMuXhW6","layer_level":1},{"id":"79598583-a6e6-4db9-82e8-5998a4d58726","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"系统管理API","description":"system-api","prompt":"创建系统管理模块的API文档。详细记录部门管理、角色管理、菜单管理、用户管理等接口的HTTP方法、URL路径、请求参数、响应格式和权限要求。包含RBAC权限模型的使用方式、数据范围控制、级联操作处理。提供完整的CRUD操作示例、批量操作接口、树形结构数据处理。说明权限校验机制、数据隔离策略、操作日志记录。包含复杂查询条件、分页排序、导出功能的实现示例。","parent_id":"972dc29b-39fa-4e22-b4a9-d06594d5fb55","order":1,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/controller/SystemController.java","gmt_create":"2026-08-01T10:23:40.920647+08:00","gmt_modified":"2026-08-01T10:35:11.3067686+08:00","raw_data":"WikiEncrypted:gWB8HBj+8+/15rQhXgtMjEKq2kOmky4szsRWbrRCDYWdhl/hPhdkhdxXx82vgK0Yq4YovLidZUwMzKENzTC1iWLHZP7CVhc6MA/Pglf2CXvMqEKG2yvSGc3y/Z/VXVn1FpYBolGlyUFwRtfohsXNYoxrpja/fQuNWUmT12jSfYFB55Tm7n6TDp4zFH7k94Wwwh85nBGP9Sp1qHHpyICcOzV1t68+sjY3ZmSOCgOAmvRKKlgIWsMUioaMHMAtmqOTlkPlUqpeZyjjXnksLfBSeS43nyEUOUthyGbP8JXY5TUJmTjNsCVMVZrqEcuw3mR/3l1hS6DzMgAyJfNk2LCsGHm3Pu8qB7w+j2B9FzSF85Dv6T/FGFAmhQbsx3dt+tUD8YajzQXFUKj9Ce4Wjn+hHfnsUYqPgw21xr02QjmTAkfIRmvH7Z8C19ncMrrgq7rlDbPZK8b2PlTNP3py2NCirSjB/L8TDMlawckMow7JiQ9Y5XdSuCwBiR2ajf4EiHwul0VGD1WMoeO5u40vkVW1F+BL/hEIh5ouDXR0yYK/d7b7xRaMHfAoel9uDPt3mUO/om3iyQe/ZKKMUapY5Pk1KSl4+jQ7+SzQVZ1O5w+sVTvhMOGL+tQmILsnZ/yPu6IHQd9SWtE3qw5HfdxhypeSOCGLhBycFGuSuZ+RxE/2ItXNNBZAeOaySFzmRGjjO3jcGaaMK1FrWCPMiPSrmEXltZ4IzM0C/VvF3U9qA5DSSX4DjHw48i5hYLEA58yrc+c3Q1bSE33m1Bob5EXtKOSfUC/yPL4X3CktnKTC3E9YGlCOUCZGJjEb+ogzAxZyWxv/YqKi616rHCzDtSAmzCEHdqKYlA9p3NTn4orLMaq+zLYa7G1NBj4zWGhY7SKUtDx2AnqDxwE1yiZ7NigkBeJlqMNNa9P6iNRgcv+XvsQjUhJmpS3tbxgqbwO1RK1ZBcu6zdwFUpZION0Xs0INjXT0gMhE0zfcZjrRx1labVSXZcf6v65gQ020BJ7p+U5rQNAQ2S9cOwrCC6Frq42bJ11nw8CMQP5WSaLvp3YO1V9p/301GM5cifMoNqMmozvLCzlDwAwF+oJ51H2Kn+R5PL3IthEzNyuhLD3Z1IgwJ507TMqSH1LiBBA4zAJEa6Zpwb6g","layer_level":1},{"id":"1b891e44-a9af-491e-8b61-13fa14c4028a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"基础服务层","description":"base-service","prompt":"为基础服务层创建全面文档。详细说明IBaseService接口提供的通用CRUD操作、分页查询、批量操作等功能。介绍BaseServiceImpl的实现细节,包括事务管理、数据验证、异常处理等。解释CrmBaseMapper对MyBatis Plus的扩展,包括自定义SQL注入器、动态条件构建等高级特性。提供服务层扩展和自定义的业务逻辑实现指导。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/service/impl/BaseServiceImpl.java,crm-base/src/main/java/com/crm/base/mapper/CrmBaseMapper.java","gmt_create":"2026-08-01T10:23:41.0524093+08:00","gmt_modified":"2026-08-01T10:35:16.818841+08:00","raw_data":"WikiEncrypted:5LF7XW9XcPQyjyrZizRHIAg5yfQq8gr+Igxc7dr/JkZ+iHvLFy+fvt2l+6zK1Mk6pgy1AtNNvhs9N4YswM9d3MJDFFyRtBYQexOmkYd7Rq0XQ/v6r/SAt5WYx6m4CNHsi5QrMjD+YXb5hxAPQyeKifRcaagvF3AwKgVQT0VP4HSV03xcSvfOXgSPV0E2y1DY0QD+Epxc4PdxM5qBQwBjGKHjoPJwIR5IVBP2nXOw/G8v8HKUvbUExnNNEXz9YcXyh/+aRP6ibonmsJM9yfSZ3VH6lyAH5YiVdBvkE9Fg5YXdLhz5ZQSKgd4txpjtoUAn3fNjM8QfKhrIoh+Ihdkvz9E0gfvWuFdmv7vvvls3yHuJmsGRCNTs16m1hqMOXon0pWQCWYiT8yTcCjcHgyvt+EiCxY13OD2I0QHMIGqkSbE/cEkbzQMe4SM3KI8EblypMjkK0oVeFMnLZYqZNLsV9cJsgE0Phfr8NT0FxT2dxSN7qxODAZjWpHPTYsQG3gTKDUpP9Y7um5NOkq+4TkIrPIE6e+Di77cDKGWK4FzBn99eZd3hQ9LRGjam9/tARwUBWEv3OcjvqQ/HHn+pLttRgIfSlAHt2cz4YPT7Xm4hNVnR6HY6aRJ2rHG31PKxQT98b0N9eai9jWl64IvFsKbBK6ExpniceBEHrSnAqbJMIwgsGQqDQZOediPxpzWrJ4OmBPCpSk10rI4w4xBuWQbYQC+sT05i1VQed4wW9G1Oe0mu0A69N7egEkArqpKvtKaYbTRP9R6247Rm3RmTUCSOnAWT7+MzwjZmYDAO4ZeZ6sZAZb1eYpZrC1zU+9Qw5Pa1Rhplw18XLHP+gIgH8fy390oTnTao/bbFh/fah9/8Xj9EFGoeOCJR07yn4EpvXVuNuwkFNM4V8r1ueh1Wv3YksOPaAKxbLegz9OBw/Jlpz5HQWoWLaNBixawwu6wwFVCnlgGqcF7+PJHUIZJSt753NtNg7UXS8tMY4PkrUdE2eDaN09KOPiQzJCK/oJY1HA3BhPkMhoe8jOSKfnXjwgNmhbY2lQcy5OUbWtq7LfVCBP5oQY+ZljwwcdnqMh5BFvdy5dlXVrHgzdlWFui6lZIZDTA47Wh2kNy4vOuTLofIL3BaSTnDhvOb/4sxJAI8cF7Z","layer_level":1},{"id":"e4828085-0300-4408-98a9-ae4794d0b96e","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"权限体系模型","description":"permission-models","prompt":"创建权限体系数据模型的全面文档。详细描述角色、菜单、部门及其关联关系的数据结构设计。说明RBAC权限模型实现、菜单树结构、部门层级关系。包含用户-角色、角色-菜单、用户-部门的关联表设计。提供权限继承机制、数据范围控制、菜单权限过滤的数据库支持。包含实体关系图、外键约束、索引优化策略。为权限系统开发提供完整的数据模型参考。","parent_id":"2e7654dc-4da7-4b34-910d-87bd6334f756","order":1,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/domain/entity/SysRole.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysMenu.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysDept.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysUserRole.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysRoleMenu.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysUserDept.java","gmt_create":"2026-08-01T10:23:46.6733101+08:00","gmt_modified":"2026-08-01T10:36:03.0146665+08:00","raw_data":"WikiEncrypted:arCjhUL6OOP3tq0tMlrtoET0MkpnpLCYrhUowNxgsxTcRY2bN2fxRV4wLRIZYRVr3pi7f8L8Omoh0HgWw2jB/pthz6wvbifEuEoYIsudSB0hM2SYk0fyeYUsj4HcFuL5yWD4ZUbRrVVwBSMakUT1hktC0m7Tihfd3J3vge+lkDM2To2O3JY7EzeGUKNKxxn0ia1dLdf3ywFeycd3GXTG+dxoxovwIv382EyxEqEKKODPA1Tx3NOaK0m4WXzW0LoFYa6FoEw+SpsjU/fR14+jKoqVCyWcM4xcO/0tJTXhkAA5oN2YxtyTHMfCaUtDQuVPD4esnvF84HoJD2g0GumhmKWfKiV+feWUbbCM6IvDvYN2Y+AaSzKE8FckzEBmbWvSbh4YKuKyaEFm2dOFlAUSV/+5w/2JjgoSoeBvpgVOJH6Euinpnfqe5STeR4enG0WvxkS8JSblXmTZw8UDwKqJ9zTkKRmmxNSfyYFcSQFiwLpxAR4AbYjNs8cfpM37QgKzAFgvytoyYfcVOMJjUvEkGQZFLTYwfeS3JDVToIDdMXJhc90k8BmgaZEH2e7TP9GDJgJTQV731bqWkoPPqEvphB599W11tqnRjj77CPQm7w2/JX0eTD6lF4TXBivtsF7monnQyBCseioCruxY3nDIhXz1o1WyDv1hRzXCFE6KlJXn+SN8Qh6TVES+1FKrH1dIhK+CDlyXNKDoFHh2SJuwW3y4mNOsJ3b4DUs8+Ulqgp2dSWAOADqooMWf+NSOhjbUpWHeZAvY1SuyKMGxcNe7q/aLYDb16Fg1G65lQ0LQMFCMHmowfLuF57Mh8C56dELgIUA46XQLcdFfYHZ/9X5sK0o+ioEBG+MKhGjN4RZ6a8Do4WIMUl8TCb5llEPBwEBIIqgikY7VyCOp4QW3xFLgDAU2QTMmXT4Ua66zvytJ8Y8eMcyeh72ZEuaOUP/gbWLwHk/EXpMXbHahFusKxAHNCMkidjGCl2HPcPqzZ9ZQnGISB7EEfA0swVNfOu6a1ES65dVRUjSxdAVmjS0uk6GlBC5f2pj6R0arfZFEqphPyf9kF/K8W51YX/7VWmeT0SsNSHDswWKvAY0m0+ekatcf1ScjT92b9Gi1zTfw/a+avaNLUydnAIDyZ+J50anxW47kuajBHSMCBrzCSE8lCNAtHDUVMJ7GyCsHn0kJeevijVqYtP8hL6pxVGPxNhWW9MwpvKYfH8/cZu384XsWhDyl/76ZsFgYCsBr5EcrUTLI3AE/la99zM8BxplywfusBcqFeukPGgj+pVuQG5kHu8lemjBmxkWxKeSiaDsbC4DBOUeE9KkGIVRnu861d+weEdB9r23sqLHLE1lbZsONYNvsVMFAjTcUbcaCk1iU/jjEywQQT5lAc+Jibc2Yh6asTGNY83Q0XpqNZmxwxOSVfbB7Rx/flkb/XOixKIta11v9O+g1izeeViIAgsqzkN5zbZAcsHXegIyqZZAK5BocWEL94uhaDLbCcA3wYUa4UtbLLoYDuh/CX0VGUa6bngMHrgzNuNfYlPPd/QBWt22CIfzhfeXBUn2fEqrbkXTS5nIUrkk=","layer_level":1},{"id":"6d4c21ec-6b43-4c80-91e4-1e0b0bbb32db","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"框架使用","description":"framework-usage","prompt":"创建全面的框架使用指南。详细说明如何基于基础框架快速开发业务模块。介绍CRUD操作的实现方式,包括实体类创建、Mapper接口定义、Service层开发、Controller接口编写。说明MyBatis Plus的集成使用,包括分页查询、条件构造器、批量操作等高级功能。介绍事务管理、数据验证、参数绑定等常用功能。提供完整的开发示例和最佳实践,帮助开发者快速上手项目开发。","parent_id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/service/impl/BaseServiceImpl.java,crm-base/src/main/java/com/crm/base/mapper/CrmBaseMapper.java,crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java","gmt_create":"2026-08-01T10:23:52.3701689+08:00","gmt_modified":"2026-08-01T10:36:12.5141176+08:00","raw_data":"WikiEncrypted:09EvoZqOsAftfa6x0cY6Td6Nt3LX3AYa8SjCt3eFts1+TGD+h6Gz3gyZMlUyq5Bq8REoKfPUo/y/7DCab+Oh4kHKINseYJTbSpjiZGJw0FYftv+7dy/lLN+ibX3GCF6EBYEGw3p5BIOqv0VnLbR8P/HnnVT2wnJroOYRdgdBeAEezoM48A7/O/YWSW0HBeat+DHgTPtqut8U/PoAn9EYtM6xNXalUJGUbqxVOPi2I80ZiD/lSYgd7kpNxdHDfyrbcnrFIhGqN/pl5isB4izKPgSKiizWIqUbbePF8olBnz37DPFJPyWViM67gq2OFtAcA55fcJnwTWbDDtOBP1D2GTNkOTjjOTXfDrP3+WWdOOFHsAyxQocB7mzK3XGtc7OLgitmVf6pgitwLfpb3O/2HgORdmgaKVhXuuCoQr9XOAsgI4bCmzKRO1OfLUQxHVJVHyvI6Egn1cUjIcWYFKKPw738iOAV/iootqZ8rVuuDf/5qmWfIia7hka7O/uJH3bKY+6Oa+jOi7j7ga/Y2HzpxPUDM74O8mjDcF1L2ZKTXFCOtbHg+E5AcOD8OvFEi3ph5hYKHeMsjBedNhYh8f0L06d3RHcwaRlz97C86AN3bUcCgsW3wuwdlzMtbQhmdQhE3StBuWvvlOeYP0DaA8WmiqcDHj80SHSx5xD+k50UIeehmODgMFaNILykSZi/CzamcAqHx3cXx0vbiJVzlwE5T4AKTHc8MszJT94QBmg1oiYzknDBK4gNUnAH9bMfbLtL7IZEUiJgjaLe/tmUl1EuuWPkPy5bxnR7+hd9VBaTWB7J053SH0L/T67wNpYTUVvMovoa6cedJ59xwXv4WBCE3j+XOfsTMr2jZ8lutroDNcJ8CgSPFRlQdwpbeK3TD5nwGTqu5drkB7pfurGD40F7dF27gNX1BnC14z/i9ZMS717jnrWsNb6YIbbcRYPr/Yx1XWm2EHFQzVvANW2hbX5VJ6mEIwBjUkPTxTHt+K7TAHonDHT72ynEQUcdYZGqBY42dX2sl/JjaAHGIBodSzKcLjBsv42AmfBAE1VCGaQ429CJuZUYMu/nHil0E411zcxs+9TqijvcsmwW0cwZktoS7jGccqXPiCVoxSp4kp6QXAUAQihWICua7KaXTMuuyJYB3k6gGW94W2LYRi0ZJ3XKpFoQRp2rKwcI9lvJaSe+SYnI8cZx/9VaXcSGPmK+LVOjgTe1F3to1pOVL5Lj9oSurjXiuh6PjxfxqwhoVtGK0+4ByOsFyt/x2ysJGhnPiF6sL7TOJPVIQUHGWQss3vW5GPR0qzcEoE4Ho4UghSV257sCM/OAcuiz5+38jS3JOiW4IHAP8OLYl/XVb4ZrPW/0MDYPkd69tdqkQvIhwLWJrEq8PWvmY4V4kOqTNgvU4wS4","layer_level":1},{"id":"7b5d5ce0-fffa-4545-9494-5964f52edf84","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据库配置","description":"database-configuration","prompt":"创建数据库配置详细文档。详细介绍MyBatis Plus配置、数据源连接池配置、SQL注入器配置、元对象处理器配置等。包含数据库连接参数调优、事务管理配置、分页插件配置、自动填充字段配置。提供不同数据库类型的连接配置示例、连接池性能调优参数、SQL监控配置。包含数据库迁移策略和版本管理方案。","parent_id":"1b327205-aef1-4e95-ba67-51808ac20eea","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/config/CrmSqlInjector.java,crm-base/src/main/java/com/crm/base/config/MetaObjectFillHandler.java","gmt_create":"2026-08-01T10:23:56.6321232+08:00","gmt_modified":"2026-08-01T10:36:11.9706157+08:00","raw_data":"WikiEncrypted:veTYwq2y4io5qXerCTrkkFIbPLS24lpjasA+uCz79jMeOQpuJhuP44OLRhCn4MTH7aBT11DiXe6Thcw/3YSVSgf40f904eeFYQ9uvFUD8Z3j1UT+NAzNp3CvGaQGiA1HCpDsGwO0VE+lTDSplK2ERMIc0i/lAsq1/YP9fUHnoH1DUa1gq0NkYLB2rVwjQN9DLOm8XC+mjowAf0iLzG9ack2BctGQTMFLFcmX1NXhc0gR6coLDHNtgbpNlO92In3Mk7urgzmJ3nhDsXwiFtB1dW0J1p8wJNrY2tuJPn3JqnfY/nfbJ9F4mgG7HVAZKG1Rin1UflKTOf6K9PrEfyNviMjxGqgXXgkLEyhnA7TiAXe2gGm4ok2nPJbaZ0SQlUU/SWFSSAgQ1Tp18zeUic7NhGxNsHycD1NURf2pIqZhX9it8I0dL3Vx8+pFOXfVXifmey1a39iKwrfYUbj97ZXdrPC4C423ntORA+enwH6MoVbzq4eSFEOJcWDlyblI0ClX9dAMnPwLiy0h6W+vizeVeg0HioPRyyVjGoFmKrxLSN3JUVaCoSm9OVjzvpwMat11B5N6yixXzZoZZ0oS0w3xraKZE44lA49SrG89Iv7K1tI6Gqlp8F0Kzlf+aXRUuk8Dqm4FJkIFV/+f5Nw4hI61IQ0O6CrL6LJuLl5SYBqXDcycNImHLv1nkvBd9c9BwgW9ziAY4bge16YIWgm+UWeBvFyPf8BgrYsBLlC7N29iVJvW+2gJikxuU1SIqGuGnOsW0JdiwJwcdvwDwRwRBvG/xV8IzKm5aHYL3nG3tYDqOPGKGXsUwFDuS2c2Fq6Me6H7x5G9xPfSA58wdJFa5iUWR4XRR0HNrKS1tLV6idMgD4q1JVHERJGmUQ1rshd2/WFWH7vyS2id5EBR9i9rdS81QQg4ND5D/2YCL5h5t+I403Yyx3i/cyqMuJybIN6ndlwjtA8/oZPJpMNev0ioNDOb9w0i9xoiagtBGCh7j7rXfU3bawT9gokNZnIV+dkaRqDjU7zILJURYf5rrRpoZTChiEm+AxPSbpTjYrLgMF83NkiwXvHzCZqj+jl4tPCcYHIk+E442udBEQ7YR31DmDwthknlfVUoEd0bCt17/hwqyuHoqJQTQujJGVG21i24CogDmqSevn7AFaq62VWNW/i/zSKSeZjsczfiXCH3kvZSUtw=","layer_level":1},{"id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"基础框架模块(crm-base)","description":"base-module","prompt":"为基础框架模块创建全面文档。详细介绍通用实体类、分页处理、异常处理、数据访问层封装、工具类等基础设施组件。说明BaseEntity设计模式、CRUD操作封装、全局异常处理机制、MyBatis Plus配置。包含数据权限控制、缓存配置、Redis集成、雪花ID生成器等核心功能。提供扩展开发指南和最佳实践。","parent_id":"ce73559d-e232-4666-a740-5db08637816c","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java,crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/utils/PageConverter.java","gmt_create":"2026-08-01T10:23:56.9688875+08:00","gmt_modified":"2026-08-01T10:49:11.7495166+08:00","raw_data":"WikiEncrypted:EHSVcmCAsQzmydGtOOwq3fL0iqVetW40IaNzOLOkSb2/x1tCqpll8hTV6ywz0M49dboIXJwMfsp6rQVTFZbpsKvbXtCBUTIiCbDCywBKjxfAS9xkZxU3F44ycneuQoLLn4ORpkIU0YCQrdRJVYW8QwiuPJoKexTNDp4T0pfr/OqHUEyQmDsgpt1nN1q/OdjSPUEe/MUhtfuT502TA8OlQQ8mUeNKKP9dI3CCbq/xtGfP4rPgYwLEXS/NN+IsZ0u90IheP0tg1cLCEFZRzN9mjBk8QYOEfMk1BulzQ2QGAZlf681v0DxqKSWWaRV+IoAy8uQ1UxGRd3AUqg5BfdK6lR36nAJNmqpj9JbgYi96+YGhVQCuplbD84HlL9JlzjkYOhvHg8XOaWBqr4QqiwoQdz8t9JdP6UfCuD27exUlTS54/smsu4oX/1Zpgc8pz8dc4NGHqNinmjIRzSMv6xYCKFcPLdvNbgljXKB2fu/PcofdXXgPetTQZ6N1mo4srGQkZwGXT7pTM59qbqNPpYQbDWKZZ7UKuHHSZNpFLcxHDHFxFZhiE1c+hMzN1YBIGO5RoK26+DxLxmCUn5XJ2tvmNjyaifG5XZG4U4OO2L2bnuCSDUyNHGOrJM3vXESScxe0mEsHhRR3hu4bU4ZIrvCZaDMhV0wrS9NfyNOrSHGmloKx0eKi4wnxe3eJ6x+PFUWAcAFK2ok2gKiL8VmPyqmGbebI1R1iBx4KWZbVxm4ljI/d6XCnODgiXunB/z0qDUFOWnqNDrS2Nai9eRNpNPnRQVdmXqAKdD+qNAVl4+XSO+INV6apIuWf6AQDlB9xUs+v9mnK6umk0SWVT18OXT6ATTA0b7xWJJ0gSsC7tCFT3NZ7LtfDE/XzC0R4jv6JgWNKpv8wHH7NKYcSA356nwaLkBxF91mq/06CVraYOaaw71ytdNu/k4mdVokqp1YvjzE1wKSulOFcsz2a7JG0yVjqG7K6cJv11UxNrBwE5DOV65UEK2bLtEHT9s5hhy+Mo8FpqxAoQwtWOnyuysT1AAmw0yJnD5PZOKEWiFoN4xhUoWyP8aJdx3ni5I27YpLtAxBdSHiF+Kbh1OH5vCpWO6Kb8W72acXaDijWMq7cwEV2/ZLf0bWGa/dv/usae+0UGpH9Kxc9Q2fYY5baa8nxkzNM+EYQ0D7aMuDGUSyHQECLwPNCrxo0Z/JauyX/9DPOLcWltkejghA4UfM9FaUiBnCH6kdVRJt3ThUzIqM1FoyDhdrNxv1trP6r99n9Vhm02EFSmHY7k5ttbg2NcpHnp3wRSaU8pyu8ZUmnU3+0QaWRcjFiky+TMidiCPSowNUEwfjUC0mnc3C7OAaVqTG5Vmxs4D2if2a1jkL7owHP9BVb3zISnwS2MIx2UQFuqq2VhpddRJErI1VDAw0B3hJEdIWGa+wg32LvNUC4PWbvcPR5JKE=","layer_level":2},{"id":"6827cdab-284c-4075-b2b1-5aacae806079","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"授权模型","description":"authorization-model","prompt":"创建CRM系统RBAC权限模型的详细文档。深入解释角色-菜单-用户的三层权限架构设计,包括SysRole角色实体、SysMenu菜单实体、SysUserRole用户角色关联表的数据结构设计。详细说明PermissionServiceImpl权限服务实现的逻辑,包括权限校验、菜单权限获取、按钮级权限控制。涵盖权限继承关系、数据权限范围控制、动态权限加载机制。提供权限判断流程图和实际使用示例,说明如何在Controller层进行权限注解声明。","parent_id":"dfba2481-1f15-4203-89c4-a87c16ee2d90","order":1,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/domain/entity/SysRole.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysMenu.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysUserRole.java,crm-auth/src/main/java/com/crm/auth/service/impl/PermissionServiceImpl.java","gmt_create":"2026-08-01T10:24:06.216011+08:00","gmt_modified":"2026-08-01T10:48:57.7308703+08:00","raw_data":"WikiEncrypted:Jgq9fCpm/NkqSNIWYhs+n65qPUPaq4NvEWloehv03gJrSw+5Oh2lCz6oEq947lSA4auBi7JAuodKRlg2DrF/1XSSrqkYNXPPFp9USTAvjm8JgXSppCDv9t3x4D6t6HXt505la/+0gH1Iw74jWoS2P7yYAkcYwAO3nJ4EAehJD2rMHPek+K82bazTTmuKKEDQY4UV4nofp/M/bMyjcoi4/9mJ+cFPS3PVPQFx7zX44Qu0D+Y3Vw8QAtZdG4GR+yKTxSUAWfOuyjALqXx6pUKYQja/f1vLI2SB6T2VpB0Ju3vWnnunyIIft/VErWyeeE5dcnOVSoT+oUQ7hlkUmXTXWa5rRgFpH1rqlqdKf3DwAgLSYeptBKI8t8evo6wEPSul7oy5bUBAYH7JADmUI5IhU3u34JRFAf7eZTzX4THZPnCJC2SNEeB1g/0J2BO9lTq0sN32bGerUTqmiLgWku2qNGqob5kIH9RavCmXydO4PlzvQzDdxUP6iRuyvOUE+xl6FEK9v/ItaaZaCXhzOHSIQUPSqrAUWpqA2UwSi1F7MajFAVd22+IZZuzv8vFDR+j4oKv0ZBk+Yy6cmgKZUi6omRxXfSYMBZeipzx28F2A6fSHw+SqHncDhrH2UuZIw27YiUYqc9AZKztc+gJX/PNRGtkRnxwCKcSRQFa+tb6k3Q3FNswgRJNvcjVUONAmTp2iZuBhXhc5n7mwBlPtyX1PSB6xQmX7n2zLFVzG84JQjB5BzdodAuj0J/xsTgQ1uvRLH6S54KPfOIMr4wpwQUFiasQnXXWwc5eCEzkyOzL+2XUgqoSF48hdMFGDUZIol+DTXJybw9lJZl3PurZ1Uhr6A47IyWlac0CsnLlA6BIJc2dv/ovDyr5oyledl30yseFM6Sw0auQA92dhawYmi+UUGgXLZDQwbf0dOctrFIyfyrnsNXb4TUcUB1fU66Zdjp6g+uQ7P3gbkl0j0L3pzKbzLoDMs8SPujYYMEgVPQrgT0c7KwFsOWsbaeGMIu3Qn7qR6OW/niAdc0j4/gSQgBz0bWoreavu4PgpuJuKrPsm/4uXW9GfUsq32v1ltdTMF9RZeXrkHBozz2HjbQ8fC+NJuWvNSpcrOJmDMnllYsRpC1eQyLROLojzrIxRKnh9tXTGiclsmYW7k9u1REDdwlI0bFf62WJL4cYLGvVSYUZsiJSAxblMKzQ4gDf03Gp7eYCwziX8+XVDniIvlHv9P4lg32HqZ+/Q8UYtceiBAJ+d/TzCwkuV/x7CW57tSplQtQQ0v7F92DDASMPD1MLN1Fls5OvaeWONZkytq9nayiR5LYtZaAZGb9ArlJdQ42Y74z6KdZ5NwJC/y6YSxjVzttqqeHfUu/BLOtCCcOQzblb1GE+sauxFJHLHXxevAUZBvzExLSitjQGEhzTYxUYp3Ay6VrWntOVUBoo93h4JB2Yw3cLTPvEfzOg9MJisB0HlSmbb","layer_level":2},{"id":"ea7f8a9d-19de-4c12-a9e5-0bbcb69bcb52","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据范围助手","description":"data-scope-helper","prompt":"为数据范围助手创建全面文档。详细介绍DataScopeHelper工具类的核心方法和使用场景,包括数据范围设置、获取和清理操作。说明DataVisibilityContext上下文管理机制,包括线程安全的数据可见性控制和跨方法调用时的数据范围传递。提供实际使用示例,展示如何在业务逻辑中动态调整数据访问范围。包含常见使用模式和最佳实践,以及异常处理和数据一致性保证。","parent_id":"09833ae7-ef9f-4e37-9c16-22301b4ad52e","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java,crm-base/src/main/java/com/crm/base/security/DataVisibilityContext.java","gmt_create":"2026-08-01T10:24:06.5647228+08:00","gmt_modified":"2026-08-01T10:49:36.8645967+08:00","raw_data":"WikiEncrypted:yP6vl3GzzNMVOI7+ToNUFWjLEyz6qJnoTjlCLP4h8KvB9GZSFJHEPlphDkGPkwC5zWVtinGpzjxNq/oBK9sMCODd37X1fxvaznqehhePGzvuRdKKFfJVAiV1LqwkVslddsr/kmnpFcQtmCz3ngn7GVb4GESyQjTMlWWJwf433A0ysX9HGziCDAesC1tMboUI0O0c8cJcaJ3FPP7H3f3x7pG86dqth/XBM243KfeQEZ5kCBdvLPxuGd51pVuQf48Y+0ciH8BHUsoAls3uiMuRujJ+uAh4r4oShCSjp3EBaGxV2UT9gHzgEKlhsUrgf+uWbmWUv4VfzfUK1MOlgi6lCGMEeAGR4knDb/9eYPDH6KJK/y8tBbT+j0xT1eQjvMJhvbV+EzZiMZNOjegkws0YXoYTZNzAjexZYISDsm77iz6YXpbLbSbUmX3NHHOuQ2R4OfwmsUjGbpwRvBr+7y8d0BFn8Dggglrme917f7Cb8HgGeVWh9QS387kZIU0+UBiyAeYRdXCr20E7eZSc6iIuwtUvs7X9dxpu8t+X8Ku3w7JgioOGAIh8W2r7qhPzOiAz9evrYwlSME/Y6KWYaQP2YO65Yidrh5o3SdGy1kpKZdn8C8XLf/S6ZX8E/sC2HPuZzNx5u+7565tvWSv2VI2za09xVRwboM3urc4LLzTaIKnPUWCZNaChWXH7CH7Ypq9pFgGoYiua8dp9enJHEWwfFb83u4BgDOI5gWRV17bW9Ph8lqAHFd8Ap9R5I35+xnFTW6SnEDibmjd6YtG7GyYhU6Ja4yNAfBrtFuDK9ezzFx+z7gzlmMePJrWWkQ+335BwuzMC16McPMkpbCBczMJTECLGdxYrtktsinDn6iQdUpki0wqkX/FEDvIrvUlmi10bOjBMWBI7LSHMyfc5ivg8DV+HNGgZ46L+HM/iIKuEYBqeKYfG/zTWG1KRGRT3RjSsRGxXwGJU4ldQ7e1x//51H3jW0cp1iMiLP9jILfrwIR4/tNmAm5wisupKyEmwLDlN1qqkZ2240ggZj9XmPm51/Tf4s23xMMkxErQMxpEM0zbRJ0wNHLVm9A+pWhWoSLyeFIZNhIxsU7CYuZFJCojFEqDFMXFAwUVBF95wip+3k1Qi6MkHX8jBHHzB13PsUQSQt7Azo/u5YLkY7V7XmrkgLnp7P35MJSF1uyBfUFDJpmzXaq926uoEQk3I7iLGhM84R1FbNTAP1Aj06ww1j1gbhw==","layer_level":2},{"id":"c938aa92-1653-4064-8193-296fea4ca49a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"Redis缓存配置","description":"redis-config","prompt":"为Redis缓存配置模块创建详细文档。说明Redis连接池配置、序列化策略、过期时间管理等核心设置。详细介绍JSON序列化和反序列化的配置选项,包括日期格式、空值处理等。解释缓存键生成策略、缓存穿透防护和热点数据缓存方案。提供Redis集群配置、哨兵模式配置和监控指标收集方法。","parent_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/RedisConfig.java","gmt_create":"2026-08-01T10:24:08.1666362+08:00","gmt_modified":"2026-08-01T10:49:45.8848686+08:00","raw_data":"WikiEncrypted:4LmPMCPVPVr3sdKThDfkIUzmQ9vaPEjM2HNdfYi+uYZJB3yqqYcXn/aBmml0ltEql3tt1erjXIIlT+z6Go2a5tVM/hw3KB9i+z/FjNL54I4JvrKyKl61c4DEbbJBUx+cQyoCCbe2GVSilZQrgDADTjPZp8KEjza4HMpGy/3z8nTpYKvRCzfbGMpQ1rmWE0yVAZB9XcqAcR0wwTYSd43oZ/ARZ++7yU77v3yl+gUjSQJR9ihz0WMx0EONLtazwTM0YrRrIlJAa5hZZ4zCWqunYZsIUNADANdvh/3DHsrlLHBK6G6kLJj623UH/SR71CQQvnWrGYfA4UWWjmN7G5oHNIPToxcIdjMDTs4oKtJxnND1fSTyhpzB6JYm6Gy9X1Wmu9Jvn2HJIjGIP6cHffn/55efcvL7CTEuogIKn5yYWjgnscl+QuOvxVztAwIpDJmuK2YxpidmzTDV19Lio9N8Cfq5BoQ+YklX1vt4UUlhgwOw1pXxrudl9YHln/z1c5qWdgsHgolIRJhnTMDB93b52GS2Nfo/zoT1IvMgeM9Cq6xmM7IOQ2YezhAlC9H4qMjpNWuqvJb2uh119oEUBnb6JUPhM2hAu50VSKs8CMm7GPlnNPHi8HAErz/UUl36eJ/69jgAJkeQzl7ll2R89/1cqafOGi1KhmzLPBLCsKCbM2mdLx1MEcSirAXwdewcfir6uo/vXvfgiXrgSrh52zGBnFfgHQd3xCACF6RentafVl1ODodMe2Ywnqu/LmN3I+oOtsyYOUolOz6OG9hF455kui211+0/J6WwbxWPnTSsSpQPh7zn8uBSdK3XBhiKTwxwsw+r5yfATW8zNJHKHInufTS6RxqULNYHwoKhhvwdD6p/2EFz1TB7P148wR0LoMxmTlSDljMeAf20myBOk6w2eJVsgj+W7BxxHgUrjQ+VrZX64ZqnRts/GlsNfXC9P64+","layer_level":2},{"id":"ae7870c0-eeb7-44e6-b0e9-08b1393e34c8","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"权限管理系统","description":"permission-system","prompt":"为权限管理系统创建详细文档。详细介绍基于RBAC的权限模型实现,包括角色管理、菜单权限控制、数据权限范围控制。说明SysRole、SysMenu等实体设计、PermissionServiceImpl中的权限校验逻辑、DataScopeEnum中的数据权限类型。包含权限注解使用、动态权限加载、权限缓存机制的实现细节和配置方法。","parent_id":"ac97848d-30cb-4326-a786-d6ff15c3b403","order":1,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/PermissionConfig.java,crm-auth/src/main/java/com/crm/auth/service/impl/PermissionServiceImpl.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysRole.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysMenu.java,crm-auth/src/main/java/com/crm/auth/domain/enums/DataScopeEnum.java","gmt_create":"2026-08-01T10:24:19.0167475+08:00","gmt_modified":"2026-08-01T10:55:30.5182912+08:00","raw_data":"WikiEncrypted:arCjhUL6OOP3tq0tMlrtoLN9Q+dre1WmzlSkA/GGV8LXEUPvQq1hdIH3HN5PH02bmCGf94NwX3f6fivcht3GRIfKv0alqR+l8EQqOVvFUSB+GggDqwjZ3gOytZ5YbUpX8mlWC/H72RgFj1oZ56obiKpwO4K89OdVl/x33bgEIq0mqlr5wFaiMurOhjJQADF4kVIxgdhJ/neR+uAB1NGwdjmZMQP7zqOdpHfL6aWHXcZNchQhBfnWqTSh9sxd7DUvFF3ReWpAiJpp2Q5M8IIOPx+iieE+FuLAq03mt4Xpo8AhF0fIGY0Hn/MUN1+/kuV1Z1/WaH0zk0IB2qozNCC8fOvWE9YPV6R2fYAVrVXpHIoiztPhtN3L7RexiqBEyzErc/C7Nv3FA+8iq8wwUP2JT3wMly+bRU6Qb8DkIc2SiptPUbdlXoJwD8M21yOYKfqYTk/+hmn09ohHlaAn/h+VsULmykqXjmobayunR9jQJa+f9LcK/ZfxbIwuFT4Gw5DPLHKRNEDOQDJqIhpukNa6c3jjPULJOK3zAM13BOrMxFHDDIHZIDVTKte8oAQS39X7jAP2DCr9wzHWUMBdwUBx2/0SCRYruLo3Qw2veE4/9zo6WVFEalBdNgAc6sY7NQJUpRrtmpXsd67YNBaX/ojS233RTTcXcD2x/Rjwhnc2OTU8oS1aLY1MsxEFbfOmNoP1BF+X2vquy9Ct6OmuC+kKr0K0uadZRFMCH0jMEOkKafihzX5f1kbSe1FM6j1LvUfG3k81acFDUS6be0V1b7DBqGA1X/o8ttaCJGiNn/VFg2yX7q3I3xwhc4ko2ZrNVtjJpiOXjVTcDB5UY64z2RfmhRYmvzoeyLOWhZFj1Alf9J6/Qu5AGo0qEme2N7bwi8qF4wWYVsb19ihRn2net12QZ2AgeLr6NWVKf3b6kHJ+z8BqppUnCaYiZUWH+5bKVgc/wB9h/TN8ZsVEXOXr0K6JDQTJRw9feuYMhmp2SsO2yezghp4TUJxzuDL35Guz2oEMr/a2qhK2940vvYVN9Q3l9W2wwhzWzH35o6nuR3ObK6KZgNzlL9vpMvbA6zXU5jAK3psPpIy2xxgT5tme6Jl0ZXTfDShniqtSSA8PBv9KD889ROpWdHvaJ4hR8Ej6yUv749Qzar62zI3jSL/wmqtEpVqOgMG7xMf+kSujSkk7zZ0efzJp3E79hRKRYHmCqabYzosMJLJTsie7Vk11hW3R69vlNpxbA5bzWIDKG1mePZddjMdo6ebiYPTVakfmjV6HycI2JZzKGub7RLK2nDxy4uLHUrat6jGAtmzI+1sdZ1bKeexkzGHO7IHIExGlEx+nPBcLzrllqEsWT4/W4vEPQMPQYpJqHRY4ndeBkwfJo58=","layer_level":3},{"id":"977c278e-41a8-4826-8551-1a6df59f0040","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"分布式ID生成","description":"distributed-id-generation","prompt":"创建分布式ID生成器的使用文档。详细介绍Snowflake算法的原理和实现,包括时间戳、机器ID、序列号的分配策略。说明SnowflakeIdWorker的配置方法和使用方式,包括节点ID配置、时钟回拨处理、性能调优等。提供自定义ID生成器的扩展指南,包括接口定义、实现示例、集成方法。包含分布式环境下的ID冲突避免策略和监控方案。","parent_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/SnowflakeIdWorker.java,crm-base/src/main/java/com/crm/base/config/SnowflakeProperties.java,crm-base/src/main/java/com/crm/base/config/CustomIdGenerator.java","gmt_create":"2026-08-01T10:24:20.4886248+08:00","gmt_modified":"2026-08-01T10:50:03.328537+08:00","raw_data":"WikiEncrypted:YDoRcNsKkN0DDXOHAYnH4GQk2zDwyvq/e1QirqdzGRl9CusldeDWAeRxPrD9HHfi1hUA/ggMh525AhMOfdv7X5lujehW1dZEbNObgRdgQucJfoW+pXqrQkMP3xgqFB0yHstTuSXeq8cAbV2NI+tJSGGRlKmdK6KdGYHKmGprGmxhnsW7jKOJg1YTnEzfutw5CEfI2AAMF/R1Y1mbWzT4Z4AyPDIJbzAgL7d+BvC+GHHugNV39nJPIPgWHvhmoXVgEi2tBmgzQf0g2d9bCwLkqYLV50/0+lxIqGxsDrfVC2urDwbiJQLQonX7p8Z/RlDuiFgueGvhgIvHpy0ozY+DsN7z9n0f9FcEhmAA2IRtaNKB/oAghXX84Us3XES5emxHL9+13bCob3lvtTJbOnPnk2MhrKRz5I8uEcT34j15ydc8IqEgHPcDaPRHff4pxSG5nVD4NIU3uZRZDJTsmld0a0wmxVSYshlsoZQdYYdoyurmCGnlLS0WCkztAbQpb7VFcQ1GyqX57vaPQtFqOvhQypJ6txL7EAnx/BndB9H2VPwe9a5hOlfSrYIq74snT/6LGiO103jCLlN1HieTPSCVzem6xLc8J3dYxLeooJSCYsqK6xfp7ttG7g2WesRasN7qycKDkpjeVSloo8tZHNu40ZVquGOUysQ6kaH6iBmavEWWnOyPoBoLZGb0cCUhkjxXx8Bkk7gmOnkzAxzRbLkQgKwfXm2AXylMxvFuomP1rSrKhCkAhEX3zs3Lg3qffH2btil9FJDOTMMCO9O649zoG5OrR2cYE8xnPFbO9E6E+YRDhdSYd3ZZ8Ju73qkeneupeXlHGnPw4PchWo9+/9eOFR5M/ABZOBoZhbQvL9aBZAMYNsUb9KWNc4Z9mfLATMLppjNTkZFHByGHuCaV5prLmq0nTg3/U/bjUJB2SueeLsHLGCkMJ2qB3cHkNhquRHiQssEEyFscsK+3qxFU7Mmq1cigy2IitYvCVRitNORedW8GeED8Uctje7LBXagY+rlxDLrTzrsarpyBcyJsNp7Ngtzblvck7bYtEeB/BkolTHM3Ca0bBPLf3WIhhfmlTk3lYv7cHikBjixzbCdb32pLfeKKmT/eAMHXFyVGgOpM1p+6JANSleZnq8l8SvNJ68xrTsRLiiFY2+UPfA+69cYX3SoNQqFSuS85Ub+D0ME8lVO6L7pBbulmLPOOouMRLBqRgzeubMWg0CxZ9pQZe+Ko+w==","layer_level":2},{"id":"09190ec6-9b2f-40cf-b233-d5c19998c934","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"服务层封装","description":"service-layer","prompt":"创建服务层封装的详细文档。详细介绍IBaseService接口设计、BaseServiceImpl实现类提供的通用CRUD操作、分页查询、批量操作等功能。说明服务层抽象设计模式、事务管理、性能优化策略。包含自定义服务扩展指南和实际使用示例。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":1,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/service/impl/BaseServiceImpl.java","gmt_create":"2026-08-01T10:24:24.404345+08:00","gmt_modified":"2026-08-01T10:55:14.9032561+08:00","raw_data":"WikiEncrypted:vMsgMax61wW2sTWhXd8DH5MWokJhmuibsTyKEKUwYd0jU1wt1a6cO9gghJ3SefDQsaJpomzBIOwbaVKYW0PJL9py8nKaIwDUmdhq7iNekda953luhCFyuLK0/IIfnX5jcyNbFqNZosbeD5VrSmMLbakG+DYvsZ4fx9udRhcZMQbzUQGi4zuH9tKPUWPWZHvgWJLY+aYbvV4xLqtQ3UCw8WgFcBdK/UdJWRuFa24B05W5wj7dppHFP1AiHQZ9AI91bJqaL8ceog8X+h9kI9++GaSvH2pO07r6hitlvE0dkLD0fh7vJbW2Qmy5LrmcbaayX/nGW7qp8jGg8AdLP/7bX8SJpiJ3F4OTM58R1dJ9kdILl3/K3NGnh2hLmOBug9ivW+7MTNGOYbcGFP0yWVoEQdRgiptMqvYZFaFlV75WlwGU2bCyn9cpMS7v/BfJ8IcVVVw/pX0z6krNR87RAMMD2dhFwa9xCsQYMw/D+Lzc2BKTg1kHTW0w6Wpek9rPJUHhSfydn1LOJS/XDf9gDrTyrTffDfEtrkD7MwnVyVldx3qkswU3ra2/G2ZIefaNsCCjIGJKVqZFYwNU6hs7vN7Ixd9TkXHbcAm99MTQtPQ3LLp7tcWhHtOOvX6H4h+O6DWmJTis512PzbiLb/e3SZ9fAyhTOa7QLXkRHXgmHjQtFq3RLwNtyrbpOx4qKdTOv6C0NpAhubZhF/ggiCMvvkbwMisq+LpAr2n7EyXz5LpnsvDoL4iFpXYHWsgY6WE+/mU2AJfwKNUKYVyAF39tP5qbdPEmLdEkl0we1FllZyfnt9rU3PNKmd9E/g6psxHR/E04MxjOshDGYL0FJCRKDbSwE1c++YSLImCtfboP6ZC+AIw=","layer_level":3},{"id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"架构设计","description":"architecture-design","prompt":"创建CRM系统的架构设计文档。详细描述微服务架构模式、分层设计原则、组件交互关系和数据流向。解释安全架构、数据访问层设计、缓存策略、文件存储方案等技术决策。包含系统边界定义、第三方集成模式、扩展点设计。提供架构图表和组件关系图,说明各模块间的依赖关系和通信机制。为架构师和高级开发者提供深入的设计理念和实现细节。","order":2,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/config/RedisConfig.java,crm-file/src/main/java/com/crm/file/config/MinioConfig.java","gmt_create":"2026-08-01T10:23:12.9562577+08:00","gmt_modified":"2026-08-01T10:25:40.4856639+08:00","raw_data":"WikiEncrypted:EPw1VhZSv2AMLpYzHbCG5QXmatSKh1iukhkKRz99kcVPFHJKZVqOFStJHt5slSqzsunLJoqpKyeDoj/jTKKfGf7MQbV9tGWEGcXfjpQjnAc390+bgJsFpGXCYmHKpWMo4wPxn2bkACsFi+moX8HU/yilwHNcGC64g/TzHpdGuny79JTPBBw+hqso/CMz6eZCc3cUL7FgLhWIhvQ6TVnmloEUkM0tqkRRU85kHHOccffGscHQPhX8W7Q00bGULIVKnD220KOfeOaAHu14YIm3dtnZOIm0tJUj/+1YztLU9ZtStwDjXcX+K6Vuhr0XDYkFNa9kxGeQJLIzCmSUuiMn5Fuk4KwloEf7d2NiIohP+BaG5rraop4JIuoc4X59oPWiHEW1CSXjHk7Am/Wujf12xCxP1kGwE6qitV1gnWZDmhsBkNtrMVmZFb3T+Y5xqjKGokZ47c7RabygASBVurz/Fh55nrW4KjsB8xZcU5NJceBAZOoFx/jHMNP5nIZZBHGF3ovqCTZdceLrMWgJJo2DSDNNUcL3MqYcm1lTZ24/njYTNNvTY+Fp3tUhX7tjmA7tsHnJUpmf3qdblgs4xjSIsS7cCgk1U3dhQnN8d0m7KTT0HfcepGM33Ls1Ut/oMPsyGgbQZG2eUtXxIOm+Ip+KIW3OOOXBYSwl5EzynLok/+rUbBmlGeXO/43VsD2eJ/BYlV593ZnUS8KkOCLj4UCSU55ZUsnYuFgFE7POjrIvHk1JcKnov0OjMIkMf04mV0ES+V3WnxSaZdEWPMNre6JB/agKbVTFZn+nU7HCDoFErYne5DjMAa0o85nK8NtINqJqgLo3k8zoJhE+iejpDttG/pJJJRVCpltDd+yX7i/nS9N84phl1T8qWP9Z6q+l+pRHObnQQFpu+oegsjrFsXhPtJU2yKbgtegT/LoKwjpd3kRU+gHKCSTkK1sE7QYE6B5OKtkPQ/kstbWWWQoc6CxWRiAqRssrN1XlBh/T9GRo1w32O08uzLJ7j0NAWo1+H5VoBBKiUTxVjazLksToNKaRLJuEvCZkyl9VEO7DcQ78OTclCDbrDfDbXcr84hiWJMSdj888a+CyoC9ni2QzsuJsITXP3vl++SpZCMski5h8yzFGo612J6Cuu2L4V/rd/U/XeXZpO+yCwkgaP68BlkXB1j0fLJJ3gCOXKMSFAFJk5ZGHnp9XKsCilT4FeiQ4Y7pp2/EJhkiQJ/jtJQWM+J1nPxAf5xWvkKt2KgYLr+3YJMNWPPqlCzEGBsoA5V2mevr27Jn8X5rRp2BAMpogmcky6R24N6xMcXupQ3ZMOLaJg8/tcaZHMCY7pjtMHGUgu37Rbh61yPTaqrcCURsF0PkUfwe0SCFWxtmq5WlwgR2Zt34="},{"id":"ce73559d-e232-4666-a740-5db08637816c","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"模块说明","description":"module-overview","prompt":"为CRM后端项目创建详细的模块说明文档。深入介绍各个核心模块的职责和功能:认证服务(crm-auth)负责用户认证、权限管理和第三方登录;基础框架(crm-base)提供通用功能如分页、异常处理、数据权限等;文件服务(crm-file)处理文件上传、下载和预览;应用入口(crm-app)作为统一启动入口。说明各模块的包结构、核心类和接口设计。解释模块间的依赖关系和通信方式。包含模块配置、扩展点和自定义开发指南。为开发者提供模块级别的快速上手和深度定制参考。","parent_id":"a894a655-5840-44a9-a639-04a0c1885521","order":2,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/AuthApplication.java,crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-file/src/main/java/com/crm/file/api/FileApi.java,crm-app/src/main/java/com/crm/app/CrmAppApplication.java","gmt_create":"2026-08-01T10:23:24.348234+08:00","gmt_modified":"2026-08-01T10:37:45.0975323+08:00","raw_data":"WikiEncrypted:MaEDad3+dpW6rLlXdYaTGZkyTFh6cmeGxS99eK7pO0oCMOPGMuyzcrM6rTjywBYvU0i9IzXjFB6xC6fZMUbjAuH5VCCSA6TRT64oNt85vZwqEDJoiBVRjwsZSUL4wGbOZ3zyoOnnvNr5TiqHRfKI22LXn7RnmWkLvcH4SW487tvfPWDreCieEFrz3O5chIkMTwf3sHih+qOf1nVXq0rEpgrawzHNF8pLjXZ/UcW+glya2oI3RtmxXVmNjsFJdblAdqjBK/LmTCvMAIbp5NmVmsDLxwa08/l1YKPMj5UUq7/FNOzrFcjpwwtxsUWaToDVZ9IRityhQ1Hy5qhFXxXfErNhqO0sXOnc2M0EkoWJK82PxLLduRjDyItdhz0XnSwqf4t+2k2FTznIOcTb3ga9M0cPJGac+L3j28x9CStkpngzqeRp9Pw/JCprXJuDtFSIVhcAV/uRKLp1nF5JeB4tR4o1FG5eEWRDopccyMv1gsSG7c0XCcDXBepF0NGFc1U0+uUChdKG2UWEGFEiDW5xRAtl8Dfl02pwoYVbdBOMhWFsAP3ATLQd39QY9tVfJ+172mqYtn1AcDSSw7z/jlmf7uEkm+w5nm42IW+Fk9DXU9ZdL56UsfE2kpMT5xY9uA6tAiALEjUVwRHLaiHy16vN5qQSu9Hp5NbDAG2yxMT8aHkUxOYzMLpDRxL+dvevJwnJQF7yI4zAtJlSoZJxpbzTl1THvBilQnH3fai81B8RxxhlQpUo54vS/6h9d65aFGRqoOQ+T/FKzMXle+TOkPTItQ1YPnZIfxKKxuiBBfR5RtW0ehB7INTXYOcItnJ6sQSNZeT8o4tkFWLlT0AAQ1T+yQ86nS/+VwGxA4OsmVtXVyRejDOSAoBBcZW0CK1VUzh2bibaVG+L2qb+l+Gi9YbVL7uul5yfCxAhs92bMzh24+1+CpFcD0iFKL+wm3+Y7E7s189F6di5vT7Ivd7EZ4awxT43OrdvZ6Z86DPA0Dwys167PopLM7rDFoEDkP8LNNNUNlF5hLFStXNfP6mVn5uetS2y8M68sTZyGo7uu2aNfq2UEYs37mhptcXZlJKrDcyDvRhjHiHVok2XqXJxMMt/f4BtSl4hR7o4/2Z+Pv7q6hzwirJSNuhT8Fzy1tuSFqGXM93zBPdu8z6VKYDgrC1cb6jEY3EtRurUrR/zJdsirLhRjdBVNXlXOEcMbVt/G9vmMGODo7XLGjE2MqB4ykHF+SJvEJbkJrqvSEUBffGO8hvNh2RZOIuPF0Gc6l3VN0YQPg6R9evFn2x6dVD3lVWC2icI594lscq0xmX7FSJvOJDGBtp8+XrUh7hzqJ0vuUMeb5g7nxQcGyT08TUxdZMyTnSmSWRNRJEfsraH5Aj6rupMj72M5y8gmkIFgXgrGD0GsUHT+Qvhh2a/LiaLIVluEEcs2Q9AyJ0W6b7vJF6RVIe55eQUxiqEV/lgOQah99M+mE27sHbIZvPob+4irO6UBzmXTxUzcqYrvyzBRZcUBmI=","layer_level":1},{"id":"29bcd926-1b3f-456c-afa0-def23a7e583f","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据访问架构","description":"data-access-architecture","prompt":"创建CRM系统的数据访问架构文档。详细描述基于MyBatis-Plus的ORM框架设计、通用Mapper基类、Service层抽象。解释CrmBaseMapper的基础功能、BaseServiceImpl的通用CRUD操作、分页查询实现。说明数据库连接池配置、事务管理策略、SQL注入防护机制。包含数据访问层次结构图、查询优化策略。涵盖实体类设计规范、字段映射规则、关联查询处理。为数据层开发者提供标准化的开发模式和最佳实践指导。","parent_id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/mapper/CrmBaseMapper.java,crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/service/impl/BaseServiceImpl.java","gmt_create":"2026-08-01T10:23:24.8220004+08:00","gmt_modified":"2026-08-01T10:37:08.4411256+08:00","raw_data":"WikiEncrypted:M8uljGDGJ//mcfRJly0hh1hHWOIms32MJ3U91HA7c/phHaR80FWWIo+sljEWTSBoo//RwWSzseRn3+ZQkrtKmt8TG9fTUtuZ/4PStQSND9jEeLnyhKz6MGO+JIp5U9vMyyXYXCXQTnKW5IvDiAQP6ITaI9z1A8w/fYKcUjXLY7DpMBXG1/wfi1+A19s2CQp9GkD6LxWILERjNA4oBe+t8p59lqNcWi8X2DGZHpkgufv/1cKl18VKylKAcJgu+CcLXHLJ4prKqL7k1qMeZt0prqH8kpo9YlJglz0PZVhB4ZfvwZTI+SjBXvownXCCYLO+8oxE2d4MAyaJkaWJZILWn0TH1TbIZMQnQkjHb/zG9ptK0sTKLgfx+m0hdn+ylGLZ8l0t5WbCtk7nhHRAvM82qgSK+8OhMwsqMy5y67z4J0HIYXAlNTirQgd3O2A3ofw2t3KzstFRnncggy1gQHa+a7l5bjbZGHNw/szf/2MhP+Lm4juzmuQceK5vPVJB1X3ewf1Fw2DXLg7Jdnl+dQVIiYeCMsua/SFpMOnGghdF+AqS5DafG4Pi79QwQS3TYcRE7wgWqr5RIh/6j8sz6LmMH24j02JIzzof9PzipKIlzgPDXlcBifhKepHB1rEATqdO1FTGVn6XEuiWSoYkT2YEQ0HUwHzoy6PNafWa9uB5xlkantohV4Aa8/1d0KZKzB8cnGmQKYPF4Tejmc8qDjKyIwZ1AkYAvE0iAHB62OkcUxy87Ku+MGMA7rc88hi9BqvCkxaBlHaZ/3tXb1P9pAwpqDoMYnN8HChtHm5z4zxN94TzvJvjmMsJIpYcV3wMWFSy4Fzh+HebxKe3jRRbVJ0pMdjch4FW2zUfId1DiHRCrqMVe6Uvxu3WSnkRiFUPll1wlT83oqMz8PcGIITRhgMbpKYKLbhhqqYZulQV2iu2IVHW3KDp3RikcNHguXry7e4RbVkr6rjd1OtV6CaHJwm43e4qi/BKH3oQeBoE+O5ytrfKFO4urj4GF+UzuV1oIOsCtrZ6/HnZgrHrtQtiLlHcKopCEUYmSwzjidV27NtmWbpkY7m/OJQyGWto7PzxCeA7plS6pYyoLNIvw74mCVc92VwK77GNYfjPsChzPBnAvxy9y8OAScFV21DCaql6cjI6e55FCYtOkAPZ2dVhhpJW7W1iqWcRQaOhwybXAB2pGEybp/2Udg3UmMS1IFwrcc67spKFQHyb3eptx9NHZeJ6x0L1dvOvo7BuEq0FCa2zqadqnHvPfZ98pouCmNuX7erZEj6ajhtwor6aa5AhHjD7g42mCCDjnOrzg17wgFY5QRf5DADgjyXRiJiJPVkC//+Y9d327hVi7qtM+sTlFg54Dh01NiH9u/kSfUN5wQsRYc45ExCeDXA6V6bc0DfHDQhJRKM5hu5tr7Gfvf0Sz0BS9NDfME/jk285qkwIJEN0Pk4=","layer_level":1},{"id":"1c70012f-a18d-41ae-98f4-ea82b9515129","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"角色权限管理","description":"role-permission","prompt":"为角色权限管理模块创建详细的技术文档。深入解释RBAC权限模型的设计原理,详细说明角色定义、权限分配、用户角色关联等核心功能。阐述权限继承、权限合并、动态权限控制等高级特性。包含权限缓存机制、性能优化策略。提供权限设计的最佳实践和常见场景的实现方案。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":2,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/service/ISysRoleService.java,crm-auth/src/main/java/com/crm/auth/service/impl/SysRoleServiceImpl.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysRole.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysUserRole.java","gmt_create":"2026-08-01T10:23:32.499249+08:00","gmt_modified":"2026-08-01T10:37:38.0993966+08:00","raw_data":"WikiEncrypted:tYJeBV5mY9RDpzmTZHe0ryKzQJhkCDRhzTMmNn7MVTYrnn8k2H+nb9hcFbBbBKm+8nS62jtyaWWw4oWXIcyHBVTAxGVliadnVDW/zIfMlCZ0SbjaW4g2kO1HwDEFmsKGblvr9UdyD6G33+hygWtSSfV1n7ujoBY/hjDyAFpghjxHbP/e95xihGr9mU+LzXBal+yLSDsHrqQnjKGMBzCD9IJ2lfKN0WbiY62UWibsFL7xoGfFCwVxL7OCLza7XIg+vT4qyuNx8kfiYaapTJFFO4roqbM0DwcbxvvJ33GN35rhul3f79/6sxfx4NObXx+LaVqH3OzlHuXGYQDbJvVRgDkd149/C/djpaqODC2zP+YWkTaigC0CUGe1Hzirq75VVBGcJt/oCLrw8aS8RClr3yLpmZagg3owVjxXxEU3OnaMSqTd1B2v0hetN9zgy+n49AOk+4No2qGTSdeL+uxJeisA80e7IoDokvdWUMxQdCfKtP8wKhXjBkx1Bp1PIeMaZ/OQ2NYgMkWZsogDTzT2o+L0130TptIiCXC254ReHz/wpDG13DrVozmh7rkKkzI+t5DVty+WUea4XGOKesCYmLkjHWjYFpfNwVLGNJPlsoIiOnxl9OX21zEAVunExhc3enUc4rhMMbvXJ9S/PzwDW422A7gG1X5SsI6umeg7SlC2y25TALaQ6XLSMCguCsL9QBpucorJNG5b/h4eSxc9SdIdieN94aQmT5NuDQnDHyGnHpDWpTwg+g/ojV9wl94qqsakelr76a0Ev+FWSY/ysLk0DTHi73+a3MCR8h9OIaau7hAzxXQQK0U/wAwbprcrN0qUXza/fuqVFtth4BSevVQQ1zJvIxzt0koD4SGAaooA+lcqqO0nmSPsiKKjjHJrTh3ZH0y0aA6H5vQZRoyQgWJAzZTF/kACaY1LyJCFvZO2w7RdUeiAh3Rm9Kr2lbKDVI8ZcAqSCqDewzHhCnJb/ukC4uvLdao94fyj379SLlaYEy/EvPVcPlxGKA/cZiKt3pUqqP2Zh5txcfiDhvy6pc27A1h9y4jWU2UzIa4ZbJujCTTwzGgxKa7ebSMcwNO9AXSeoApWlvJSYJnb0Rib765BjO8ap50s9y9s6MbMUhIWrmBajt/t5jgttzyRH77GDdMLGHZAcN2JuZgUY19nNJiPadqlFKhzS8ZxgF8p6N+eIRKr6FGW0sbo2qJP87EMA1V+oD6NFR31ZHeN9EJGKMOkvAs7CDtHeoGoaqxPSuE=","layer_level":1},{"id":"08c2baa6-fc49-4dc0-aaaf-71248388f21d","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"存储管理","description":"storage-management","prompt":"为文件存储管理创建详细的技术文档。深入介绍MinIO对象存储集成、Bucket管理、权限控制等核心功能。详细说明文件元数据设计、存储路径规划、版本管理等架构决策。包含数据库表结构设计、索引优化、查询性能调优等技术细节。提供存储配置指南、容量规划建议和监控方案。解释文件生命周期管理、归档策略和备份恢复机制。包含存储扩展方案和迁移指南。","parent_id":"61603fbe-2a48-4f60-89e4-cdf37e119d32","order":2,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/config/MinioConfig.java,crm-file/src/main/java/com/crm/file/domain/entity/FileInfo.java,crm-file/src/main/java/com/crm/file/mapper/FileInfoMapper.java,crm-file/src/main/java/com/crm/file/constant/FileConstants.java","gmt_create":"2026-08-01T10:23:36.1289165+08:00","gmt_modified":"2026-08-01T10:38:08.7807147+08:00","raw_data":"WikiEncrypted:9FtCQC0DeAGG21+hIR4h+Dd+8XJeekoweoDR7tBC2uOo5RNzHKFCvxq5Iktjn8MQM8j1ixYZ7PPJ0qiibSTfzMnmEzqKUm5ab1yje1/w7qa0FxynwmDf8zPTT0lD1WuuJ94qzXZ/WngBglbSOfbyxNzd2EiomEv44b1jDtNLCYwsPEsF8VAiZ/9RpMSpMrF8Gh+gBOAReYmPdRX0YpyA6BVWMooOWZngB0K9L55yXSXD+3TEeKndZnV+NM2D8+sRoZpTwfgX3Il1cJyyxOQNcAa2nv4/Z1k8Ex31HEhmqamnWEqbkHVaxs3IHCo1+wkTQZyRvaYpNH1ypERVfFN7k9IhSWNLWzAgytET/RHnTseTnIbFG0wD/53P9w6L1NQ2OSTB3e6MBKOJe8FGeI1T438PsOiEw4VVYSgD+kGR13IhcUWAgPzlCJtfElttDJgP3RPiq1ua8ViikO/S/3/sAJTEiaVl0CL44i92ThQFivXzk3sstOF9YOZ86qM/4q9ou7FrHSN+JHdGXrlxwtxsSjuHWdwOrTj7KMXwsZA+utz4H20bgbHEqq/LQA2+KVUxfw8njUuF4PGGjupxtqcAhyYg2FQFjL9vCfOXdvuHKmgkdfnvEqypt50AVEPog3NVd0DfgupPqZ6EQkMIsvaDYuGFTuoHi2iBRRrdJifjjwLM2iAnhDd5smAWD5fFnmxc4wKeGyeNUvNTLirqIY6HVUAZ8GjgJvv4vwpwOEXEpxiR5LSpDNvhuuBzgyxu/o886bxwBMbOYD9egSaxVfuBTupP1hqOwqQvQ67Y6hKabNixf3J4EGILclWJ8JaemkkSDna/IiScgxyKtTyAcr3HMPWKIZtUSIF2d0ITwTSj1wdTIEojwop87toH9fBWjA5d/b4dTAFvelEvXt7lvxmJfpLCZOb8bqR17PRO/dVB2OxAeQkanMiX3qtT2eopB2WefP2QabHsjUSH2hdEe2RAvATrJrBW0ercuxEDlW9CViXJIDMVGZKVX1MwgzosVsX9KpSniisJU2pWkBfJCBOXa2v5pnYDfDEsAtprpcxzGDY6mpOObFkbkh+dMYtuA+rOA9J4l2Xfn33ZYbTiR0Z1Fz9BLdDkL/BuSxyD0mJ/6ngczZrF0FGwUV4b0dGp5VKMzkyoObK10EsrUdMgjwtEBBWPt0N1c3lLpPzA3XKsfk338we3iMb628PiWsjwnYbgJgEN0fwbzyUN6WeheqtIV4FBblkOB04rS7l8mAUkElTLYU328aSGRoIP/befbI5LOKqOxPS0yVPU9LWQHmyZFew4faeLiSnDQPcN8abA8esuzthkVsKyXPTAgTkFsBZwjO76ohl9iHL+m7jnxM9GXDLeraMqAsgd/BnH0Q0IpVE=","layer_level":1},{"id":"53368e02-c2b3-4396-bb2a-06aba885c0f1","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件API","description":"file-api","prompt":"创建文件管理模块的API文档。详细记录文件上传、下载、预览、删除等接口的HTTP方法、URL路径、请求参数、响应格式和存储策略。包含分片上传、断点续传、并发上传的实现细节。说明支持的文件格式、大小限制、安全校验规则。提供MinIO存储配置、文件访问权限控制、临时链接生成。包含文件预览服务集成、缩略图生成、批量操作接口。说明错误处理机制、重试策略、性能优化建议。","parent_id":"972dc29b-39fa-4e22-b4a9-d06594d5fb55","order":2,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/controller/FileController.java","gmt_create":"2026-08-01T10:23:40.920647+08:00","gmt_modified":"2026-08-01T10:38:56.2878056+08:00","raw_data":"WikiEncrypted:dcDyhCj+/7lwBBP7VwOj/ScYZCxiWnDX81G+NlHGvVLUI+3TYrCr7+aBHaQ3z7OG6H2+mYK/Ww0xL6OH2f93oWEHA3HLgUDAbjy+UmSFrLKYSZxEsXsQTxqXNPg03jAbU7ZeRBVSS9ugDk5vYWHHZgK2eI80C5EYPbdyNMg0EC3P5rkacLwbW/+F8PBn2d90LeE6PEfh+oWmS2M8Zy7bkSrHeJFmtEzpxA572HqI/DIyGO/ORKbpp2qQyDubgdfZ/m2b+ZMtZvmT5jY9fq4srInjWRprnECD7ICzArv7sdsZpb5ktZ0kkd2fcJyzy03HnusuuZmqE+Unh1kIr5UfvTzVWXdbDOrdAHQivOEOLEiIE0syKotkupLEZzOHWpiIyiqZSAamPnat9T/rAzUlS1LYukUTD6iElG03cKLJOabHW+x+xSLPkeVWDT178tT0acSXhELQ7BoTLf1HQ78biKlxmwtNJGjx0/lGdkZRWxGwDjlk4umDMxma8Qbr180W89MQW1CiTEpcuOEhD0epkYL5A2d9+Rfi32HqF5GUxUxjgm/taJtozVQss9y6iEX2BgB6zXSbc6hKXSMp0QmOtu+bGkGKWrCbYv88eRDwAsxJ0CTEvYJ0Gn8+Kwf+GHyyOTxiIGtix4GFuIu+cMTpdxPBtBfjIyJoeJVItoKeBBUNBD1UrnvNskR9XVh00UxWKXLYPEaXK4OXoLqOzGk8j4ycLA3EPpuksV3Qcv0H8XzVDr3vtiYWT+XZIUNGMXQ9gXg6PVXklm6e00vSzfFCrUE6NDV97BNlRKE9c+BZBJC9+XQoEa+mEEbBM5HrvfXMW08LYF98+Nrlr5Y5Fd1wcOiH7NQLPC6G2ryqLisv0uCDYlqmU66swjaU1NCf5j/gKe2u43/JHq18mSo+WZqeM1OMFa5x9grj6CgQQjdVbtCydTUTkK+iGrKKSTuCWH/ra/ioXUop6SAhct0vOZoQqCRoMypRra7MFKELg5ZTXAhX8AQANlsICEZ7Ywew4mNTw6s6zaGQ5tb6fTEHQiquwqejyg1eqgvs66ysNHtYX810Xps4y/X4qZNoxMnukaLLYPX6wA2w/Rm4rq0vqJsCNIAsypm4hNg+NegSD2pgye8=","layer_level":1},{"id":"fbf35410-3ee5-49e3-b276-7d0af5f9d6f3","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"全局异常处理","description":"exception-handling","prompt":"为全局异常处理系统创建详细文档。说明GlobalExceptionHandlerAdvice如何统一处理各类异常,包括业务异常、参数异常、权限异常和资源不存在异常。详细介绍各种自定义异常类的用途和使用场景。解释异常响应格式、错误码规范和调试信息输出。提供异常处理的最佳实践和自定义异常类型的扩展方法。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java,crm-base/src/main/java/com/crm/base/domain/exception/BusinessErrorException.java,crm-base/src/main/java/com/crm/base/domain/exception/MissingParameterException.java,crm-base/src/main/java/com/crm/base/domain/exception/PermissionErrorException.java,crm-base/src/main/java/com/crm/base/domain/exception/ResourceNotExistException.java","gmt_create":"2026-08-01T10:23:41.0524093+08:00","gmt_modified":"2026-08-01T10:38:36.6770971+08:00","raw_data":"WikiEncrypted:RgZcxlS28ITmDGf4sH7fKcx/KKgHynIcKtHjdIlivuHRmYu6dsiXFrv8J7zlzfnmDRGLfDz3rvUx1D0b4Qjf4FVbJeCQB6Ajv0h34sxvgcR3CV00qB1fquG4WhH+QLJdpt0uR9Js3WNQ8EFfGVN7tS6AMz92TJ5OlphawvDR2cspUnx2DmzGNeB+cLqjexBmPCs04JB22bWStOqHpKbmUa2PY5zTaumMJEr8oLf30qezLDwzEOedC6IwG9z1o7ntbW7SzSk9Og0BBfXuD0RrN6szwvhrhctBqc+hiE0JoGHMVwAYZnzNQmxhjqRpJxnJxZZdhcET4tZ31SeBqoOkz5C8pA3ymnRma0L8IBgP/4LkhL8USNiRl/R1y8aDoW4Mmpcao/ejGgrt9pwbCqJTZqEvR+xQj5/CI2IOFRCZCrm8GVrU8D5cZMFbjnEso6yErI0bA8ny8+1bGTyph26kcR+eg10tagdLhy4AdtwihQqzSQowaKGvDC+pruTq0Xd+VFVSQmhzVCdUGYjpYFoPVuExspMae3Epk+bI678/HeM/Um9DWNdoSHJaoOR53vpJ84Ks6Q7IgVt4sPZglB/0kej9dAK65ofNdZ7/hiQqi0obtva2XIytHWezgVvQF4HBsgp0dKLS7ff21W/5jPmWMnQ2xYMCx9ruHrKzRQNi1ZwMu9xB7v4YMrY0mPehxJkn7q2AXd+lWE4BVAiCEokMUkIwQmyJjHs2EHu3xDK9CW00Hm6FJA1whr2YN590NGUM9Rm+qy7Hz8T3CuHpguOvIu4GFMmwBEPmaFdoc9I7fa8JetLgZMP8ZZfyPIQVItMlyyaSwSyOQnc10UzRFn5JLnDDWXneDrI6KmuT1RT7Mkb6XP6SdDVOoLiNG7r1EQWuq73QVS9ONv222LL1ydi6iijMvZvHum2tqPFQPE0/R+4zvifLGPRXiODWA1bZrX4QC02AzQzV/kQH/W8y/jFbAJ4Ja4l5VIy5wjVlFceuYC6dOi/T8Mk7XD8tfDjOokryAa8m6UX2LfnnJw9l3dsVtghA2N0tJzHkRwfmb0t3etaZhrWavGZoNESfXtCbHATrvE+8iiof/RB1giAFZjdkzKfpbSm09VOlSBplhyBUM0/TwFy0/H+arUfa/yXbdwC10eRyA7VPdoGT6JHZwh2J6PbSz0yXra9MHiJqdg4hP6qmOoJ2pxHNaRuP+Eck9XJDCH9S4td9BDUthrPutpc7dt7mPOnJPDmxpijjV88cc+gbcm3SaqmgccK/gr3w7PqWTER+5aDD+e74dDBzLi3MxjTzL6geZQcDNj0hVfxCBmvp1JnJFsxMLixR8fvjYS77Dste6D0tHQj2/H/0EhUdnn8z6KRwiC61JrOF1NUmK++/+sUkNLpjfmH4r4TMMTRVtNmDIakutzdnM96SwW8r105M04YC5nh3fOFO9jPVLgY=","layer_level":1},{"id":"c6f66819-c07b-4680-93e1-0cab24368beb","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件管理模型","description":"file-models","prompt":"创建文件管理数据模型的详细文档。详细描述FileInfo实体的字段定义、文件元数据存储、分片上传状态管理。说明文件下载DTO、文件信息DTO、分片初始化DTO的数据结构设计。包含文件类型识别、存储路径规则、访问权限控制。提供文件生命周期管理、断点续传状态、临时文件清理的数据支持。包含文件索引设计、查询优化、存储空间统计。为文件服务开发提供完整的数据模型参考。","parent_id":"2e7654dc-4da7-4b34-910d-87bd6334f756","order":2,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/domain/entity/FileInfo.java,crm-file/src/main/java/com/crm/file/domain/dto/FileDownloadDTO.java,crm-file/src/main/java/com/crm/file/domain/dto/FileInfoDTO.java,crm-file/src/main/java/com/crm/file/domain/dto/MultipartInitDTO.java","gmt_create":"2026-08-01T10:23:46.6738203+08:00","gmt_modified":"2026-08-01T10:39:18.637511+08:00","raw_data":"WikiEncrypted:PS6QJlpgHxZyZMwNYt1TRGCEVlUL0Zbmyu3abotMVf6L1IBhFcuSmeyzNGVw4j2qaFORjUm+VGvInLU+tQEGc9Pud9OuLRywihmW3bOO5sIlLqis5gTNilcT8OIpbFLBliNomUnLRx0u8nTlUuY22oOd8UruIZJ+6i1z07RQv332UZODEl1qYSPSk2GoQNjX6Nlthk+q4audH4j4kTQn7UlKqmfq8P1iTsESiTHNdFeK1UnQey9BffG6JnXuPadOTkVa0PtXO9mqdop+KIfDSv802zISyrjoHnWmtZGvfQjPIWEctG5U836pw9dHyNohBPSJvZxjnKWNgcp3vWihOtQN8hqL2U7xtmPaWZ/O/78Tu04kw9410a7DUCyAM5xJjpezhqpyVaWqmLkai78eNMIK4mLy3meRk6g6njCPJZyTH2NZYlZ0+fQHx7cnnaQYqfJSkJbB3+cD8djVCQaueDuGAHBPjeQKIQISg6iGm+UqstPC3nvfS0d644QjHGf1TSbC/lqCp2L2JxNhiSnA7UinjrNLk33ZIhtoBKTO2W4XBU/fUO/DZriM4gkblix7U+9MbYmQdmeid3Ov5nKoUFoJj6jq0HbpRv3m4z+K4PL4OvDR3EGn6I8pKtvaTritaz3LiP/1i3A0sAib/nAbDQ+s70ZtoZc8MkreDpgshqeOBbfQ8l8RWyZQAPnk25xXom/ixPfIG/gwkSCWJKbiEjxh5c13ehRqGSvBcIGTl9dJxXVmlnessq1+8r44dlQEDNcYio42fi7hS7Ddwkb/GlXmC7AILppN14tjz5X/h97W+ZIxPVdUJ+ekX8ORWYMD+YypIRL3ky4g84wt8Mzghvdu88uA4q0WFAJ8kJjUxlGLre66S7GGzVlLYAywWec7i4hU1PVtvpxxwdGYSSvUTU6Qd4E4auIiAjFpFlvCMLHAZ135CEUXObU63XuEqoc+7KXC5bW0XYKllSsSlPpan80uNcquzgefuCRpc8vpBVUogwFMfNv/GtsPoKlaAReNPNxlu2ZO05dCdMwK022a///jcxnPJ371Ef0iCdlfLWNzV9w+Ua+0iqSFWIbz8SMPBGzdSLtPZB5mgJFh8JJIbV1p7xiVUo/kI3lqbp5dEPpg4s11Gwee0wQ+ATXaIGZglUAI/VWjtpukCrEg37NQNtiYYlcrkr4JFHVL08x79RvZ2gzWkNaR/8NOwYylps8AJ9ffIbx9ypyisiG+4zb9Eq9a8DL4t+9eoFDVOvIojEub9IvZ7Xpp/LMKzPReFBoOigncVQyTBqE9pMpXbTVPJr41OweLWPaFsNQ/9QQh2wOuWZjmDCx5PwJN6/Hg6pOAf5UOcrDY5SFmeiHw5gYRSru02YL6zItsdhMWpgXhNpbViouVGiWCvFfQfL9iUJ4cLG+FnwyoTHbvIcwHdqRGEw==","layer_level":1},{"id":"ab8a5041-5019-48dd-b58a-9870af2275b5","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"高级特性","description":"advanced-features","prompt":"创建高级特性开发指南。详细介绍自定义注解的开发和使用,以DataScope注解为例说明AOP切面的实现。说明分布式ID生成器的使用方法,包括Snowflake算法的配置和应用。介绍JWT认证机制的实现原理和使用方式。包含缓存策略、消息队列集成、定时任务开发等高级功能。提供性能优化建议、安全编码规范、监控埋点方法。为有经验的开发者提供深入的技术指导和最佳实践。","parent_id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/annotation/DataScope.java,crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java,crm-base/src/main/java/com/crm/base/config/SnowflakeIdWorker.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java","gmt_create":"2026-08-01T10:23:52.3706865+08:00","gmt_modified":"2026-08-01T10:39:39.5633978+08:00","raw_data":"WikiEncrypted:qSUmbhu+RuqdVWUcJ+wGd4e+ZlhOlcU0FTi9snO9I31pFDv5klxFooIMNUPcliqF/M2nmJ8YIAXOaLMHKbF3NmYeq+661MVMJJskubGniC64s43dSZmMvmnpdHdBUbSTZgsQUKM5bnvdSi+eWIVVeaU6jQyBLCU2wAViJcMeeADBW+V5d4P5UQqKYq9eoxuf/+/FoOg6ZMJ6YoYI/F7xr2vOkHS2TK3uXu4fgcuwQdxCJmKvKMqW/98QmpBBRClWAhh6J/+M7O8iyLcPMFzfcDOA96b1v/UywRLvJGW1oZ9gRQXqJhGVJjfwQVNlRXffmOIhYum708jUOuW8/otzOHIHiDTeqiNlcNJcblztOEOEsjiS/eQznrYolVZzDOdKuhkmdUFnGOBYuRG598jZYr1IODSkMwVwgRoiw3X6DOxEhjnHjUIqHi3GsHcWKrC3OvsqQ5flK5oOTi0CUbQobGqydMbBUaSys8KaO+DlBlLaMYIg1uq4QMJtmDSeOWgshdjCFeK4VziD2CY6400yeF6N6UIapuUxLj+2JqlKmi/jo01BxoF3wAqsNXdUk0ehPNrRWhHeMkRoT20QlEr0oM1cV185z1lR+gFd5/oneg0+Ib47WF9A6Xy7KqXEbZAwmNi531Rw7sD/L2sTgqoRVtx/st0AW9vK0tjB11cG72NSKScvXgT+w6TfpPsARdgK21rOBotfT+wGx0d5GGk2EzFajIpAuO1j3G6CXw1TU9iBsAlpvQddZKNhqW2Gvci4J+feECsnXg0IjDo6wOJ/dmY2fa4wH+BTzWIqxC3fD7GxYy1GYdyM8F/4OKEtNaegzgExip9UWHO/h0VGlrSE/d/a198SKmTK7zQojQH531OeQPdiGprf7+zBcfui50N50sf6OgWyDL/tZkSBQjXdtS8NmKJg6Jwz4XGU6suI4OkddPswYC4a9cikZDq3SphJbW9gjoEfqbnXFBZxHTfNB7nEU9yqea/5o9ZaK5YjIbxv0ZeSNFhjNu331Cu3eJbwrZTp6raUg1N0sBbg5cfP05ZRM60QCfLkLUYyvLT+Q5tufmKQx7s9O7v6ns45Fn8mXSsPum7dDtFD4w5a3F/KaQgUbR3rdEQx299GcTv6rfczGzzCJXP0hNSOzcvuvgva3qkU9f+RQePzNbAot4d0BLaRqB5kmBWiPw0heJ89UwUn51JieaEc21Lw5srZ6cvR7OYUa0v+V0MncJ1w7ZAntjyLxAaMNbYJHOPyisP2jmlCQb48PAKN2oGgN64RYykIxTBcj0AH0LcUT4hhgS9Rle9Naipvjljg9QvXFMCii/JHRoO/DQ1Lj4C4hFAdJV2qaqvUQ1CD08GdLR5d98x8hVb25kbNClbcw+uVXBJcfNfEvVnU0IwrFehIKxBpe3bkKNlDl9y/JygRYMU0YCxs/+fcOeKHRubOv060sviQXAs=","layer_level":1},{"id":"39bff5e4-389a-4286-b17e-8ddf67a4749c","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"缓存配置","description":"cache-configuration","prompt":"创建缓存配置详细文档。详细介绍Redis连接配置、序列化配置、缓存注解使用、自定义缓存组件实现。包含部门树缓存的实现原理和使用方法、缓存键设计策略、缓存失效机制、缓存穿透防护。提供缓存性能优化建议、集群模式配置、缓存监控和调试方法。","parent_id":"1b327205-aef1-4e95-ba67-51808ac20eea","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/RedisConfig.java,crm-auth/src/main/java/com/crm/auth/service/DeptTreeCache.java","gmt_create":"2026-08-01T10:23:56.632627+08:00","gmt_modified":"2026-08-01T10:39:34.3017786+08:00","raw_data":"WikiEncrypted:dAMSC70bWva9SabC1uic9v3ES8bXpNal8paXOKvIHMEasyerMRcW/vBIk8zGyQtmoaXOT9OiycYmV51vOPIXhnkzPH/J6riaEK+xXr1XErA24qiADSE9Fd7mP+qtI85YRRxw6TMYDG/wjxKmrZB/cNGlnvQUFxUSrZQBr9xjzz1EOiAdrnz5H+Wcg2Gt8Zla1AfXk8fbWYzMwskY3ZHksxEBkG+qrZhZ08bnVeABYHzIkqbJtaPBBPxPidX8OJjp0LceXxZIqIN44uMW2D+doHLz6kyYukYLYLh8HL8oMRXeuLKr1UnOzou5YSN8Z5tzddxan5eRuGjAKaUAqiamqr7lPu1EAEAqlMMmxPQm2CgMOTaLc/bbL+v+c5eYY/gFlajrNS2V2xJ4ODhgLiaUoK3rF3Rgp6GGyhbYYJD0TYwg7JxjQHOc+PL9W5uIqfTLZAElfHKwyRI5ixqPCMrvNdFYK7nErqMUQj7fc84YEEsgN7ds6e8dTvuSIAQTMrONZNVj/YacXAmgryHEl5W8nV7A2FkrugFDxz+6yOw4PjTIk2HmOywW8LQ+472iw9JcFQ/eS2y58038hn31oh7INNwYidzgbbgfMw9Ru7VwKaotx0AKNc3zR2GCjmW+BX/6Htu/Leuo5pnkTg97luywKt6NzhHDH5UaypHihDcXFCxFdCLnU8DMji/kwy+WW8kKGAncU8JKVHy5AYdjZITLYwoBL6wgL3Wi990TgV5AO2zI51MQUt17LD2cx/j8d0VxtpmX7lKwtHIBiUkGoJoreF+5fqgfRc+ybCjh8+i1veNf+3kYbSzGUE/ClJ1ZFpRanFgaFuowrVRIe3Xlz1GC37pkRhdfLVnQ4r1GE8O3LP/2OMD/l5xnpz6CvZqbrH5t4knkuUEY4sPDppf0JoLLmyhglrKUIBPecMWu5ZaMXuleb/aixr18qnMTsifTeTp7PtGOqxE+u12QEl530VPapw==","layer_level":1},{"id":"ebb87dc2-eef0-4d73-9ee6-67d355b9c281","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件服务模块(crm-file)","description":"file-module","prompt":"为文件服务模块创建详细文档。深入介绍文件上传下载、分片上传、断点续传、文件预览、存储管理等核心功能。详细说明MinIO集成、文件元数据管理、临时文件清理、并发上传处理。包含文件API接口设计、存储策略配置、性能优化方案。提供文件服务扩展、自定义存储后端集成和故障排查指南。","parent_id":"ce73559d-e232-4666-a740-5db08637816c","order":2,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/api/FileApi.java,crm-file/src/main/java/com/crm/file/controller/FileController.java,crm-file/src/main/java/com/crm/file/service/IFileInfoService.java,crm-file/src/main/java/com/crm/file/config/MinioConfig.java,crm-file/src/main/java/com/crm/file/task/OrphanChunkCleanupTask.java","gmt_create":"2026-08-01T10:23:56.9688875+08:00","gmt_modified":"2026-08-01T10:50:36.4987405+08:00","raw_data":"WikiEncrypted:PS6QJlpgHxZyZMwNYt1TRE5yzJJ74XTYifTvmCHZQzaLokgO6D8VL3DLcdCpcpTRpzRhBnDnWyapetiJyMNLUCSgrqhIlRz/IMZOYibVN/ofKxjmfQp/rJzTmL4l8vAzEc2dW2ykZbJH0XFke+3mSnyzpSuEPpJR+Zt3u6HqyP4d3VXmiRktXHElNZygl7f99gNZoyS49GonF08Rmbd45gHJDuPfZhX+5RKzcnPuSwMqTaglLC6yIt/i1ESvKlppj0ZxZde9y1+UFEShiFhdfKZyMih+y2+pwCn/LLsAL6wN9t/iRMB7x3hakOYH32d/DbxGPTAjHyskiQWXlO+KjlHk6dq4zFA186VZf4blhE6GtmgQmt4XgW8byzRzpaAx71M60h5OKZoZ62cXZh9RiAy3rRbycu0RIpXAs8DYQKFyMn2tRiM8gGOdC8yM53yEiu4/kuLFRNgVQcSWEO0f6rPMWIv4/2lCrhpKagPpvWJ6YRhYYznfa/ZDNbhSkyuFA1vj2XKsm0J9AVuWAK7K/kJbttmMjrCr/mQRAkyw62pY8qwfOGYfOG7QuqZhhAI3T+YDH7AzBayaGejy6DzZcHMU26Y7iUK18eGd7p4wK1vsbsknmX3XQVDNcEddDB32uMGubTjMuuBF3ChH9jcdBxAt2h28+pPhBIAN3gv2DfnYGjtS6xb628G5kFHt4xLwhSgXF5LB/ciK7l69Km6prxCj0SG7YUh/u/Lowx/wY/TQMF7zzPPgwj4i8OYIAvSHqNdgJF156eA7jdjH10J771KYEf55NnH3tgljZ2jab+SWYG6blHPmDNVevn7b8PqBm37pAUs13kMScfCawFzdgSDtY4pLxgVOFEAlY5L1Z7pIebuS1b2G7tCd/ygFDyuo/qAHPPl/qA6HJbpHj0vJTzcp7neJY95Y/6/I8jw1WUZBcYLa2zix0iHUp61iN5HzNUnOyoaWgg0g9UYy646PuKErV2PKlFhY+Rx8kbk2MRVKINIc/vw1ibR2YJVSGeZjH0+IGtvB0LyircykxuS9uqqNwsgdKboL7fMuT1TGwllGZkovliV9qhnugpbdL88V+H+RZbbMkm312uWqP53dmpZ0/i8in0g9gk9m+CTRVCGphO6EeAaqEaKLWMzv2GhNL7TXaimxdDBRetIKrPYdnYHemVrd9fY1fcZ8yFQe01J0ukONK9tgETC443pbx61zeOlYTiV56B3NNf6e48lSHZt407v+r0e9jfEPrk+TKsvoYImiiWt786+BG9Ak09nHqv6VGt9LTgRb5PRjuD/gT/TJGC6Cyd4LcPwmiw3KY6nnBAK4A/tWG4FgC8xdtUu5gbW4jjOx9oC1NFEEzpPDgoGuJvWatmM2kOJ4tI0gq3U=","layer_level":2},{"id":"56974072-cdf9-44f9-b63d-f8750dcb09d5","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据权限控制","description":"data-scope-control","prompt":"创建CRM系统数据权限控制的详细文档。深入解释DataScope注解的设计原理和使用方法,包括不同数据范围级别(全部数据、本部门数据、本部门及以下数据、仅本人数据)的实现逻辑。详细说明DataScopeHelper工具类的方法封装、DataScopeInterceptor拦截器的工作流程、DataScopeTables表的自动注入机制。涵盖数据权限的动态SQL生成、MyBatis拦截器的实现细节、性能优化考虑。提供数据权限配置示例和常见使用场景的代码演示。","parent_id":"dfba2481-1f15-4203-89c4-a87c16ee2d90","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java,crm-base/src/main/java/com/crm/base/annotation/DataScope.java,crm-auth/src/main/java/com/crm/auth/security/DataScopeInterceptor.java,crm-auth/src/main/java/com/crm/auth/security/DataScopeTables.java","gmt_create":"2026-08-01T10:24:06.216011+08:00","gmt_modified":"2026-08-01T10:51:08.7000305+08:00","raw_data":"WikiEncrypted:yP6vl3GzzNMVOI7+ToNUFQq3T5s49qv2Q2KWj74KAfV4CrnCT7141WK8ltD0XAbzvPMz2m9bfcQ4xim+muxhePgEMwcsRiekvld/VE85IahJDfk5CQP8ewlRWH3CZIY/p0sEiD0InL6y22y2zIUvkc7GbSB9zrr+WOfk1uuoawCpKcMhteReeWEXYoEC0F2WppISSJCThU0mIedVr/+8eQwFMv9IJ51D00U1hJRrbmWMPLzYx556jmiWqbx6sJJCABR3GVvaElufrJF5Ow3kaxF6Vr6CwkWVDJHq2apHegKWIRQ8P8w+g1Ehq8ar38zRDNbspUsKo9I86ksWs4DUB3Nu2A0wZE/3Wjr+4a0GRAFQhIeM4yyqAB4OG1db2+h/1Rzz/hpnVrgIq0NdS4mA17YxV0ici8NDrFALI9/KvCokrY0TgO1RKj2Er5zuG+IJTbTIyXW3Za/lwlTkGRONJ556quNgcPBpPh3ScNRQ31i4QWM6VJ7gO1k8xfQ4ww9e/WQCggANRLs/tgR0y59pDw0ALQxi99tlu1iTmqlm2CcEI9WC89D3gn35F56aXDHWS/9G8Hzij30BDffj/ZUzNd5RHmdM8e5/iNvrAb20FLD5tVjFI/9oF/+EyTjDHRIrUK3GGlkIyMcaCzKdY+AQnwyb8Va+F/XGDOaX1/b3lHVwgTiP3ofjbz+M+1cVZ68SVLuvSdb6R94AC6/311lkk5Ds0KKQHJu+FjzzQmesu12q5O7ECctUXmdKm7t68xzXNPNgXFgaKENwDnIK6xWoBBAYazXyACwq2u/ue1Igv4HpIGfzgf3/FOMRR6rqNQfPOfnUU0hyliSUnazJ233VRT7ItQol6j6evQd8X5mkJERNCfKLlyqcHNKEX8i9VfeSSUL+yB6HbYSHqdUoQZS0jTqDavONaMU4Lh2p22mxzMzKXRaYeTUMc8XZyWZj5Kqqn9ThIWMUfP/HALwLAfLLVU7h3UddknDMYXBUbaCORtF5liiEAQhWGBSVIyE5nOUYgnT/CqcvYXt8icZOSW9YSWd7s4C3w0xHd2VvWrTZIJM5oy2WD33rOHlPWe30tpI0BXfnCYUCyMGHhdacOc5YEXxfPINetgNeutp6Msq3S6jVEiwfMGfjwloEB0cqNs9Z3LqktreLm1MVqA+t7TV53aTZSxpbjh2agJAfAkCZn8q5Ey+IfF3KCJYZbpYG8CNrOtyXfCijGC6akzIVEKdNHnURGGZzYNJmSr6WNce6cYKWpc8EZMplXSuHr6KxzXDu+xehN1l/IfQO9VsrHUZSI1HFhtihi7r5nqv7uGakSgGYDb1EVIBazBOJdPSjBdri/TBhY3uR+x4hWrTAfK6Et3d9obN0GSZz8pi/hchfIqMTqReybTnza2k2x3iAWlPyuqyxnJHHMFCMYuFdXBddvfy0TRJKdCrZlvkbm4tZFSnka9Z4579crLV5CRIYCDKB1tBs0iST46pNJ3krL//7QQ==","layer_level":2},{"id":"0fb5342f-41c3-4a6a-8227-f920e7612de7","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"用户安全信息","description":"user-security","prompt":"为用户安全信息创建详细文档。深入介绍LoginUser用户信息模型的结构和字段含义,包括用户身份、角色权限和部门信息等核心属性。详细说明SecurityUtils工具类提供的各种安全操作方法,如获取当前登录用户、检查用户权限、验证用户角色等。提供完整的代码示例展示如何在Controller和Service层正确使用这些工具方法。包含用户信息缓存策略和安全最佳实践,以及常见的安全问题和解决方案。","parent_id":"09833ae7-ef9f-4e37-9c16-22301b4ad52e","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/security/LoginUser.java,crm-base/src/main/java/com/crm/base/security/SecurityUtils.java","gmt_create":"2026-08-01T10:24:06.5647228+08:00","gmt_modified":"2026-08-01T10:51:10.2874376+08:00","raw_data":"WikiEncrypted:7GMpDAULkInIjOJUaNlZ4k4sWkUIXBOYPi45EYUmwrPFY2pWRKUikRVaXDdAIABtqFiyHF00eDZK38rFNHqYRbYFvselWhCvR1knbmS6vQYTLlWGuXSiYHE70LDK1R5a2LkxkcIyZvlUQFx2Oq+uqeqwuDhgJ8Nb/MTTz2BPLdP7TYJlYVI2Uwrk6kKxxh2D8GCthjmSDzDQDYUYk9vF+NWffAwb3OxJhJTbRs//DrJZddq3NsPRuvG1CCFQudoV2T4JUkyPGKDXGMfv9PO5XRV5MwaOLZAacRzFnjkJqbV9BNU5jpOYMta9k85Ebg/RrdJ/BHc2pqc+2izdsKMwyfSZLEIkMySRl0PT11XuqCXq5tQBFCRUhboqkn5J63wNarc4jgGE9LQM5cnooF3W8JPR+BN6WGvNw7bw8pUvW+YI6LKp1l0w6YGOYVrQ5Cwdy5Eub5kzRG00137jetpKGOrsCVFdqC/4GlyfIji77+pOfX9xRsD0r7hmVzYxQTmGLNFfUX/DQ371JAnXxVwoy+PR8OMgRzG6o/s9+Jh9iLFkgAcBeJ4zyKLXEethEbVMqAMoxbSGDj6BnJWsazjRHogBFH0OBnL+YLeQL3Chy0vKuOXL8f33fGG+zmvMV7UYi3BQpjJ0gSdKj2Q/Q5v3ajn0Z3asmwOQlAtKLi67jpxzjlQjsVL4Pj112anewuTznarphctAN6rL5AKnJJcjB8oGA0EpKeLCGgN0Coc9CkMKb2rl2bymt80VfXvHTPAiSZfZbcVw1wNJjybieSwuOJp7mh3EyN9/Enmk4TYUxREsU648ICYVp6BsxOyVOFbE7Zgl5wx+IoBLLMoRRe7mF3sWSuq7IA++J3vnglb1xf17o2Y3Xozx/Vc+CQSO1T2m13drqKVyXKcKotPhHLCbdzBFO9RVaggY5VNLVL9dzQlZ0KqjrC9idsju3CVvoMGx4Eb/ZsHcIlnQ1nqbcc+gfJzg5x6xNLqFzIohqmYFWXfg9DLqw5tt1GzeYpRdiEsLlaJn19dmNbE0vPQ6XfNFejxWEEnPL7xsTUpjiLMUzL3qZdNEy0NRfb/00znEyCRnQ7dlo5XsePu/KfKGIRo8ow+hnTX3FTzdJiIJ3Nedj4J2VW8njl1bV11Sb/dJHgw9jGLvSB5KLFOuE/X7Ak3RYa5xxI1p3vvYejj3TU6vSZckKcHsGIoG5dDIsXWu3fJiLTA8ZNzK3wLCSyBwaogfqpxE6I/O6FZbGiiQ1C6Y/MEia05jxwtX2GZCQemmbbo6","layer_level":2},{"id":"6abacb8f-b1fa-4b2c-9284-1eb33ee629b5","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"Jackson序列化配置","description":"jackson-config","prompt":"为Jackson序列化配置模块创建详细文档。说明全局JSON序列化策略、日期格式化、枚举处理、空值过滤等核心配置。详细介绍自定义序列化器和反序列化器的实现方法。解释大对象处理、循环引用检测和性能优化技巧。提供JSON Schema验证、API版本兼容性和安全配置的最佳实践。","parent_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/JacksonConfig.java","gmt_create":"2026-08-01T10:24:08.1666362+08:00","gmt_modified":"2026-08-01T10:51:32.3171735+08:00","raw_data":"WikiEncrypted:6gHV2se05+vRhSnbu3WMw4KxU0jJVC8iMlh2Qgu9U49loQjb4k1RXosU5jdqrM2L4yjlxwHoquWYRwHspZZMFz4bv8l5ZFhp+jKFywUSZZGFJ6vstaFrfFf12YO8I54aCugWCPTu6Ak3DkWmeF37bqnr3IQMr3yy8aZaFm6uuYMQznTUVZc8juJhbVKp9/XyT57KHaLAwULHeer3X8JVBqgQiipy3psj8LHksWx8xE68VRlLBCjl9eRTuoBuTyTk1Usdw9tkr//c/CwZ2M1KbKXP/zl81JjyNGov3YCNifOCoduTaOsoak0S7ljEOL1MztXF9XdB9iljJW3IPWkYohkZaY7Ob7lfhn9EDhiDAOboj95mlMOVarYd/NkeHOsAHEhhwdpTpdw1loCOLnjo9Yt4lo8HU3HkgjreQtbrHlNQTTYtj5WGvccX6Jn269jFROg6RfF7yx/uagY1EKTbCmafTAVd3z6LAk4A/YG7KgHFljfafmOgWoaEIjXvNXdwswdYOqG9KbAGlfxQfZYEbzibbDwqn+y6NDS4O5udvYSf4/vGi1+jOPboxvllQXnDPUsTuOIVi5k7c7zKFuY185Cu0PgrPTmMZzc4gIeBEhy3+QKVf3e3jzhNs2nXim9HzP6xcmpqJn7FRLdG7pxRA0bKdkbSojrOSUmQZvQf23rsV4n0BbsfHn6i4fS8HClqffiEAaGXhBXRXzgOngF3Ul3C5EY/Knu/Y/O+EqbcYkzP0sQ1brcYC/PEjs8N8/vsktZ8Fl793NdgHEK4byV26SL4u40lKtWJ1/8HqTGSScFENfxZWZKc/R4/aURIQO0xjIN75ZGNfbLfTjWCRBbCcU2LOHZSN5uFlTaFkIIY3yyjF8c4nSmdehXJpgl5dWLHDQ5I7+Q0COo7xQgOuBNDSQ==","layer_level":2},{"id":"ab7d47ea-7c65-46c6-b312-5478e7a10676","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"第三方登录集成","description":"third-party-auth","prompt":"为第三方登录集成功能创建详细文档。详细介绍第三方登录架构设计,包括ThirdPartyAuthClient接口定义、DingTalkAuthClient钉钉登录实现、ThirdPartyAuthClientFactory工厂模式应用。说明第三方用户信息映射、账号绑定机制、登录状态同步等核心功能。包含如何扩展新的第三方登录提供商、配置参数设置、错误处理策略的实现指南。","parent_id":"ac97848d-30cb-4326-a786-d6ff15c3b403","order":2,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/service/client/DingTalkAuthClient.java,crm-auth/src/main/java/com/crm/auth/service/client/ThirdPartyAuthClient.java,crm-auth/src/main/java/com/crm/auth/service/client/ThirdPartyAuthClientFactory.java,crm-auth/src/main/java/com/crm/auth/service/client/ThirdPartyUserInfo.java","gmt_create":"2026-08-01T10:24:19.0172952+08:00","gmt_modified":"2026-08-01T10:55:35.9869804+08:00","raw_data":"WikiEncrypted:WxCGFGSl9zR6IDeUdkqKNG7ZGOiQN8xJ0Zck8his54pxeVD/1lpKUGNE/zAfWgzrvsZeg+WvYulWQVP4zXg8KC1sWV2gfDxqUnfqFZt2gGohZBPN0KdZHN4aX2pMTr4NmiaIEH6NdlFMa/JVKaxUCbilvap/PVygBukZoCyxTjoKXrcsqgGOPUfl66mfj70e7qRE2gQjmpcv3yDRH849z2EyhD8TBOlwqzRoGmTihV+j19mD7XPots+GEa/ZGtdY5Q6ON8k94hVDiXKY+R9MpIDbaIE01FoJoVkVki1+u4GkqhdiIRoNcgbK9KZdP7ciDbCjfGLckf5PNBvKUegUIrweIEcA/sjM/Q2ynzADGf+r1qbN+7fY8JXes+z2Jo9A+Z/kRYYEe5QrA6gan6PnyGx4ZHux23mkm7OCAOgBn6g4c5nzKg3nnNxRSRVcymwF2k5HfEHd+tion/DdZ/fKAaOSBCPP2rCnZhPFjWDALCe9GJcLV8sGjqgkTYpWydehHpZKc4/L6ZDIISCNQcx0NVBRg277krTymZ376ZhbgCJW7kquMDOElb8nu1BudErVnWRi+X01SErJoB39gxJSzI5H4xVGr2u75wgl6HgUKu69eKMfMwV1LecNSR7ICUVj4CzuHGKJYefjCKQmLyj+XgvsoHptCTWHVZvDqZ9Rxs0LETJWXEZQ4lunK9mX5/I7HsAkHikRFvgHTjX/zP+6zix+vDkMflOWjo+JqsT8auNZJ8tfXk0vDzU95Q51t6UXoVcIX0RbP9dEbf84DcFbIAiY466eEt14vXvJRD8EbmHgTc8N37CdTYGZGVfYyKUvVn/ZZanzZtcIfAxRiVmatZZtrQFU0PgUqfTjf2Xo0P3sZ+wVXXvnyAsi6qJ5v4Iu2+6rxZQ3QW6sH5Mwbig2LT4ItwG3TgF6u84qXAXrRXGDDgU0qxCi7EK+Mb6w9VEPg9Vic9AEZ8Vy75bXRf0iJf8DsJNoI9P/PJvsGCk9Gx00Wc8Mua7v/uJXP8plkBooOvBHcQ0rKh7oE5z8PZNCuO1i4NSaiwaILMy8gscIRKqwDZEtwQYH8ovfy64Mznwy8ujvh90u8N7RNtV0jiX/TMzILQD0uEk8LqGNMLq+7LMI8jRuCTRqWCTz9w+py5EeDUZQ4Z8Lz0kfdyqJRALRX+jw63ogQUcRZ+UoWsWdLmnBR/IRox88g1EaGlN3PjqWsghmVkeRcY4rwZ+Mt7yk8F611Uv5VmFhigmu7pRsgw8OpLJh8TuCBZ0SB7CcZ9WBmj7cbjyLrTJTrefUAgw5bDAAMzGt0aT8JnzReof3nBWqKgZsgJ6w4wA9p7d9U/zDJIkz50L+lpJn4ThqYGYQgZbd8bBHiu90B24iuanphZE=","layer_level":3},{"id":"81de4762-02d8-4ff8-82cd-1f0cdd6fc4fc","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"JWT认证机制","description":"jwt-authentication","prompt":"创建JWT认证机制的详细文档。深入解析JWT令牌的结构、签发流程、验证机制和刷新策略。说明JwtAuthenticationFilter的工作原理,包括请求拦截、令牌解析、用户信息注入等核心逻辑。详细介绍TokenService的令牌管理功能,包括生成、验证、续期、撤销等操作。提供安全配置最佳实践,包括密钥管理、过期策略、跨域支持等。包含常见问题的排查方法和性能优化建议。","parent_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","order":2,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java,crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java","gmt_create":"2026-08-01T10:24:20.4891382+08:00","gmt_modified":"2026-08-01T10:52:01.0478193+08:00","raw_data":"WikiEncrypted:8ebUGRa7qCwWfB8YHyDHESvFrQQaaYoCnwBeRxsXQ/pOUkfYcBJg9tanzNivhH85kJhj14qq1um8K/EP7sUILNwF7LDpuQ/bkaYZyJBZFzl8FcIcKcZgr9F+/fEUlBFkWHBMr948Ar1aYPb19jv86MeOiNk8y7yT2CP4hpuMGpUr+y1oxMxMP0fK3xjJ3Usb+fjncTvsmsETOxTJl7V34iOnK583UB+r1qMIwQmbkTQb+wl3pcjtpkN3M8bCpHXchohf4VY+vvMkedsfTIoGoX8EbqwbLlMx/Xq1FEJsGM3Q6IWbsFRUQf5ey7mUxc2Hzgu8DjbjMU2pFBm0zz57P5YQtkKSneFz55vr5c0Kl76K/t2IsDz4pKQQAHEy1K1aKspzR1Kkei3avCP+alpRkA1S/mGMPmyyjyOQKt0H2Dyhwe+yoHSVhVfXQeQ3qOuaguikzSqhThhJGLoNxgCWtpKO1CG0qedMMkt3pA0l15ESDgg4NiX+gezPhUhQmeCOm4mUOL8tBdib0j/DSL0N0geyIr+ApequwPEw2Fy/0USF7PvMKqsLh/JqguqzZDD8k8waugxCSqj0ef1vHKYAeD+ZEkerTqeYDQw3F+I0RJi5HK01EIS9PbJCsZP9RzEc/eEXLFVwxLOClkwW+LgPHCRSIy1/jz17cUKkVfphWXHoCpHEo9U+azZxaIuLJrA9ED1qYmK78wq6TbZbXK3G7sapF0+26mMhJyndH5lNIYJXMPwk5KhNB8cOrCnQKiNsG53JYLYXMt8uOZnMDFSq/cWBmCjNm25gsU1wd3TWGB44oRyC8SCOy2Pax356YHdfwBdJRE4OXrsh+Vw2SPTsfAJdjDYB/cmIV3H/a7XBYErcuGa0QLNIOSMhQM6XfZcKfEElia42DEFsCNop2+SCCg7qpWto+gnTRo9G16yJ6/RJlbC3FCk7Kj6nmMVbXRFx77T4YL0H6ZK36biRMLlrfklNt0sTMXxXWi1KXU/tYiovNjWO9ulF1eAucA7MUtDpayaqEkaz6Yox5FCaDh3xLN+CqKbd5t04ftQws8kxWKE2catjg4E5ohF6VnKQiF2r6wt6U0ikkFSA/b+TOSVTAvfBejO+11upMtQX3pC6nuzR5yCnfdYJ26cXk8zIK4CRpcIbC6yZVIWo2uUOHurlOJ4b4GEL6iYXFqLN+z6FyZPOqWyOzS5fBUxdN+v/9MDWioihCQUp6BqBXaMW9SmN3JTm/4XNdEZnBRKWseEaNczsrTmZxvKjgrx5eHSNWYOOGycYVWu4wsEK/+6BuZ7TFg==","layer_level":2},{"id":"f4902b5a-1300-47f2-ab4f-21e68abdcc73","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"异常处理机制","description":"exception-handling","prompt":"创建异常处理机制的详细文档。详细介绍全局异常处理器GlobalExceptionHandlerAdvice的工作原理、自定义异常类型BusinessErrorException、MissingParameterException等的定义和使用场景。说明异常分类、错误码规范、统一响应格式。包含异常处理最佳实践和调试技巧。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":2,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java,crm-base/src/main/java/com/crm/base/domain/exception/BusinessErrorException.java,crm-base/src/main/java/com/crm/base/domain/exception/MissingParameterException.java,crm-base/src/main/java/com/crm/base/domain/exception/PermissionErrorException.java,crm-base/src/main/java/com/crm/base/domain/exception/ResourceNotExistException.java","gmt_create":"2026-08-01T10:24:24.4048586+08:00","gmt_modified":"2026-08-01T10:56:16.3922024+08:00","raw_data":"WikiEncrypted:RgZcxlS28ITmDGf4sH7fKcx/KKgHynIcKtHjdIlivuGYmPqvzEBVHR01xnhoCJbxF6tU+oaFpWLe7rbeqY+Zoz8gcM7OdNVIBtrMLKyfxRrlyakQNvAAnTChr6Dm/JL2pbb3X1qA4P8xiY0UHjAt7Y4hBASvUt8GcwmNTaIEXNvtyfrAg+CnZiIF5R9AWNHQnVOVN/JBzCr0cjLWIwuaMSLmgjpADKfkhhrTPZ51Re7z6O/d4OSp89iMAKKKPfd6grxmUs3L19D9WtPx1XQW4MHOqyv6HLi04VE5jjfk/euEoxu1QFpIf5Uu9iqLkEdj+cYcfojzoW9jS+aiN2MK2ayagPJAV0hB+lf21cIlWRrOb9n4TGi5jX3jDW4H+dnBGuBygumWM1f0+LBtPxTLQR21sUG3MMgtTmGcoEJYDi6WIuyyyI3Zujkpn5uCApCT94kT7OHZgeALAqix53mHNg16VxtDrLTJ36UFO0XoAjwF5ujovrleDD0uuNqwV9lordmU1fE4faYLjM8c1GJjbJLeG+mPAxWsfO7PlDdy31Bxg01BYHr15NK1yk6u9/NZjpD5IcpkHv8tdh/iBphJRfXvTcYGKVEmVegI1vFb1kfK0Ozf6cE7VDFzXshILV6nzN1jUWMvbdAe9hx50Udkh/U64m1XvfdL4X0fQcSl+Q0zXcvHJ0BrkHfXt6h/hdDut04GjdNx748uU0ecb8AjZB7wxKXaP98MAopvklgKaaQgKgtkXpZL662OXTMoazKFfb5YUXmitf/TiD08QMDRBHSAF/il7hDg3CvZOzdzujmNe5+oOhntuVd6oFZCnHwJd0Xn8xPOuSYPw2Pqu45HrTISFB9FmtjihEOTt8nr8hJr637Zq7GbpyWdQQjdgAPRXYmgaaPmq2E67kvkiBS9OTQi8Clx8VOpcatqRKl9PrArKYQ/bVSa+pgfLWVrB9+cWWb05JpKj73Og9EOQHumzw9tq4+j4nj+dL4PkgAn+lhjWqIU/wFAMyi2aDXvqg4QpwoIboinEPvnpt38cTnOSy5TOfzcD72o5mSpAXmpTuv/TjaJb+VOglK6lMxVulozUsjt3T31cEr/3cmyDJS/i0NaQcr8ooU7gU6QcUPIENJF7IS2m04nBuHfkEazyk9We8vLHje163Nt7SQceIvtfVktC9vCP4nrsLqbuq52mL0i2RL+cLf0z3yemu0pvMgAzNtwg0HXWjWdiEyiJLnX6P+X+Kbopu+k7FN+916FlVTrmLemf8ElKKDoaCuZewHx+as+ERnCO8ln+gf47TpPj8gbXRfxvNX9B4L5p/8uSFw4Re7Y1LLz4pyRh4mEYVBSRJ63rHkf8j2FJhqfrTd+2g==","layer_level":3},{"id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证服务","description":"auth-service","prompt":"为认证服务创建详细的技术文档。全面介绍用户认证、授权管理、权限控制的核心功能。详细说明JWT令牌机制、RBAC权限模型、数据权限控制、第三方登录集成等特性。包含用户管理、角色管理、菜单权限、部门管理等业务功能的API接口和使用示例。解释安全过滤器链、异常处理、会话管理等安全机制。提供完整的配置指南和最佳实践建议。","order":3,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/controller/AuthController.java,crm-auth/src/main/java/com/crm/auth/service/IAuthService.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/domain/entity/AuthUser.java","gmt_create":"2026-08-01T10:23:12.9567676+08:00","gmt_modified":"2026-08-01T10:27:24.0553729+08:00","raw_data":"WikiEncrypted:BenkIlLPgjbiADCpekIm2EVwPUhkZv1UDZrM+ivgPjmqjjCngX19I+dyhc+fcrP75gdExsv6I+8pMcGv/504P67NHQbFaSNd+97P56DqZ3f+4/N8gp22O+yNOq57ZRqDCJkD/m/5NhtIJW5SRgi9ViHauBuqWUNhZ/rGdp63pjL9HV2OMNrq2MsazHXxL7s8MjxUaxhysusTKnafDfNNjtrmfjdd9gTKe9jXMk8v8BAWny/kCjoh6S1Q1p3yoE733B/Hb3W5qniQmv5Sp2wTGgjH/0T2qLobM+6mKJKhXdjUoq3qVpTW3hEgKqh0MSECJhPAxIGr3tyeWimuEQfhmFFZHEPSwZhCBnR0kkzzkTL/NOF8iST61/Lx8Uhv7K+j81R0TsLBaFqXvdaQE1QFIJCHUB/eL/1Yxwzl2F0frxBCCeRGUAABAA26qqKVOPF5yzVxjJ/n94SC0tWtZwoux9duIwqUeIeLXVaGnJ1jWd8Ic7IRW+TNuMseTz6gcnsh/7XykueZNOsQDyg9Pk2urV0Q3hpB+COwzETbERBHTueRdQMi6r6jp5FuMTgb1ddqgW7yih6bEVBD/47OQUnFgoLgvKsN5PB+JHrTNmgqbUIZOoyVmFCbPGiWHZgeVYAvwrPP+m1sMpmOk3kFs0DQKMI9ashw3qKtnOpi16ilxymhNf8fuDvMLr5NKK0+Aw+Pt0RM2FKe1yiEs4AOQenS2e4GJFxhoDMKystUSK7FSi//AeNBd8E9ylvDLC76hZoqYUgiyKnyUXWFUDZFvmAcXbjaJb+V1y9xQGOO4aq1EWyx3n++yhWeztJQVf+usFlsNsPCrwuf1283VaRwOBETfiVx4Av4ntUxWeNFS5NqmhQWRHQAQvqMKsqRhWnuwa7VCovLEtdbulK2AGwZwkJw22PlwN6M3zUx42qbDpGUN55yXRm03KM8dmmWIdi25p04ePAr+DhGxJXkId7hov9FJzNIlHlj7t2P9MiVdPm0wO5ECEEcOsnbLH/wdfED7z9bHQZYTcUqn537l48GYezxc7nanwB3AQKPPMJZWbkEVZsJod9wn4iZWFTZNk5W4q/cUrantNgTG30WHpdzyaapfNcoKJh2Xfq3pXMStpjRFKc6WPEmqhfzEpiBPLAnG3nhSF/22ZgCLycYnxGHmOYVSPY7TGCFiwSPORYLv74etM8/WzpWz0bPKxVGsoEsjVQUAzPDg7GhtbouVPiFtsIdyVToG7x2Ed78ggdQYXBKBZ99ULicsM6U6v4st10JRag27W41NsxpYbXSudgshL6Cyny0hT1kdnawB/hdI0T1k9n6Emy3jdWbkxIzNZ76vm3H/b3NC6LA66duYJ1EpwATJZGb65zSs07V1sV/B5xciWYfJ+yrUxic0EUJ/xBAsfIrACNljnz8kWeMGP6l5ym59w=="},{"id":"cdabba0c-11af-44f7-a110-87567998fd6b","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"快速开始","description":"quick-start","prompt":"为CRM后端项目创建详细的快速开始指南。提供完整的环境准备要求,包括JDK版本、MySQL、Redis、MinIO等依赖服务的安装和配置。详细说明项目克隆、依赖安装和首次启动步骤。解释配置文件的基本设置,包括数据库连接、Redis配置、文件存储配置等。提供常见问题的解决方案和调试技巧。包含基本的API调用示例,如用户登录、文件上传等核心功能的使用演示。为新加入的开发者提供30分钟内成功运行项目的完整指导。","parent_id":"a894a655-5840-44a9-a639-04a0c1885521","order":3,"progress_status":"completed","dependent_files":"README.md,pom.xml,crm-app/src/main/resources/application.yml,crm-auth/src/main/resources/application.yml,crm-file/src/main/resources/application.yml","gmt_create":"2026-08-01T10:23:24.348234+08:00","gmt_modified":"2026-08-01T10:40:06.0651592+08:00","raw_data":"WikiEncrypted:1aHEw3M2aeluf1++NE1n1HTCzLNrSYNKzc2IVp06RQtbuAYcMEXChpU7tJYS1f3O0opR6Xc/vB+l5keQe8PgCRMXTuFik+f3C3rFcP4dXnar476ml2xcaJkPDVPrG2IY3nGMxgNM0xgn/XUv83MjUsGTLoJBhrq8fcalI0KdODjCIQ4ci/FmE5LgzoB7PMhgzR7H7XYD3sE/nW36F9h1CiYCUVKV7ST63v2zNrjv9TEHmDxkJv59IGh7xXHvH32NEmYBgKf9EmMaZN3nnFiz8GVmbRLo6iYtiN7sEix9Kc5sQWFYWF37eYA09qppBrInO3xC783RLudu+33ECt7rOAxvW0O6BKqUykkyUWkGdNgrn+NDjqsq0iVe40cpQH8g2hLC9nuZaqKw6gedybz97+rHZ5agXbEcig4TGQUmMsY/2qNWZGv50UWiGiXZ2JF+YC9ACFvT4DWNDTMk7GDCJHnBRwPfb3KEwNTiRRO8J9DkDUZziN/jzUjjnqSj8A7SKY3byhqY8HvudqffB/iLpd8yJZhj/4ONHrdth5tQVb/IPiXTxU6rT8QN7A+TA582MHdOu47b33ifZ1d+pV9BP9F4gcEfya0hDsSYA7CSW1+DqWO0T9G7gcuqE5FjDYOf4SVegqU+jPmii/dE/WdbFKt7pcxYF3C7C7LlllJiifeEH8DRNUF4djcC4Z2bjwJrMDLrg5LtCRp/yz9Jzkq1WfvHzilYTyB7iW9XO1pF7vQhJJAhJBa/X34nx6oiG4RtenWlyO0/5Wvudav8J/kHesGEfIk1+0S/0VhuFG+HhA8Nuzk//CBloOWoTDrEOSsBftfWRQNUbNBNSFi1kk//gCRfQ5ijIw7gVGDn6bwKRPhq5VpDX7DzX81YCTtRs+Uu0/kNjXpJUwV3NxAQD/ewv/GIkYKiBRh8XyOuceAy6L3OlmNKoLj7EK9hSAmSSWTR9KXxzTNgekMSb4JRete0RXkw6SDrRyWIEnZ1Qd46hzP/XkJEqivT/H63cCKMYBMRex0JpPWOEDmscmgwdnKrzrEdUN4M2rj7PDHCDiYYgyesosQpwNZRE88r/kzKdIrabDBSvY3sG1zqqzpZZd5sf4bAkpGOU7RfF0A7JCQEGuiSBj6V51CGftxLCQAP0FZaaSE2nVlM9jVxPm2EGZxkQM/SZJdIvE3eZrCKnmno4vtFqdI4Abo90LFLd2teITMqJ37e6pUxav8vKFOp94Ig+L1IojbLRnSU0IwnqtjQ8ERKrh9CCvGKjOkMTfz75Xg8UUaB4ka1ZGBcZwbV3WghynxCNFgwQXbMKIAMqbLnF0bniiBPv89sIzi24ft2M7Ga","layer_level":1},{"id":"97d99d29-ae7f-4f14-88c1-16ab0e1b5f29","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"缓存架构设计","description":"caching-architecture","prompt":"创建CRM系统的缓存架构设计文档。详细描述基于Redis的缓存策略、分布式会话管理、部门树缓存实现。解释RedisConfig配置类的连接池设置、序列化策略、过期时间管理。说明DeptTreeCache的缓存更新机制、TokenService中的令牌存储方案。包含缓存架构图、数据一致性保证策略。涵盖缓存穿透防护、热点数据优化、缓存监控指标。为性能优化工程师和系统管理员提供缓存调优指南和故障排查方法。","parent_id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","order":3,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/RedisConfig.java,crm-auth/src/main/java/com/crm/auth/service/DeptTreeCache.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java","gmt_create":"2026-08-01T10:23:24.8220004+08:00","gmt_modified":"2026-08-01T10:40:30.8247731+08:00","raw_data":"WikiEncrypted:6+tjrG+VnXc4xk7AT6U/byJwOxViAkFqvZEtcR/8QP3UxPJ0HYIl/rA8bKGAlUL3bGwDrYHOC2WeAZQf9gCnQ9tjZd/DfaHvHz0rfqkTTJBwvAFDpwLuaoY66glZTK/vzLXfhlXVd76+Ry/BrYcmAE0BlIlJixKWlLcevNR0clGgCYfOaiWUnDJLxOTCLGM1/NOkzL/Gc9H04dC3iXr3egIBRkEK3qmGsZVlRv/VTUFxzq2bSM9sg22pWDtmFfZcCjUJwLkr1fme2LyfGdP/qcv03iHzIcRSpI5xpPP9G82aUR2n8ajzAPXEnUIZEsFRRsJJ8gDmv/czDs6tv2VkL1vvykrbiakQRGcWPL1fx1MqsxcUuE9aOtPzTauN3mwDWZkVsLfP10MnGCJqfRgtCBQmfX7a7PMLGKnf3vXKofBEntU/Q8M8lomIEkw7nz9E4YCJvY8NNp2wEwMIXzE6asGRvM3X+ntBJfDyeCPVfX3hMqoPb5pzjscB1z5bwYbWOSCkNPkMsY7PhUEsZMarRm8wBiFOxoX6Uadz6GY1HWVwW+H+WDUmxcjcPnh/UmalrMPqYbovNpP1aJV1v134ogDpRjsRFWnfEpLRMWis8Z/jpoTh6FGItqaNQHNC+DLLwy1UGdGcvee7mRl8LPk//atAQUPXkPQwcdR8T6VpBmVxNEam9382X45Ifo0B1ZWJ0YplE1VgQuWq6YzvAqNlB7H6C1aLe/StH2jltXI4dcc3Vn9AfdkypidNQTPTdjKEY7qfE10IHkSBgUEuTM7wVN5HfBAan2Pi7VWc94YCgQb9Ax329W8osZfZL6dVoN+uwffSgWKFMJXUqKKySzvBD6TA/ONCISg2bxPTuyiDr4m1FYAwA/vuyu/dhU5SM7gZRN5NcLNN5q2GpQ+eJN8ADylDfjQVSXijNF8/RLx22eE8n0hpr8MIL7MrStfLBMxhDdpE43z1xBEwhXX3eJGCJ2CdqLh1Xzx1SZRUQXbpfaKh2GsxU0mE+jFSIubHO4P64MgTysWmChQVlbkW3IqP1sJw1LjLGbBZvvHl6lQEfgKj4j31s4F2zf/5fTg6BFepeBFAXqFJ/uG/L/DHAWhoE4eGEXwScFGr0MSwKJ3mOGBGuV2R7ArBoZtVdSoIPqwAtNOVq2eZ4olufk6QbTboqXByRuS4fHYFCLJApVGh0PI/VN0e4YOY5ljVyUhPdA4IpNBaYE8otmu37M9Uh+3YGn5b7JX2X3fzc/aYD85bxela/Gj37jZA8GKmGfQIS+iSJE9guD3TCCJPngTqIPZlyzkuUsas2soUQMHW16FrfMyTn/8gI6k7X4ohVGVOzGM/AOkQYAmTdvPoYyOlP4bd0g==","layer_level":1},{"id":"3d099f9d-eddb-43c8-8fa4-fe483ec9508c","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"菜单权限控制","description":"menu-access-control","prompt":"为菜单权限控制模块创建详细的技术文档。详细介绍菜单树形结构的设计、菜单权限的层级控制、动态菜单生成等核心功能。说明菜单类型枚举的使用场景,包括目录、菜单、按钮等不同类型的权限控制策略。包含菜单权限的缓存机制、前端集成方案。提供菜单权限配置的完整示例和常见问题解决方案。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":3,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/service/ISysMenuService.java,crm-auth/src/main/java/com/crm/auth/service/impl/SysMenuServiceImpl.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysMenu.java,crm-auth/src/main/java/com/crm/auth/domain/enums/MenuTypeEnum.java","gmt_create":"2026-08-01T10:23:32.499249+08:00","gmt_modified":"2026-08-01T10:40:34.4296158+08:00","raw_data":"WikiEncrypted:VlNwZ5SiObTSCaqQptW+HjTFcBngYcksXFxNpQebUNhG2HsoRdAw1FR6z38YkRddDFl1k4FQV0SCVjwKg5ZvQQ8l8FQwvK9WF6uMoo3QWFFkX/+3wcCq84KJNv9LrPnKj9nU1Os/yHa2bM1EVLuoeoyJmaN9nC8ZRsryuiQYjWD44mYzdyJ7BnaUoeHKEQXZ63o6p7o1NdeTXIT8mn5y6IZEyawZU46aZNGNYArOp0Cjwfhp+eGo1nc60KyUP7wRUJEChO0FVp8tKGpvzfj/ENCl7vTEe/9J0Ou1mzZoL5O+f5Y2kDL0ckx+hS7a9wMbV3Thnn/UASzwhd0nZtC1DcIyhw3vNaev0CLBR1aOnNVGISaJQJ8wOjeyV5VdgaiVi4NYqjuS0+TjYDQSbFFT+JFnpQ+HhXWEykVioksLKqPkEmRocTL7EAjvgQ2ypoXMzuPsV3TPiQyBPcDupCfIleShwExOdfwVan8oSQY4TSoomAHPWbuhus8yuycTtgk30HOr5gtSrEkAfFyc+j3an0rjcUw7XSfuRJw5cT+R5SSZQ2KghxYG40Du+IOJvjsdXzoXXeZ3jOwsF4z44tal69Dl81hskXQcl28zNdVorqZ17KUaiRc8NsK0gyvovMAmXolwKhGULCoVod4dyHZf86EW5+74BeYirqfwF+aBF0Iih0MNjphso3//3zrx35EygWuuO3PZRTHDxguOymTt6vy0pGQWSztG/4y+MTcKfOGTPicBUrA66EzhGCf/QXL/YTzsB49Mu1wGczmyDaw8YKcR3T7Q3qIfy9vgR8B5jw+PjURzT5/NzZGwH6irC6oir9HoKU5o8N0PmYEo+sJXIi+6PcM/xefOXz3haRY3PYa35XlUdRIvxB9fFM0lQP+pCD42KkyN4pQyrd6eq3lzGajQm57meKBYatDZVmGcLrVGNz6dwxAZcte+0ijLiOzQVLosEHrJ0pi2ybi7+xFCTkcAq1Ch4l4GHG1+kZ6FEzkrTcTz7RyQACB7ig6vhhZxjxJ1IRQ/xlC8mJvTpZ4Z8RIrHTliWau+rKzTg7j0zAVdplLZRnDf9/eSxoCPAHRqH/8zYdaakhE7Muz1zPH33njGbNB4EtWnSe8JtK1SaB1639GIpdFk40o8bcxlpUvwAb0/chll2D8aTk0U+rABn3NkP/uNiLrDaPwqZBf0h7xo+3DwKfMpArlKWHvVS67mBS9SlynxYEvuE/npfndwXjLkBo6diNZYugLXnq/eFFE=","layer_level":1},{"id":"751fe14c-b61f-4838-9a6d-857bc4dba035","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"任务调度","description":"task-scheduling","prompt":"为文件服务任务调度创建详细的技术文档。全面介绍异步任务处理、定时任务调度、清理任务执行等核心功能。详细说明孤立分片清理算法、任务状态管理、失败重试机制等技术实现。包含任务配置参数、执行频率设置、资源监控等运维要点。提供任务日志分析、性能监控和故障排查指南。解释分布式环境下的任务协调和数据一致性保障。包含自定义任务开发规范和最佳实践建议。","parent_id":"61603fbe-2a48-4f60-89e4-cdf37e119d32","order":3,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/task/OrphanChunkCleanupTask.java,crm-file/src/main/java/com/crm/file/config/SchedulingConfig.java,crm-file/src/main/java/com/crm/file/config/ScheduledTaskProperties.java","gmt_create":"2026-08-01T10:23:36.1289165+08:00","gmt_modified":"2026-08-01T10:41:00.9203615+08:00","raw_data":"WikiEncrypted:sdobwW3Qsckh0ghPExsMqkgInHQmajp2nUSs4Ao4ywNv3u4ZW2Jdl01U77lfWOtGy9up8xL+e7aZHitwnPxf5eyhGmapebApzmyK5ZVhrR4dhoVw/P9Y2J/lEUdnxmX/WIkEogJ8TSSPSKq8735qBmN3t6G3a21C5cSenUwi7kUf+Tuvpt4D5Zd/YB5LWIzRJjpn5C85o+bDPfOk180CRFRP1vEhSgvLYjovjmKub1W3XeC+EUA4FY5tqf+bsiBwhJfZmTNRqHuGMnSNmgRZ28c7qeQLkwk+yRkW1nbVwaspRK75gSfpoINbg7s9TstmegLyMwQD2HS+9tiA2q/ZmzuHknJCOtIyU5rtX7v+wg0pNCSIfvqHYz/vYQdZQwprLpLDLx6aAQT/TUK8QZhEoo1x7WJoAwyZkN+LksLLpzfm/+z+T4h0VXqVrIoarbVKy9tdoA4ouTowgftte0IXKcqpItF87PN3rfYJ3MzfYz0uBr5/p4scdmnjiaW9tO6ToB+p80YJ5BVXOgZw8BJOw/lMdgS9Hd849ZO6YyihQEN3+zreqAYPxBdIIIQm/ciynJzHjiOty9qSL5CgFpweU7FnHdq279lAy8pMzp6ZATSGztrrhp5MGJ2A9s7KrBwYeaq9XWD8uj/1RhL6Z0FFbfgKEEaJ53uE2yT4jGJJf6mHKVNVp8B8BwFQey/1AG6pdjR3yHFzydQM/iamX97sD/7cbjfVyqmWVg0oA5Jn+ERJhFpoWLLJL5hhqkI+If8xCNr8GyfXJRXjdOM6XWjBw05XiNJwy2WjtvjnvtWurafU0gbDUgYFz1Kui8VKyrZkwBCFQQJi1ecxOblEbSBXVw1ie1UsGy1oEhB5eY88MEHkkduFLOpwPjq6jkqEtOUA5o6DAjKkORPMwUqlx/XCR9c1DhHs1KfIq41swwT98LXOSNpAbTTlAdmTJz5ocDmMhALV+a5RAda2yEfMek9Fwuf0PtdtcQjrg8wjf1sY8GRqesteso1p/tdBQrOdqdcQ75eryJ1+++an2IQqC3H9EeDpoGGhKhzTZECo5aARwBiWfoF6u3sCoq2QXVUGwRSYQr02QhWSGRpJUSgDa70ezPAODNDHYDpQ3fuPBymdcRM/kOcGlCMzmo6VNZAYs/pTgh8fnsgxRxd/kNnH8aVM/2d48bDkoQKvsEBUg2lzuyRmUlcCl1mDd22SUaf8lkU7jca4FuFXyIrXuWl0KYNG+RttuFoJKZG4zeK+MfuVXUM=","layer_level":1},{"id":"09833ae7-ef9f-4e37-9c16-22301b4ad52e","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"安全框架","description":"security-framework","prompt":"为安全框架创建全面文档。详细介绍数据所有权注解DataOwnership的使用方法,包括数据范围级别DataScopeLevel的配置和数据可见性上下文DataVisibilityContext的管理。说明LoginUser用户信息模型和SecurityUtils工具类的常用方法。解释数据权限控制的实现原理,包括拦截器机制、SQL过滤和用户权限验证。提供安全配置的最佳实践和自定义权限控制的扩展指导。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":3,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/security/DataOwnership.java,crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java,crm-base/src/main/java/com/crm/base/security/DataScopeLevel.java,crm-base/src/main/java/com/crm/base/security/DataVisibilityContext.java,crm-base/src/main/java/com/crm/base/security/LoginUser.java,crm-base/src/main/java/com/crm/base/security/SecurityUtils.java","gmt_create":"2026-08-01T10:23:41.0524093+08:00","gmt_modified":"2026-08-01T10:41:55.5582492+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9Mk5ENMwBNs8bYHsIou70cUtyXA87LqLVk2lGpimM9VNgS+fEdJfZ/zZ1OWWkz/rPdyL0faHgubND0uwMd6GI8VGXHmrhglDB5rLmS+JkST7exqp2W8LuD/qr6jQ36sKzALpHSJ48DMdNT/kwUequgbsylXkbav4zhJl5sHD7J1zJb8CUVFGJNOB4+J7NmAmzvyvWdaIoOMkph/TR5oP5wsRVaEHNtR1QyU5t3Mn2UJ6cwW6yvt5eMGXaTROxtUr3HOm2sf8rTIUtBbL2kpgam6Zi09O6KNWEY/grPeniuqzHp8xwHABjxJ5COz7x5HwO7Tb+GcjHqqyci2h0cUty9PcGKNgN+9B+ZkTzOaset3pSIQREIxENXemdDuYbOK3AJl5ul05sjG8hPvesu/7NtKLneB6fgDhk/5TjpfFvwKSA89q8ad7Yv+wuISjNrA3NUHn6aIqBAlpsbXS/HD/ZIbRqxXgkkeK1kpP2NTz3zJlPOsbHpv8fUndiEByhrYonNryJ9LGllN4OL6d1tTEp2a9tCk/qOcizsFeHY2XHIpebmZpsz2GE+xTROtJhmfxw8os6P+5+TWLSfrlIiv/VTmQv2qcu2XqLmRkSH6paXfwvbHIU1O2irBJd7lhvomfzTN6c+/IoCkFTxpwAuGGN298tm0ixlhWCQq421ogAL8ZIiyaVu7eQkVH5onKq/5mElaDSqTi5+5NLuaGBbOcQHqKL/0B5kIdOF+J37zKnehvSwQYnfrTxhLt0z4JgnNyYdWNQ1phO4JNKPiHNUoM22TtZRgjoxNrzuRXFd86qbyetOf6dcD5H4scCBR4b0G1XxencC4QGO/0TZSIS1QtztDTZ+6W/mMOqSdmMAXYOdwGJh198BRFuOwcwsOBrHE/kPF1yUv6Sz93JQ8ZRIXPNxdxFpsfgf7qIucIH8tgKYmbX+Mzgk3MeFPhsgWdu5pU7K9mV6sm4pBV7e5lDL3aI/Ywnoe0e6XMVANtDBEMQ2XvTrSFbAGZQznYkzhEG226JatRHd3EUhJ9A+RUB7y0oSMbvScdSS9TqE6X99Nx2TTH0gM94r//GTa2zxVpSTBd5gKq4fDM37niOZ7taz9fZWRzNnCbxTd2Y1p5pkk+gB2J+D1Ol9/sCEyv+T7CKFPgxbUvgRm3UT6dVOAmov43X2XbRO4xZMMYbU2xD5wFDm0YiO08XfiL2VrZ4t/NjhvXMX777uuMGybca5+I5o8VdyAPr2NS/gjskQFDKd0RMHydchmmrj4xTYrYNfevYkjb2Qjz1YnjIhoa8U9rr7WnW0ZjaXgfSuoX/90fetw+7MIIzkTDWmS4PIaQHC4ft5JoNqc9IcgmN/i/CGjfT4j0UtmhVplAPX0/Mx09i2+mAebqcKi8GViYbvDF3Ofg6BZ7HLUD7Ir1PhvfAEn+M1Qxz3+PTMbwrpSKVfGn9whvZa2JtO9lcdKssFk5balkjBOSeqQSKL/xU1dE3S3L4p+k2QLj4HQXKXyp3wIUpscxdL3yy16go+/cvcMk0N+PD7mS6iOw==","layer_level":1},{"id":"f83c373b-8c09-4cca-834e-af2de949bcf5","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"基础实体模型","description":"base-models","prompt":"创建基础实体模型的全面文档。详细描述BaseEntity、OwnedEntity等基础实体的通用字段设计、继承关系、公共属性。说明状态枚举、值对象枚举的统一设计规范。包含审计字段(创建时间、更新时间、操作人)、数据所有权控制、软删除机制。提供基础实体的扩展模式、自定义字段添加方法、通用查询条件支持。包含实体基类的设计原则、ORM映射配置、性能优化建议。为所有业务实体开发提供标准化的基础模型参考。","parent_id":"2e7654dc-4da7-4b34-910d-87bd6334f756","order":3,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/domain/entity/OwnedEntity.java,crm-base/src/main/java/com/crm/base/domain/enums/StatusEnum.java,crm-base/src/main/java/com/crm/base/domain/enums/HasValueEnum.java","gmt_create":"2026-08-01T10:23:46.6738203+08:00","gmt_modified":"2026-08-01T10:41:36.7005101+08:00","raw_data":"WikiEncrypted:EHSVcmCAsQzmydGtOOwq3eXqisSzFG5zC6RV0+TxohJWtpFR++fWGbwd7RKkm7ijzlunxn8liSNolC+6qq7/2PfW+WiSzpVtfDaLa4+1QGJxYLjOy+5YTaGScR52NSC6Rt4C8H8aLPitoBXrUwik1P3Wly4GDFWbttXgZXfup6zM9ShjP8QQxAxHRwOLlYeNAXF7k/ohyXoGey0Q8TZjtM0kCumPWAZAlROL65wpA9ZkE98v3Ndjx6T6U/+q6ly4mAlY5U2m7tFaKaA/wPj2F3RKyqB+J8GJwMZCqzKSNHgS+uHR0IiTa6LtajP4Cm/Ly3XuxT7hYNbInhNEfOL9JBoS0RHlXGvkpBXsSLBQC32Od3fLT5KrE3/yVfPqOZwO/g26P2zaGq2QIHNkGiyIArCVVzhsmG07x91HuQea57XxxTO2GXVIoAwpmc0yR/yrXqqqDL1VWnwGo7Pw9hCkHhHRen/dpzRXhXN9u1TXJzwxQrN2Kkrku/KfupyMvnf8IdaFWY9W26aTHBjKaJIpEyRElBl3ik5VRYsXCkJEp7N4Ix4j074qGf86NgFuhnd5Wps6/XuplPY583YBahI7x6BNFT4qqLsIo+y6tRzxm5vpUNJSqJ3JXMR+sefLNdNdhHLefpinEmlzunBxd6y5J6eH3CuhcX102e3gLz3ayXbZ53ByZriLQvb8X5kMoY9sYjSNCaKX8GuhXjNNnxJx7uQSQb8qTtfMo4OSgadWqEvM7TSf3LETGth5CRrOENDurFz7blWD0RQdZVKA+S6l/73Fso9CAI7/DTBZMxvfGdugBaxOpqazgDnzkZFJoJf3HfubwQ4K6UTtQam29gzU8XCMTOOr+KXp9xeSvpaQV3ckQssHJTyPBrT5SGEEvL9LevQfd9f85jyAIDGqZDv195cWUGYCq1krQcTPu34JnYhoe49hWanpPtt4OXi/J86ivGtCZhj9/G1mJPvIBBPUDY1cHxOkoCYYM8veNgofz5KD69d+IRkPKcJYVZQ0AQg6xT7APMuAXS2ZDxzjjHNJUILDkE21tt+AG9J1AkWT+CihNHBiIKGTjgYp4olA7DfHMVVwiqJ0l+gITxX67TEBSxvjDkXre5ttpEOUZJkjLx4WNPuynO6zZIcZP4zIlnoAgw403FTOHYe5VMxV3trBmaKYfWzTPWfT+ps2q/zH0p4i6FbzkykDyQJ5hqkuNncmwDN0WbI4eOUIsF9/7HjlFqAZZuSo2kWaewmMp25kzixtnk5cIUrGbAqGmoa5bfPcdmKZ4PQyDe7iEQbIDFbQTm8Gwf48FrLpMwbYA4KkYS52+2Lh0C1+qqxcHbF+K6wT2fFglGUnKbe7Nk4Czc6tiDmtiYOlFznmvFFmumh5BceoSOXdLRCgZ94WY+ZVgaL2v+7dt8zajSmY+VwmtxMr+5feZznqiHfbEoKBJGxWd7CTv1o1OHt+IgRp5xqFQRwAWOelasqwfuXPlQ6w53YVOQ==","layer_level":1},{"id":"0f6c546f-985a-419a-9924-a0951e18b7bb","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"测试指南","description":"testing-guide","prompt":"创建完整的测试指南文档。介绍项目的测试策略和测试框架选择,包括单元测试、集成测试、端到端测试的实施方法。详细说明如何编写高质量的测试用例,包括Mock对象的创建、测试数据的准备、断言语句的编写。介绍测试覆盖率要求、持续集成中的测试执行、性能测试和安全测试的实施。提供测试最佳实践和常见问题解决方案,确保代码质量和系统稳定性。","parent_id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","order":3,"progress_status":"completed","dependent_files":"crm-auth/src/test/java/com/crm/auth/service/impl/AuthServiceImplTest.java,crm-file/src/test/java/com/crm/file/service/impl/FileApiImplTest.java,crm-base/src/test/java/com/crm/base/security/DataVisibilityTest.java","gmt_create":"2026-08-01T10:23:52.4027784+08:00","gmt_modified":"2026-08-01T10:41:42.9240716+08:00","raw_data":"WikiEncrypted:a51tw9+B5Xez88YuZqi4cOD+MHYUTbXMSmj+zXZmsP1n7CZsGOJJIYMQNXIftILHzF6WAfc4ncbISv/+6TeaNl9W0U7O2U5rGin0wWeGS3JNdS4XTt9wKv1gX9zIDFor4fmZxVf0PJ/DrkKHxUvrf+9qvrijON+X5ZVtp+aLspSKNkaMgJv/gLSyVDBhVTEQZ0LxTQUvyxDTsAHpd6enH3LmOdOHzB+CbztylPniAGMDP7+jluZBJFZVtSdY/gS3UlrOhUcP0NWMX3Ri3UjbLLwtzEtkElrq8WbgM7QrI6TBhvY+0o164XibtdLvyfFOiGcqhFMKntbWRVd9ZMUj1UqoA4lD8yVAJ1Lr2lCONA82VqLqa0pMn7f0vO3EgJ8tDefKREBNfR9Pxs7Lj6VQaaZtpMzrNnlSWmTNxhmXoRmH3f+OJod/AylBnA/7vs3ZW+/mA6ZAW9majI+EprG1ASNR5OgrvOR9UMRw9O+99wiqMLuFqqQ/wqc5Tueyr3QccTnB/qpK1SBzFaaCbJG+ugLwA5YqKoq6nr5h+FhkQvTz+jqLZl8fUOUfg7oTShlI1Nykla9KrzMbMbliHkLgKmfg6gr7uaBEFjTZEJAiTv+7qA2wDSwWdWRLJ5K0JS9s50AAJyrc33ZgIzPRwEF5K8hFdq9AS+N8gUICe2EDfjsMUbuaYLkgTOsRPMYIHiFfnuftH41pO3QQ+rc+nJBqBae2hzmwqFkIje/7H5uUYGfI1KYTihzwFWEGZ3IBYXqm4/esNcwlzWwjEFWiCh4bkQULsi2vdVsN1E56l6VtDEDzCrVVEsz7bXYU1fPiEB1cZlyQBULbNpebFzBn34HcNjEp7H3UU9uoN2XFbhgxEbxmqsHVWQecz0F3s/z4+tCmIBTqo9bvBTGN3Mo5/G4aYvjU2dRGPeeIZrPUxOYm2gzqc4vzAGx57vZy8q5H0Nask5wVq5xwVE/kXan7y5oA0nU5pvMSuuWXBK1ltgHWZXdReZA7FxW2d05HrA+bXRf68p9s+j5uT0n0XB+lPrZ58SMKhHZWBcdKFfL7C8ZnsdYQ034StdQTsCsP5m358rWGRJQDWJuuHJwdjXCpSiwy2otRxRWN+JyC+IB0dSlDw7ejRw4mK+lugtvtT2593bW7XpB73UcN1C9nd2oeMmD3E4/9u/L7vI8HIaxL5eZoy/4weju+WWSjBEAOi6OwqDiTLqhuJDXtyOph/Fo9QWO1jE1Y5n6ozzcWAfzB4d/bzI/Rc3Jq0eB1AnKiaRveAu5W","layer_level":1},{"id":"7e7e534e-d2ab-495c-ae78-18ebc7067dad","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件存储配置","description":"file-storage-configuration","prompt":"创建文件存储配置详细文档。详细介绍MinIO配置、文件上传下载配置、分片上传配置、定时任务配置。包含MinIO服务器连接参数、存储空间管理、文件访问权限控制、大文件处理策略。提供文件清理任务配置、存储容量监控、备份恢复方案。包含不同存储后端的配置切换方法和性能调优建议。","parent_id":"1b327205-aef1-4e95-ba67-51808ac20eea","order":3,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/config/FileProperties.java,crm-file/src/main/java/com/crm/file/config/MinioConfig.java,crm-file/src/main/java/com/crm/file/config/SchedulingConfig.java","gmt_create":"2026-08-01T10:23:56.6326763+08:00","gmt_modified":"2026-08-01T10:42:50.8688362+08:00","raw_data":"WikiEncrypted:l1O7XWjgWHyLZEgkeZtuwUOQPm4W+sd7tyOysYiIH7RwKKrD6gp4cpsydfImXSG3RIq150CyvWc88LwRE84qJSuCKuJHTJIMsByQTzFYMpf2qhs64C/7/B3lqL9/jJe6Xkh1/SR/QQPlC4YJsWvGDL22JmVyQGIZi9nBIe3mPE60cjQadHXpM4VecTja/eT7plfPLfUlE2d7Z+7YOoksJMWIsyBkPLXAasA1c488Se2P8zRXzX+SlNoifMLvaScv7gqiUNsTAh3qZN6YEJ+PDcrYuo0QSAFfn8DlQuVUvqgK0vBGMdjCGYD/e93JuxhuOmu3eOBu9kd573VmCJUFcLGHPn5IDy/ep1O/4n8HnmSBdC0snbIvLPgiyx+MVQu5QrRh4UX7BFTBS8FaY41muuOhP9qJcVjz/MX2WKacn761sn3lA6QxUStFWetp0vPtc2YWPIvelM0sYHndQPnvmmf99zSBEFYCNJFvTJcnJ8Xr4jF9w/F6PxLaoPDKVNX2jXR3ffYp7kKLacq+G71U4nMyCXS8QwzDmVjpZgcFYHdARgRxfxPKmnJED4NiosE2Zl8wu8tPSm3hWV7un6Ro6/XPJBIk1B2gnNlv1jq2KamjYdgvrtmor4c/+Tje6/TSUOLNWEBLgMMdDF9+gIK3sfqZKkkRs4f8WU40u70f+niyRfBkqYoxAusucCDmEd6nRKqixZwaudVlFhjhGrQoTVlzADXMT4jLNgqL37oISmYFFeaSMBqqGwfbZq91nl0xS+0QX7Birny5PQ/890a+W+m+Et9wnfGLxk9/VFiyeIWCNso/4HdnIjQXLB2Oy6oyHQuo8bZNdlAZqdq6XTFyfomrTe/P1G9bUce61kT2afTukRP5ABgxSJD3bGaTx5TaCFL+T6zK1PQlXbKYg5bm/2FcK+802vjjomZ2fa8Xb3f1u+WRDlktdBryGjRH/t/4YxPWNVjYSZcLbxCew+xgLmMqut3fzkeEq28m+LwAjQMOu/+u4Mg43USmDTq0+cQgTB7k5AZo9V6FMVk0xJT+p2dtyNVmPKFkdWoY1Icbs85bBS1O8bAPaqTM1u3z6GMc8Zi0iV9OY2qEop5eqI5qDz9ZMKCdX5Og0AkWNiw9kH1QKelcsZ4d0FLXmLnCeQ6SHf/1FYguS0r3HrqKc0Y77/5GH9+ztqmOms5PezM6eGau4irHVc9Q42mYZqTCfiTu","layer_level":1},{"id":"581c54c4-4193-4d2d-9b14-b12d7451d901","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"应用入口模块(crm-app)","description":"app-module","prompt":"为应用入口模块创建文档。介绍Spring Boot应用的启动配置、模块依赖管理、环境配置、服务注册发现等。说明多模块项目的统一启动方式、配置文件结构、环境变量管理。包含部署配置、监控集成、日志配置等运维相关内容。提供开发环境搭建和生产环境部署指南。","parent_id":"ce73559d-e232-4666-a740-5db08637816c","order":3,"progress_status":"completed","dependent_files":"crm-app/src/main/java/com/crm/app/CrmAppApplication.java,crm-app/src/main/resources/application.yml","gmt_create":"2026-08-01T10:23:56.9694226+08:00","gmt_modified":"2026-08-01T10:51:56.3586701+08:00","raw_data":"WikiEncrypted:hzS1sFnZ5MBIsAwtUYPTW/MJIBMmFrn20vGr8pXYx9AN7NyTMGlVQspVkiN7j4hclm5bFtNd7Q9UotOs1MAn2mpu+dvC4EjY5DtYCDXSxhWC/EfHpFYG32nuh5B8s671LcuRN5+v4YUOW6u2LGXcOUxE9iq7h8NdrS79BkYLCE3FYz2jhVoT3k1DyNKyB8FHpqaI1gSgqIhbmZk2FSLjRySHRaR8dedMXnqY1gWGOmkBbu/76bF+9B8E2IWWTXlYiFaODXcwMFJHQwezsFv08EVUuayRk4JRr6Lws1ceAe9YiDXaQSXrQZlgI79hxIqtNK2D94satOULujOJyVYk5r+HQTLMNCFmfrD/8SgVUh+lI35fnQS9GylYqdRgEo791kLT/KSEYvTV+MR0bvg2NK/M7Wz7dC+D1UVYXuYXPPG/R+UEtyxzU7g+qAZRzBskf5CzZ3XmHI0SUjVtvQnGF5CGaK2boTxXdwR91h4oixZ98e27EHIw1iiV8YoPXw5x3YdW0mO9AQ25XWRT5rDtL3dJa3nIbxCrYcZTQu9jpdsYMaLGzcsnTNq9/v33ZuqzOofSWe/Tv8lBLAoK8FapIm3+gZ1alZX2NrbqUuHzqhXf8hdGHCq9WuNFJXB2pmXde29lWtnl5umcMpegzTS8igAIg/+TR90MRJQ92JlsGCqHLTmwtIFq24JP3D7DFdgbB6ntn0tc7MZ/R7fmv7Ie1geL6IDQVfn7zUTLPjvJ9ILH4qrEvUxugzNi2HUv+HQcZ6R8jLDx9UEpyRPwdLDLKyxzzdFMWglpeKgjxmiUX1F6ZMR3hg7KUEW8xdwwbF7yW62J5tmyzZ83sWEV9Yo5VsJ7zOGBI5k4xkVgza3VZfTaA2EW/bVsM5mupgKAvHsD6CUuGZwPO1SrS2/I1u70nFDRiwFy0xdBW+WkyNQj+A9Y2TwTR+c9x8mF6Q68iL3o","layer_level":2},{"id":"93763d9b-30a2-4efa-ae72-6b9812ac4b50","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"安全配置","description":"security-configuration","prompt":"创建CRM系统安全配置的详细文档。深入解释SecurityConfig主配置类的各项设置,包括Spring Security过滤器链配置、自定义异常处理器、密码编码器配置。详细说明PermissionConfig权限配置的作用,如接口权限白名单、忽略路径配置。涵盖CorsConfig跨域配置的安全考虑、AuthProperties认证相关属性配置。解释安全相关的Bean注册、自定义过滤器添加、URL匹配规则配置。提供完整的配置文件示例和安全最佳实践建议。","parent_id":"dfba2481-1f15-4203-89c4-a87c16ee2d90","order":3,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/config/PermissionConfig.java,crm-base/src/main/java/com/crm/base/config/CorsConfig.java,crm-auth/src/main/java/com/crm/auth/config/AuthProperties.java","gmt_create":"2026-08-01T10:24:06.2165254+08:00","gmt_modified":"2026-08-01T10:52:26.5241375+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9Mk7qQ81FDOCGCw8cHtrGiL2HFp1W0YavTGKuiloEP1flrcpgCe7c85JCVnRP1ZYxMzmSnakgzLc0cKbxQ+7NvPGnh4L66j349N3o+EThYyqCzMhyF75Qd2kDqCGX30tX3pM9cMYwNTl8Kp+5qljPeyH5xvTGnnaoPEZPrEMAPX9pm/gbrNzW12amF8e23Rj1yE2m2is7OPxn5jk/199LkGWffzWWSW833cx2aJjs7Qacte9TYlpEOESocVQs4EQdgJDXMVndpPa/5eLVsWRS4zhuld2NfJ1HVJK9Pwtjb2I8zwhvwemnGIsH4JnHJnyOpRNoA0EUAitEbk9ppLEN4WnmIgTPfQhJg82p2vhdEShlnwljiAIy62hLwztodoo+7auY8Q4VRThQH1Do6EnVAgNuQh1Pv6VoWfma1m8XzZyLTWGAtjCZMPvkoH3SWT+f/4Sv2lVVovE32UenYkePeF0QlJ3LgxDu8hjAPKyv/a6wa20bfGTRiwcRuFkFIVlJjvy87mWemcjV7ZIWRqpn510UtkL2LxXbsb7Tl/8Ke/maG+oSmWiMboDL55kyQzNFHTYRnuusMA1l4m/9JlmFkQaDDeQxaoWOBT41hTSVKPYVw9GE75zs955LuI+rxiGydnhQHmgBvhgByA/iFXJMT2jsVlF7vaigdEGS3FnHKDGaKFGDrBRFJDBduHtIbceBsAWXwNDT0IidfoGKyvrqIBY6N9DLTr2Mvb8xDYp1ahy/y5a4UJeIDyZpw+t0X4dgus5h7Wy0vdJ0ftZuQOwETe+V1V2dKvg86MBVqWLiWPp+Khw/QzjJ0j+B5tHMHEirhbyVrDUsWMmZebrCqUG0xw+YtnlygSkrV2zOLoVA1HY5kZFw/3YNgR3eRNyNuuqpbGCNQKpOOshJ8Jwt4bUFzoNIK6d2bunx6Lq4AqEtUg/SFSIUOjRegu4T9pF6hTs36Iy1Rsz85p56UjlIMWGgoTg85OAMsCufsXIejfCNhqX7aJo2Zzii33hT9FkHCsFOY0CoNkBLsicS2+SB8OqPb0PLiajPb0hzH0JP67E0RFdVXgLfBlLk0EhxKerYGJ6eoFWM8fBew2kvRTafXOR6b/QEMRJxEgPWHt3iK2rElP31plVEDvLJ5cO7LZyi93ieo6FtDh1oMPbUYc2Ykr8GIRYwaRu1DKOUVnCexzpuTsJWsXttv1iy3sFBySXGXnIggjn3BYNyw2yu66pTpnnP7dzeGpDhBYRsQ5e+PigHpZNSPRaTI/NV/PRA1EksT+pVumTFelEWz78Jz7L7ZqAd4m+EVU7G0Pd+63/soHHJ/P1iT1Ab1kLhyKYYxtfUbky8/QBLnnVbjdkA7Ld7aZvVJBqdFAtPF01L0m5li+fFp2tuI","layer_level":2},{"id":"a6310567-14d2-4be3-a801-b3367082923e","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"Knife4j API文档配置","description":"knife4j-config","prompt":"为Knife4j API文档配置模块创建详细文档。说明Swagger集成配置、文档分组管理、认证鉴权集成等核心设置。详细介绍API文档的自定义美化、多环境配置和生产环境禁用策略。解释接口权限控制、参数校验提示和错误码说明的配置方法。提供文档导出、在线调试和版本管理的实用技巧。","parent_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","order":3,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/Knife4jConfig.java","gmt_create":"2026-08-01T10:24:08.1671452+08:00","gmt_modified":"2026-08-01T10:52:51.5789177+08:00","raw_data":"WikiEncrypted:YZrrN2KYcncaMsBjPEPO0XM5rnLi50ra1cTA6eYoPb3jeAGy2nA7/bMIA6tsXJNON3OT2KWJU73QJMILl9qghcyMa5iik4YXcT0Tb+ZJeBob4bFoALxdHv+YAsBcOjkIS2H6VWHwk4tNZ9y7FkNUrCiLLwQXHMMOEUC6fA0pXNiLtLjBVBNn65L4vb20oQqD9Bqth0D/waU+Lue2VVdZoze3tUX6+8ynuM1B1td/E/KRNxSm2ltoW7EQmgTLaUdOECLnOfM2tOB/hz789x/RN0rMzpfyTys/x/fZ96OICXPZt1HAc3p6cc0siu4qRFUgZwB9KBFrsZwn69chJ4nVK4SKKbT2kUHCEm11Tizfk/kYcdP/SKdYb+rgSUc7GdX5WGYrQlaPdUxEe3d3aoE7DzF+yOmYpNTCBPt6YwgHRI/4Hg7Po8KZZ2LuG3zMDuQH+u4zslkju74H1rn6FflGIU33uuCLHCDs0hWs41Lv0hBCOSsOsohBbujisc0N8uJ5GL7tt7VYwJTyviVDTMg/G5eoMxKrk5uCUQhgmiWi2q/6OXe4ACO6DOn3irUcp5sqfApp3K+1qUpCZWHpl0SJJazbh4NLf89USZmW8ba32BnqPpOtLpBex9T231P15jwh9mdoJdbX93mozEynijw9T4yWZpoRefRQjkOeMUc0Z9nW1q3PFxLBMiCb6v38gCktRaqul3gALuyNiJUBgKeKHwDEbv8ZZBrBtEhdl1b5p+7JsxFy9feAqOhw8RtaTeAM4QZSbiIqV74x4Q/LwsHb0nC4ElGTcyhW56NMtraYWKU0lCPV9cAuEtlTbSEQBhjmcztB6mJhWqX7wyQsHeqjEIJFiRmhh3fqoPg5Su9FMWqxDyVJ3HDy+vGxVaFVe2DdpumN/2lFMhucJ9mM7V3lRQuiV+HcmpXQGEadWoduVUk=","layer_level":2},{"id":"f5f2c36d-9d50-4b96-a7c7-0e698a0329ab","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"安全配置与过滤器","description":"security-config","prompt":"为安全配置与过滤器创建详细文档。详细介绍Spring Security配置、自定义过滤器链、数据权限拦截器实现。说明SecurityConfig中的安全策略配置、DataScopeInterceptor中的数据权限过滤、DataScopeTables中的表权限映射。包含初始化数据配置、安全异常处理、跨域配置等安全相关设置的详细说明和使用示例。","parent_id":"ac97848d-30cb-4326-a786-d6ff15c3b403","order":3,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/security/DataScopeInterceptor.java,crm-auth/src/main/java/com/crm/auth/security/DataScopeTables.java,crm-auth/src/main/java/com/crm/auth/config/DataInitializer.java","gmt_create":"2026-08-01T10:24:19.0172952+08:00","gmt_modified":"2026-08-01T10:56:32.28432+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9Mk2mzcyBv/pQpt83Xla2DETTkP7IFuYMahzBptMgFqyPCcTyDft9mO6tPb8k6l/GcsclBixhn2bSzztH+lvrA3GcTT6Gk+cPf/w9wBU5lIfDR9qEWt5A/VCZnACtsJvThQBfU2Qy7gPwszWCjFi2TajqXwKnZbDu6IzX426q0xU6s33E+gSu6Zg96A1zopGQCbC+TLOuOVU8Mk96QNi43G/4UfGKk8GwlXOggrxSVKu5XzsVOrz1WF0JVr98Cp0jKj8FxVlztnKlbVd0zHX5/x3MGARnpVYYNuD/po102mlPck9YHPFJkBqKT9KrPEsdP44UkZLWZ1uNORtwdvmmy7tycdGEkeamaVbp0uLGNlZdPUY5vUHOara9a7Xb4vJw3miZkWb6OLr7/TszY3rX4XMzYbi265Qzg2huuiGWqWVvBfpi4uSuF+V/vI2dKgepd80tGSU3ZwzqMYg7faTb+FIKEkg2hiOrQPd4JFwY0Mm5YdixA5OjNAcXLnz8IiaF1EGH4ILAL1UmFutg0Ra1OE26pXjueOo5Fqo251m0zbV7dWWvy5Emy1vkJq6DvLmC662o62bvR7fEUio3KV7ASJl94X0jZYAsQaNEPDpxTk+90jrg0E38SqJMews9+WnZ3gqIjtmhX/LIrrHTs3ojh5kGPw8MYGLFmzf9QwZ/yrG7FUX7pIMhRWk0d5keqr5aLa1lAF0tzwMcMYC0vd36Mubi2yuXSMDZI3HU0WRizuwZyG0w/C1da8jTqRqQKkCOHyrUC0go7D8DLuReB6TYHnmE7qDs+gCnrOIO8AW6WgVizWNiSIECEob+yndhvq/u8TMBOPPEJdnkKJqGeJrbMJieSU3KZjkppvce7u6J+VHhRf2GM2TNc8vhyIOydZqrgM9TUsGU52C7v2jJtKkJ59MF3H4ywhVJRZpAE3oD9wSKqUAsJE2PHMaxGriHmTy8LeDPACGdcNyKK5F6VruU+6mVDKx+PHnuG8HDZclgO995CLBf1/v3Wp2uJBu/2OzhRk3J1sM9tO0aLYUbgVS6/12LLImv02wjpADUAGQftpdT2ZBVn0rXXwp2lZiK4HhT3eQYFNaUVo8dXC9vxN5jgLLMZlMDd1wbdzN0SMXcuarY7Twvv73rXAIakGu3WT1/MowkP0DG/sQQooltllpKoseb37+5PgVmCd1HuEb7aTZZCTXjcSAKsJgr/+VsBkJpgunhnC3m5L78eyCr7vu2Om4FfrKM9FMxFVHQXbsncrpAU","layer_level":3},{"id":"25d4ed5c-6711-4e10-a4f5-1233f3d9055f","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"缓存策略","description":"caching-strategies","prompt":"创建缓存策略的综合文档。详细介绍Redis缓存的配置和使用方法,包括连接池配置、序列化策略、集群模式等。说明缓存设计模式,如Cache-Aside、Read-Through、Write-Through等模式的适用场景和实现方式。以DeptTreeCache为例,展示树形结构数据的缓存优化方案。提供缓存一致性保证策略,包括更新删除、失效时间、分布式锁等机制。包含缓存监控、性能调优和故障恢复的最佳实践。","parent_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","order":3,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/RedisConfig.java,crm-auth/src/main/java/com/crm/auth/service/DeptTreeCache.java","gmt_create":"2026-08-01T10:24:20.4891382+08:00","gmt_modified":"2026-08-01T10:52:44.7402275+08:00","raw_data":"WikiEncrypted:6+tjrG+VnXc4xk7AT6U/b3wE425EZOZ8mVIjjN7h7HL5uVCMRxp4BIYoIzhyg0sNblpfalvMOJsn/9QEeh0L1Khv7hMJrRrDtgrvOF2Q47UgVsmra/bosCafsjt3Mn/XfG91SUmsxHJJYmQyElEyGVGoXW4t5Nos3GEF/xZ/HnPA53Xw3Zw/QXo1sMh8PNwPF4sG/V0qA8Jpz/xHhnpoNnq1PmuUGg7j5CouJO6L/0rBFIPzIQFDjVKDmHzBdyOShGEdfoFeC1oLaz7qXhOSfAXXb9CWiiqPFBkdBuWv8RpZqSDnp0kMcSt6jYevNwtP3/NUnlk8zB7bA0+ACsJoZxB1lNXWIWo2xczjTzrmZZT44I+8/7d/zDiY1/sy5lv6uYqabXDRUxtBTC08YnP6xCQHuvt5AIQdBOLpxKTmHqO8R5m592FFH72usqulDj4FwDR//q9yjdJ1ryTOluWKri2gBQqcrDcNra5FVoWwKmZRu/h+Yo82QlrCJS0jpJfzBmF6QgxoBo7lfYdoVTHBh0X6hqtRrWF+C6fFKYwJZw/Fzji4fYPckP/rIm0Cpcjtms3p/SN/UD7vHB2qs96FiEP4SHunJRTJ6ZeeD4k3ns2F3DB7oPy3GpBiScmZoTs7vFC/eYyvDIO+WXXTWk8H21sCjphCS6QpzgmmIWk/UCVEZgfVQPveiGTsX9vJQM1/ywJnQ7eAIERNyp4SMpPvGuSXQyd5bvA/GLXTU+8rHhc4AZ17SkSRcqvsFXt56sEDw+KNAKT+iFsNXxZeglyHOGT6WXGu8jksR6uq2Tmoefq7IK+rohexhF4y817fnBM8CfTdC7vdCtLnwOV4xgNgSNwIoEEsr51xNmtGX+3OpQ2v/iMg/mC/osbOGieIa5cMvaT4oxgMFBdPb2gQXcEvlTHSeOivLDB+E9cZRwTP/ZpKP9EnF+5cEdjp/n4dFxxk8HcTpz4uf3SwAh1V/8fLQkXAcWFVyyce37JTbBgZaQnuqxlSuqQawjZokgpxma2tnm3DvHBu9MVBJ9Sbo36rbz+nnmIgJbK0YY/OVTEilMa/8bQ4vCbBshUWunwXMtwncjwxVyibqTxSjlXUcetuK+IDFu2GFJF9hnth4j2QFsRx4lVod978PUxxIGQuiOKHmk58Xa3O73+eA9zxCXl12I8BVcw+tkGoZ2aVSRxWfjXoc3iVMFJ4F+78epBTBW1sXknG1/b0xzmCySoqQ1uhiQ==","layer_level":2},{"id":"c076b789-345a-4ad8-bfff-1d588fbab43a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据访问层","description":"data-access","prompt":"创建数据访问层的详细文档。详细介绍CrmBaseMapper接口设计、MyBatis Plus配置、SQL注入器功能。说明数据库连接池配置、分页插件、乐观锁、逻辑删除等高级特性。包含数据访问性能优化、SQL监控、调试技巧。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":3,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/mapper/CrmBaseMapper.java,crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/config/CrmSqlInjector.java","gmt_create":"2026-08-01T10:24:24.4053684+08:00","gmt_modified":"2026-08-01T10:56:55.8492552+08:00","raw_data":"WikiEncrypted:M8uljGDGJ//mcfRJly0hh3HHKuueOyyeUdP3Xapqf+A8U5VxNxrK86BxzHmxphcM5GIXlzNgzQ9WmGdGSKvMU6Zrqdz7ZgDcxot3TbhHbpPEfPANIZH2I5HRoTfeHiKAHZp0gs6eblG67d3xBkHg6XgDqQA9EtyQfYWFzVxFMSWg6obvWhU06MSgoIxEUN9mYtmKQZxwBQ0gXt2VoLu789RdzajKkPCfAY6Ds8P3RmljGmjUFfWpTf9eoo1jQIzJeSsnKeQDuR4KbV6lWTjFsqb1Vy4JFAA1f4I6T5OWXnNDwJ6gCj6Qmn3yvzgPTEDZtoVgAD8In0zAs1ZL1b/+eQoHVEYU4zlorB0KsINAX3nr+qI5opyseqTC+3vzFconi9QxsH/4tykKvm3bP4CQC3NN6DAZHyKP/lsQWptT2jPL7J41OecqkCVCfxjcx/DtviEooXmN3MHmxWdxkUwIzx48SVbxJUHhS5JqsSqitX+W8Rq8k4RooIeJWKcLTaalWl/yh1QYC+2Ti7U78YENa5B2PeOWMY92xo7GENr6fcodSMKnMfOxWDbftetI4zeYsyc/VpdNatdKiP+xwv/4A0xLGmUYVCtRMuGLQkggnnQb7hUn7bUEVnW6zLnUGJieVwbu/K070GtLAgJ49PMWHjxFFm/ml01edF3Q9Pmvv+EHpxE+20e3X+Bq91diYKQkFgLWrHfYqE8nJcm70YAffkBzX2MvvgK3yCb8uC2kkMjrgXoBSKfECShk4HtlO1MaxDCYG5db3VXXgfFaY6pSRb9WaHxFOTpbvQyUHzJcgRFmdjstKceIFm31OuSVlBytJtUts+NS1F8VBYbDj/rKHWox8YsXry4+VZ5/plIAUOjosCZ0HFYDJuFMXcakFmQRkx+d4M4TeenfcA9bB6A3klJFt1O5K6M1w6jO/SBm6HY=","layer_level":3},{"id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"基础框架","description":"base-framework","prompt":"为基础框架模块创建全面的技术文档。详细介绍通用实体类、基础服务接口、全局异常处理、分页工具、Bean转换工具等核心组件。说明自定义注解、拦截器、AOP切面、数据可见性控制等高级特性。包含数据库配置、Redis缓存、雪花算法ID生成、MyBatis Plus扩展等基础设施的用法和配置。提供扩展点和自定义化的指导,帮助开发者基于此框架快速构建业务模块。","order":4,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java,crm-base/src/main/java/com/crm/base/utils/PageConverter.java","gmt_create":"2026-08-01T10:23:12.9567676+08:00","gmt_modified":"2026-08-01T10:26:52.7788352+08:00","raw_data":"WikiEncrypted:JxorT1jC34SCdtkR7d1dUhEq+8G3+Is82K3f3jk66FRPfTFt54livQbYOO2qjZK/7aNtqOHYL64alrCYhbYSMDQA7UyP4kJGFDrIYPOAyq0ogXZpvfSVQGI76AHOidc3zMRcUK98CMOUr57TNfD6S4JCGaYVmBo0Wk+Kq8RRP9qrJc7c66X1Rl/o1Ii0RzN0DVqQi9ckc4rMFoQ07T8w8CSCI7E8If0NfwcHZN+eXrzV1SI+MBRTWyT/kJCthkpZWj3OffhTXabaIridsmlxZxxL1/2ZXS02sdnnntxHrwg2LnYysHb6bsT5wY5vJpA4aL3ETGk24HMVFiLVsfCUaHjuV0n7hBy9kRiVGo5vDZWgPwgkKdx449jBu2GbeHSSdVhVhVWt3zGscBjmE7x7LRLS9hg8SWwqz54CWlLej4X+5D0bMXTpEw+E7bTTiXle7vrEr07DPTAq0w2N4+kovV+V9pBHuo4+q09C245fI5/8BjTQXxhNZfGDWWbIXeDtR9KrIx/RUeq3UVI2nzbqHkjOD83YDcHvDcBqr8OgGElFH+YQtcTPnqUoSZLFOEDfi1M60p29qPLd6/DwjD0HoMzRn95pwvP+tzU+0gntigCm99eOITGIroWFczNB/v9tJQLfCQ0AnaPrSW/kiD7HJyZyH4hB2LCJSXGKzqGmLZhiJRbb9JQ21zNkAr0W8buillvr/pRTNIo5dlGZl/a4sI0UTE1pkvGJvChy7ummhQVPEH/NJdppUDpJ+OxqvybZPaoH/vNmgWZ0FJTME9Rqf/0zlt1aSlju3VLCxzcPt4BhL6z8NCjBpmfzd8Y3t8B1hcli+gKywvepvmk34uaq+BLbhBQpWJgdSLQmK67v8KI09qi8/iOnJ5CT2GL8wCkDLM6XW3+eJ6u0ST2pVQAeHR8iqDBboR8yCpcAG8FT0QlSWhCnK1n+VDriOkR9kZ+gSwJZ8fTzn8HqM8KzwDDcz5GwkQDeL6pchYNwV0qmr1bMfDdu4yd+F+tdGxGnNqWVoFt4QTqVGTmzNSjOT64NwyrNstZSh8uW714gFYXZVpOFrf7ke7oLUdc244QsFbX8YYITFKGUpT/vRLKclReoA3CB52zhiGlFkhC/zNm9HsAozbOV1DtLxv/3ZLM8+MgdLAQasonJjBtWfLCjKZt/Deo/5mY+fU8kLlx/3JPUk0Jo/Ktvs0rHnTZ6+ui/UzxmFsH9l6AknCbeqExHgpIwuVFuMZLK4h0mSrZSXaBIgNWhk7/P4CdQzgOUnfoxSPOCqtv8P73shlEP9R7wrQHYM3E7n924G5o4vu9Ni1toD5IXQlUc7FFx131rGD7jajLinSuVv17BHDdc+vOrFLi9q85mPK32PuyyfRnD1uUO7kG0K6+S2afv7R6K3lwfBMg4bGSvRAHspR//fId5dyMUYmHes1ATa24l2ykCAV94SLk="},{"id":"7e0d6412-017c-42d6-a460-ed9a1e77897a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"存储架构设计","description":"storage-architecture","prompt":"创建CRM系统的存储架构设计文档。详细描述基于MinIO的对象存储服务集成、文件分片上传机制、在线预览功能实现。解释MinioConfig的配置参数、KkFileView客户端的文件预览服务、FileInfo实体的元数据管理。说明大文件上传的分片策略、断点续传实现、文件去重机制。包含存储架构图、文件生命周期管理流程。涵盖文件安全访问控制、存储空间监控、备份恢复策略。为文件服务开发者和运维人员提供存储解决方案的完整技术参考。","parent_id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","order":4,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/config/MinioConfig.java,crm-file/src/main/java/com/crm/file/service/KkFileViewClient.java,crm-file/src/main/java/com/crm/file/domain/entity/FileInfo.java","gmt_create":"2026-08-01T10:23:24.8220004+08:00","gmt_modified":"2026-08-01T10:42:52.4223646+08:00","raw_data":"WikiEncrypted:9FtCQC0DeAGG21+hIR4h+KgPex6XUvknMAdSCL+H5hpB/yITA32zeUW39W5MZKKfTt01Y5o6QRMNYEa7cXfVTx8xiSOoL3Lol8tfZ6q1bAF748h9npWQVOilMKq9pRDa8UTfyQHe/0NtkQhUgWdnVLKUa49nQQv0DFmy+xx0ELApoW2PNHf+fbIPlQOAAekbsI0veeyaozQBOmFBvn6VbNwgFX6GiXsO0fMh8jBOoDgXYiCcdQoy7eX1Xt4nNjNNAaGcZfeRSa6Ti/ZvrO4PIij7/PwLpcDFM4Xa/OwsBwtLSXVdPm0jer662LIlsyaiMQbNQ+4IY7Oua9fFSs/XCjmtc0PbxVFbdttmVA21/VDc2uso1r3nmKWV4zNYOH/MnXPzenm6Cscz/gDh25x5/h8rDKIm0/eBCiImopw1nkLS5kK1oriCpCCd96kta5fda7sEOe+JlqSD6e8IArOanAIQygWo4MuxlJdG64S6mUHun74qfQyt34T2RZBZks+SzxWkdjNTTrvYeuxBXI/MFsOYrRrJEtzttVAHovuGPex0YKt3JaLh9CVDj4sc03z0jmoNn1NXzxUVOx6TtcUhkdI8rDfdQ75rrdxiH+3i7g1R50MIkpG2c0rNIRUnCKA6GbbL53D6Mz5m0kdJl0cRoQlKypnyeAeEGjzl8e5+wIGY+8IjQ+urlU/9sTPJLZDD1XWjTD6jXKw8HqEpUialx58JNJdr3ExNERCqMEGV5JDOXuFYHHBk6Fx9gsc6oPsCyt3oH8/TDhydb1/he1LjwQfN6US6V66+JHRS7/qTWfOnp5tKkOpyoRWW2oaKvlaa7owchQcU0m76rMfkcko+cYkGxoSr1EB+po1bhYSb5p/QhokhlDI5SCj2lhRJ0H1UVRe8EA7kuYmnMzSFz+xtjH6kXT/aYUhU03/BjCsOtXlF7PcvrneZmPViDKGmaxs83rmVDy/S+UeC1PvRQMc+hBdxL3IWK5y5iDMCUFpM0AKDaYm9hQEeX5sm6jowXK5wFb1pZFm1XSnZmR4roF0cDR9bvQ2OMcG2PK0ANcdgEEFeILS77S3avLNncDbc9nUHUFMCWRu4jzo3Cx/FkXUq+91b/X8ylMdsRkEVHaWDbU3DM62XgYxXdAZjmmDxW4wdVEy+QgN7pdVeRLtKHucXgwoLuMS3jFbipaPEGGccxuEUmLiR05i2yOGuwB2mWPvxrbULmqPs27EP3UHEwmAMUzg/eJR4Njiyf1GNaiA2W3E2LTG+KCmRSK87TgQHcVyYWtLOQk8A82L1OmkzLY0LCsCo7AN2VtPeqiuN1C2J1Ripy8V3dJI0kxi68BZ60fryyr967i4Xx9OR2BFrdhlo+cc4QrwrUNFTTJE5WRrZaCpskUGs833DaoHVewuEv4mSA3q0vAOM4XNYwBNpGlfX+Q==","layer_level":1},{"id":"aa1243a4-2495-4803-a88e-ec4e8a9131fa","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"部门管理","description":"department-management","prompt":"为部门管理模块创建详细的技术文档。深入介绍部门树形结构的设计与实现,详细说明部门的CRUD操作、部门树构建、层级关系管理等核心功能。阐述部门缓存机制的设计原理和性能优化策略。包含部门数据的初始化、数据同步、异常处理等特性。提供部门管理的API接口文档和实际使用案例。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":4,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/service/ISysDeptService.java,crm-auth/src/main/java/com/crm/auth/service/impl/SysDeptServiceImpl.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysDept.java,crm-auth/src/main/java/com/crm/auth/service/DeptTreeCache.java","gmt_create":"2026-08-01T10:23:32.499249+08:00","gmt_modified":"2026-08-01T10:42:53.7007218+08:00","raw_data":"WikiEncrypted:lLFh2V412Okc0QNIrkQ9TOgwbMp8G4swpF4b/k9v9GSnpeb067NK4e16P+8f8w4YS2vkJWy7DTBa0Et5EXhuKWENnETpRRWaGgKvg6JIMBeKT68GEBBfLmnysYa1S/tGcm78vOKJH3R6sJbMqWlbtJtRhb/LR1Gr2NmmtzwQqSnqIkrcfcKKwCmWb+vlAklXQGiLqN328Ruau1CTRzdILr9zghdb5IW/ZZZHDGtgDfIXq+0RYVDEbE9yiKLEvMBVPkqYmKWhHTQ3R6JXqvee6QRIy1OR5II5pQSvQJvWXDsw1ISNNMJFa6gOItD3uUt7bRJHvD2Lhfp/JdyzM5QLNh0t3H10kj5gKa4ONLalS24GHI8ISZBJb8+AQ5olZPb/dqBpjPhUyyt5aer0N7+69urLRtmTAGf1frFzIwx+/fGwHE+AoNGc0pDPrr7zDKk3mEd+7foP1DBDKd8JTTtmUW1sg+sF4Ocu4kaEO1hRet39QJX7lrUlcDfaKtFoZo/uFtegILyV2H4fJ5hwVvKn7CEo78ehnSmmrvlBWdPeMS4XXUaKcKA+nGAhKKH/CHT4CMgNLJZDKOPTkDAqCfiVGUlLmhAn2MS+WADNF/tQtqyNhBAdLRGQTf3iFLgAxWjyRRNJmdP03otyh4k5Wr7mngx1jlavoCSHOEijM9stvATVuo7QNybJDgORq99u5G8Wz1wYuYbQ7vFNPJ3HKshw5kHmnukwNItvG0BRaMC0DbL2kQ/jjt8HS4kL9TNw4X1JibMoG/rAnSEivtfa9ZC4wBFR1roQVpGluk1P4oaPTwgLLLj/iMb0kE4P7DmfETvUuM+R5G1I/zqHVPI8n0BVYdT362qy/S+SIwjummTJK1Cto4YgykaxSiEgDRf2CWWFv+FXXbljVz6SUuf6ddwwWzmAblnjPUOcHr96gfsj6W1Z3he5l8P0j/tk858HV9cQxO+l+4UIAhyZW2LA56lE+4H4vXMij/6FLmXXt5gJcJSRb/tWSgDN8AJY4yLnDlzKGzyI6e/2U0aw5pEvV9Zwll7pXBrpt91IviitDtmkyTiSeh6i1iyr5npS6TSERwdqtYoPb8fE/Q3z6u+8eWVE6waCS6F1TORjXIxQzlzJCcjcn32D5y++ekjhN+zT3RCJDT3iyMHQ3Uv+P7q9qDDQFzCq+8CmdFQjdGxCRcu1wNJDQvWLVY+ju0zFx6Nd0PtGMRChLUlVecEbfXm9JEXw/Q==","layer_level":1},{"id":"c12ea8f2-bd91-4cac-b219-49a005e97563","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"核心配置","description":"configuration","prompt":"为核心配置模块创建详细文档。说明MyBatis Plus配置、Redis缓存配置、Jackson序列化配置、Knife4j API文档配置等关键设置。详细介绍雪花算法ID生成器的配置和使用。解释跨域配置、元对象填充处理器、自定义ID生成器等高级配置选项。提供各配置的参数说明、默认值和自定义扩展方法。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":4,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/MybatisPlusConfig.java,crm-base/src/main/java/com/crm/base/config/RedisConfig.java,crm-base/src/main/java/com/crm/base/config/JacksonConfig.java,crm-base/src/main/java/com/crm/base/config/Knife4jConfig.java,crm-base/src/main/java/com/crm/base/config/SnowflakeProperties.java,crm-base/src/main/java/com/crm/base/config/CorsConfig.java","gmt_create":"2026-08-01T10:23:41.052918+08:00","gmt_modified":"2026-08-01T10:43:54.4966007+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllB9TGvdYeEh4zcG1OGQGWJRtxgk5wPt3e962KZz9C3tgTeC6mQ9k8RGokYExY5/jBXrUaLMIMEvxw0uBbmWvziylsD4Jg/RLaDTM1YSgpDj/ZfMwE2xLgSym+NVOAqQhOuewIoSrlCtsbJaZo72B2l/E4/SxSJwHqJwN80/sAO9595toCQTg+2vZmWcLjin5IqmzsCPRBmurM4ne4ZYjzEGhBEDg7S/GZBmoTGPkpdeav1shujIKpGYdN5/gO1SVJz86rSF6PqEctCsd3pELxb9gspMLNHpYEk8wB+k0zUxEV/KVTR64OnkYfsS9zTde9da6uB+N1BcGdaSWYHCXkKSwtVwFShXSoN4bMpx8zTh0o9DeYtlHUL+gN3SI0M7mQa7j0qzCoqoHW0JDJSva6JlXR55Gu3Bdady+CItz0y5StiJzKJSZVQkeM8/v+Yvf9GkEGkR7nnL0I8KoJ0B5CJSEXIiK4m8StlbtdP4pTw2i6RxPCJVVfcX+7az2KfM5ljC6S3QAGzXLQKwgN/GmWFV4H1XY9ct6j7j9R22Umodzs4ZxIES4h19bY/wb4GJRS4nYclkCRzczRpNIGbAySG6nyjuK5vhwmDPxwEm7ALmWDT75/VRZ1wg7rBZ51dvkHwDbzFM6eCRvD9UBpy7bcipHWIKYuVBaYKV3949lv0A/0H9i8rmendIxsTP1XnlJZ85NW7hw6Jd+KwekURLRZFTZnTDqQM7VOw6LHd69CE0SRAVcVKpadBw1V+ogiFlURUzyDnopj+2dKC6r9GgKzeL17O+btDV0RU60T8EhnRovkUGLl7l56zJ72fI/mKjvO88XxANjntNbybXSfRjFZOsr0cfJzVswj2VGBZVIrDsfoNWcTI2Rfjl+K/Reb9J68p4LuPHX29FzORphrTD8AMM2bsjOBAii8Kh/mNzjvkJxDhqZBRCVLrr2D+Z5PK1XoTl1vsj1Jez7Crs1Ssp0uiim/GWaA8U4nCyFU5i/pxYGfvwCFk1fCGEYK8KM8MYe2TtGlWxCMYlqyeToA6fOvHRmkFFcOE2j3wQwJxPNH7csGEsBrqgD0/ZlgJhRSGx2IApBi0IgWhAfCPVlII90RqxtW1rDDdPbKKNABTmeAtbAmxpHa8vr5uAJXBSnkAib4wM6vaKKh0yA0huHsvcE0rNF5mw4sb3iIJmJs3dw1WCiMfSwA6d5VlF7X7lVu6uHNPMUfmAlxqA3izIIP/ryt1wRNGQpNOrlaD6Zj1QE6wR6tm955oNQ3/qycuDet25zuGEWk4HiJWrij4//9+ecO3gWxl9k4wX5CP0OdcaNKd9mwlqO94WMRZA2XEnJQwJKfQ==","layer_level":1},{"id":"b76b20f6-16ac-4c25-9bec-84be749d636a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"调试与故障排查","description":"debugging-troubleshooting","prompt":"创建调试与故障排查指南。介绍常用的调试技巧和工具使用方法,包括IDE调试配置、日志分析、性能分析工具的使用。说明常见问题的诊断方法和解决方案,如数据库连接问题、权限认证失败、文件上传异常等。介绍TraceId追踪机制的使用方法,便于定位跨服务调用问题。提供错误码对照表、性能瓶颈分析方法、内存泄漏检测技巧。帮助开发者快速定位和解决开发过程中遇到的各种问题。","parent_id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","order":4,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java,crm-base/src/main/java/com/crm/base/filter/TraceIdFilter.java,crm-base/src/main/java/com/crm/base/utils/AssertUtils.java","gmt_create":"2026-08-01T10:23:52.4043595+08:00","gmt_modified":"2026-08-01T10:44:04.3926346+08:00","raw_data":"WikiEncrypted:IGJnZREY6KPscHFIFvSUZIsXIj/pjQNlJAdMDQk/yeU/0ZgNOXxKpRa75nB17G8dRoP05rp/BfGkgQtWKJwlLmheWiYjPTELAY836g5zCI220WeqxpcKNV2o/RLktYU+Q7+4Vx/03nNfqoK13Qf/A8JlUihDhYtIg1uhprz24VCeqr69VrDimtQJ4K6F9oc03rW/TWDOK1LVWuRZER1sn28SPNOxcvpaOTtcMCE+6ec1UAasmPRFzsdH1pdaWHU9uZJj9f1mOP9rDscVONqXh6VU0Hq4oU0srvFBVqa/8HTmbpwtwqRBy8WO3jAIAwkU36LexM51HX1911oI62NlNAPIFIJHPbh0zXFXpjvIE0f8YHMFoxKMSdSUEa2G+LtjL/n0bzzSoD3hY99q97zEg+uHd2f9GfhGH+AhzIurBNjmdBTyVSeCRT5RwtZ452JwqlBtOrp7HtwIVwwZj04E4ai84J7O0TAoazaFticvbWWvtKGvp5XM3u8LPTRqTtafu1mRiq2Z/IAr+kXoQ6EMXIrZj9TG0wXTEkAUCltnwcO9RBJ+KexmKQL+pHCz2NdBzUWg1einRwI94NKVldyEkdGUKS2CRtJd6LcDqE71MksFgW48dS+uDD1V6QMmIyTTm97QHHtcXX7l/4gtsP0p/vnq20akmkvoSFI9ji3FqVS3vtk982iCxNjg8pbr2G4nAlaHBxGqbFbs2R/5fW6dbu6f2Ox4xxJZSCkIPktMYupOrjdC6aieIyDlDdRSJMJLmbcuy0Sn/7FUvmHABD2cvkgBKg1mY53P9u9aaMJiSEDuMrlmJOaizq+O4d0b43ZpMNbZFGz2MRT2iIZs71GFSaTMMgXqspxmABLC+SgYUqihFPGBEpklRWvXPTNtxmPiXvZUWSqnfdm6BW7tf+tJEzKvy7fc2w5WnjMrzEl443hCHXkpf1t2XnHkxXy0DXKyRTzOe635XgHFnH/dgi1N8ksAf9cYudk7o5cScZE2+WGPsnsSnuOqL/O/VAt/w+pxuRDLAfYMP1ewGlyYqzleVqII1YGPdN1aoC3tXRHQKwQukMZHT4xHgMqm16DZ7H9UFCW9pc+g8dHjDJUb55SWJ3AG8emzj6Xkg7jpyao8OOaVoPx/2nIIKN37xXOeH4qy98z3+5qvLcvAZp6jRdZlM5kYptpHrrjR7xVVGjQpfmakCFc3FeGS+1V+59sF7PzgNEwI22Jsa+3SbANBPbqeDADaRrZIS8HJzKHxhyHmJ+ikJ5FMmS4CArF3NhyB/hL1iHMWQqcSsuMsxuyatd2w9MchQ/SL0QHd4TcqNkbswpC4ojykb/ORvF+O7Sy5nskn","layer_level":1},{"id":"985c349f-80e6-41de-ab03-f127e5ec0900","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"安全配置","description":"security-configuration","prompt":"创建安全配置详细文档。详细介绍JWT认证配置、用户权限配置、跨域配置、安全过滤器链配置。包含JWT令牌生成和验证、用户登录流程、权限拦截机制、第三方登录集成。提供安全策略配置、密码加密规则、会话管理、CSRF防护。包含安全审计日志、异常处理、安全漏洞防护措施。","parent_id":"1b327205-aef1-4e95-ba67-51808ac20eea","order":4,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/config/SecurityConfig.java,crm-auth/src/main/java/com/crm/auth/config/AuthProperties.java,crm-auth/src/main/java/com/crm/auth/security/JwtAuthenticationFilter.java,crm-auth/src/main/java/com/crm/auth/security/TokenService.java","gmt_create":"2026-08-01T10:23:56.6326763+08:00","gmt_modified":"2026-08-01T10:43:52.8929073+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9Mk7qQ81FDOCGCw8cHtrGiL2HFp1W0YavTGKuiloEP1flrcpgCe7c85JCVnRP1ZYxMzmSnakgzLc0cKbxQ+7NvPGnh4L66j349N3o+EThYyqCzMhyF75Qd2kDqCGX30tX3pM9cMYwNTl8Kp+5qljPeyH5xvTGnnaoPEZPrEMAPX9pm/gbrNzW12amF8e23Rj1yE2m2is7OPxn5jk/199LkGWdW00aupbwWLZoXdfNc8B76lJW904ziQbSbfT972+Hk7E/6EZN+pWZuSXcbgcs9fu9W7AIu7klfRQE0b76eA+LeXKDbN4e/lu5Dcz7Ynz2+WhsFhjorgiojVXbGm8JS/pjbxSRKLgh6YKR2tXjitwZrKRXRIC1kuwzGdj3HqoCC/y/AgLhUZm7+Nbzfbb6gmh15Y2LFMiBZ3bslWBIwdMsHAkZmPXXlu2Gf0HU9/AU694uOpo/p8J4SyFTjyew/fbubzVMiAfGBr+L6ptr2srw8kjzMfGm8XsEMkfI/7RYuVLVANjzqyUPj7CLw/wuxZKXHs2t3l39A4KkKyQQ+ip+E5Cf804QRGjGiR6shcSHvj/OWCzU4ZFfOn8OjdpY36YjVh53xq5bD6qEWBKJrn+ehB+6waA0sUo6f3EWuErRRQ25+SELUGmV7hyPOSGDpQFEexA+YDzqnAMgH8lLn8SmBh8frrXF9fDE7i1lN5ueYO2xI15CxOcmCMYgtgs0SnBNnvK/wtANWePTvEeLk9CasMb9Evb8oauSyx3H5XnOaDyP1Gugtpek9flifea/FdczuOJ7Jy5ZvabPnQ+Iw0kt7/QHNSVGQjzI7qilB1CRWkHRRmTiOUDKY5A6IodVu4YgV8B9mFRZ1TqaYpRi6MR0IhKTrBt9WlWMdqjIvhW3gZKLiVSpApeG/vkAIl6Ro4KOhIopQh+qFZlXB/5UkpZS9Xid7tiKgz1jN0yhOmv+MH93V8UDChjNQDE1GrPQn6nAbL8xLJH/EVP05zeXYu0jYu/qWZjbDUd0ms0L5EIZATJXQ+mMoKkP8EvusZ4CQbDZRywhx3Wcf/cMh9xdwNitBC4WtkLpw6BQk9i0KYooKBCay53osY1PRShf86NO08JIlEbWYkmpwI0Rz0emZmMu21EkdGuyDFm2PPCIzvkEhZAWhL88i50vGezbjIkAV510Kb8d7QDHYEgYFKWdhmGQxUENkCPnMDZmJfffeKqtPHqddewLEfr2dEgpo0cAzcdtSvbhiv0A0sEWakWgiHemL","layer_level":1},{"id":"0b53bbc1-ce50-4684-a2f7-ae29594e0f39","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"雪花算法ID配置","description":"snowflake-config","prompt":"为雪花算法ID配置模块创建详细文档。说明分布式ID生成器的配置参数、机器ID分配策略和时间戳同步机制。详细介绍SnowflakeIdWorker的实现原理,包括位分配、时钟回拨处理和并发安全保证。解释自定义ID生成器的扩展方法和与MyBatis Plus的集成方式。提供ID冲突检测、性能监控和故障恢复的最佳实践。","parent_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","order":4,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/SnowflakeProperties.java,crm-base/src/main/java/com/crm/base/config/SnowflakeIdWorker.java,crm-base/src/main/java/com/crm/base/config/CustomIdGenerator.java","gmt_create":"2026-08-01T10:24:08.1671452+08:00","gmt_modified":"2026-08-01T10:53:14.1179785+08:00","raw_data":"WikiEncrypted:+MDtuQf/CrU+GPGCmJIlUAWatFugmTR1Q/9qKAnK0F9npsBq76uWSQ+z0qjFN/qbmgzx/IPAksjVEBxxk4cRucLYJJDc2AMNWW0GU6gWMFFbUm+uysku4mjXKTuDrGV1AQlC2bC1wpt/kcSmg021gKDXxo1xxbtXFEtjP3vG1kt2dhkO5xHQZIRE+0Y7faOi91JpewjmQ/s3WYn5FAY+9Fw76q0EcZbGcyvrjPxQ6uKyEZYLBPj+KY6SL+MSx0uHcGjyP3vjzv/ttnMHp/G+DLCmWkCpOcPKBFzdTL8/mE0f7FaC4WPzNspkJ+lAHIuugxqhW4u50g4v55Rqcnu9JkhUlQDE4js5EdMgRDaIQf7TKlZ1uH4zof/UGairWE/8YYX5fCSdCl3qSkEzF1ByJODpdZcFpZBfpt03wK1t1naE1dDvCla/p//np43VsASp+h4kAM+LQeXhcrCvhU8MxsYyENCOGOdEb0Q6gPqiKmfRHY7WLFDBXvJnlFNR1P169n9X8Vrm/MmOV+qpbfLeCkM9jTINkNDKj6DzfrFr+L6GLyppdO8gVU23rcjLZMlPSDiPM33VwExe/3stcsbYiB9LNAQqHwLvn5kfzC8soOOwcV+20gpM0gYfkUhA7Kh/0/CkL5tLjmC/g2/v7H8o7dd2ckIINXhNCBhGeiUnYaXSO5dZ8uXt1f6WudyGc3+gc5G7XWWkMAG1LoB3HCl/hHUhVaTBVfFrNpp+XyJhw2yA8swxypp6g28nVdtBoXjYbaPgZDP+jhSXhr4InWh0n1B2tp/gMOajHECcca5uRv8OV+qsuL/dxcU99RwKZOs37ZAoIy+BCXC021y0UMsGuteQJY4rvv+2J3fpVjOW/8xBpJHEAYLfOKCim4M2Blz0iwlVu6D+bI9Hz6ew7WAKcaGuaYprvx9qO1MqHDxBcQWIDcreh6+Tr9zNbISJXEP4jzMHRcXLCWTYEbJB8CqPT6k95xXrkx9SpOGMpF9p4X4X5st+mjH1LWblXq4O1f1Jcvw357ykauJkUhxsDUAaVYSCvMBq9hBD8aeMEsuy9529EN7PD47nR94lYnzOZ+tz4RIB9UxRB8u4SXpQ+GujXi7lChSJn0oIdqhjXKREb8TpOkRSWsSjqJiXAoKn3LuwhREXjgqA+/soPFQ1O8a6zs6VgO4PrLjSntN/xnbdrk8=","layer_level":2},{"id":"799920df-d704-4a40-8b78-ab17f08eea28","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"领域模型与实体","description":"domain-models","prompt":"为领域模型与实体创建详细文档。详细介绍认证相关的核心实体设计,包括AuthUser用户实体、AuthIdentity身份标识、SysDept部门实体、SysUserRole用户角色关联等。说明实体关系映射、枚举类型定义、数据验证规则。包含数据库表结构设计、字段含义说明、业务约束条件的详细解释和使用示例。","parent_id":"ac97848d-30cb-4326-a786-d6ff15c3b403","order":4,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/domain/entity/AuthUser.java,crm-auth/src/main/java/com/crm/auth/domain/entity/AuthIdentity.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysDept.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysUserRole.java,crm-auth/src/main/java/com/crm/auth/domain/enums/IdentityTypeEnum.java","gmt_create":"2026-08-01T10:24:19.0172952+08:00","gmt_modified":"2026-08-01T10:57:28.1691121+08:00","raw_data":"WikiEncrypted:JLXqlo28VAn5UOPLsLiQgcwzmZVo55gd2CQnKq2/+OInh1zUVwMm0fz8kiLm/K6lT8NVWEGmOq7DXOLYCLRCGQ7qTMu8kuWjhOmR4QSseSxFtt3wCWar/ZLGZL4RL+lChd2urHaBV0xeLGHCX/eBKr4qACa5C6mnAHc45lL1XhZXBaU1TnpX0KZPjBRp6UrR6ok8tV/9DHY0T6dZ21KbDUKqRO+97Mmr/i2nwef3sq0nPlL9ok5iIqX3F6dsoYbvQE9OuBrY8Fz74reg3YDVa5anHjEVeiz/f25QqoyH1Y+F6fxvN/3PMusLy1eb5gBkL6S1V9A+IMgYSdDABVhds37ecYQKQY4twgAO0ao0lWMRVXuM4DSdmoLiCtO2KJu64kVTGWTdz/8BUymtEM1VoqK4xVcR2Yom+CpowEX8+SCUH+wwzwhbOjj7j6aAz7zQUYNxvxWN0MD8FHbPzOAnYwQm0kvEzOKYgHaufNwNwzp/GiEUui42GFzDrWpMuzTntuxb9vsHPfrRwr7MaoHejIAro/OP4JQjyqumht968prh5Wo86uIyv7N3TG4BnjEYr1sQB5CfnS4CIgD2ZtART9h3He8LHYzV2jO8iQ0qS6Sl3bBQSXsVWcXcjfdvcQlogKWEVAHHScase3aQUBg79CsTcASDjYcBsOwXKL64vfTRKuaTAcPDcwXPlhRxPvLIa2XYfrZVvJHiT4MHRBsgAmKcp/mtSPrEpBMDlZmCtbBZMezpEymDWEuZhwQZ/yeJB4aobII4uI2zmLZS/YFC0K0MbGdoexTY4Ods+pTBBEoIP2SmIYQi9bF5+Lf+YFPKmIuW1LJlLR3dU6ypJpFcORj4c37yWZseUHD3uq0KW9O14q03qBpyycYW2iSAeCPss1PCX3EjTxiSJPu6KlC3JuQkmx3vFpu/fuI1Og3n+TgVyxH9M8EtQliCNFa4ONas1vGDKcSa4pVmmZhO8OsZS9cWJuF+ZKLT4xvNR6hkzAMp9hilD6619+7S57Aob03HPsdn7Q1gp2W2OPvRcGPD7FzD4zCE6yZg0nvUeP/lunzvfklMQBhSWedNWxZuEFWGLD9CBoJXxGX+IRpjpOMXtJ6/t0IPAkKoaeqTpSXceumwnxyn50NyJhl9hu3afa4TSc2EGPYhHZCa4DyBUGY47i3nGu5BOhkD9M+iKsiiaJEBHKFF7GFAaMD+PXcyEN3s12Rx09+7W9adgnLgcQBLBQE9hunBGTdneR2MRkdObXiNgtFUK+R9IH8wQHaJt1JKQqUvZez9E5zZ97qW6eOdvbsVboGeh/6KDBNU6I4T3fA4AIOqnlgzPkJ5ilGpr+3nta4aFflPk/y7s8BRkQ/bfw==","layer_level":3},{"id":"c9034e8c-7793-4960-b47c-77f33ee8b077","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"定时任务","description":"scheduled-tasks","prompt":"创建定时任务的开发指南。详细介绍Spring Schedule的使用方法,包括@Scheduled注解、Cron表达式、任务调度器等核心概念。以OrphanChunkCleanupTask为例,展示文件清理任务的实现模式,包括任务执行、异常处理、日志记录等最佳实践。说明分布式环境下的任务调度方案,包括任务分片、负载均衡、故障转移等机制。提供任务监控和运维指南,包括执行状态查看、性能分析、问题排查等方法。","parent_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","order":4,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/task/OrphanChunkCleanupTask.java,crm-base/src/main/java/com/crm/base/config/ScheduledTaskProperties.java","gmt_create":"2026-08-01T10:24:20.4896499+08:00","gmt_modified":"2026-08-01T10:53:29.0593661+08:00","raw_data":"WikiEncrypted:Ixm4kI/Z7v0V3JxitGlz9bFyqW2cr1LVt5A7ucLAmvwkvuWQQzphG84jLlm910MQnUT7BYeP1ROlSBRDJ+UdL9g7qxbiIEEV6YW6fcLhsHEgiLsZHPkF/r449s3+mp9Y9Pzf0ZLgk2BtJcM8jT2F8LFjHum7Rkk1uTNIseNh5oLSj+Sdlns0zvTLHlU2FL8dvYLT1k8NsFfGoQjnFrr06eUnUOZmVEtp/UHb8YNnv9x47vASVIOEfrjHxt9iAHJHzSFXUftlxhi2J2tmtRgE0RQQqk24vQJy9YRWQSLkHHnFxv1mGIrRzmpo5m3k6ysuCrxhc16hRXJhT8D0/C3dVBTp/Dx6PxvmO9qrsSR0dczWCxjZHea9bj/Lf1EyE+mlWGOlKrQ7LyIMqrmCK3JHKyHu3YpXNDVOb347/sgB/9zb34eWx3nDxCQP/97VovRyEkpVZYU/89soVk6EsjLpmrDWIfhJXp7gTf8QCo8IF1bvNLDzQSOmioqvERA6NWbeKA6ZU6oiZo0lUbeIIBmlbMHxWwM9dGePnVFhkUXiiY/5j61Fz2UtRv4Hyk3YZXMFLbcfDnpnbTU1CKNXBzrV2xbsBcwXWO/IFqLcJmpNBGHzbJYGVnDd1vybASQVdcIrIl/wPTZzCxSWzl3xuMJbrKIWGwLDfndtusQ9aRvldw/KNeahM0D8M4eSQTMt28Wviw+a8mo0W6bfjJGe0h9ytT/oPYaFiSBI6eyzE3/z2xDSfRGm2O4gBDkK+0twQEqIfaGcfonXWTlDklg2WU45gR/GN96KvtAiEbo9xhxCfXi23b1cnIlGWM6FlSy89qfFpHOvZiqSaUl8Ehb05JO0A8Ga2l1X/JlYoDX7oBjLsamHQXvj9ACc60Qi2dx1NadJ6hZ/1B4kANx5zLvsVea8t1pLXiDDeexugwQhSwnzxhkn7KMF5XX/nh/5sMfRXf6J/Nr4GXj0v09RaMKiUPhKjdhBsN05jS3rW50Bi1UNgwQ3xfjNtqG2JJqzlHy3vf3v5P1M8CZclc6VmvUcthBPUlLw5+dya2u+8K11KOFK5F5+29uMUENNbnVgAvyTZOiNL6aV+03z4plxCqsONMmYCJrvshZsYBwsfD3KiupZdf9kXv6cH3trzLsUOhKa4lbg9r+SDT0aLJejjLeHZbfW5jVtdMzpXq3wcNt53gK4dTSLNtfW4S0d4eLTl5HmqEyc7LFr8jflZKaE7jxKjDgvRA==","layer_level":2},{"id":"0acdb7e6-b7ce-42d9-a976-a8183cbcfc53","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"安全与权限控制","description":"security-permission","prompt":"创建安全与权限控制的详细文档。详细介绍数据权限注解@DataScope、数据范围助手DataScopeHelper、可见性上下文DataVisibilityContext的设计和使用。说明登录用户信息LoginUser、安全工具类SecurityUtils的功能。包含权限验证流程、数据隔离机制、安全最佳实践。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":4,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/security/DataScope.java,crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java,crm-base/src/main/java/com/crm/base/security/DataVisibilityContext.java,crm-base/src/main/java/com/crm/base/security/LoginUser.java,crm-base/src/main/java/com/crm/base/security/SecurityUtils.java","gmt_create":"2026-08-01T10:24:24.4053684+08:00","gmt_modified":"2026-08-01T10:57:37.8280009+08:00","raw_data":"WikiEncrypted:JNhY5K+GVMrcGagKRy9MkwBI59Ej+3gMDt2j1xeU/NCPBzDWzQeUrspM29zhKrqBqKH3sflVg9BLi+WB1IQIYW0pLoGJmCXO3+ICBxJrJ2AzQ6/Dxi4Cjvg1IukCLfrrWrjkWYr+eAQ/tQu6aQzR6T6uUxN97u6Oh81xwYS0pfQK1a+LJzbfxGLQvFB/JttDFFUYdLGSBxURQGp4w5y39QY0kND6RK2PzySdAz3vShFipcusxGska4rP9gG4n/NPizRIGc3KuTZqrwXo+/6jsi9XW9pkKixxxSIjsKwLDOlGwVtP4EdGcpyfgs+9E24GJLFOdPS6S/87itw4/KgoFm/dKsw9lzFrqIdl5MFFV9ObJH+zyH+6dxo98vVlgSdU6IqD0bfWamsrC8dXWAfyKhnwvXF0eFXAQMVdYVD52S28ATNsmow+gqXYfeoO4l9Wv923fnkfaj7CavrXOGf/U5lpTYKa//39HZMw324fhXM8hoh79qd/OQ1kdX0Esq4FlSVFG70M8B1ZvPo0ca/LjaqeHyV7+JnmJ/5GyJAWm/IqifreGC1QdGn2/WuLr6U0fhQnci2jTSW88X8wTaGE3bzT7jS8DnpWWpmiZXQ4hzInUIvuc54gPSnstH7hopMKKOSMXF6NNhO+MorxiyS6HG1V06X0PLK4C4UhY4k1ZugRY9tHaBIWyqMhhT1VyVXfj0cBmQpbuPjHLNgHey6Aep3th6V9PtSSG9UVCe5RRFyCeHdUs9n0ShYAFlzF/E7XOxF6+aulmKNLAo11UGQhBfVt3MbgnexeayhBWr5qz4xUvGFqxwqTikOgVvMJikkTwg6LO8u2dkLOzQ+OH2fx2QGp7iqFN2dp2fJfmLx7vELR5Kb5Cf7EkcKvY1uRHdiF3xyjFPgwKlQKxH0C518juXsgdkXXVZ+sUdwGulkmCMQEyCY8Fgxi4QHd27IwDrZKT0GxjLylZSgzTfU3KklWEXO+e2QSSbP6lAqfPtpzqoK1B/avhi2Wx45CAGu8XkiXylOqGA7ZYSfJPvyuZCTAbdEKZrqJMzLUJC51YFFhvrq0BeDOjzT4oJNiZswe3kzGAe52P+o9XvbzQiuf8kfzo/PASbhcUzJ0IP5T5uZII7ZEjpwueJxk94FK/JQ1nMzcb3nXbTaMfzYuIVyl0iXto83JtJma1bUN504G36J/Yi2fSKTxt24ykT6UgemSY9Xq8p+nC5Ocy7IrIZNOAAgoCg==","layer_level":3},{"id":"61603fbe-2a48-4f60-89e4-cdf37e119d32","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"文件服务","description":"file-service","prompt":"为文件服务创建详细的技术文档。全面介绍文件上传下载、分片上传、断点续传、文件预览、批量操作等功能。详细说明MinIO对象存储集成、文件元数据管理、异步任务处理、清理任务调度等核心技术。包含文件API接口规范、错误处理机制、性能优化策略。提供完整的配置指南、客户端集成示例和最佳实践建议。解释文件生命周期管理和存储空间优化方案。","order":5,"progress_status":"completed","dependent_files":"crm-file/src/main/java/com/crm/file/controller/FileController.java,crm-file/src/main/java/com/crm/file/service/IFileInfoService.java,crm-file/src/main/java/com/crm/file/config/MinioConfig.java,crm-file/src/main/java/com/crm/file/task/OrphanChunkCleanupTask.java","gmt_create":"2026-08-01T10:23:12.9572792+08:00","gmt_modified":"2026-08-01T10:26:52.2775384+08:00","raw_data":"WikiEncrypted:l1O7XWjgWHyLZEgkeZtuwXvYp2TlDw0RF6jqO3EAYPBHaHXLKSgUaTdobJ/2kMXSlFVFJCuB3CpvejXJiXEhzQ825Q8DH08RKwXQgD4NIAdZvDOrpdpxpWW5yNDFJD30g6qgZfBWBLcy9GiZHVMKgeJ4dyLpn+SPlbO+GLeGLnU92bU7PWRmi7M/0giu8eI7WiAfwvZhYoljRpTNEiPABvB57FZPHIX+sdNRvOdtxIr+Sku5g/d5x/n3h43wTh0P6dd5W87A9UrXaQ4Bhu/oTkYnCUe5kJbvsVwrzYCF/Kn7PIqHfSqzx2bG0IHb9L6Vvz8TEZB6O4zpEPCtlt2fovhXKr8C7Fjl4zlZNziWHgIc6clxrPIL4dCllIVVE6r1iPYNBLbkSftfZGT2a4OZcQKB8xPYHAC3A6SIfeSUkJzZGD7QWdSlZnU/ZecjPArmA5YMPxhP0ns8Ijo6446Yy5U7IhO1u4hM2Wn7IJqY6TiD2rwPEUXLvVrHIo525RjMl1fk9+JhD0fWZK6Z5vXDASho1Kz50V6cI3s+cEJgdh8rifF+UpRMXp2lDaB3gY1/7x+Js6lza1iP5CL2qKKPSM/6/XgNm2judBRMmwJAQ0CcHvLBCj7wQe624nlAx6I7TjVGGZSNH2bd3kR7h7jcB60EjbN6nfLgaxk0XfD7XVD11IqE3iXmj+PNCJJvkqT9dhsTrf5J9Rq/WxkR0we1eZ+UwS8zueAE+lSslUC1DtCUgfpnxYKNeGRdOpq/ZwSnOlxUuNy5POMV/cC799rb7cgNKlRX7Gi3evv6tS1UL8QGvz4V19kQ9wm3usluk1h6vcN7o6yW7oKtM2j/23KKaDvcLaPFGne6s6FMpl8wSc/J18uObz4/wf5sLw72rknWYi2BpVo936BelJ7fug/ZsYAIz1VsFdeGfuF6m4tF+lAFNHpGfJTNAoTkZ1d1wQxvfcO0RZT2NUfF3DuwmUvLMCHXdsVdksOAdpFrkYYdKW22cokspXfvhIB7hcVemY/+MVKX8jaWpbyGkE0ZJ7AvbH1heGAQhgxkK2t1rt6rUh5kOY6L7275DNM5iCsQBNYezPTIhyygguyoX9/WrVI8nsGrCe/WyaNOuwoUqvNwZuveC2fwkRb3CW/vVdXStN+LD1fQ4F7AavZr4KXZhS1awDagrNeWQQSSwmdVm1+ooSzS88vC5c82+qmxsEqhI8ont4jioat36wCFxPKCntXzh4Sp38+HeCqussBL0a6QHeBhFOZ6zzmPLtJyHCL/ln0/jye+HwbnucK56xdbAb4ZXX33b1yjSrXKYz6nzA9EDSO6a/vidz7w8OVRGqP6XIx43Fg8NVj2PvAFK0EEc0RR+vic4/DUomk5/TjmwMkJk7zzHhm2TjR6tLowJyVohsClyB14sJPCtG8FpKQLzSA5HQ=="},{"id":"7bca2b84-ceac-4312-8616-600dbfc11b6b","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据权限控制","description":"data-scope","prompt":"为数据权限控制模块创建详细的技术文档。全面介绍数据权限的设计理念,详细说明@DataScope注解的使用方法、数据范围级别的定义、SQL自动注入机制等核心功能。阐述数据权限拦截器的工作原理、表名映射规则、权限计算逻辑。包含自定义数据权限规则的实现方法和性能优化建议。提供完整的数据权限配置示例和调试技巧。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":5,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/security/DataScopeInterceptor.java,crm-auth/src/main/java/com/crm/auth/security/DataScopeTables.java,crm-base/src/main/java/com/crm/base/annotation/DataScope.java,crm-base/src/main/java/com/crm/base/security/DataScopeHelper.java","gmt_create":"2026-08-01T10:23:32.4997591+08:00","gmt_modified":"2026-08-01T10:45:02.75586+08:00","raw_data":"WikiEncrypted:yP6vl3GzzNMVOI7+ToNUFVJjo06Xm/aTFjbW0TM80KJ+D9r8XALOXJTPQ1TlWlLnd85arTMDczZkTayhK8ZAskIMy5rgB0bLSKIqNCWW1hTKmpez+IW/fLbI1YpIqsoFsi1GUMjN+gCfj5+B4DpJz7PmkyDR+UAatHymr3qRPWcuJLBLI+Ls6KNsv1d7oG69Cuy3ftQ37xu7CWhcnUO6ZGzTBgS0MmOB6wt/9L4RXb+8BFUnBszCa9ScibqLcrpj1GiUeljePBa1YThQK9V1J7VJ+lyRatqsMFFu08CIagaHW7jrTnd7enAy8j5sd1BQ8oe9SziDzJ31p5tkfFPPf230bzKyJYL4ArjMNgDGVivIvJJafU+nZEKWhnnkogblHQa84JLhe4O/vMiaiQlbo7AGZGZUN4SqflOEaGBAHd6es+GkUle59zcVyayNUmcpIalFYhCJ8NqLnWDp8ivcUrYM/1qNDHkeQVpchVwh2jV6pLn4giPBwPxUAmQc+OB5wX2RU9t2sZKpQId3QO/vNohI4KxSbi5dQLX4uQqsdCDVLXksZw1dRbyH2JmQgfW9krtBZBEY/LKdvZkNYXaW/FBwlDRMyRjv60hW2EwJFPw6jwAwS0Jbb8aplmFRJ87FnBW0PlOu0KsviI2JsonjuEITtZmVN3sYPT7zI+wIllkaO7jbPiT6v6Z3ocpbmpt5w2gS5+fKgAX2k8p3yxEk/hDkhSL9W0tmj6j9mkNB3CiJkFx06+d09Q/CUJeGzS/JdukYY6aa3W0gJvfsVifNoJNFW6VzY+U6wg7Mq/UPUGJhGdKMM3AAbeI8W6kAccvUrtjNr98KzrBGt+om1AqUG+cduLrp9N+0bfOHHR1cFjOvqTgYG/Xon2GdqmlniKPaZdcNYO28tz3fRw5nMX1az405TK15/3pCw2+NkituCGv/IrzZT7AgucYgA0MJHp7ujawd+9JJhffaCbqFxVNhJxVTKt/Y8Of/EpzJKU7YjfAYJiohDsvD+eKl/zESfTZzSXeCP513YLXQymUETea56yrxRkRF8UKcGcY2W5oDXoQcTIMZwfTpqFLCJjdT1xHiz6Mrote9vkrqvqJEIrKJ/RhpqUnHZnLH/tq63kG2/2R+t6YEoiOjvBlXaMw3beXYxKRHBMcl7ZWPiEWErPMFAz4ksTHupJRb8lnT51Lii4I9x60u+lq+gH9lY2URywLVcckwCwnoUSw6GBaHp2NppMaM2VCD5d0a9OWHtITw+CxUk6/W4Iu2ajwXNMSkHwH9io1z0aqTSLUNI4gYs6XlsvVa1mavY7u5CH5IVngEFzRQi8xR5332OIRz3IqrbRlm","layer_level":1},{"id":"748c4203-f0c2-4cb1-ba70-419232bb95ee","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"工具类库","description":"utils-tools","prompt":"为工具类库创建全面文档。详细介绍PageConverter分页转换工具、BeanCopyUtils对象拷贝工具、EnumUtils枚举工具、ExcelUtil Excel文件处理工具等常用工具类。说明TreeUtils树形结构处理、AssertUtils断言工具、ServletUtils Servlet工具等的功能和使用方法。提供各工具类的API参考、使用示例和性能优化建议。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":5,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/utils/PageConverter.java,crm-base/src/main/java/com/crm/base/utils/BeanCopyUtils.java,crm-base/src/main/java/com/crm/base/utils/EnumUtils.java,crm-base/src/main/java/com/crm/base/utils/ExcelUtil.java,crm-base/src/main/java/com/crm/base/utils/TreeUtils.java,crm-base/src/main/java/com/crm/base/utils/AssertUtils.java,crm-base/src/main/java/com/crm/base/utils/ServletUtils.java","gmt_create":"2026-08-01T10:23:41.052918+08:00","gmt_modified":"2026-08-01T10:44:52.2420638+08:00","raw_data":"WikiEncrypted:xMGPTkeCxttYfKYvvBbBOQfnyF1TdBFJd2iZiksLsdkpqAKWf0QguRDQ0vJGAISAfebMm9j2B+kSr1VfHowO7vxt+ODSAvtZ6Ry7e+5MIAkS6ZCftj/EMtYDuR2evN9jbDJcV1vUbuWZQNf79XTEuELUtbkceHso042+O+jAeTlIxMA4AjlJftgpqW99eowad3JhYuk3iALeBxAmuDasVF2KwyineOTHYPq+k6/0IXfngZi4VpBAh73dMr50OcezSkwzd2Z+RfLJJ7V5RovZEUUhkR3UoFBM0CsoeT2NbOMl/fnhVcp9oGCdVBwNJkwnDsElnLDcnR9aMIiWJj3Olu+qHtjcCsHshe4vWWWfhiXis4bD6bmNR4JgG1N1iKkxtU9Xp3Ca8WYPQ8BzHtkOJ0EG1dsWRBSb1ydCd64Wf6sb3WPXBVPNJuz0fUrAHZ8sQ01USVRSicCHmtqAvDm4bosZHS98FX3sPI3/PEeqFIfHz+gLu4GOMxc32ueo6nduO0eGSvqxtDhbbL3YU4rgNA6nZPgtuZVNBRZsEnBrx3q5KY4VfDDm75Tz3zKIgYcvxcC0yGK57fJT8yuo0FWWCJW8Rb5G9Vc+5pMNhnO77Nlw197a9a0crXdsi7df6y+cBnuUe1mkwUzu4gCP0NWiTKgnIe9FbHpqWP+HsNe0+S5YdjYd8xe4N/aX3/FViqNL8hR8VXVkpKgvU7qlranAmyb7OpsiirG2Qtj/NY3QCmojo7ZhjpbtAWlhE3FJTLxy4CF7tSo4THRhwj/m3Pq5ME1h5cNuUgIgcN5omRnRl1APw+x7YQMf6wYIT6Ga0ODg/slKeT9LF6vU5LXU3q4sMiRXdmjiloJm7BlVgsEXqgXjEUuhk+Pe23uCkJ7wve4VbCA/duuyXZiQgXWYT1xSbYrRnqcXpfin+Q5MU+Rj4htQlvs3mawZI4lGsZky98uM1TVkd0j9GrMHVMFeh4BoKyjt75Z5wxmgEuaOZdjOqc4zLJVSlsNtOrqW7rDDR2qrQdwPhue6tye+a6DY0/wiEnV121/6gfzJxxQGV1P5BTyeyFLZxl719jXHvcDU8HAfTMhukWQ1dwpZNq6dnTy+vRS6HHwZVwLs25GLiagsniRvusbrBpxh8/xfljCLx3d1r8K95M3K5GdYZz7VpCMYv60rbfsigzfqABGOsAznlteL9RkxOxtirVjCzVVm8/hdBmwRIAcp6gpvvxv1xIXe7KIPMzAG/+bJbXKEmSyjGFnFkXR233LywVpMpa5QypK8t7HDB58K9Sn625T00bx/lDh2tS/k3gVWhPMaI21IdT6bprYEAiyBy5wJ0fT3KX2FbwBtCpSVDN36dU045Lw93ArBnBQgeVOc9NZR23PSq0hm2yz7X7T2nWWHYT/SwD/J/SyPWGDZx98pGrqoL7aJnBHUldETzQcycPv8iTZiSFk=","layer_level":1},{"id":"4b1f3f45-64c2-4894-baa6-28d84b08be88","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"雪花算法配置","description":"snowflake-configuration","prompt":"创建雪花算法配置详细文档。详细介绍分布式ID生成器的配置和使用,包括机器ID配置、数据中心ID配置、序列号配置、时钟回拨处理。包含自定义ID生成器实现、ID生成策略选择、ID格式规范。提供高可用配置、性能优化、故障恢复方案。包含ID冲突检测和处理机制。","parent_id":"1b327205-aef1-4e95-ba67-51808ac20eea","order":5,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/SnowflakeProperties.java,crm-base/src/main/java/com/crm/base/config/SnowflakeIdWorker.java,crm-base/src/main/java/com/crm/base/config/CustomIdGenerator.java","gmt_create":"2026-08-01T10:23:56.6332007+08:00","gmt_modified":"2026-08-01T10:45:02.6558417+08:00","raw_data":"WikiEncrypted:+MDtuQf/CrU+GPGCmJIlUESC35GEIbHn67UjAE1THeTaUnXxJ6FYWxUA4AG09efqXkhP3cVN1GqEfw8w1Zss8p27k5E2RkNeI8kkJocxTAm5T8X7odwZ6dn2HGcgwOIH4rjB1IPeebMjDXakysJfJ/Meicww3qdkF5ul4XAQ0oUengPG9oudGIiJgnrYnomg4cLLzd+g/bigkM2Cf/AdZYnScZNRyXCEZMwWNE35DURMO8SIMSJUPHE3aQujyUQy2DenBy7cIluRKXSxztFeuO6iXaG4I/JTP5yHSuGxPwQzAQtpeQkxrcor8jvmnVs14wwI24wwOS09HKlbZj6Ybc1iKa4qCUJDZBXjSfWKVVtRM/2YWIE7ea3qi3BEsR3awvP9hujdmrsI5kjyoT9Rcw7XM/w5SSEfv7XEmJusbxH5ZfjgmbWJiRWosrF38VumtAEdVImjBtCaB7YOiYQWfkEOK5A6qwFesb1hX/C98kb7om9v7k2wvbm3kA55Gahb6HnD1O80QeLryNAYEj4l4BW+h1jUYGYzWmvYynaJMdqaghkJOg21mN5fxggyUFzZUC0RTctcPBWUMoS2hNaM8Bs1nZ3LWRl7YQA8wgPw83FEYdvW7czxcLQRkCz/RDNY1JolOFHaaWfqZ8MQv7MA1kEHSRNjzdDOXUGsuLhBrJlTnleTJG0UOVluDZkphJ0uW+W8OeOdv05fS8BqZh9H8eUTb4etyY7n7PbRQjEVgyjWMoYBPu9edCJ0k8mYySw3G637pDv1OrytVz7SwU/IZQ1UFx32ux6sEcDM2Brj52hbW4FauArgp11CKVCPrikfeO2BpGnc22Q40TagMIV1RaBWihIOcDxIHccCQcOxyZBxh38NaS5LIAnUB/6lNWLh39ZiZ4p1ofMOyis9sYDwKTLoW3kjH87kdao9MLrLZjgbFQxII7ho4XLRGDMCk8YfcttOVVOY1MCKyd4mUVNGmSpWyrGwOh98uHTkpMtQxtWAPhco8GxuEm3l2GAX5YT1IXuDmQ+521x/yauCZ5A+T/TDpr/ms/oVsnzJKLEFfxlp6tVsi6g6fOw8PYyv/xTf","layer_level":1},{"id":"13592bb1-8d46-48d8-98f5-4828595924ff","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"跨域配置","description":"cors-config","prompt":"为跨域配置模块创建详细文档。说明CORS策略配置、允许的域名和方法集合、凭证处理等核心设置。详细介绍动态跨域配置、条件性跨域启用和安全最佳实践。解释预检请求处理、响应头定制和性能优化技巧。提供开发环境和生产环境的差异化配置方案和常见问题排查方法。","parent_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","order":5,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/CorsConfig.java","gmt_create":"2026-08-01T10:24:08.1671452+08:00","gmt_modified":"2026-08-01T10:53:35.5334797+08:00","raw_data":"WikiEncrypted:4VOItIqKRX1STtVxuD5VPZWrRiX2WBsf9WnN4j7+lO3KVtWP9pAct6+Hn6eH+6oE6k/sWcYQ9yPPuEAMfNMlaA//OGKD8E6VGIjcrcFPBd3VXoCwiIiMwmghcu0Svvu97FzOLd8/iz39b0l2FdW7WAOiqK4A8msDUcczmXtAx/g/k7K/gPCGjwYSGPyOYgd8dUneUDSCLFWkx1CMctFBTCOITk8sMFHPaV3g1eWcxdZ7ISwzHAL/KQV6XyPRVq5Q5XTU5kHTVmsJaqZ/xiyFWa2fwIUqe6nNdB/baKppTxlJ1rDa4ObE+O9FOqPk+wkvRgTPUD1Mdtg8a2rySVe1o6Z759O2qQNY3rur8x74O+QioK7hkKpjG+9BjQhAW9jYpWqJvvr9xNvQ2DJrmB5TlxrQjMqV7XTbOyyLN32qY1Fn+gNnL46ACMQs2fm5NhDhqBwlgLW1iJQW4VyVXYkt0H4gMxl9HkFidevB1cXpHJYZYnnsDXEwrerldR8hWkpcnhb6W3rz/yznmbLC6YS+dn1LGYDj7a3q/384DNeaTD0SHKaPABsZixQhiq/SWZ9tCQxbw2NA3MC6+066WFBHejc1IL3nkmK8rgBz5kv7VE7On7pw9mLSt5vyFcynvH+HAvveFBxaAUCYDEq8NWVvVuDBKvgxmJtLkMIr3zdTKk+TiJJ7S5UxVJENTgVKjlm2NNleqdBPTEL8eEj+UN/kkSOBkT5/WEqujRRysHTVfAZ4kw4qE00ct8Zgw96uLyLDFN90IzaCG0WsohWKuIGVfxy3W22BOy/aWsAiB64OkcPOMfIC9KC06Hn0uUVOd7wzE+ZYub6c87QvIUD0vQDsokYBJ9t/k/8ei82YKkmH3B8hVHqMKk9FCstqIJVzQLBW","layer_level":2},{"id":"a4520266-217d-4939-b2f4-6b13109b47cd","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"性能优化","description":"performance-optimization","prompt":"创建性能优化的综合指南。详细介绍应用层面的优化策略,包括数据库查询优化、内存管理、线程池配置等。说明HTTP层面的优化技术,包括响应压缩、缓存策略、连接池配置等。以PageConverter为例,展示分页查询的性能优化方法。提供JVM调优建议,包括堆内存配置、GC策略、监控指标等。包含性能测试工具的使用方法和性能瓶颈定位技巧。","parent_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","order":5,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/CorsConfig.java,crm-base/src/main/java/com/crm/base/config/JacksonConfig.java,crm-base/src/main/java/com/crm/base/utils/PageConverter.java","gmt_create":"2026-08-01T10:24:20.4896499+08:00","gmt_modified":"2026-08-01T10:54:07.1244715+08:00","raw_data":"WikiEncrypted:9uOBpMbLX4DyZqW4us3Wm3Q7klXxmeD+JMMoGiSO2oNryWBo1gw9kLkawvxQIW9CASZSiyAjiA/zeT5DwD4S8MWCvsWhjZOFxN3sfhf3ZPmmaEtvRuT1+/0U4XurSrWkAqX+/o/dPiV0SlMszxbF45VqOojnRNagFyTVX1QEpErDHjK6d4mPViP3CiRzhfFnRA3tXUzWAjsZBr0+CzN/k7C/oqvIgc6kWeccf3HiUYr68TMmZ3d7ksuA86f3kP5BlrKMpxsi+TWUzb45r2cw2J6VFHCyRfxrVSGBefd+vdKXbN0McBZe/7KrbBnjHLZ8CrYAU5ufcIMY3yCD6b+M+S1k9kSgu4WfLhQ+3Yxs5LpwrWKuYmuLE7WPHHYee71Mxli3mmOWCAS7nYMHltVlChJOoDjtScdS6peFIIopMkAieXxrHUN+1Uwzz9DsDe5Qd1ZQrd16B6sfS6/3QtcX7mxgAqpaa88QkduZKUshDtWgKRWSe6onTOCmKrGJi99Ptx2FhcPtdRPRvM592v2yd9xXJTB9pM3HOv6tkjSgi3YfiOLZzvKQl/MwLsJm3T+bH1LOCjuf9YPWzp0a2J+60d5waeE4OthwSL02I3iQkP3YDFBATB8t/sMBY7zt/WnAt6O5hFNlrw3MiR/n5cWC3RyqLOxcYpSGhC/fPDbC/suJ5sJXZsAX03uSf1nWtk88SitlseTyEQ1NkaiVyD7g+xQgkI2WKbjN1SAp1+MlJ+7SnI2LFZK55owK/97koZUvjQhiLLOk6gkVOUElB5i+WgKUHuX4iuV8C1LvLRvPhVnQ4AwDfberPSatk1rrQXCBtlTXMbd5iwhWXsldLMD8SYNSG4sMMZYCWnh5xt+if/HoTp8b3d3zvmJw9zEXf/Ng2GqaM9FgQtiIG8v8V6LDcvOVOUobt6YSfDfthJ2JgOOZpjKS4MX+EgTjlUKVHjP9rMO1Cf75CyO3FTK54+lzWh7iBap4a+fv9cMIoG3taPgRoxDdUSA2q88sFNTSol7cW/IXZMWaOBWPNHjg3nzWy5FMrAS2OcB6OKq9XHHZnUg4r3ds4ds/RJBct36BMwx4hb4qHnA9Uq9QLTbaC5we9YHub3xlkKNY5jqzFZlmNdVPRnp5WOG3PQ0DU1ui6Y5uqM+xyqC9WApqrckjWRYnkUGcbT1R40iVSNn3VTwdH/krmfDA9SgOmLSB4xtZT8L1XFJX4oGVdq9yvh0JlSxQ+kxm2VG4DHATafXD1jdPIIg=","layer_level":2},{"id":"39497cd1-5018-4a0f-a5b9-d9963f6c202f","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"框架配置","description":"configuration","prompt":"创建框架配置的详细文档。详细介绍Jackson序列化配置、Redis缓存配置、雪花ID生成器SnowflakeIdWorker、元对象填充处理器MetaObjectFillHandler的配置和使用。说明各配置项的作用、默认值、自定义方式。包含配置优化建议和故障排查指南。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":5,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/config/JacksonConfig.java,crm-base/src/main/java/com/crm/base/config/RedisConfig.java,crm-base/src/main/java/com/crm/base/config/SnowflakeIdWorker.java,crm-base/src/main/java/com/crm/base/config/SnowflakeProperties.java,crm-base/src/main/java/com/crm/base/config/MetaObjectFillHandler.java","gmt_create":"2026-08-01T10:24:24.4058774+08:00","gmt_modified":"2026-08-01T10:57:54.4878207+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllB9TGvdYeEh4zcG1OGQGWJQxUKpAVjQcne4MtA+PKI8uZuGbHVvF7w8BB2jl/OBwHwKhczc/MJpPZdmTND1ox+fP7MxlhMDbjYZZy8/sdEQfVPthxuJgJnObUYc1upxOWEnwdAvI+gjZk516FZkpWDVm2FvcaIonw1AgDgpac2j4vboEH6ei6zwQdiuES40m99ZE+uatqzcI9DJWZ3OsGEq8zhu8Gb8+wBZE49mqIPGI0gmPjKyxa+HlVjMiLDd54ZWG5ZV59WSfbpDh8mmAgBaP3tuJ/J62bp4FrFhODpUBa4ocVA1WaDxZRBuRYTypb3UQTjCDmfIqalQaijnyCNCSINtBC9nY5j4tr6SwdUlVXRu+0jUiS23pgXg5G+PQLAqGr+IAVs0zSeld+sdwmkccAgdmNzdzQ6loO45M5j++HF2oN4LVjZ/Z9gNOuq3ZWK+zeD1tr2UFJm9G4Lt2zCT/h/UdbZ2+c1EgYmfR0ipK6a0osTgDW44Knnbm68yMqRj4ajCD1mcc60HwHHpUpQnvrlmOCCZICGRKSgkZ8KT77ZhH6tU+qkRRQDWK2PQmPqPPD8OaK+lCDHzHTjhrS/eo026Rb1ig8PKmd5b3EDxeaUwDLdpMuitfUnr3m81TU0z/jzxwUsKm+DKhX6ZPRD0jwM/VNpYgqyOM7K0t1FOHJJ/BpVcU5FOzbaRuH4OSmovf5G8Qp/Qxpdegz1Gl74XlvU0Q8dehInFQ1UXu2PJ02T4NSg1t2DBfv8yyRCUyG5V3EYyH5HOyNRI3nZ0e51LXYuL1GP/yd92n1e8RMoTyF3+pNvjuqD7X7K8Bfg4BIK0J+01W0vWvGz+EGKFKx+Ux+4A2VsaQfgYfGtUFRntTgWOCpQJfnwz59+kf5ZAZzokGHYaIZZ7EPC11+AXGeUWzvuiLR6bcT2LL6JqbkuXf6TwMtcRDWbVzOFt+XlSY8CkZurIvdq5f7KxCtx2dGHr3VQfPo8attqxxnMyE124KMAfk1ImjYW1bid1I+97P9EIEw0bXV6KWb0Pe6Xm2nBvzBiDixNmjVLQ+JaYFLAjKxsGLUKj+/umktfLYYHMfJOBkkuy687lEPIBWeiZuJ1nh+TOxWYEK6EIBfQxHRr2FetpdxmLrLUhP8g1TohcuCQ==","layer_level":3},{"id":"972dc29b-39fa-4e22-b4a9-d06594d5fb55","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"API参考文档","description":"api-reference","prompt":"创建完整的API参考文档。详细记录所有RESTful API接口的HTTP方法、URL路径、请求参数、响应格式、状态码和错误信息。包含认证接口的鉴权方式、文件上传接口的多部分表单格式、系统管理接口的权限要求。提供完整的请求响应示例、参数验证规则、业务约束条件。按功能模块组织API文档,包含接口测试用例和常见问题解答。确保前端开发者能够快速集成和理解所有接口规范。","order":6,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/controller/AuthController.java,crm-auth/src/main/java/com/crm/auth/controller/SystemController.java,crm-file/src/main/java/com/crm/file/controller/FileController.java","gmt_create":"2026-08-01T10:23:12.9572792+08:00","gmt_modified":"2026-08-01T10:28:01.6284073+08:00","raw_data":"WikiEncrypted:C34GewOyK1SlumqKiPsSg+WPNa2UHH7yP2PPjE4/OPkHS8z1Hn761hqag385wjgSGI8YqDrVu/o9V8BlKcXHBQfCKAhGLjJzH4D+QXx67Z3/qjMYf/zfxcCBUNaudBJ+j9FSL/FRlAQV9qdKc4An0mgnUigw3sZuhhHApuOjubIvSRB9R+8IQKe7cKMpKVuSea0h6Ki22a18uHrBW87lNsSxWBgOPinHdsCkzmv85jRlIkF9kXezwrfJA6IQA/JFRtYTXRQ9h2MycTojwAm0c/7CStbYRLfhn0UVkx5YlL6au7gnIXkTf25GQA2OmcaTq/5/nc4RVUofm56eK+NU6az8TCXELMace1PT6seIn7ek7bMq9AIiaRTxwaQijKCFM6X5/CBolUnOwhfwPToEf6iQSe2lSSAhG6CAToimsZ4cvUvlNg7HZCJ/XQVNKsjAtF0XBzhFRpb1Ex1qLfJU4D2bduAN57z+5CHv9lN5vPvAoEXWQHjBDKEJQyZqMK6OT6VaAkjBDhw6SN8RiwjUr8B8/pPMYo1+pWtxMBmnoH9uo8kuxN+g+VrDMUHVhkr15OrLNc6dfpezVZRBPrFsAccQ9UEsCGf80zdzF25I71o7YyVfC8PzA+2JyXH55UJ/6ITZLxIZp6nRM2vSMGCKv0y/lnkJT47NeRlXgyGN+PKa4/VdB/FL0svzktC/iGjAo6gD0DAC1ZiP26RGc3fer2vaetz9eT/TwyVCIcVZYGkZ18yFSVVTaAGaHDWQhx+jg8DveUsgtBg35IWUn9/9fsq+W9hUY+gv+FCPwxSzvLGOBlFeXx4qspUcdF/Td6UbSFJdNh7RL80c/Ema0ERHWUOw5MUistp5CbvS0DiTVCU5xC9ZG2255e46skqWgNJm7XEPV2wnRH2nQcf6vxY2qrEOvtRA9jvhc+L09y7W5AZaD6aL4iEkTOBNw+tqgLHFncQNlqY5Z8z1IYNwhp8C+vSBtp2SqivpSa/xYpxJuAr81GNGhwFXs72rssUoK4sxj4PK6CFsUds6QDkavUT0nB1FANfIYaRC/yWKudrDo7zFK6dX/CjADFI1I51TjUBHGV70BNNXxuDbAQXUcFpQpxo5Uw/61FIyShUt7SJ4t6y0cs7f7CvDIDgaFJrrumbQwwH74LPvRXbiy5zUh7pxcQPFkHyyqVZeyvf7QPJjTCMFAdnbbsl1rAFTvGhwfxx7351bA0xkV7YW4Vb+Wc23QROObvxJW7wFB1qdj/mcp5D4GBwlJ/noQ0PDxZf6Vt9P/V3m4V8KDdqOKlIAsluPHmxNBpI04pCVZy09CR09u77Qe8RwFkcZcAurcBD3VZZLrBZs7W2XCqmEtZRr+iKbeQ=="},{"id":"08889ece-81a5-477d-a6fd-7c934ab6f1cc","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"第三方登录集成","description":"third-party-auth","prompt":"为第三方登录集成模块创建详细的技术文档。深入介绍第三方登录的架构设计,详细说明OAuth2.0协议实现、客户端工厂模式、钉钉登录集成等核心功能。阐述用户身份绑定机制、跨平台用户映射、会话同步策略。包含第三方登录的配置方法、错误处理、安全考虑。提供扩展新第三方平台的开发指南和最佳实践。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":6,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/service/client/ThirdPartyAuthClientFactory.java,crm-auth/src/main/java/com/crm/auth/service/client/DingTalkAuthClient.java,crm-auth/src/main/java/com/crm/auth/service/client/ThirdPartyUserInfo.java,crm-auth/src/main/java/com/crm/auth/domain/entity/AuthIdentity.java","gmt_create":"2026-08-01T10:23:32.4997591+08:00","gmt_modified":"2026-08-01T10:45:56.5157367+08:00","raw_data":"WikiEncrypted:WxCGFGSl9zR6IDeUdkqKNG7ZGOiQN8xJ0Zck8his54pxeVD/1lpKUGNE/zAfWgzrvsZeg+WvYulWQVP4zXg8KC1sWV2gfDxqUnfqFZt2gGohZBPN0KdZHN4aX2pMTr4NmiaIEH6NdlFMa/JVKaxUCbilvap/PVygBukZoCyxTjrxNVm5GuEq+26+0bsVeSgoO2kzoTdZjdbDIg4bY5XtKBQXN5M0V+ofSUaZkgnZaNVuX3MM3Vsq/ZXyziFpDEQ4GHutIZg9BxhXEdupffeipP1bLFjBib1QWdebhMW/ghgo09gwzCs50zkpGzu7X9yMoklkxn/1YQSqlFES9mOTNITtR4pfbCQzVR0Xtpj3yixrhsWUBE/HzbLCd+LuIGWeiyAlFy9+QKJZzRMRCNMI9eO9mRw0nUnXmrs6Ytag+dMfM4fYFYHsS+F0Dfi00IxsB6gac8NmEFGfG/27OtuGz2PZ6XPSiGtUx2Nt7iusG9koKRcb8oAfw30xlD8Ig0x4yK8MdDRkQdoiP7CiF29rttewXLMhx+K85OC7Xuafk0YyGLsmR3446j6UdwL8iSQetLb491DtSPf5ULdiV8hvQ2UYxrV/JDHSbefD9wBfFcYy5O4XYcIOfJvSslzoe2/V4Chz1iUEDi7w/fUppzzXuq3WDHysyhtEXU5Q3A3yzpD26miHRHBaPt5l6jM3AaR8ZOnOP3n4rylzb1El4ABvKYHA8Nw1/DRvhZMP+aRGt0I7NzCVyONs45LFkRAJO2P9DK6QY282LxHbctrNn292Lmx35gKbAR7MjkeR11alsHCUOoUf6+FXLIl9VHWTW3JT/B1bGwXdhdK2m3nIuPYs8bG2x5iSrP8eU1JHCmjxRf9OGX6J6yrrYYcjchqM2VABj/1FXFBBjowjRQ4867vgLX4mLQ3wfCzrrzT87mLGyfO1ZWTyVY/XNrvUdYpJHigE8ApoR5EmW5tHjQm8W0Iu/RiuJUCM1t/16yEWROfDhUc99ldOXfoV0lhK62XZwzP8kF3jfSN2QC5ZUDIItEOOOxDH6DTqyaLo3DpQHth0/ZU0Bjtv/J1OVEk7KhK7kvX7lT2t5EpfzHg4fv/yLs/jP0VJrqDVH2VxCqc4U8PubWvSn9+t8B9NssDgjQfksa7wcVkLeUMQHhPzXpKH+T2bCDjdczO5OBaSUE1xam0Bz7wvqX46hOrBgEH18K1DQwL6/kauAzKaT+L3HOR6B11qRBD+u6wBA8ogTRaw49qwikC95DM4Nc/EXd1TzKMYBzLIvSLVK43UOSBGxsogeKTVJry6KGydvX4THGP3KNlLRExu7HxDNA1KVCpPgZ7Py/RfroB3Vevl79wETJonCRfHPQ==","layer_level":1},{"id":"93e38594-db47-48d2-92a3-d6b4986c08bc","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"通用常量与枚举","description":"common-constants","prompt":"为通用常量和枚举创建详细文档。说明CommonConstants中的系统常量定义,包括HTTP状态码、请求头、数据库常量等。详细介绍HasValueEnum和StatusEnum等通用枚举的使用方法和扩展方式。解释ResultCodeEnum中定义的响应码规范和错误码体系。提供常量使用的最佳实践和自定义枚举的创建指导。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":6,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/constant/CommonConstants.java,crm-base/src/main/java/com/crm/base/domain/enums/HasValueEnum.java,crm-base/src/main/java/com/crm/base/domain/enums/StatusEnum.java,crm-base/src/main/java/com/crm/base/domain/result/ResultCodeEnum.java","gmt_create":"2026-08-01T10:23:41.052918+08:00","gmt_modified":"2026-08-01T10:45:59.4015537+08:00","raw_data":"WikiEncrypted:xN69xsyfHUnwfU68aQhW4QQXyrvPvU/0YTBz6MOQ4G247s+ZXzrvvrYJmbAFqIz7P7rjuwZG3PaXho3P1cAk81EpA00euQoEZPtprdeHf9ipZy+R+9jGSWh332RwkQOC9xsVbvmVlZLpEcaCtXXKMBRsSM0ZWaZXP5grLxrroBGZCzpnO5dmIW4ZDzpn/XoYDFVffu2dwzRU8DJHIHdL1XfGdNpa695ysm44jAxrMCChnZhZzageFEZtfZihjPD0N7pBofxl8u+84vyk26Zg0+i3GMz2C/lQCiXdpFSs3x5d2kPTmodFqCti86v8RVvuOuaDDKYkhWtUBK2K8qFbqnRmmwvx4OHPLc6LcyC9Yoi83xplba9xvNmd0l60ipG8zJO9cVKnsXseX4S7ZAxwOWqNgPrb0REej9Q455ibGOnx89lcLg8jEzKBGgF8OFtC5w0ck8SYKwwwt7LacoZrpSt/FbnmTRnaAPbbVqH41u361xoix4pXgg4wk5kGsRpALUz3X4uXdUM71uMjh/pCZ3yP9WGcVH4kR/PNl4q4RsKzfkClOmQPnlhImnAIll5feFLtSCzIj/lThJ1OTb1HAC7LOrNALNz8NPvqleziAjEev9yjxX9+9d2v+Fg7szrOy69wOmqIFaEPNliZXI172adY2jmuZlD8qPPc39eV1v355fvHqg1Kio5hRpQS+ywO4a8B9ZkZwbna0rV9niwRPnN4Se/Qto+B2G/9z6AA/RylhUdClNVc8pGmFavJJtSlul3ZhijbDj0qQGl0DfKe/czsZBDORlMETv8W6N3fQGIYCUzh7ILQdSZO9L9k7//I1WIcpX0tZRitwz/rXQDDAMQvkrw3uXqnxofxM6Ab9xG3ym21JdNlUqAWHImEcW1ERbT8YUrKwaq3lXctLBlMjogo7xVHDnofulOgjIjFmqVPMNTSV3TMV2lge4lAJKcA9eK5MFRgG1FarfYY5SietZdK0ya3ra4oYTEuoko5fizE+GaeN6AHpUG86O+FOCtzViFuWXejYuhz5bd9uiWyDfrXb6OfWqfY9iRQ2piEEetq44VWCFhCvjvok1z7BMgZBhI0RaCxPQ924Rntou4vxrJOJWPod8rLC3haQcmXhgCHkiW9oLvfct9Li07+e7ZoW4fqjdYYHsGpDVdthk75LDioybE3rJmAu9Q/8qklcmE=","layer_level":1},{"id":"084e6769-6e4e-4978-9e7d-7740044913f6","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"工具类库","description":"utilities","prompt":"创建工具类库的详细文档。详细介绍PageConverter分页转换器、BeanCopyUtils对象拷贝、EnumUtils枚举工具、ExcelUtil Excel处理、TreeUtils树结构处理、AssertUtils断言工具等常用工具类的使用方法。包含每个工具类的API说明、使用示例、性能考虑。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":6,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/utils/PageConverter.java,crm-base/src/main/java/com/crm/base/utils/BeanCopyUtils.java,crm-base/src/main/java/com/crm/base/utils/EnumUtils.java,crm-base/src/main/java/com/crm/base/utils/ExcelUtil.java,crm-base/src/main/java/com/crm/base/utils/TreeUtils.java,crm-base/src/main/java/com/crm/base/utils/AssertUtils.java","gmt_create":"2026-08-01T10:24:24.4063936+08:00","gmt_modified":"2026-08-01T10:58:25.6894762+08:00","raw_data":"WikiEncrypted:SvMc2PRoWqDcMfdzcPf97N9k/X3CAmdrcNtJiMgJv834CzQEkJYyXrO/i1eDfnSnlf7FCmatxpEM7YYSNAEB8X06Y2JFWDl50mrOFli+0s7biUaabgrp4e7bknyExu/f8c0oi93f+Y5g40W6CChHMXq2dxM4NoC5oaTMvMWutWwixsbIfuf7rpuUkKWINcEkP/7zNVVsMCAYeZRyQ4oiGIjkACeyu16xMCfU0zCmghsYT78cOD1HzZWiOnWcLiWliN02KvK7cdIhGrxEnj8CHxhPerPLXlzqsdJqae1I/trTv8k1JO56qJRNy0IuOiO0FA47PDZDnFwJezpUwGrmA5BB8g4/JKklk/1VOkkTnNbso1JDsAzXwVm1TshtNeRO8O1vldWdV3tltEkB4gBPYwHotex1ShitSrsBE7OCNxg4TsLRB/RvTZn573t/LKyASmw2Uj6fYB06ZW88Ntvq8Uj0RteWC+CgwmHMOVTCJCWffcfDadLT0ptfLytLp6JjQGYm5hUPwfwwYJUvnYfsbKc0e489iy+vQgaUpPpuf73Ud6LeI4I1pf0hcNFfY2G4y5qMn/S8p+TWdUN60qeRf5kZIf73WBSiVIk9Tev1ztiUe+J7+bi2Bx+WmbSGfWYHWH7j6/m/kBznKPnnjGI1+ZschegVHf1smfM8T7FC1ECj45qXBiIOucXAUW5uODbI3oY2vowhoNZpFcn59psQoWRlwDtUeyVsxprm0KjN5BrcYilcM86QhOuEJX09is9pBs/cfLci7JIKGNJGKCDhVM3eknLSx4216P68QtqhKDM4AZkED1t+8nHunpa1sdrGuuzdemNEtKzMVsorbuiwJ2gl+RWO4qqW9xuvauPdUUGH2h7u/ujkHbajOA3gXYiNORw6i8BujbsVTZ16tuMdJGILQb33S1632GMQrjyT1Kb8Gupj/u/J2szEIaJAlmlF2hY+W9ReGUnCDf24e0ibrbZWAHwJGkKVZQfrxyc2ormDjOeABtzaX2iS/E6Jgh9OQLd9OYg0W/YBJDZ85qu0VWw2PhfuMrTCQOsGsAFagUJIqLLgr1F/CYW2bNF1gMjGNSvttZvzIVb1yTxvqEipKe9QHU04rSqLvvSpP+8xIhKVeeAnv5kWNAikPiChcTqUVX4nwlF+n7gZr9HKnxwtgbq4e8aoV2CjlRh/DkigFzL//UYR1/eJ+ZEOGLw5N5SE","layer_level":3},{"id":"2e7654dc-4da7-4b34-910d-87bd6334f756","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"数据模型","description":"data-model","prompt":"创建全面的数据模型文档。详细描述所有实体类的字段定义、数据类型、约束条件和业务含义。包含用户、角色、菜单、部门、文件等核心实体的关系图和ER图。说明主键策略、外键关联、索引设计、数据完整性约束。提供数据字典、枚举值定义、默认值设置。包含数据迁移策略、版本兼容性、备份恢复方案。为数据库管理员和后端开发者提供完整的数据结构设计参考。","order":7,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/domain/entity/AuthUser.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysRole.java,crm-auth/src/main/java/com/crm/auth/domain/entity/SysMenu.java,crm-file/src/main/java/com/crm/file/domain/entity/FileInfo.java","gmt_create":"2026-08-01T10:23:12.9577882+08:00","gmt_modified":"2026-08-01T10:28:12.3658971+08:00","raw_data":"WikiEncrypted:klcgW2PbPxJambbKMzvFtzKMOkAiMygw2jhMWheBgWjabVsg22USnmOBp3LIxuc8DqimwIdV0Go/3rgG45ncxtBgzKujz43jrU4upyKTxmO6IhI9OzFINCR5Nq46uqS7UJeINVG1OTMgQXpxzGIbEgpxDIg8JKsbh8nL4S7UnPFfQGx7kN6H4oAlIxlbqUFSchzXQsuLaKNqom2hEga7dCkGP5UDP/RbT2R1z5O3DtbkcYj+OZ2xOd6HMgBKiyH5zF1puJugouNCNV7U2seFickfdnDg4ZIsmtrxBnhA+9t8OdYBONSlffPsXTyLgZRmRhSQlAzfUhVnIxfsw3nY7RAOsixCuBXMhDyIRWswL9+vYnFfS913ldWUxl9Pr/WzFxfxWYMmnA63cfso18WFs2BKlQpfpWx1r2+yh6lNZHfYYcTPC7mBlw2bnBbtGvtd4fyIJdA1eZ6twVkNSXAca/KbXFRfXJfW3CCgGu3yMYmjnMEQOCX+Zl+xnaUV5p03reEY592mH/3JBT1Rm7twqHL1Q1OcizQuE16b9MkFkaEd4bAysyja4EYGbOX2yIrSlPgpAziudAiDcKMCLceGdPKpvVxWGgbkVVfa5P4x5ljMH4NWKK6uNSZxPq7K3v+UOafCIitQXHTLF5etam1UF5oW02BbMeQnZ2fe28F00XcUppWYXkzH94q8uP6UdXMEVqkmGp7vFu+yxaE80zQERnjKRqHedw0vjXMOJz+QL+D6SkuruveVPHCseCKLu3vK79Umoyba3ngvtbC1W6JryC73wZdmg0yj9ckFPqzEkotaMoqhYpKbA00PxRkIM3FZQsFMejFz518woU8SU8ZYa+liJklc3nBlbo2l4Rl7biqX+k18lEuv44/a5NEt47ZIFjG+jyTZ2a2Jr75MnpZ5K1qtb5tctBTG/88YbN15v8tuyCDPp4YfBx2QjHw5BzbPG8gY3/jEIMDkW+lMj1nR37kqEcK8emWywPbdOlHeJzFswaiEHVq+mYp/C4/FDh0CUYMofD5sAu1zgAq4SwuhVZZPrnbvdxjPH3AgtSFEcZnnsBPR9Z2ez7GsagaFvjKFPwQOoLcsBxOkC7Wa9exK8ViUVdey9f7LokaiT/vQcxiNt4/05ND9SM2J9oKB9pDv/qlVuGEEe0D1Znyee7s7oNtpI03eNR8yda1iGpearuhNNrGbmlOpbB0XP+eiqD/ojkN8AqwRS/iV4TNXWuOYelHPgccGq9d/7H3SJHF58EQ4c6O8twhyBhx3JZCw+V3uDp6iucscxtkyrJsfXHuaU8jdXRYUIdh7NwnPCxW8ZcnmKDyWW9PVMlhnlF7Bud9cu70M1OXkGScg5By4MY6VJbZItfQK5z/DbKGCTlrLslmMOPuUmeY7FoQgfteqmK/bUPplezbm9kIXFzsIGOlfVcrS1MDTLZzcF+wGPSFKpnQ="},{"id":"8cdf8923-14ac-408b-92a0-c80eb87aaf8a","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"认证API接口","description":"auth-api","prompt":"为认证API接口创建详细的API文档。全面介绍所有认证相关的RESTful API接口,包括用户登录、登出、令牌刷新、用户信息查询等端点。详细说明每个接口的HTTP方法、URL路径、请求参数、响应格式、错误码。包含完整的请求响应示例、鉴权方式、调用频率限制。提供API调用的最佳实践和常见问题解决方案。","parent_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","order":7,"progress_status":"completed","dependent_files":"crm-auth/src/main/java/com/crm/auth/controller/AuthController.java,crm-auth/src/main/java/com/crm/auth/controller/SystemController.java,crm-auth/src/main/java/com/crm/auth/domain/dto/LoginResultDTO.java,crm-auth/src/main/java/com/crm/auth/domain/param/LoginParam.java","gmt_create":"2026-08-01T10:23:32.4997591+08:00","gmt_modified":"2026-08-01T10:45:53.1248928+08:00","raw_data":"WikiEncrypted:I6KYYMxpAemyHFwJy5bny+FhLrJAxcHi9isgLCIR7jLMP1LvvlBRee6sug5TSoc7QAWMTLBnx0W7jwb+c/hCWyDrEqZa3nlADKTpWVajeeX9Zwjt98qf88YpgbGNre0K3A862iDOg3eVykzTKfEtDVtTyKSCGOHEHV7vIKYTgJIQ8EttUcahNS8VmRHaWccNOWYnh/wORpxD/PErl5M1TXRDVnNuY8R07+Sn3CcM9qSw50BRdKSrtDkw5b9I0/f1u+JqC+Gh1ROiA2fsMpsse/0lr7Hnpxyj/xgOHsafoePWpr0YuO+yWaM50w6KIiw86qyEliyOjt4RilVhhIuLeo3Rtr//1QhJnQTjbNksyxmuizOUxVe44HI3EDXf2mIIDwq1ObHShX/OMgGU8i/gFVcpDu/aRXGL1f39UkSkA/h8T3c+v6aqTusKosdDpdluJEWaWZ95MRId+6+OwZWJqJPmKh2elZkiI5yk0f1BOD/DSWD6F9YR9YyeUAYH36Oo+RQVa5OlUiR4Em1xEl/X0LodbcePdnMoiIyhW5ewwpyNWebqf//8u5uwOXTSNrugho/2HHCawunIkfWlSmxvZBfwGPKHhvPkB1ndN0FtYvo9Vweqpr0ONdwxiNcsBxn+od1xOP9KPp5R3gxv00Y1NAoRcKBqrp3ysgDRgfTvzjaZP4+BajN/6XKzcTHP3HAkqJVDHRYeOF0DaJ9GBPfPkAszf38TNzz7Zu5DIZVwAKt+b23NO359RUzgF8T7PcSOZoz0Sw5amnyWhmOI6lnXBAbBqF7b0/AXVdz2evSi7YgvO6s9dbp2Eao7lJUN67HtxDVuo6aC3hOoRPj5hwqfyo25UsDZ+Y+z9u2I4mXgD1NNKLSb5l/82CD9dEWjnk5/IJ2KhXI+HjVm5QxGrFpUR8Tm5/onM1liXTzUiJEbc2/I3FMjg/Qu2WAV3Of1cBtzUTXiDp3fb1eGnMIaMqfnH4Z+IrlgUd1tT3WvoBWHpwnPB7LdOjdQo+BjGGeiXPNIvHI8uO83taOT33MUkkVqlJOVsaVRMH0HvqerPlvTQJqFCxAwBGUOVwLW8vgwnhoK9CZUqu37OCZFjWjSMNmvBq07Ae2QdZJhHAjZHuNcq3h9Cak7/+T1ZadB5IoL1cDmofWl9dArsPv1jvDVhahOXpG2dkINFGItN+NqyW0zjeKTgjzeHnm+CJqbJzi6KL+FzjWhBkQ8PIYM6w/yskrtTwm/Og7fxMv83m1Sra9RcXg=","layer_level":1},{"id":"4b3affc8-944f-47fb-aa62-a87e3003ec2b","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"领域模型","description":"domain-models","prompt":"为领域模型创建全面文档。详细说明BaseDTO数据传输对象、BaseParam参数对象的基类设计和继承关系。介绍Result统一响应结果封装和PageResult分页结果封装的结构和使用方法。解释DTO和Param的设计原则、字段验证规则和转换策略。提供领域模型的扩展指导和自定义数据对象的创建规范。","parent_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","order":7,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/dto/BaseDTO.java,crm-base/src/main/java/com/crm/base/domain/param/BaseParam.java,crm-base/src/main/java/com/crm/base/domain/result/Result.java,crm-base/src/main/java/com/crm/base/domain/result/PageResult.java","gmt_create":"2026-08-01T10:23:41.0534368+08:00","gmt_modified":"2026-08-01T10:46:48.633977+08:00","raw_data":"WikiEncrypted:JLXqlo28VAn5UOPLsLiQgcwzmZVo55gd2CQnKq2/+OJPnVzw6blPNjNxKvILWx7nW/aTV41vQ37XDtGHN5Unclwr+QfmrcIzay0vRGQPJzkw/PJY21kF01UQIa0lA0PjFG8rWiqtNX1y/nOCVyWGK1Vtz3yL9wp6+R4FJylMcFotkKPFpMiGpadR2jHD9DY6jdoCqUzlQcxfovIY1/MUgBCSK83lK6cmrQCP2/3fsMAfHA9SyPau5vGBLpLamUUuLbsWYKnMyiutUq3/A4qfCk58jLv5RFv5zgK47ssh2RdFp12B7JkZX0twBhq5W65k8vFAiQKM/7+KoGXY3yMVLfZP1G+5FOcHIr/c/L3Z2oxz6jAI0k/bdpzgKr7zUJ09ZF3GLiJoILQpn0rQNGlBgfqJFHAihs97eCYIOVCEjpL/N3WovZGtK3y9vNwqBnmlwNkuyNjVXG/HENDWTrKnkq9dQYgSFVHkivHRJjp9SvO0msb2ixS15+KjnGlooAKsasAsQvs/Ewtu/DEE4+09iPoXQl+O5kJ1ApUCMo+GBaz1Jn+u1+VKch94jnR5t1SJfTTTdLOWWH+d/8nBG86IlIe0LtZQPy/3FxY31gC9xTgrFwJq4MXRjSUWVywfTrCo7wErTIaS3r8naymgEfdPgOVOxT5crMG/gF49PWngRitkAei3b8HhRZZN8LNirvsXRXX3auZQjP4+zwWUqR8lp5sVm/KFhwYynrAx4Ok1MBCJLqhGeRVdWz0dqj5Hv96bwKpgIYfdeup3AL3edfw3UOPg1X0Z1I+HqrTuve1/6OCJBAb1Bzc8sD/3P+191uWfS1FBVFnuAlq3DeHlDx7mVg6HbrExjh8uv8sbtAfEmQ/J/DUbD3pEISii5Ly7KFTE9Lk3dGnqmhtmb4WaQ0l+rQGUGbINAvPdfIwEcYQW+IHIPlOoSNZ3dkGsLxxBzF4bBsGVqOWPq9AkHEtaKcj6Euqlhgk7NyyDlyEK7ArUolmWFkTgyiyyJ8DQqMZLArMpEPYNUA/hsJr6UVWuguzj+Vg6l/iodZAkpurhO395l63hpgWbKZbxZ062kKwjuqn6MLA8rROFf7m2vV8Ocq5aNKnaedP0ERAJAwZILqT2HZ1VODqYpywFRvQK3n12kJEw6I+pzKt4ZB1Yow19aXN59UBK+KYvNEdPQUPmkX2Be0M=","layer_level":1},{"id":"2ef0a54a-9710-4f81-8a04-b47fadc74003","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"公共常量与枚举","description":"common-constants","prompt":"创建公共常量与枚举的详细文档。详细介绍CommonConstants中的系统常量定义、HasValueEnum和StatusEnum等枚举类型的含义和使用场景。说明常量的命名规范、枚举的设计原则。包含扩展新常量和枚举的指南。","parent_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","order":7,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/constant/CommonConstants.java,crm-base/src/main/java/com/crm/base/domain/enums/HasValueEnum.java,crm-base/src/main/java/com/crm/base/domain/enums/StatusEnum.java","gmt_create":"2026-08-01T10:24:24.4063936+08:00","gmt_modified":"2026-08-01T10:58:43.7990757+08:00","raw_data":"WikiEncrypted:xN69xsyfHUnwfU68aQhW4QQXyrvPvU/0YTBz6MOQ4G3xyWzVl1VXJbNy8i3N/qL4OK9+zQJo8nt/jYtfMWHulNvNEET/2yRcXTXhmieXEMTmEwW4UMObsbAKAqtAqJg+6eHJxxXmkB1VelU65BM6AgeK4dzi7c1EEJaxkjSgYULUKzvcS3FWOBhMzFq4f/dNmgKHklFBud4J2uh7ZvfSTs15sdlaeb6+KbzW28YwwojBGYBQCAuRBB54/eDC2YfHOXcVruf+0gxCQnb0OKpeobuUf6nATMrSzyWDvkZE0IWW4WZYxcHOzWBnfeYG6aB6pv0FgP7mB4rHRbd2ewp3p65Ak4s6p2ZJbmHQfyew4nBmzeYs98xK7o0nmMNbvqIkfygfILFSpAWWReOXjriRTuCy37R/Ndu2bb0wQqtlXB6D8GUb3hTDwlhlD3Ui8KP7nPh+m698dZwn15NFw3WYWPOMUphKdMdyUCaK5HOtDVzLNRrhwdSdAfiTb2TT1fbUmwsvgPx164aVP+PKDv3JFOv86MieQJcPDNgsC/EWgHE5+3CzOv3z2g+1/zRW7KhkFateGQ3/OhCY4JRxXUljp62alTFSneiL9oKrroxlbpwFZcWuN23AoSC+AMgpiaDpOnHCg+AbHbTtaJ6GhVL8Y8sXX/MkfJ0wslJwymgJsV6oz06p1NkbgfjfIPmcvR10wicblq7/g+eUumWVk8wE2jPr5n3zr+au09a5rhpGMGrSFHcvL/UB6P870sS0uo0RdTaq3/MOga7YlW9BPfdPP5df3a9l4k3orvKjbH8eeg0BpUj/z+ISE3Ec6FSwUky/uYPTzk2WsU0Im2NMOjK3lZNsQt/YiMMoDWEPf18/8D4QyMkBjzFVttJq29TAhZyCDW/hYn/hKtSFN/H/vFZ14Axlxegq/+Vk/euSEK67HvI=","layer_level":3},{"id":"1b327205-aef1-4e95-ba67-51808ac20eea","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"配置指南","description":"configuration-guide","prompt":"创建详细的配置指南文档。全面介绍所有配置文件项的含义、默认值、环境变量覆盖、动态配置更新等特性。包含数据库连接配置、Redis缓存配置、MinIO文件存储配置、JWT安全配置、日志级别配置等关键配置项。提供不同环境的配置模板(开发、测试、生产)、配置验证规则、配置热更新机制。包含配置最佳实践、性能调优参数、故障排查指南。为运维人员和开发人员提供完整的配置管理参考。","order":8,"progress_status":"completed","dependent_files":"crm-app/src/main/resources/application.yml,crm-auth/src/main/resources/application.yml,crm-file/src/main/resources/application.yml,crm-base/src/main/java/com/crm/base/config/SnowflakeProperties.java","gmt_create":"2026-08-01T10:23:12.9577882+08:00","gmt_modified":"2026-08-01T10:28:23.6739433+08:00","raw_data":"WikiEncrypted:aC5ZtUyEKPSxjzg//aVllG3KeKoHrt3VUYbwJdfZuc2dPyQcD1PZ05yyIHRTzwtN/pshN+ZNfyeL35Bp8z/bRVSpvRkfSP1bYdaPvdOBh0q00sbGjeR9AZLGdqvHenuGC/HwVF/Ja3Yh4oIMVfW3LhSTpCoOmBFSdpWNO1S9EDOwYuoj+qS0KpA4YYfeVzFmyTbXWNW4DJpIl/D/nBbxM9luQY3ETbaqm/f9VWlmD1kOKyaB5vrXH56+J7Lq5bUFok5bef871n0VEMZr6yAIsJaT8iVRIyf/bjcnuXoRZ4MF+zHpm0STV7ph98t7i7V9+DGVhQYmnfEqUM1C1nDQ5gYUpAq0s9Pvyt5I/ux5TcHlZ8xveMv/TNf4OQJ4DvhPRJ9AMJUpaqzgY5hFOjRjt9Gd+V2G9LBKTvd69BfvNTCGk66DHYVTpSs36hF59aB194hf4xe5AKCsjlcw+BtmammPAyNqSCGSfY/ra6PlDub4k/x3gYxM2kSKTzvNP0bVjMP6DCbSokYXwLTMwPx6gqn08gc4omjNxp1leX9vXNmHEvI1P2jkKvnkrRWFWp1N2K4jxrhoO3cyi4clfsfgILZuT0LFPgcRqAdbXOMuoYnBDYQC7NrInC7YPOXdU5JeUMNlmSMbk/ugeEOArgub24QvoEkPWMZEkzkveHVkKRcQiGHVpo/kZqrwepDTg9BatBxK6Mpful+Cewp84tiKkgXs57oTqwR4WdcJmmNnUt+qa1NWvzIzYwcDWLGXZNdDAFIip6yYQO7iDsC4XPtCDyI9kMcfkuTYGchimv83PSgNMfSgVREzU36v0HvHiu2xZXffTXSjXL/PL4yCHa1G6SL0mOwXhZpyZwDk8AWTXNPcIqiZ5/GQl53hvZ63VZ0CUqL3zVcSRqlzG48X/nxosILe7hYUfejQF6jVM6xDjBcNETfbdMywXppiYWNedJGPTfIlITBGDFc58sJrDLhWhzefZ/v1ICZMAJcE52Hhg6efjHPayGP1k5zR62fFSdAj1nb0ddIk+5LqnlrDyDGQP4bTEGgbqZJquUw1erQleryJGZFl78FlVEtfR2H0wGaAln+LWADYGFVpmir3piIqbnFXfm8XdiJxqN7F7IbnAc/69I97PgPWopD8jPN09stQKTajlErrayq3dMxmmQoUC0J6YbVlr+rrTL9LwQmuoFSrbDbLyg/thRxcPn87+ZXMmFGXPUvfoCyTzUZ8oSoGq/it8Vbbw/OErZUSGMTYAunGa9bIjK4zWd/EQPzUrJMuAVCRHFYY9wIGbxWNV6u/EHS4h2wscCndQ1OS2bdCBQgjtU9uvWy/6VMI6GJs5U+hZ37Hd0jeSseqPML/zLroTyCegVXaN4P6LCt5b+3TXNuqZpsG+6fGEb73FcZsz2eXm6QbGYgQQdWrzSdNItJ1Uw=="},{"id":"11df22f9-1e94-421c-92ed-7e2cf9535bf0","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"测试指南","description":"testing-guide","prompt":"创建全面的测试指南文档。详细介绍单元测试、集成测试、端到端测试的编写规范和最佳实践。包含Mock策略、测试数据准备、测试环境搭建、测试覆盖率要求。说明如何测试认证逻辑、权限控制、文件操作、异常处理等核心功能。提供测试工具类使用指南、测试配置、持续集成配置。包含性能测试、压力测试、安全测试的方法和工具推荐。帮助开发者建立完善的测试体系和质量保证流程。","order":9,"progress_status":"completed","dependent_files":"crm-auth/src/test/java/com/crm/auth/service/impl/AuthServiceImplTest.java,crm-file/src/test/java/com/crm/file/service/impl/FileApiImplTest.java,crm-base/src/test/java/com/crm/base/security/DataVisibilityTest.java","gmt_create":"2026-08-01T10:23:12.958324+08:00","gmt_modified":"2026-08-01T10:29:30.3131162+08:00","raw_data":"WikiEncrypted:a51tw9+B5Xez88YuZqi4cOD+MHYUTbXMSmj+zXZmsP1n7CZsGOJJIYMQNXIftILHzF6WAfc4ncbISv/+6TeaNl9W0U7O2U5rGin0wWeGS3JNdS4XTt9wKv1gX9zIDFor4fmZxVf0PJ/DrkKHxUvrf+9qvrijON+X5ZVtp+aLspSKNkaMgJv/gLSyVDBhVTEQZ0LxTQUvyxDTsAHpd6enH3LmOdOHzB+CbztylPniAGMDP7+jluZBJFZVtSdY/gS3UlrOhUcP0NWMX3Ri3UjbLLwtzEtkElrq8WbgM7QrI6TBhvY+0o164XibtdLvyfFOiGcqhFMKntbWRVd9ZMUj1UqoA4lD8yVAJ1Lr2lCONA82VqLqa0pMn7f0vO3EgJ8tYSN0WaMyanwrmhoTVXuupEkV+0rOOCvm9swYyaIuWdEQ6+F58p5FLvlGSLreehob5+AairWMf058VivR45Ko0hukcEU0fPj8CUAThl1a0o0UU4N8upChsB7uwybaETMG99h/w5vYr2IMN/fOTlzNDejB8lwQkgGAC8dtkWClgoAS8JEx7LeDZFlRrVhCj5/NNOx/gALXmGBGX3vcsDUbBDH+Wbknh+EtarsU3ODCSqpB4jnskWh74+gJhZTi4tMSYyGPAT7Qk70eCSGq38higE2P3QbUnyBwEPbAZWEPNYOdBBmnEp20R7DcHaPiYYiOTZA/LcED2qfwalaU90yCLfrredagRnQvzNY+igLx6xwCJvVVU0BJKStzdJT2w/InBM1ZF13rTKLdhiZ8iWNvpnsfi2cggWmcBTjmsIqQk8R+31BDjkbphdxCcVPlhdnr/8Nqji+WEQTKP0sr7zdYCmtAWrci66J/oLvALDXfOMbSdx6j3QU5+1q2+2Kk9eP9ttSZa+a0hoZrBEE4WA1zP0RQj5f2OStKMdMHSuiCoS8uFkiSk1rpDLQpB6BGk1W2jKCdIt0AiD7m+hCN2qjKEOReOEJGCUzKJ4Kxn2T5TVUdVoTqlpaZB+dcUej1Zqg7C7KTr9+QZrDXMqSjvuweLyWek+pjGNzvIRkvR/md9rO4boq5qSai/SgL2rg5idNXONfyWEGHta2d07sHmeDa8KoCO/YFQnV16yCXLs3F6xMZgdPK/UDtwbGBqeWUaXJbEkEPt6OaBD2ARmTGrnQK5n2c35OefVJZahIdKcxEF9N4NjABmvQUI9Q/f/ngvLAEkFR1kx9Ok8Rivp6C7dcte96zNoUBhBzVBG9T9fd2bHyA8HpbUox9l+dkHcsvM2ux9/eoEk9mrfVAkyN2wBi+ez8eDgMRWWSf6F55kmoX8yOtP1BXDTdrVhPNRV2gQ520G4NNd4lI7O97pRN+0AoB3QkZXnLwMMdHcxq2PSGHp2I5yx3fWAE8hy3U++PPU9N0"},{"id":"002c7e2d-d606-4f03-bb8f-8b25b8c58321","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"部署指南","description":"deployment-guide","prompt":"创建详细的部署指南文档。介绍Docker容器化部署、Kubernetes集群部署、传统服务器部署等多种部署方式。包含环境准备、依赖服务安装、配置文件管理、数据库初始化、服务启动顺序。提供生产环境优化配置、监控告警设置、日志收集方案、备份恢复策略。包含负载均衡配置、SSL证书配置、域名绑定等运维相关内容。为运维团队提供完整的部署和运维手册,确保系统稳定可靠运行。","order":10,"progress_status":"completed","dependent_files":"pom.xml,crm-app/src/main/resources/application.yml,crm-auth/src/main/resources/application.yml,crm-file/src/main/resources/application.yml","gmt_create":"2026-08-01T10:23:12.9584978+08:00","gmt_modified":"2026-08-01T10:29:17.759386+08:00","raw_data":"WikiEncrypted:0IKfLNOWe9mZfG1jVts3wxq1Ie83+Lf6EMuycQSN7s3NFV5ooa3Scq2B9C67gTKq2J61WmIo8uwzopEI3o+rx2lsofMss2CX7FP58Vgcz+og0KbUNqQDj50zlqxUqNYpbb82KyHxixeFlhldO7uQxEHQv6YcekylkodC4dgvrkvl7y165qe69CoGKu9bff1v3aEUbqUYIidngIeLTndUHkwQ9oZyKoMNa4NOGGZlxiw24ue2m08ujAiVlxEC6IAqJ/emub1onbqdxi5UuC+qCp7lcTkoRsAooth0gRC6O+Bn458rSDGUP3ZDrvq/iQCqpcnyMraQDN4y7rmRQlXq7CpCzOyX7QAbgy2EPJCVxlS9hD4z0RQQb/U+oT03qpzSVSQcGA/jd39C/KR/X+XKr1gfzwq+j66INDUNP3FvRb12cXMi1j3yzvAWGlvKVuXpWKvUzBmokC3k6abZc9L93E0Kh+OE9VRgmQK9PKD/YcfaGbsAJZ1KJiZLtuAosCMxQbvUnteoswRCtLFqAIcp1hFenta4N73OAApY+pwA32VNaS5paR+cqoqR8mm46YzT6+nPuc6oN6oGGH5VBLPrVBdFAq3J2PY4I/VsRLKIarnNaMkaIDAyWli+lxWCYKoUnhGYVMAqwIsJEw/SiVgBhY9ehufgj1deVTI/gxGMs/50/bxwW5UpQFyAd5/PcJkJJQhI+UBsH5ZGqIbs6E5VpWTwz97sES9GZWyC7DLZIY5uyP8V7RlAI7sKhJblx87Ncn5S9A/YOc/19md93ohtBf2VAWZaZ53TFGOGXhEVP+5a3zXiFWKupw21RTd6mhJ6JHqQY4t5If4l5l/6PDp0/D91o/eem+0RSaj8ML7vAz7hHb5JWRh+1Ffv7tAu4lq/4QySh/1e+smZkDWLyrMlVpwNNVrSuWLGXA2FdZsjZDPwzxGSJrL3ywgQyRR2v45HX2KIAIelgrWCHQZAbCsTjNtwd5po21Fs3j1yElEYLBlaZuR19v/qYfC6MuCjnP1DuEKyin4bb4juMA7LAiEo40DOWfTzG1AL1JOKB8HATYyIQN4HP4rXx7YmSmXo3pm+wyT6Zx4JeUbQGbtFAr05n8nYjA0rPl3Mw/IsyX9NYZOi8Zp0qeUouUpHiDIuKZBlqnxUtAOmr77AGfYaQR4AJSS2TDDus8tP0YTrNGXLTjGEm8yWYwKMA67+9B1So5OdGNcvKAX4lhm1eiPvdi/RLuM2Xg0oFwmno49LKv9mgrL2j/3KW29AhslrP9crOD07IhEjh/YGUh4SffoaOre+Vw=="},{"id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"开发指南","description":"development-guide","prompt":"创建全面的开发指南文档。详细介绍项目开发规范、代码风格、命名约定、Git工作流。说明如何使用基础框架快速开发业务模块,包括实体类创建、Service层开发、Controller接口编写、数据访问层实现。包含自定义注解使用、AOP切面开发、消息队列集成、定时任务开发等高级特性。提供代码审查清单、性能优化建议、安全编码规范。为新加入的开发者提供快速上手的完整指导,确保代码质量和团队协作效率。","order":11,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/domain/entity/BaseEntity.java,crm-base/src/main/java/com/crm/base/service/IBaseService.java,crm-base/src/main/java/com/crm/base/annotation/DataScope.java","gmt_create":"2026-08-01T10:23:12.9590262+08:00","gmt_modified":"2026-08-01T10:29:22.063274+08:00","raw_data":"WikiEncrypted:F3QgleoEfoy16cQggYe9C/ucQxiwh0okVA48AmODs5RKNS8ZgNngqmnHSFcG/1UaJxx+3dUn+EkMTpYUsOg40rL22hMnvmVAYyZuFSVJGOdkTZGYqMmtuVOBgvosMCJMBUhMuSqPW1JNhmnJrK+r/EahVZyS6RLU2o1sE8vOtilgPcAzRyJjJUHENRWOLpJsLNpGVdO9ieUOF4AAgDoa9RZkCYyXeP2oI8r0j5mDkRr9lS+uNxYQl9W3vcS87521SK/GdqCveS7u9RNn47V9eBdXRtsSVcLaz44enDFM71L3lP7E9S8tQEcfWUlHB/ysvKejvZ0EARolWf066vCPuHCObhxanmxCgQk2OGjTZc1qAw++emB+ddyYoS+0uNc9ctajroimADZJ5zxBBJI4sYf66QjiDEfCynMBrwz3+oqj3s//CnN1yWneVDJ2II3X6uZYUYCZTynCOHXpwWUv/grPadeVTbEpesCUJ+CFuv4J67FmkeAXWrxDfiptMbxKkE1C8sNHTXl2KAMJbXA+Zb21cG0EzgtlXvBGtW6TYKCbUwBMMuxfouP17SuuSjnAKUQF0Oq+/mPzFXLOqsojj02FLSdAsw0YqFGvKEwH8ngzN99B/HzgF9P6gRhVeV+X2qmkXtnyzqLD0u/E3Z6A8WYeYChxux+mMYAN2HDgjNMb2cOc5aknCzPlfY8iulLXd/QQdECS/3RELbfwHppdQlfipTzjE4/ldIObkYl6iQXi8mi/99gKOeB90pdTe2hKhT/UJQs4PRJWoDpdK25KIrZ0nO0G1pXhVHwNvZpkmgHxnhnD7hqAbroRqFG9cjsLBRuciGsk6noS9rjjlWbJ25mslDnY9r1u08rVfsUeLcqAMZ0oOL8ICpZ8/fioirhIxGpQ+4GjkuC9VUdaVrwZmWQeBp2p6lgpEfocykT+CA72P5T4pbF5eNw8E5XYZ+vmP/h1pdBAZV+wjKJOoCnY3QOl2HbxlgEsLSfNdXdoz5f6aBT+ru/JuCklRg3H04M/X0d9PI8rnrjNIsgedGajsUGBBhdvkgeATOzASSl16IrNJ13RiNQkno48dD5GU++urE6NTfEKJOc9oP625h696miexNcFTV+6dX6JQ9OD9Dtk+YjenQiWIiaQ4uNMIivJv986dTU6f46holmicTxFADR/v9qOxffu6wvNnKyeXrNK4qIkY2cB3yIBgwxEPEoOyL63MzN5Vi+ag+IhLStilkM5BqDZSuQ+E2TomaLhmql16HnPJJkEO9PcFC3FlcXuUHp+hvX3NqCSzq23O+e5CpzHJ0wVJnaieIh477xNO/VL+CFbol1NOk7lkWX65Zb0zZXNd5dzDmylRnJrhxoeesWWKSMJfAwad2ypYvY++kkDcwPoqB3liNovX9hK2plBXNE7T/foc1/eiXU1wlnBmg=="},{"id":"12c08036-43ca-43ae-9f08-a5f62420dd83","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"故障排查","description":"troubleshooting","prompt":"创建详细的故障排查文档。收集和整理常见的系统问题、错误信息和解决方案。包含认证失败、权限拒绝、文件上传失败、数据库连接异常等典型问题的诊断方法和修复步骤。提供日志分析技巧、性能监控指标、内存泄漏检测、线程死锁排查等高级调试技能。包含常用命令、监控工具、日志查询语句。为运维人员和开发人员提供快速定位和解决问题的实用指南,减少系统停机时间。","order":12,"progress_status":"completed","dependent_files":"crm-base/src/main/java/com/crm/base/advice/GlobalExceptionHandlerAdvice.java,crm-auth/src/main/java/com/crm/auth/security/SecurityExceptionHandlers.java,crm-base/src/main/java/com/crm/base/filter/TraceIdFilter.java","gmt_create":"2026-08-01T10:23:12.9590262+08:00","gmt_modified":"2026-08-01T10:30:13.3710634+08:00","raw_data":"WikiEncrypted:CaKOW8OSSWs4aEYk06Hu0hGGy7zXJE5t3XZJK+9x87X6q4zHAytjLlmcpwH9PAb9okQW7m6Z5SF5zgqYCgJVTWUM+OBP/CzepXICjLz5iwHNgtkxVgNWamHmYCSftZme59WDnY4bkZogrO+aPJ0m7Hn2m0u2FEZCwjlmuqcBXaGpg8OFCIgK0L0olZWb7hl78WX2ICHtVHhxInubVOoctMtYp3tPc0AKqtjdFEvBBFVPadSSbGUdJqz9oQc4PZfITl4AQDdbOB4n0tTI60H4PR4G95kmjpEfU6PdReQYC1a34zu0XOTpZb4Xk8ACnCbOQRYYQAqcXz5Lk8Oh4edYBjO8iDskiJVNFi0aXYONNbxJjtDyIzUgAwkqo8MYYc7F5I7q3UdPRcbvcr7cr5rrdZ94yadlxTT/E4cyI51TbDj/uyG0M8TXmmdHAxXk2N2TUXVohS94OXfTNiW4Y7Br2Vj1pxXsUxMdFs5NfhQzTvSTG9e6Ta+a5u6PWDN5qBN9z8enUpzAxVPeQne47VHu00diX+kMUGOfblrICCO0c7AyemjYd8beNf3ibUHKluWr8CnsMOp1NzkIY3LuQieFv/Dt97Ea7+jccD4+qa/iR3uTam3cwUqppGx8NphDF0iw8YNsd22jHebo6TifS8COrcmQZnnOCeoqYQed0Z1Iy85gyA6yMt6+DtOQnRRMIcWRim0uPrKDo1nCfl+8BhIRHGJu2ESZFelAUYwiimmQ9ZArGQSXG05xkxvu4yqkKT/5MKxOQQgdlfAWAsAC7Etb030uDubHfvrEsqNR+B5zvLeNZWNAdABm0Evnt0j5B2KMByju5RQ5E4grV4VAIKhcixV257UPCg8Z/X2WfE79np/Jll+7J/0PoHN9avsLsJUQQPElaTokmX8BFUD45w+P8ggH7d4rYBmWfVEhDEH4/Z+J5497CvMIrz8RJ5faVk3x6kOP1QpLqE6MukHYD6Xamla1jBrKOAuJG97q5C9Vpfh5qjvo2Z+1IEgv1hU8XOsSCigRGRGBPHRC/WwbZos2E4/jGdOz1VTPyUFO4KznBkTAMoZSPLAq5De0c3Jyc2bPuYSI2lEvUdrk5sn/drz7f364Js/d0GWtqcvIHvLlfZ5PwhG8zmRwvMKaCAJ0y3d81XP9I2cx+GaGTBZNMStUB3JpxKZanaJEYSmpEkItXDqCXRAmdiQVOnwp636Kj+Qp+m6jfIGsEvEnCwutgPvL6HvbG7Z/HGS/7yUWBHHIE6oS/Xm3zXT0KMk9p9b3dIoDV8ZKo+cp4xPeuMga775ly5CYy6OGzrSALY0cknSYrFU9bi6PL+WCzuxtuBke5y+YuYF2Df36cgru3MfSQ9ti9A=="}],"wiki_items":[{"catalog_id":"a894a655-5840-44a9-a639-04a0c1885521","title":"项目概览","description":"project-overview","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"835b2a5a-3749-48a1-877a-445eefd2921a","gmt_create":"2026-08-01T10:25:31.9953719+08:00","gmt_modified":"2026-08-01T10:25:32.0652021+08:00"},{"catalog_id":"dd587951-175e-4829-b096-36d9e6d5eaea","title":"快速开始","description":"getting-started","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"d9d4d4d8-4955-465b-9853-9fb697e79f45","gmt_create":"2026-08-01T10:25:35.3259911+08:00","gmt_modified":"2026-08-01T10:25:35.3351865+08:00"},{"catalog_id":"0825e6e0-bfad-4739-9586-d2ec50ce2dcb","title":"架构设计","description":"architecture-design","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"c0741164-f5df-4211-9366-481c2bfaefdd","gmt_create":"2026-08-01T10:25:40.4797226+08:00","gmt_modified":"2026-08-01T10:25:40.4861835+08:00"},{"catalog_id":"61603fbe-2a48-4f60-89e4-cdf37e119d32","title":"文件服务","description":"file-service","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"f809cf60-fb54-482f-ba5e-b19b957bba4f","gmt_create":"2026-08-01T10:26:52.2692539+08:00","gmt_modified":"2026-08-01T10:26:52.2781457+08:00"},{"catalog_id":"f18f3d0e-d3a3-4dee-9e06-6f273a611da0","title":"基础框架","description":"base-framework","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"f974312e-2807-4ebd-9fad-3eca5e05a8de","gmt_create":"2026-08-01T10:26:52.771115+08:00","gmt_modified":"2026-08-01T10:26:52.7788352+08:00"},{"catalog_id":"3f1baad6-225c-4412-af0c-c52976d1f8b6","title":"认证服务","description":"auth-service","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"dce63e18-37d0-459b-9f80-0b22e0f89b2b","gmt_create":"2026-08-01T10:27:24.0432767+08:00","gmt_modified":"2026-08-01T10:27:24.0553729+08:00"},{"catalog_id":"972dc29b-39fa-4e22-b4a9-d06594d5fb55","title":"API参考文档","description":"api-reference","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"de8d54c2-b3f5-446e-84c8-d197d614857d","gmt_create":"2026-08-01T10:28:01.6215022+08:00","gmt_modified":"2026-08-01T10:28:01.6284073+08:00"},{"catalog_id":"2e7654dc-4da7-4b34-910d-87bd6334f756","title":"数据模型","description":"data-model","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"ae9abd4e-ed02-4ce6-b76d-6f6e769d7654","gmt_create":"2026-08-01T10:28:12.3582817+08:00","gmt_modified":"2026-08-01T10:28:12.3658971+08:00"},{"catalog_id":"1b327205-aef1-4e95-ba67-51808ac20eea","title":"配置指南","description":"configuration-guide","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"88f456c9-e905-4ab8-8c8d-910b1e7bced7","gmt_create":"2026-08-01T10:28:23.6672306+08:00","gmt_modified":"2026-08-01T10:28:23.6739433+08:00"},{"catalog_id":"002c7e2d-d606-4f03-bb8f-8b25b8c58321","title":"部署指南","description":"deployment-guide","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"268ab0f5-65fc-49f6-a72b-62390594a976","gmt_create":"2026-08-01T10:29:17.7530654+08:00","gmt_modified":"2026-08-01T10:29:17.759386+08:00"},{"catalog_id":"6ed8a750-2109-4e77-b62b-7c1fbc070030","title":"开发指南","description":"development-guide","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"060cac65-05a5-4a8e-91c0-3fa0b6e3eb60","gmt_create":"2026-08-01T10:29:22.0568486+08:00","gmt_modified":"2026-08-01T10:29:22.063274+08:00"},{"catalog_id":"11df22f9-1e94-421c-92ed-7e2cf9535bf0","title":"测试指南","description":"testing-guide","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"82fe823e-7260-4351-9cb3-dc01ac4a62a4","gmt_create":"2026-08-01T10:29:30.3046832+08:00","gmt_modified":"2026-08-01T10:29:30.3131162+08:00"},{"catalog_id":"12c08036-43ca-43ae-9f08-a5f62420dd83","title":"故障排查","description":"troubleshooting","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"b7bd8ae4-1cfd-4cef-a9fc-bd183f668f0a","gmt_create":"2026-08-01T10:30:13.363801+08:00","gmt_modified":"2026-08-01T10:30:13.3710634+08:00"},{"catalog_id":"78ac8ca5-1992-44f0-aa14-f1776a557eff","title":"整体架构模式","description":"overall-architecture","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"d496a48a-7729-483b-b9a6-c417666b53cf","gmt_create":"2026-08-01T10:30:23.8691145+08:00","gmt_modified":"2026-08-01T10:30:23.8772403+08:00"},{"catalog_id":"cdf8610c-1f66-4fcd-a8bb-816e8fa5e29f","title":"架构设计","description":"architecture-design","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"a7e3868c-bf54-49cf-8b09-da179cd49b00","gmt_create":"2026-08-01T10:30:47.0038771+08:00","gmt_modified":"2026-08-01T10:30:47.0153478+08:00"},{"catalog_id":"a4335df0-1d8d-4bd9-b9f9-7a83a2522db5","title":"认证核心机制","description":"auth-core","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"c6b3c46f-1eab-4ddd-bab3-051a9fc3e5c3","gmt_create":"2026-08-01T10:31:02.3002775+08:00","gmt_modified":"2026-08-01T10:31:02.3054717+08:00"},{"catalog_id":"a11cb84f-70ea-42cf-9dfb-e644c1d2bcdd","title":"文件上传下载","description":"file-upload-download","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"dd99122b-3207-4b57-a3f0-9123477387bd","gmt_create":"2026-08-01T10:31:18.0943967+08:00","gmt_modified":"2026-08-01T10:31:18.101729+08:00"},{"catalog_id":"e2e50fda-d3c4-4b07-8ded-1931eef5b705","title":"认证API","description":"auth-api","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"d1644805-fad0-4c88-837f-8b5ebe55ba82","gmt_create":"2026-08-01T10:31:57.474041+08:00","gmt_modified":"2026-08-01T10:31:57.482644+08:00"},{"catalog_id":"d54ac4b2-811a-400d-89e5-be4b3db5d39a","title":"通用实体类","description":"base-entities","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"739f48f0-1ddd-445d-93ec-e6e27f17be8b","gmt_create":"2026-08-01T10:32:06.9057569+08:00","gmt_modified":"2026-08-01T10:32:06.9108667+08:00"},{"catalog_id":"e77ca833-d53b-4372-aadb-d9db1597b2ad","title":"用户认证模型","description":"user-auth-models","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"98467387-2104-4105-8022-54584f55d093","gmt_create":"2026-08-01T10:32:27.3410746+08:00","gmt_modified":"2026-08-01T10:32:27.3529223+08:00"},{"catalog_id":"280dcba9-9e7e-4d0d-b3f1-e9179c16b97f","title":"应用配置","description":"application-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"871fadc5-8e0b-4190-a31b-a0f727c64553","gmt_create":"2026-08-01T10:32:56.6495169+08:00","gmt_modified":"2026-08-01T10:32:56.6530971+08:00"},{"catalog_id":"b887ea86-369b-42eb-8c7b-7f6dcf2cb50a","title":"开发规范","description":"development-standards","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"b6d63b77-8358-4231-8181-c4ca5666ff14","gmt_create":"2026-08-01T10:33:13.0133507+08:00","gmt_modified":"2026-08-01T10:33:13.0201505+08:00"},{"catalog_id":"8f718fa2-87c5-48d6-81a2-f1e34445f5a8","title":"技术栈","description":"technology-stack","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"46f44ec3-2ed5-4794-a294-29af3806350c","gmt_create":"2026-08-01T10:33:18.2030217+08:00","gmt_modified":"2026-08-01T10:33:18.2060852+08:00"},{"catalog_id":"dfba2481-1f15-4203-89c4-a87c16ee2d90","title":"安全架构设计","description":"security-architecture","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"c6764f02-7eca-4a98-9c34-59ed848dc61a","gmt_create":"2026-08-01T10:34:01.6669732+08:00","gmt_modified":"2026-08-01T10:34:01.6727633+08:00"},{"catalog_id":"94bc6715-e744-4fd6-a155-9ea006d50fd6","title":"文件预览","description":"file-preview","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"cdadc305-f41d-403b-8423-d51ec201bb2e","gmt_create":"2026-08-01T10:34:15.7890575+08:00","gmt_modified":"2026-08-01T10:34:15.7938667+08:00"},{"catalog_id":"ff5cfc51-76e6-4697-9f94-ea25f3355e72","title":"用户管理","description":"user-management","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"d076a6b7-0b4d-4684-9fd8-4a8d28601f9e","gmt_create":"2026-08-01T10:34:45.2957122+08:00","gmt_modified":"2026-08-01T10:34:45.3066274+08:00"},{"catalog_id":"79598583-a6e6-4db9-82e8-5998a4d58726","title":"系统管理API","description":"system-api","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"20483fce-853c-49c8-9ec1-fa13c71e70e9","gmt_create":"2026-08-01T10:35:11.3005769+08:00","gmt_modified":"2026-08-01T10:35:11.3067686+08:00"},{"catalog_id":"1b891e44-a9af-491e-8b61-13fa14c4028a","title":"基础服务层","description":"base-service","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"af2f204d-1540-4290-a5b4-ab906d6e2a79","gmt_create":"2026-08-01T10:35:16.8147416+08:00","gmt_modified":"2026-08-01T10:35:16.8193566+08:00"},{"catalog_id":"e4828085-0300-4408-98a9-ae4794d0b96e","title":"权限体系模型","description":"permission-models","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"1a72341c-b76a-4424-ac9b-0c582ce278d5","gmt_create":"2026-08-01T10:36:03.0062425+08:00","gmt_modified":"2026-08-01T10:36:03.0146665+08:00"},{"catalog_id":"7b5d5ce0-fffa-4545-9494-5964f52edf84","title":"数据库配置","description":"database-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"88337c10-c005-4f9a-955d-1656ab0269fa","gmt_create":"2026-08-01T10:36:11.9669918+08:00","gmt_modified":"2026-08-01T10:36:11.9706157+08:00"},{"catalog_id":"6d4c21ec-6b43-4c80-91e4-1e0b0bbb32db","title":"框架使用","description":"framework-usage","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"87256e45-1bb1-4bd8-ac1b-4bb17dfd4c19","gmt_create":"2026-08-01T10:36:12.5060727+08:00","gmt_modified":"2026-08-01T10:36:12.514654+08:00"},{"catalog_id":"29bcd926-1b3f-456c-afa0-def23a7e583f","title":"数据访问架构","description":"data-access-architecture","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"e7288499-90bb-49bc-a65f-b1512e3b3381","gmt_create":"2026-08-01T10:37:08.4331508+08:00","gmt_modified":"2026-08-01T10:37:08.4411256+08:00"},{"catalog_id":"1c70012f-a18d-41ae-98f4-ea82b9515129","title":"角色权限管理","description":"role-permission","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"dca695f7-b800-4204-9977-ed394004ae5d","gmt_create":"2026-08-01T10:37:38.0882964+08:00","gmt_modified":"2026-08-01T10:37:38.0993966+08:00"},{"catalog_id":"ce73559d-e232-4666-a740-5db08637816c","title":"模块说明","description":"module-overview","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"578a7b52-5069-4091-b20c-0a2719998171","gmt_create":"2026-08-01T10:37:45.0839569+08:00","gmt_modified":"2026-08-01T10:37:45.0980508+08:00"},{"catalog_id":"08c2baa6-fc49-4dc0-aaaf-71248388f21d","title":"存储管理","description":"storage-management","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"e2d056dd-e698-4446-9a12-7511654dd87b","gmt_create":"2026-08-01T10:38:08.7729172+08:00","gmt_modified":"2026-08-01T10:38:08.7807147+08:00"},{"catalog_id":"fbf35410-3ee5-49e3-b276-7d0af5f9d6f3","title":"全局异常处理","description":"exception-handling","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"4962231f-487f-4931-be07-9407f400b4f2","gmt_create":"2026-08-01T10:38:36.6730095+08:00","gmt_modified":"2026-08-01T10:38:36.6770971+08:00"},{"catalog_id":"53368e02-c2b3-4396-bb2a-06aba885c0f1","title":"文件API","description":"file-api","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"9824ed4a-9f48-4b22-abb2-8389cf0c78d6","gmt_create":"2026-08-01T10:38:56.2660545+08:00","gmt_modified":"2026-08-01T10:38:56.2878056+08:00"},{"catalog_id":"c6f66819-c07b-4680-93e1-0cab24368beb","title":"文件管理模型","description":"file-models","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"3f0f5e2e-4454-4342-894a-d0465bef487a","gmt_create":"2026-08-01T10:39:18.6268808+08:00","gmt_modified":"2026-08-01T10:39:18.6380533+08:00"},{"catalog_id":"39bff5e4-389a-4286-b17e-8ddf67a4749c","title":"缓存配置","description":"cache-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"f0adf36f-aaef-42c9-9edc-316ad8e8cb33","gmt_create":"2026-08-01T10:39:34.2986669+08:00","gmt_modified":"2026-08-01T10:39:34.3017786+08:00"},{"catalog_id":"ab8a5041-5019-48dd-b58a-9870af2275b5","title":"高级特性","description":"advanced-features","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"1d76fd1c-9468-4ff7-819c-620a1aa32680","gmt_create":"2026-08-01T10:39:39.5564525+08:00","gmt_modified":"2026-08-01T10:39:39.5633978+08:00"},{"catalog_id":"cdabba0c-11af-44f7-a110-87567998fd6b","title":"快速开始","description":"quick-start","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"cc9e475c-e6e1-44b2-9448-5198b2b22167","gmt_create":"2026-08-01T10:40:06.0544394+08:00","gmt_modified":"2026-08-01T10:40:06.0661951+08:00"},{"catalog_id":"97d99d29-ae7f-4f14-88c1-16ab0e1b5f29","title":"缓存架构设计","description":"caching-architecture","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"58cd732e-1dad-4901-ad9e-e4361eb7c8a9","gmt_create":"2026-08-01T10:40:30.8205335+08:00","gmt_modified":"2026-08-01T10:40:30.8247731+08:00"},{"catalog_id":"3d099f9d-eddb-43c8-8fa4-fe483ec9508c","title":"菜单权限控制","description":"menu-access-control","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"e68c0bcd-bcf0-409b-98e5-e73abcd07eab","gmt_create":"2026-08-01T10:40:34.4081913+08:00","gmt_modified":"2026-08-01T10:40:34.4296158+08:00"},{"catalog_id":"751fe14c-b61f-4838-9a6d-857bc4dba035","title":"任务调度","description":"task-scheduling","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"679d7719-8478-4b8f-8fa1-e57fa19b0e03","gmt_create":"2026-08-01T10:41:00.911803+08:00","gmt_modified":"2026-08-01T10:41:00.9203615+08:00"},{"catalog_id":"f83c373b-8c09-4cca-834e-af2de949bcf5","title":"基础实体模型","description":"base-models","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"465ea2cf-ea85-46b0-adb8-f23e0f51dc0d","gmt_create":"2026-08-01T10:41:36.6925275+08:00","gmt_modified":"2026-08-01T10:41:36.7005101+08:00"},{"catalog_id":"0f6c546f-985a-419a-9924-a0951e18b7bb","title":"测试指南","description":"testing-guide","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"83b5d55c-3806-4d43-b9a0-96b208a5f635","gmt_create":"2026-08-01T10:41:42.9194417+08:00","gmt_modified":"2026-08-01T10:41:42.9240716+08:00"},{"catalog_id":"09833ae7-ef9f-4e37-9c16-22301b4ad52e","title":"安全框架","description":"security-framework","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"2a67478e-68fd-4c5f-8d3b-4c85a6d43302","gmt_create":"2026-08-01T10:41:55.5437641+08:00","gmt_modified":"2026-08-01T10:41:55.5587879+08:00"},{"catalog_id":"7e7e534e-d2ab-495c-ae78-18ebc7067dad","title":"文件存储配置","description":"file-storage-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"370c9ddf-9cc5-4fbc-95f4-30125ec04c07","gmt_create":"2026-08-01T10:42:50.8608972+08:00","gmt_modified":"2026-08-01T10:42:50.8693902+08:00"},{"catalog_id":"7e0d6412-017c-42d6-a460-ed9a1e77897a","title":"存储架构设计","description":"storage-architecture","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"af9f4de4-1412-4728-a72e-7fe9e237e33e","gmt_create":"2026-08-01T10:42:52.4182745+08:00","gmt_modified":"2026-08-01T10:42:52.4228756+08:00"},{"catalog_id":"aa1243a4-2495-4803-a88e-ec4e8a9131fa","title":"部门管理","description":"department-management","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"c8887b82-7caa-476e-a7b3-37a0da8ca941","gmt_create":"2026-08-01T10:42:53.6966416+08:00","gmt_modified":"2026-08-01T10:42:53.7012247+08:00"},{"catalog_id":"985c349f-80e6-41de-ab03-f127e5ec0900","title":"安全配置","description":"security-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"5e5d62c5-3a5e-416a-92fb-361b19cca8c7","gmt_create":"2026-08-01T10:43:52.8855776+08:00","gmt_modified":"2026-08-01T10:43:52.8934224+08:00"},{"catalog_id":"c12ea8f2-bd91-4cac-b219-49a005e97563","title":"核心配置","description":"configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"5ffbd455-cadd-4f60-83a2-6d4a8cbca3ea","gmt_create":"2026-08-01T10:43:54.4901753+08:00","gmt_modified":"2026-08-01T10:43:54.4966007+08:00"},{"catalog_id":"b76b20f6-16ac-4c25-9bec-84be749d636a","title":"调试与故障排查","description":"debugging-troubleshooting","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"27f4b863-ad48-4671-934f-7ad121133892","gmt_create":"2026-08-01T10:44:04.3873171+08:00","gmt_modified":"2026-08-01T10:44:04.3926346+08:00"},{"catalog_id":"748c4203-f0c2-4cb1-ba70-419232bb95ee","title":"工具类库","description":"utils-tools","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"7bebed75-a6b5-44c6-8b82-ea3803183cb8","gmt_create":"2026-08-01T10:44:52.2390017+08:00","gmt_modified":"2026-08-01T10:44:52.2420638+08:00"},{"catalog_id":"4b1f3f45-64c2-4894-baa6-28d84b08be88","title":"雪花算法配置","description":"snowflake-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"82457347-6367-456a-9356-2e5acbfdb390","gmt_create":"2026-08-01T10:45:02.6514592+08:00","gmt_modified":"2026-08-01T10:45:02.6558417+08:00"},{"catalog_id":"7bca2b84-ceac-4312-8616-600dbfc11b6b","title":"数据权限控制","description":"data-scope","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"0578c02d-17e0-4521-b976-1590c45adfc8","gmt_create":"2026-08-01T10:45:02.7518707+08:00","gmt_modified":"2026-08-01T10:45:02.7568739+08:00"},{"catalog_id":"8cdf8923-14ac-408b-92a0-c80eb87aaf8a","title":"认证API接口","description":"auth-api","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"3ac2b9bb-6133-44bc-bf03-6873b7a2c9b6","gmt_create":"2026-08-01T10:45:53.1197021+08:00","gmt_modified":"2026-08-01T10:45:53.1248928+08:00"},{"catalog_id":"08889ece-81a5-477d-a6fd-7c934ab6f1cc","title":"第三方登录集成","description":"third-party-auth","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"f1cd91eb-6089-40e0-ba34-48626a1649c1","gmt_create":"2026-08-01T10:45:56.5077709+08:00","gmt_modified":"2026-08-01T10:45:56.5157367+08:00"},{"catalog_id":"93e38594-db47-48d2-92a3-d6b4986c08bc","title":"通用常量与枚举","description":"common-constants","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"26f1483c-c42d-4fff-9ce1-2b5ad38352e9","gmt_create":"2026-08-01T10:45:59.3968966+08:00","gmt_modified":"2026-08-01T10:45:59.4015537+08:00"},{"catalog_id":"4b3affc8-944f-47fb-aa62-a87e3003ec2b","title":"领域模型","description":"domain-models","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"a7c8e7fb-dd50-4d48-8e97-53abb3d8e2be","gmt_create":"2026-08-01T10:46:48.6271018+08:00","gmt_modified":"2026-08-01T10:46:48.633977+08:00"},{"catalog_id":"02662906-d5fa-498c-97ec-6b984ac00ece","title":"认证机制","description":"authentication-mechanism","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"dedca28d-2bd5-4710-8fd5-84eda4378859","gmt_create":"2026-08-01T10:46:49.9392494+08:00","gmt_modified":"2026-08-01T10:46:49.9440437+08:00"},{"catalog_id":"ac97848d-30cb-4326-a786-d6ff15c3b403","title":"认证服务模块(crm-auth)","description":"auth-module","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"4c74b943-94bc-46c7-b16a-e33abc3af2c4","gmt_create":"2026-08-01T10:47:32.6955934+08:00","gmt_modified":"2026-08-01T10:47:32.7053274+08:00"},{"catalog_id":"c0fa7e49-ec5c-4aea-837f-c36960b529d4","title":"MyBatis Plus配置","description":"mybatis-plus-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"669ce1d2-0875-4103-832c-e872b5bc25fe","gmt_create":"2026-08-01T10:47:44.8723982+08:00","gmt_modified":"2026-08-01T10:47:44.8765359+08:00"},{"catalog_id":"d211ba82-0e6e-4228-bc5e-89f3551b2d13","title":"数据所有权控制","description":"data-ownership","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"35cac571-af96-43f9-b4c8-3dab1e836bec","gmt_create":"2026-08-01T10:47:46.4086397+08:00","gmt_modified":"2026-08-01T10:47:46.4148252+08:00"},{"catalog_id":"7709d8bb-c65a-4912-bb47-42975a880b8e","title":"自定义注解开发","description":"custom-annotations","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"42b4f623-7f24-4764-832e-2de9e17e8317","gmt_create":"2026-08-01T10:48:34.6429689+08:00","gmt_modified":"2026-08-01T10:48:34.6510143+08:00"},{"catalog_id":"6827cdab-284c-4075-b2b1-5aacae806079","title":"授权模型","description":"authorization-model","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"b1cf2f70-ee01-46e5-bcd6-7157f0df3a64","gmt_create":"2026-08-01T10:48:57.7251895+08:00","gmt_modified":"2026-08-01T10:48:57.7308703+08:00"},{"catalog_id":"2a7c08a9-ca56-47d1-8a19-08a778b4fbf0","title":"基础框架模块(crm-base)","description":"base-module","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"eb5fc685-6b02-430d-aacc-bf8baf0b30aa","gmt_create":"2026-08-01T10:49:11.7399534+08:00","gmt_modified":"2026-08-01T10:49:11.7495166+08:00"},{"catalog_id":"ea7f8a9d-19de-4c12-a9e5-0bbcb69bcb52","title":"数据范围助手","description":"data-scope-helper","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"46877382-98e5-4a69-85f8-52c9317452f3","gmt_create":"2026-08-01T10:49:36.8599435+08:00","gmt_modified":"2026-08-01T10:49:36.8645967+08:00"},{"catalog_id":"c938aa92-1653-4064-8193-296fea4ca49a","title":"Redis缓存配置","description":"redis-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"2f3be026-db25-43bf-b241-7a7d5e8d6c17","gmt_create":"2026-08-01T10:49:45.8823139+08:00","gmt_modified":"2026-08-01T10:49:45.8848686+08:00"},{"catalog_id":"977c278e-41a8-4826-8551-1a6df59f0040","title":"分布式ID生成","description":"distributed-id-generation","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"51e8d9a1-92fe-4561-bddb-333fac216f79","gmt_create":"2026-08-01T10:50:03.3249269+08:00","gmt_modified":"2026-08-01T10:50:03.3290469+08:00"},{"catalog_id":"ebb87dc2-eef0-4d73-9ee6-67d355b9c281","title":"文件服务模块(crm-file)","description":"file-module","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"b69e8856-d6fc-4f7a-a439-e7a22dce434e","gmt_create":"2026-08-01T10:50:36.4930802+08:00","gmt_modified":"2026-08-01T10:50:36.4987405+08:00"},{"catalog_id":"56974072-cdf9-44f9-b63d-f8750dcb09d5","title":"数据权限控制","description":"data-scope-control","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"25518006-c055-4ba0-acb5-fc063b4b3b84","gmt_create":"2026-08-01T10:51:08.6936592+08:00","gmt_modified":"2026-08-01T10:51:08.7005432+08:00"},{"catalog_id":"0fb5342f-41c3-4a6a-8227-f920e7612de7","title":"用户安全信息","description":"user-security","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"57aa3d52-9f51-4f33-bae7-6dbd8fba9b21","gmt_create":"2026-08-01T10:51:10.2821626+08:00","gmt_modified":"2026-08-01T10:51:10.2874376+08:00"},{"catalog_id":"6abacb8f-b1fa-4b2c-9284-1eb33ee629b5","title":"Jackson序列化配置","description":"jackson-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"f562463e-96a1-4061-9cd0-c35c162755df","gmt_create":"2026-08-01T10:51:32.3130903+08:00","gmt_modified":"2026-08-01T10:51:32.3171735+08:00"},{"catalog_id":"581c54c4-4193-4d2d-9b14-b12d7451d901","title":"应用入口模块(crm-app)","description":"app-module","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"33860bb6-3fe5-457a-9c8b-f6d52e51cbfa","gmt_create":"2026-08-01T10:51:56.3555913+08:00","gmt_modified":"2026-08-01T10:51:56.3586701+08:00"},{"catalog_id":"81de4762-02d8-4ff8-82cd-1f0cdd6fc4fc","title":"JWT认证机制","description":"jwt-authentication","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"0eee2d19-c134-4448-9c32-6f44d9c263f4","gmt_create":"2026-08-01T10:52:01.0416275+08:00","gmt_modified":"2026-08-01T10:52:01.0478193+08:00"},{"catalog_id":"93763d9b-30a2-4efa-ae72-6b9812ac4b50","title":"安全配置","description":"security-configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"590e4f01-6f30-4261-9df2-3d16f9e54802","gmt_create":"2026-08-01T10:52:26.5195101+08:00","gmt_modified":"2026-08-01T10:52:26.5241375+08:00"},{"catalog_id":"25d4ed5c-6711-4e10-a4f5-1233f3d9055f","title":"缓存策略","description":"caching-strategies","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"0183a3a0-b70e-4bd8-9ef9-58a80fb9d16c","gmt_create":"2026-08-01T10:52:44.737672+08:00","gmt_modified":"2026-08-01T10:52:44.7407405+08:00"},{"catalog_id":"a6310567-14d2-4be3-a801-b3367082923e","title":"Knife4j API文档配置","description":"knife4j-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"afae8ec4-6d94-4a7b-98cf-63806d7628b7","gmt_create":"2026-08-01T10:52:51.5740447+08:00","gmt_modified":"2026-08-01T10:52:51.5789177+08:00"},{"catalog_id":"0b53bbc1-ce50-4684-a2f7-ae29594e0f39","title":"雪花算法ID配置","description":"snowflake-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"7f519117-7bc1-40df-a903-dee68830d81d","gmt_create":"2026-08-01T10:53:14.1134469+08:00","gmt_modified":"2026-08-01T10:53:14.1185026+08:00"},{"catalog_id":"c9034e8c-7793-4960-b47c-77f33ee8b077","title":"定时任务","description":"scheduled-tasks","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"ace33c50-eea1-4a9c-a55b-7aa665892ae8","gmt_create":"2026-08-01T10:53:29.0552614+08:00","gmt_modified":"2026-08-01T10:53:29.0593661+08:00"},{"catalog_id":"13592bb1-8d46-48d8-98f5-4828595924ff","title":"跨域配置","description":"cors-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"b4388d32-165b-4835-a667-5a8100caf17c","gmt_create":"2026-08-01T10:53:35.5303566+08:00","gmt_modified":"2026-08-01T10:53:35.5340016+08:00"},{"catalog_id":"a4520266-217d-4939-b2f4-6b13109b47cd","title":"性能优化","description":"performance-optimization","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"766ad4ed-5ff8-426a-803f-390ee1362c29","gmt_create":"2026-08-01T10:54:07.1208922+08:00","gmt_modified":"2026-08-01T10:54:07.1249879+08:00"},{"catalog_id":"6d9e49cf-5d63-4f9b-a7aa-4e7f794e9254","title":"认证核心功能","description":"auth-core","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"121d6223-4b50-4f14-b316-a48642a9b6ef","gmt_create":"2026-08-01T10:54:25.5788243+08:00","gmt_modified":"2026-08-01T10:54:25.5834368+08:00"},{"catalog_id":"4ea40cfe-cfc8-4fc9-a38d-be371286aa3d","title":"通用实体类","description":"base-entity","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"3b7d1597-4486-4a34-8f50-64dfda4fd89e","gmt_create":"2026-08-01T10:54:30.1358129+08:00","gmt_modified":"2026-08-01T10:54:30.1404+08:00"},{"catalog_id":"09190ec6-9b2f-40cf-b233-d5c19998c934","title":"服务层封装","description":"service-layer","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"f69d5d81-5661-4100-89e4-c6b0ebf7189f","gmt_create":"2026-08-01T10:55:14.8986326+08:00","gmt_modified":"2026-08-01T10:55:14.9037665+08:00"},{"catalog_id":"ae7870c0-eeb7-44e6-b0e9-08b1393e34c8","title":"权限管理系统","description":"permission-system","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"0792dbca-20cb-4e0b-bde8-cadd57aa7bb2","gmt_create":"2026-08-01T10:55:30.5094825+08:00","gmt_modified":"2026-08-01T10:55:30.5182912+08:00"},{"catalog_id":"ab7d47ea-7c65-46c6-b312-5478e7a10676","title":"第三方登录集成","description":"third-party-auth","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"e7c93a3f-2f55-4647-b8cc-640e9b1b8beb","gmt_create":"2026-08-01T10:55:35.9787121+08:00","gmt_modified":"2026-08-01T10:55:35.9869804+08:00"},{"catalog_id":"f4902b5a-1300-47f2-ab4f-21e68abdcc73","title":"异常处理机制","description":"exception-handling","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"acad7822-89eb-4886-bad3-c205238abddc","gmt_create":"2026-08-01T10:56:16.3875954+08:00","gmt_modified":"2026-08-01T10:56:16.3922024+08:00"},{"catalog_id":"f5f2c36d-9d50-4b96-a7c7-0e698a0329ab","title":"安全配置与过滤器","description":"security-config","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"84b6fa9b-8bb5-4a1c-9709-23f2e18a78be","gmt_create":"2026-08-01T10:56:32.2785732+08:00","gmt_modified":"2026-08-01T10:56:32.28432+08:00"},{"catalog_id":"c076b789-345a-4ad8-bfff-1d588fbab43a","title":"数据访问层","description":"data-access","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"871f728c-3b52-4e48-aba8-85d419828db2","gmt_create":"2026-08-01T10:56:55.8398915+08:00","gmt_modified":"2026-08-01T10:56:55.8492552+08:00"},{"catalog_id":"799920df-d704-4a40-8b78-ab17f08eea28","title":"领域模型与实体","description":"domain-models","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"30275e72-7abf-42cd-a02d-b692ab10a425","gmt_create":"2026-08-01T10:57:28.1624544+08:00","gmt_modified":"2026-08-01T10:57:28.1691121+08:00"},{"catalog_id":"0acdb7e6-b7ce-42d9-a976-a8183cbcfc53","title":"安全与权限控制","description":"security-permission","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"115aabe2-05c0-4655-91ac-4a20b674e18c","gmt_create":"2026-08-01T10:57:37.8211656+08:00","gmt_modified":"2026-08-01T10:57:37.8280009+08:00"},{"catalog_id":"39497cd1-5018-4a0f-a5b9-d9963f6c202f","title":"框架配置","description":"configuration","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"c77935c8-6adf-4378-b023-af20bbc387eb","gmt_create":"2026-08-01T10:57:54.483189+08:00","gmt_modified":"2026-08-01T10:57:54.4878207+08:00"},{"catalog_id":"084e6769-6e4e-4978-9e7d-7740044913f6","title":"工具类库","description":"utilities","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"b536efef-bc32-48ed-b2d1-14b0c344df06","gmt_create":"2026-08-01T10:58:25.684839+08:00","gmt_modified":"2026-08-01T10:58:25.6894762+08:00"},{"catalog_id":"2ef0a54a-9710-4f81-8a04-b47fadc74003","title":"公共常量与枚举","description":"common-constants","extend":"{}","progress_status":"completed","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85","reference_count":0,"id":"cb774213-8f87-4d1f-bab1-1e1f251b5e51","gmt_create":"2026-08-01T10:58:43.7944145+08:00","gmt_modified":"2026-08-01T10:58:43.7990757+08:00"}],"wiki_overview":{"content":"我将对这个CRM后端项目进行全面的架构分析。让我首先查看项目的核心文件和结构。\n\n\u003ctool_call\u003e\n\u003cfunction=read_file\u003e\n\u003cparameter=file_path\u003e\nd:\\code\\crm-backend-matt\\pom.xml\n\u003c/parameter\u003e\n\u003c/function\u003e\n\u003c/tool_call\u003e","gmt_create":"2026-08-01T10:22:28.1936085+08:00","gmt_modified":"2026-08-01T10:22:28.1936085+08:00","id":"7446ac31-9214-484a-a016-00b66b44ead9","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85"},"wiki_readme":{"content":"No readme file","gmt_create":"2026-08-01T10:22:06.8875504+08:00","gmt_modified":"2026-08-01T10:22:06.8875504+08:00","id":"ba45cfbb-1dd8-4abb-bdd4-1bc2bcd1d060","repo_id":"26178ed3-332b-44ae-8692-e7ca355f2e85"},"wiki_repo":{"id":"26178ed3-332b-44ae-8692-e7ca355f2e85","name":"crm-backend-matt","progress_status":"completed","wiki_present_status":"COMPLETED","optimized_catalog":"\".\\n├── crm-app\\\\\\n│ ├── src\\\\main\\\\\\n│ │ ├── java\\\\com\\\\crm\\\\app\\\\\\n│ │ │ └── CrmAppApplication.java\\n│ │ └── resources\\\\\\n│ │ └── application.yml\\n│ ├── target\\\\\\n│ └── pom.xml\\n├── crm-auth\\\\\\n│ ├── src\\\\\\n│ │ ├── main\\\\\\n│ │ │ ├── java\\\\com\\\\crm\\\\auth\\\\\\n│ │ │ │ ├── config\\\\\\n│ │ │ │ │ ├── AuthProperties.java\\n│ │ │ │ │ ├── DataInitializer.java\\n│ │ │ │ │ ├── PermissionConfig.java\\n│ │ │ │ │ └── SecurityConfig.java\\n│ │ │ │ ├── constant\\\\\\n│ │ │ │ │ └── AuthConstants.java\\n│ │ │ │ ├── controller\\\\\\n│ │ │ │ │ ├── AuthController.java\\n│ │ │ │ │ └── SystemController.java\\n│ │ │ │ ├── domain\\\\\\n│ │ │ │ │ ├── dto\\\\\\n│ │ │ │ │ │ ├── LoginResultDTO.java\\n│ │ │ │ │ │ └── UserInfoDTO.java\\n│ │ │ │ │ ├── entity\\\\\\n│ │ │ │ │ │ ├── AuthIdentity.java\\n│ │ │ │ │ │ ├── AuthUser.java\\n│ │ │ │ │ │ ├── SysDept.java\\n│ │ │ │ │ │ ├── SysMenu.java\\n│ │ │ │ │ │ ├── SysRole.java\\n│ │ │ │ │ │ ├── SysRoleMenu.java\\n│ │ │ │ │ │ ├── SysUserDept.java\\n│ │ │ │ │ │ └── SysUserRole.java\\n│ │ │ │ │ ├── enums\\\\\\n│ │ │ │ │ │ ├── DataScopeEnum.java\\n│ │ │ │ │ │ ├── IdentityTypeEnum.java\\n│ │ │ │ │ │ └── MenuTypeEnum.java\\n│ │ │ │ │ └── param\\\\\\n│ │ │ │ │ └── LoginParam.java\\n│ │ │ │ ├── mapper\\\\\\n│ │ │ │ │ ├── AuthIdentityMapper.java\\n│ │ │ │ │ ├── AuthUserMapper.java\\n│ │ │ │ │ ├── SysDeptMapper.java\\n│ │ │ │ │ ├── SysMenuMapper.java\\n│ │ │ │ │ ├── SysRoleMapper.java\\n│ │ │ │ │ ├── SysRoleMenuMapper.java\\n│ │ │ │ │ ├── SysUserDeptMapper.java\\n│ │ │ │ │ └── SysUserRoleMapper.java\\n│ │ │ │ ├── security\\\\\\n│ │ │ │ │ ├── AuthLoginUser.java\\n│ │ │ │ │ ├── DataScopeInterceptor.java\\n│ │ │ │ │ ├── DataScopeTables.java\\n│ │ │ │ │ ├── JwtAuthenticationFilter.java\\n│ │ │ │ │ ├── SecurityExceptionHandlers.java\\n│ │ │ │ │ └── TokenService.java\\n│ │ │ │ ├── service\\\\\\n│ │ │ │ │ ├── client\\\\\\n│ │ │ │ │ │ ├── DingTalkAuthClient.java\\n│ │ │ │ │ │ ├── ThirdPartyAuthClient.java\\n│ │ │ │ │ │ ├── ThirdPartyAuthClientFactory.java\\n│ │ │ │ │ │ └── ThirdPartyUserInfo.java\\n│ │ │ │ │ ├── impl\\\\\\n│ │ │ │ │ │ ├── AuthIdentityServiceImpl.java\\n│ │ │ │ │ │ ├── AuthServiceImpl.java\\n│ │ │ │ │ │ ├── AuthUserServiceImpl.java\\n│ │ │ │ │ │ ├── PermissionServiceImpl.java\\n│ │ │ │ │ │ ├── SysDeptServiceImpl.java\\n│ │ │ │ │ │ ├── SysMenuServiceImpl.java\\n│ │ │ │ │ │ └── SysRoleServiceImpl.java\\n│ │ │ │ │ ├── DeptTreeCache.java\\n│ │ │ │ │ ├── IAuthIdentityService.java\\n│ │ │ │ │ ├── IAuthService.java\\n│ │ │ │ │ ├── IAuthUserService.java\\n│ │ │ │ │ ├── ISysDeptService.java\\n│ │ │ │ │ ├── ISysMenuService.java\\n│ │ │ │ │ └── ISysRoleService.java\\n│ │ │ │ └── AuthApplication.java\\n│ │ │ └── resources\\\\\\n│ │ │ └── application.yml\\n│ │ └── test\\\\\\n│ │ ├── java\\\\com\\\\crm\\\\auth\\\\\\n│ │ │ ├── security\\\\scope\\\\\\n│ │ │ │ ├── DataScopeIntegrationTest.java\\n│ │ │ │ ├── TestOwnedData.java\\n│ │ │ │ └── TestOwnedDataMapper.java\\n│ │ │ └── service\\\\\\n│ │ │ ├── client\\\\\\n│ │ │ │ ├── DingTalkAuthClientTest.java\\n│ │ │ │ └── ThirdPartyAuthClientFactoryTest.java\\n│ │ │ └── impl\\\\\\n│ │ │ ├── AuthServiceImplTest.java\\n│ │ │ ├── AuthUserServiceImplTest.java\\n│ │ │ └── SysDeptServiceImplTest.java\\n│ │ └── resources\\\\\\n│ ├── target\\\\\\n│ ├── crm-auth.iml\\n│ └── pom.xml\\n├── crm-base\\\\\\n│ ├── src\\\\\\n│ │ ├── main\\\\java\\\\com\\\\crm\\\\base\\\\\\n│ │ │ ├── advice\\\\\\n│ │ │ │ └── GlobalExceptionHandlerAdvice.java\\n│ │ │ ├── annotation\\\\\\n│ │ │ │ └── DataScope.java\\n│ │ │ ├── config\\\\\\n│ │ │ │ ├── CorsConfig.java\\n│ │ │ │ ├── CrmSqlInjector.java\\n│ │ │ │ ├── CustomIdGenerator.java\\n│ │ │ │ ├── InsertBatchOnDuplicateKeyUpdate.java\\n│ │ │ │ ├── JacksonConfig.java\\n│ │ │ │ ├── Knife4jConfig.java\\n│ │ │ │ ├── MetaObjectFillHandler.java\\n│ │ │ │ ├── MybatisPlusConfig.java\\n│ │ │ │ ├── RedisConfig.java\\n│ │ │ │ ├── ScheduledTaskProperties.java\\n│ │ │ │ ├── SnowflakeIdWorker.java\\n│ │ │ │ └── SnowflakeProperties.java\\n│ │ │ ├── constant\\\\\\n│ │ │ │ └── CommonConstants.java\\n│ │ │ ├── domain\\\\\\n│ │ │ │ ├── dto\\\\\\n│ │ │ │ │ └── BaseDTO.java\\n│ │ │ │ ├── entity\\\\\\n│ │ │ │ │ ├── BaseEntity.java\\n│ │ │ │ │ └── OwnedEntity.java\\n│ │ │ │ ├── enums\\\\\\n│ │ │ │ │ ├── HasValueEnum.java\\n│ │ │ │ │ └── StatusEnum.java\\n│ │ │ │ ├── exception\\\\\\n│ │ │ │ │ ├── BusinessErrorException.java\\n│ │ │ │ │ ├── MissingParameterException.java\\n│ │ │ │ │ ├── PermissionErrorException.java\\n│ │ │ │ │ └── ResourceNotExistException.java\\n│ │ │ │ ├── param\\\\\\n│ │ │ │ │ └── BaseParam.java\\n│ │ │ │ └── result\\\\\\n│ │ │ │ ├── PageResult.java\\n│ │ │ │ ├── Result.java\\n│ │ │ │ └── ResultCodeEnum.java\\n│ │ │ ├── filter\\\\\\n│ │ │ │ └── TraceIdFilter.java\\n│ │ │ ├── mapper\\\\\\n│ │ │ │ └── CrmBaseMapper.java\\n│ │ │ ├── security\\\\\\n│ │ │ │ ├── DataOwnership.java\\n│ │ │ │ ├── DataScopeHelper.java\\n│ │ │ │ ├── DataScopeLevel.java\\n│ │ │ │ ├── DataVisibilityContext.java\\n│ │ │ │ ├── LoginUser.java\\n│ │ │ │ └── SecurityUtils.java\\n│ │ │ ├── service\\\\\\n│ │ │ │ ├── impl\\\\\\n│ │ │ │ │ └── BaseServiceImpl.java\\n│ │ │ │ └── IBaseService.java\\n│ │ │ └── utils\\\\\\n│ │ │ ├── AssertUtils.java\\n│ │ │ ├── BeanCopyUtils.java\\n│ │ │ ├── EnumUtils.java\\n│ │ │ ├── ExcelUtil.java\\n│ │ │ ├── PageConverter.java\\n│ │ │ ├── ServletUtils.java\\n│ │ │ └── TreeUtils.java\\n│ │ └── test\\\\java\\\\com\\\\crm\\\\base\\\\security\\\\\\n│ │ └── DataVisibilityTest.java\\n│ ├── target\\\\\\n│ ├── crm-base.iml\\n│ └── pom.xml\\n├── crm-file\\\\\\n│ ├── src\\\\\\n│ │ ├── main\\\\java\\\\com\\\\crm\\\\file\\\\\\n│ │ │ ├── api\\\\\\n│ │ │ │ └── FileApi.java\\n│ │ │ ├── config\\\\\\n│ │ │ │ ├── FileProperties.java\\n│ │ │ │ ├── MinioConfig.java\\n│ │ │ │ └── SchedulingConfig.java\\n│ │ │ ├── constant\\\\\\n│ │ │ │ └── FileConstants.java\\n│ │ │ ├── controller\\\\\\n│ │ │ │ └── FileController.java\\n│ │ │ ├── domain\\\\\\n│ │ │ │ ├── dto\\\\\\n│ │ │ │ │ ├── FileDownloadDTO.java\\n│ │ │ │ │ ├── FileInfoDTO.java\\n│ │ │ │ │ ├── MultipartInitDTO.java\\n│ │ │ │ │ └── UploadSession.java\\n│ │ │ │ └── entity\\\\\\n│ │ │ │ └── FileInfo.java\\n│ │ │ ├── mapper\\\\\\n│ │ │ │ └── FileInfoMapper.java\\n│ │ │ ├── service\\\\\\n│ │ │ │ ├── impl\\\\\\n│ │ │ │ │ ├── FileApiImpl.java\\n│ │ │ │ │ └── FileInfoServiceImpl.java\\n│ │ │ │ ├── IFileInfoService.java\\n│ │ │ │ └── KkFileViewClient.java\\n│ │ │ └── task\\\\\\n│ │ │ └── OrphanChunkCleanupTask.java\\n│ │ └── test\\\\java\\\\com\\\\crm\\\\file\\\\\\n│ │ ├── service\\\\\\n│ │ │ ├── impl\\\\\\n│ │ │ │ └── FileApiImplTest.java\\n│ │ │ └── KkFileViewClientTest.java\\n│ │ └── task\\\\\\n│ │ └── OrphanChunkCleanupTaskTest.java\\n│ ├── target\\\\\\n│ └── pom.xml\\n├── docs\\\\agents\\\\\\n│ ├── domain.md\\n│ ├── issue-tracker.md\\n│ └── triage-labels.md\\n├── AGENTS.md\\n├── CONTEXT-MAP.md\\n└── pom.xml\\n\"","current_document_structure":"WikiEncrypted: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","catalogue_think_content":"WikiEncrypted:d45SgZtN4Jq1t6soxMe5H9Kpbj8zRKINytn5yDduSAfgNPrv0gaYL3xmw4MDZreqyY9rDQaF/v0/NDjh4qfPAUvIgyjBjTbhIbb/sXH1jWEZvKPilhX7qtLw4UTA63bchonAXJvE5RJ5Mbupq0RHPbdhqbsa6XBDvbotzz/PdUtsLLD479pgpbE9i2257svZnmWmUpGjSbAUkDBjeZZW74kF6UYM1CrlN7P9fJ2shnNi9MpJzmYudv9yk8bJ/cL2NCHJ5yc34Bgg83Sczz4/bW9NOCvQ+/7HwsFd7EmYTtRJuIqrQ/yd76ug9F1P3/RaZZ4Gq+SE9ruHlSB93bYPSNPn6VO05gYlvjuTF4fALdcCTNt/cV2BrqG3EuT1iQwj","recovery_checkpoint":"wiki_generation_completed","last_commit_id":"0000000000000000000000000000000000000000","last_commit_update":"2026-08-01T10:58:43.9995591+08:00","gmt_create":"2026-08-01T10:22:05.6819004+08:00","gmt_modified":"2026-08-01T10:58:43.9995591+08:00","extend_info":"{\"language\":\"zh\",\"active\":true,\"branch\":\"Q0DeR-MaG1C-BrAnCh-Fo2-NoN-GiT-Or-No-C0MmIt\",\"shareStatus\":\"\",\"server_error_code\":\"\",\"cosy_version\":\"\"}"}}