export declare const backendCodePromptTemplate = "# \u4EE3\u7801\u751F\u6210\u89C4\u5219\n\n## \uD83D\uDD25 \u975E\u5E38\u91CD\u8981\uFF01\uFF01\u975E\u5E38\u6838\u5FC3\u7684\u89C4\u5219\uFF01\uFF01\n\u975E\u5E38\u91CD\u8981\uFF01\uFF01\u975E\u5E38\u6838\u5FC3\u7684\u89C4\u5219\uFF01\uFF01\u8FD9\u662F\u7279\u6B8A\u7684\u4EE3\u7801\u7F16\u5199\uFF0C\u4E0D\u662F\u5E38\u89C4\u7684\u4EE3\u7801\u7F16\u5199\uFF0C\u4F1A\u6709\u5F88\u591A\u7279\u522B\u7684\u89C4\u5219\uFF0C\u56E0\u6B64\u4F60\u7EDD\u5BF9\u4E0D\u80FD\u4EE5\u4F60\u5DF2\u6709\u7684\u7ECF\u9A8C\u548C\u77E5\u8BC6\u5E93\u6765\u81EA\u4EE5\u4E3A\u662F\u5730\u8DF3\u8FC7\u7701\u7565\u63D0\u793A\u8BCD\u91CC\u63D0\u5230\u7684\u5404\u79CD\u6267\u884C\u6B65\u9AA4\uFF0C\u5FC5\u987B\u4F7F\u7528\u8C03\u7528todo_write\u5DE5\u5177\u521B\u5EFA\u4EFB\u52A1\u5217\u8868\uFF0C\u4F60\u5FC5\u987B\u4E25\u683C\u6309\u7167\u63D0\u793A\u8BCD\u7ED9\u51FA\u7684\u6267\u884C\u6B65\u9AA4\uFF0C\u4E00\u6B65\u4E00\u6B65\u6765\u6267\u884C\uFF0C\u6BCF\u6267\u884C\u5B8C\u4E00\u6B65\u90FD\u5FC5\u987B\u8F93\u51FA\u8BE5\u6B65\u9AA4\u5DF2\u6267\u884C\uFF0C\u51C6\u5907\u6267\u884C\u4E0B\u4E00\u6B65\uFF1Axxx\u3002\n\n## \u7B2C1\u6B65\n\u5206\u6790\u7406\u89E3\u6574\u4E2A\u9879\u76EE\u7684\u4EE3\u7801\u7ED3\u6784\uFF0C\u53C2\u8003\u8FD9\u91CC\u9762\u7684'\u9879\u76EE\u6982\u8FF0'\uFF0C\u6CE8\u610F\uFF0C\u65E0\u9700\u5206\u6790admin\u7AEF\u7684\u4EE3\u7801\uFF0C\u4F60\u8981\u7F16\u5199\u7684\u662FC\u7AEF\u4EE3\u7801\u3002\n## \u7B2C2\u6B65\n\u5206\u6790\u7406\u89E3\u5DE5\u7A0B\u6839\u76EE\u5F55'.bytefun/globalApiInterfaceList.md'\u8FD9\u4E2A\u6587\u4EF6\uFF0C\u91CD\u70B9\u5206\u6790\u4ECE\u6587\u4EF6\u672B\u5C3E\u5F80\u4E0A\u627E\u5230\u7684\u7B2C\u4E00\u4EFDjson\u6570\u636E\uFF0C\u63D0\u53D6\u51FA\u6765\u540E\u4F60\u81EA\u5DF1\u5FC5\u987B\u7F13\u5B58\u597D\uFF0C\u8FD9\u975E\u5E38\u91CD\u8981\uFF0C\u56E0\u4E3A\u8FD9\u662F\u63A5\u53E3\u6E05\u5355\uFF0C\u662F\u4EE3\u7801\u751F\u6210\u7684\u4F9D\u636E\u3002\n## \u7B2C3\u6B65\n\u6839\u636E\u63D0\u53D6\u51FA\u6765\u7684\u63A5\u53E3\u6E05\u5355\u91CC\u7684\u63A5\u53E3\u63CF\u8FF0\uFF0C\u68C0\u67E5\u5185\u7F6E\u7684API\u63A5\u53E3\u662F\u5426\u6EE1\u8DB3\u63A5\u53E3\u5217\u8868\u91CC\u7684\u63A5\u53E3\u529F\u80FD\uFF0C\u4E0D\u8981\u521B\u5EFA\u5185\u7F6E\u7684API\u63A5\u53E3\u5DF2\u7ECF\u6EE1\u8DB3\u7684\u63A5\u53E3\u3002\u5185\u7F6E\u7684API\u63A5\u53E3\uFF1A\u8D26\u53F7\u5BC6\u7801\u767B\u5F55\u63A5\u53E3\uFF0C\u53D1\u9001\u77ED\u4FE1\u9A8C\u8BC1\u7801\u63A5\u53E3\uFF0C\u624B\u673A\u53F7\u767B\u5F55\u63A5\u53E3\uFF0C\u9000\u51FA\uFF08\u6CE8\u9500\uFF09\u63A5\u53E3\uFF0C\u624B\u673A\u53F7\u6CE8\u518C\u63A5\u53E3\u3002\n## \u7B2C4\u6B65\n\u6839\u636E\u63D0\u53D6\u51FA\u6765\u7684\u63A5\u53E3\u6E05\u5355\u91CC\u7684\u63A5\u53E3\u63CF\u8FF0\uFF0C\u5224\u65AD\u76EE\u524D\u7684\u6570\u636E\u5E93\u8868\u7ED3\u6784\u662F\u5426\u652F\u6301\u63A5\u53E3\u6E05\u5355\u91CC\u7684\u63A5\u53E3\u529F\u80FD\u548C\u4E1A\u52A1\u903B\u8F91\uFF0C\u4E0D\u652F\u6301\u7684\u60C5\u51B5\u4E0B\u4FEE\u6539\u5E93\u8868\u7ED3\u6784\uFF0C\u5E76\u628A\u4FEE\u6539\u540E\u7684SQL\u8BED\u53E5\u653E\u5728\u5DE5\u7A0B\u6839\u76EE\u5F55'backend/doc/'\u76EE\u5F55\u4E0B\u3002\u7279\u522B\u6CE8\u610F\u5224\u65AD\u73B0\u6709\u7684\u8868\u5B57\u6BB5\u662F\u5426\u6EE1\u8DB3\u63A5\u53E3\u6240\u9700\u7684\u8FD4\u56DE\u6570\u636E\u3002\n## \u7B2C5\u6B65\n\u6839\u636E\u63D0\u53D6\u51FA\u6765\u7684\u63A5\u53E3\u6E05\u5355\u91CC\u7684\u63A5\u53E3\u63CF\u8FF0\uFF0C\u67E5\u627E\u9700\u8981\u7528\u5230\u7684\u6570\u636E\u5E93\u8868\uFF0C\u6839\u636E\u5DE5\u7A0B\u6839\u76EE\u5F55\"backend/doc/bytefun-boot-simple.sql\"\u6587\u4EF6\u91CC\u7684\u5EFA\u8868\u8BED\u53E5\u548C\u4FEE\u6539\u540E\u7684SQL\u8BED\u53E5\uFF0C\u4E25\u683C\u6309\u7167'db.json\u6587\u4EF6\u5185\u5BB9\u683C\u5F0F\u89C4\u8303'\uFF0C\u5728\u5DE5\u7A0B\u6839\u76EE\u5F55'backend/doc/db.json'\u6587\u4EF6\uFF0C\u6587\u4EF6\u4E2D\u6DFB\u52A0\u5BF9\u5E94\u7684\u8868\u7ED3\u6784\uFF0C\u5FC5\u987B\u5305\u542B\u6574\u5F20\u8868\u7684\u6240\u6709\u5B57\u6BB5\uFF0C\u5982\u679C\u6CA1\u6709\u4FEE\u6539\u540E\u7684SQL\u8BED\u53E5\uFF0C\u5219'db.json'\u7684\u6587\u4EF6\u5185\u5BB9\u4E3A'[]'\u3002\n## \u7B2C6\u6B65\n\u91CD\u65B0\u5206\u6790\u7406\u89E3\u8FD9\u4EFD\u4EE3\u7801\u751F\u6210\u89C4\u5219\u7684\u5185\u5BB9\uFF0C\u5FC5\u987B\u9010\u884C\u9605\u8BFB\u5206\u6790\uFF01\u6839\u636E'\u7EE7\u627FBaseServiceImpl\u7684Service\u5B9E\u73B0\u7C7B'\uFF0C'\u7EE7\u627FBaseService\u7684Service\u63A5\u53E3\u7C7B'\u8FD9\u4E9B\u6761\u76EE\u7684\u5185\u5BB9\uFF0C\u638C\u63E1Service\u5C42\u4EE3\u7801\u7684\u5199\u6CD5\u3002\u5206\u6790\u4E0B\u9762\u63D0\u5230\u7684'\u9879\u76EE\u6982\u8FF0'\u548C'\u4E1A\u52A1\u6A21\u5757\u6807\u51C6\u76EE\u5F55\u7ED3\u6784'\uFF0C\u7279\u522B\u662F'\u4E1A\u52A1\u6A21\u5757\u6807\u51C6\u76EE\u5F55\u7ED3\u6784'\uFF0C\u8FD9\u4E9B\u4E1A\u52A1\u6A21\u5757\u662F'bytefun-boot-biz-common'\u7684\u5B50\u6A21\u5757\u3002\n## \u7B2C7\u6B65\n\u5DE5\u7A0B\u6839\u76EE\u5F55'backend/bytefun-boot-biz-common'\u5B58\u5728\u9700\u8981\u521B\u5EFA\u7684\u5B50\u6A21\u5757\u540E\uFF0C\u68C0\u67E5\u5DE5\u7A0B\u6839\u76EE\u5F55'backend/bytefun-boot-biz-common'\u7684'pom.xml'\u6587\u4EF6\uFF0C\u786E\u4FDD\u5BF9\u5E94\u7684\u5B50\u6A21\u5757\u5DF2\u7ECF\u6DFB\u52A0\u5230'modules'\u4E2D\u3002\n## \u7B2C8\u6B65\n\u6839\u636E\u63D0\u53D6\u51FA\u6765\u7684\u63A5\u53E3\u6E05\u5355\u91CC\u7684\u63A5\u53E3\u63CF\u8FF0\uFF0C\u4FEE\u6539\u5DE5\u7A0B\u6839\u76EE\u5F55'backend/bytefun-boot-biz-common'\u7684\u5B50\u6A21\u5757\u7684\u4EE3\u7801\uFF0C\u5B9E\u73B0\u63A5\u53E3\u7684\u529F\u80FD\uFF0C\u6CE8\u610F\uFF0CSQL\u8BED\u53E5\u5FC5\u987B\u5199\u5728dao.xml\u6620\u5C04\u6587\u4EF6\u91CC\uFF0C\u7981\u6B62\u5728java\u6587\u4EF6\u4E2D\u62FC\u88C5SQL\u8BED\u53E5\uFF0C\u7981\u6B62\u5728java\u6587\u4EF6\u4E2D\u4F7F\u7528MyBaits\u7684Wrapper\u76F8\u5173\u7C7B\u3002\u5982\u679C\u63D0\u53D6\u51FA\u6765\u7684\u63A5\u53E3\u6E05\u5355\u91CC\uFF0C\u5B58\u5728'auth'\u5BF9\u5E94\u7684\u503C\u4E3Afalse\u7684\u60C5\u51B5\u4E0B\uFF0C\u9700\u8981\u4FEE\u6539\u914D\u7F6E\u6587\u4EF6'auth.yml'\uFF0C\u5728ignore_urls\u589E\u52A0\u91CC\u589E\u52A0\u5FFD\u7565\u8BA4\u8BC1\u7684\u8DEF\u5F84\uFF0C\u5BF9\u5E94\u4E3A\u5DE5\u7A0B\u6839\u76EE\u5F55\".bytefun/globalApiInterfaceList.md\"\u5339\u914D\u5230\u7684json\u6570\u636E\u4E2D\u7684path\uFF0C\u6CE8\u610F\u5FC5\u987B\u4EE5'/'\u5F00\u5934\uFF0C\"auth.yml\"\u8FD9\u4E2A\u6587\u4EF6\u5728\"bytefun-server-simple\"\u6A21\u5757\u4E0B\u7684\"src/main/resources\"\u76EE\u5F55\u4E0B\u3002\u5982\u679C\u7F16\u5199\u7684java\u6587\u4EF6\u4E0D\u5728'dao'\u6216'entity'\u8FD9\u4E24\u4E2Apackage\u6216\u5B50package\u4E0B\uFF0C\u6587\u4EF6\u540D\u79F0\u9700\u8981\u4EE5'Client'\u5F00\u5934\u3002\u5982\u679C'bytefun-boot-biz-common'\u6A21\u5757\u4E0B\u7684\u5B50\u6A21\u5757\u5B58\u5728\u76F8\u4E92\u4F9D\u8D56\uFF0C\u5FC5\u987B\u8981\u4FEE\u6539\u5B50\u6A21\u5757\u7684pom.xml\u6587\u4EF6\uFF0C\u5F15\u5165\u5BF9\u5E94\u7684\u4F9D\u8D56\u6A21\u5757\u3002\n## \u7B2C9\u6B65\n\u9700\u8981\u66F4\u65B0`doc/\u540E\u7AEF\u4EE3\u7801\u5F00\u53D1\u8FDB\u5EA6.json`\u91CC\u9762\u8BE5\u9875\u9762\u5BF9\u5E94\u7684json\u7684codeStatus\u5B57\u6BB5\u4E3Acompleted\u3002\n## \u7B2C10\u6B65\n\u6240\u6709\u4EE3\u7801\u7F16\u5199\u5B8C\u6BD5\u540E\uFF0C\u9700\u8981\u5728\u6574\u4E2A\u9879\u76EE\u6267\u884C 'mvn clean compile' \u547D\u4EE4\u7F16\u8BD1\u9879\u76EE\uFF0C\u7981\u6B62\u5355\u4E2A\u6A21\u5757\u5355\u72EC\u7F16\u8BD1\uFF0C\u9047\u5230\u7F16\u8BD1\u5931\u8D25\u65F6\u9700\u8981\u4FEE\u6539\u9519\u8BEF\u4EE3\u7801\u3002\n\n## \u9879\u76EE\u6982\u8FF0\n\u672C\u9879\u76EE\u57FA\u4E8E Spring Boot 2.7.6\uFF0C\u91C7\u7528\u591A\u6A21\u5757\u67B6\u6784\u8BBE\u8BA1\uFF0C\u4F7F\u7528\u4E86 Lombok \u8FDB\u884C\u7B80\u5316\u4EE3\u7801\uFF0CMyBatis Plus \u8FDB\u884C\u6570\u636E\u6301\u4E45\u5316\uFF0CMapStruct \u8FDB\u884C\u5BF9\u8C61\u8F6C\u6362\u3002\n### \u9879\u76EE\u6574\u4F53\u67B6\u6784\n```\nbytefun-boot/\n\u251C\u2500\u2500 bytefun-boot-api/          # \u5B9A\u4E49\u5185\u90E8service\u63A5\u53E3\n\u251C\u2500\u2500 bytefun-boot-biz/          # \u4E1A\u52A1\u6A21\u5757\uFF0C\u5305\u542B\u5177\u4F53\u4E1A\u52A1\u5B9E\u73B0\n\u251C\u2500\u2500 bytefun-boot-framework/    # \u6846\u67B6\u6838\u5FC3\u6A21\u5757\uFF0C\u63D0\u4F9B\u57FA\u7840\u529F\u80FD\n\u251C\u2500\u2500 bytefun-boot-module/       # \u529F\u80FD\u6A21\u5757\u96C6\u5408\n\u2502   \u251C\u2500\u2500 bytefun-module-message/    # \u6D88\u606F\u6A21\u5757\n\u2502   \u251C\u2500\u2500 bytefun-module-monitor/    # \u76D1\u63A7\u6A21\u5757\n\u2502   \u2514\u2500\u2500 bytefun-module-quartz/     # \u5B9A\u65F6\u4EFB\u52A1\u6A21\u5757\n\u251C\u2500\u2500 bytefun-boot-system/       # \u7CFB\u7EDF\u7BA1\u7406\u6A21\u5757\n\u2514\u2500\u2500 bytefun-server-simple/     # \u542F\u52A8\u6A21\u5757\n\u251C\u2500\u2500 doc/                       # \u8BF4\u660E\u6587\u6863\n\u2502   \u2514\u2500\u2500 apiDoc/                # \u5DF2\u6709\u6A21\u5757\u7684\u63A5\u53E3\u6587\u6863\n\u2502   \u251C\u2500\u2500 BackendApiCodeDescription.md/    # \u540E\u7AEF\u63A5\u53E3\u4EE3\u7801\u63CF\u8FF0\n\u2502   \u2514\u2500\u2500 bytefun-boot-simple.sql/         # \u6570\u636E\u5E93\u8868\u7ED3\u6784\n```\n#### bytefun-boot-system \u7CFB\u7EDF\u7BA1\u7406\u6A21\u5757\u8BE6\u7EC6\u8BF4\u660E\n- **com/bytefun/system/controller/client/**\uFF1AC\u7AEF\u63A7\u5236\u5C42\uFF0C\u8D1F\u8D23\u63A5\u6536\u548C\u54CD\u5E94\u524D\u7AEF\u8BF7\u6C42\u3002\n- **com/bytefun/system/convert/**\uFF1A\u5BF9\u8C61\u8F6C\u6362\u5C42\uFF0C\u8D1F\u8D23 Entity/VO/DTO \u4E4B\u95F4\u7684\u5C5E\u6027\u62F7\u8D1D\u548C\u8F6C\u6362\uFF0C\u4FBF\u4E8E\u5206\u79BB\u6570\u636E\u7ED3\u6784\u3002\n- **com/bytefun/system/dao/**\uFF1A\u6570\u636E\u8BBF\u95EE\u5C42\uFF0C\u5B9A\u4E49 Mapper \u63A5\u53E3\uFF0C\u914D\u5408 MyBatis/MyBatisPlus \u8FDB\u884C\u6570\u636E\u5E93\u64CD\u4F5C\u3002\n- **com/bytefun/system/entity/**\uFF1A\u5B9E\u4F53\u7C7B\uFF0C\u901A\u5E38\u4E0E\u6570\u636E\u5E93\u8868\u4E00\u4E00\u5BF9\u5E94\uFF0C\u5E38\u7528 Lombok \u6CE8\u89E3\uFF08\u5982 @Data\uFF09\u7B80\u5316\u4EE3\u7801\u3002\n- **com/bytefun/system/query/**\uFF1A\u67E5\u8BE2\u53C2\u6570\u5BF9\u8C61\uFF0C\u5C01\u88C5\u63A5\u53E3\u8BF7\u6C42\u7684\u67E5\u8BE2\u6761\u4EF6\uFF0C\u5206 admin/client\u3002\n- **com/bytefun/system/service/**\uFF1A\u4E1A\u52A1\u903B\u8F91\u5C42\uFF0C\u5B9A\u4E49\u670D\u52A1\u63A5\u53E3\u53CA\u5176\u5B9E\u73B0\uFF0C\u5206 admin/client\u3002\n- **com/bytefun/system/vo/**\uFF1A\u89C6\u56FE\u5BF9\u8C61\uFF0C\u5C01\u88C5\u8FD4\u56DE\u7ED9\u524D\u7AEF\u7684\u6570\u636E\u7ED3\u6784\uFF0C\u5206 admin/client\u3002\n- **resources/mapper/**\uFF1AMyBatis \u7684 XML \u6620\u5C04\u6587\u4EF6\uFF0C\u5B9A\u4E49 SQL \u8BED\u53E5\u548C\u7ED3\u679C\u6620\u5C04\u3002\n\n\u6CE8\u610F\uFF0C\u5728bytefun-boot-system\u4E2D\u5DF2\u7ECF\u5305\u542B\u4E86\u7528\u6237\u57FA\u7840\u4FE1\u606F\u7684\u529F\u80FD\u4EE3\u7801\u3002\n\u5BF9\u5E94\u5B9E\u4F53\u7C7B\u4E3A`com.bytefun.system.entity.SysUserEntity`\uFF1B\n\u5BF9\u5E94controller\u4E3A`com.bytefun.system.controller.client.ClientSysAuthController`\uFF1B\n\u5BF9\u5E94\u7684\u6570\u636E\u8868\u4E3A`sys_user`;\n\n#### bytefun-boot-framework \u6846\u67B6\u6838\u5FC3\u6A21\u5757\u6982\u8981\u8BF4\u660E\n- **com.bytefun.framework.factory.ServiceFactory**\uFF1A\u670D\u52A1\u5DE5\u5382\u7C7B\uFF0C\u7528\u4E8E\u521B\u5EFA\u4E1A\u52A1\u670D\u52A1\u5B9E\u4F8B\u3002\n- **com.bytefun.framework.common.result.PageResult**\uFF1A\u5206\u9875\u7ED3\u679C\u7C7B\uFF0C\u7528\u4E8E\u5C01\u88C5\u5206\u9875\u67E5\u8BE2\u7684\u7ED3\u679C\u3002\n- **com.bytefun.framework.common.result.Result**\uFF1A\u901A\u7528\u7ED3\u679C\u7C7B\uFF0C\u7528\u4E8E\u5C01\u88C5\u63A5\u53E3\u8C03\u7528\u7684\u7ED3\u679C\uFF0C\u5305\u62EC\u6210\u529F\u3001\u5931\u8D25\u3001\u5F02\u5E38\u7B49\u60C5\u51B5\u3002\n\n### \u6A21\u5757\u76EE\u5F55\u7ED3\u6784\u4E0E\u529F\u80FD\n#### \u4E1A\u52A1\u6A21\u5757\u6807\u51C6\u76EE\u5F55\u7ED3\u6784\n```\nsrc/main/\n\u251C\u2500\u2500 java/\n\u2502   \u2514\u2500\u2500 com/bytefun/biz/\n\u2502       \u251C\u2500\u2500 config/         # \u914D\u7F6E\u7C7B\uFF0C\u5982\u5DE5\u5382\u914D\u7F6E\u3001Bean \u5B9A\u4E49\u7B49\n\u2502       \u251C\u2500\u2500 controller/     # \u63A7\u5236\u5668\uFF0C\u5206\u4E3A admin \u548C client \u4E24\u7AEF\uFF0C\u5904\u7406\u524D\u7AEF\u8BF7\u6C42\n\u2502       \u2502   \u251C\u2500\u2500 admin/      # \u540E\u53F0\u7BA1\u7406\u7AEF\u76F8\u5173\u63A5\u53E3\n\u2502       \u2502   \u2514\u2500\u2500 client/     # C\u7AEF\u7528\u6237\u76F8\u5173\u63A5\u53E3\n\u2502       \u251C\u2500\u2500 convert/        # VO/Entity/DTO \u4E4B\u95F4\u7684\u8F6C\u6362\u5668\n\u2502       \u2502   \u251C\u2500\u2500 admin/      # \u540E\u53F0\u7BA1\u7406\u7AEF\u8F6C\u6362\u5668\n\u2502       \u2502   \u2514\u2500\u2500 client/     # C\u7AEF\u7528\u6237\u8F6C\u6362\u5668\n\u2502       \u251C\u2500\u2500 dao/            # MyBatis/MyBatisPlus \u6301\u4E45\u5C42\u63A5\u53E3\uFF08Mapper\uFF09\n\u2502       \u251C\u2500\u2500 entity/         # \u5B9E\u4F53\u7C7B\uFF0C\u5BF9\u5E94\u6570\u636E\u5E93\u8868\uFF0C\u5E38\u7528 Lombok \u7B80\u5316\n\u2502       \u251C\u2500\u2500 query/          # \u67E5\u8BE2\u53C2\u6570\u5BF9\u8C61\n\u2502       \u2502   \u251C\u2500\u2500 admin/      # \u540E\u53F0\u7BA1\u7406\u7AEF\u67E5\u8BE2\u53C2\u6570\n\u2502       \u2502   \u2514\u2500\u2500 client/     # C\u7AEF\u7528\u6237\u67E5\u8BE2\u53C2\u6570\n\u2502       \u251C\u2500\u2500 service/        # \u4E1A\u52A1\u670D\u52A1\u63A5\u53E3\u4E0E\u5B9E\u73B0\uFF0C\u5206 admin/client\n\u2502       \u2502   \u251C\u2500\u2500 admin/      # \u540E\u53F0\u7BA1\u7406\u7AEF\u670D\u52A1\u63A5\u53E3\n\u2502       \u2502   \u2502   \u2514\u2500\u2500 impl/   # \u540E\u53F0\u7BA1\u7406\u7AEF\u670D\u52A1\u5B9E\u73B0\n\u2502       \u2502   \u2514\u2500\u2500 client/     # C\u7AEF\u7528\u6237\u670D\u52A1\u63A5\u53E3\n\u2502       \u2502       \u2514\u2500\u2500 impl/   # C\u7AEF\u7528\u6237\u670D\u52A1\u5B9E\u73B0\n\u2502       \u2514\u2500\u2500 vo/             # \u8FD4\u56DE\u524D\u7AEF\u7684\u89C6\u56FE\u5BF9\u8C61\uFF08VO\uFF09\n\u2502           \u251C\u2500\u2500 admin/      # \u540E\u53F0\u7BA1\u7406\u7AEF VO\n\u2502           \u2514\u2500\u2500 client/     # C\u7AEF\u7528\u6237 VO\n\u2514\u2500\u2500 resources/\n    \u2514\u2500\u2500 mapper/\n    \u2502   \u2514\u2500\u2500 biz/\n    \u2502        \u2514\u2500\u2500 CommonCollectDao.xml  # MyBatis \u6620\u5C04\u6587\u4EF6\n    \u2514\u2500\u2500\u2500auth.yml            # \u914D\u7F6E\u65E0\u9700\u767B\u5F55\u8BA4\u8BC1\u7684\u63A5\u53E3\u8BF7\u6C42\u8DEF\u5F84\n```\n##### \u8BE6\u7EC6\u8BF4\u660E\n- **config/**\uFF1A\u5B58\u653E\u914D\u7F6E\u7C7B\uFF0C\u5982\u670D\u52A1\u5DE5\u5382\u3001Bean \u914D\u7F6E\u7B49\u3002\n- **controller/**\uFF1A\u63A7\u5236\u5C42\uFF0C\u8D1F\u8D23\u63A5\u6536\u548C\u54CD\u5E94\u524D\u7AEF\u8BF7\u6C42\uFF0C\u5206\u4E3A admin\uFF08\u540E\u53F0\u7BA1\u7406\uFF09\u548C client\uFF08C\u7AEF\u7528\u6237\uFF09\u3002\n- **convert/**\uFF1A\u5BF9\u8C61\u8F6C\u6362\u5C42\uFF0C\u8D1F\u8D23 Entity/VO/DTO \u4E4B\u95F4\u7684\u5C5E\u6027\u62F7\u8D1D\u548C\u8F6C\u6362\uFF0C\u4FBF\u4E8E\u5206\u79BB\u6570\u636E\u7ED3\u6784\u3002\n- **dao/**\uFF1A\u6570\u636E\u8BBF\u95EE\u5C42\uFF0C\u5B9A\u4E49 Mapper \u63A5\u53E3\uFF0C\u914D\u5408 MyBatis/MyBatisPlus \u8FDB\u884C\u6570\u636E\u5E93\u64CD\u4F5C\u3002\n- **entity/**\uFF1A\u5B9E\u4F53\u7C7B\uFF0C\u901A\u5E38\u4E0E\u6570\u636E\u5E93\u8868\u4E00\u4E00\u5BF9\u5E94\uFF0C\u5E38\u7528 Lombok \u6CE8\u89E3\uFF08\u5982 @Data\uFF09\u7B80\u5316\u4EE3\u7801\u3002\n- **query/**\uFF1A\u67E5\u8BE2\u53C2\u6570\u5BF9\u8C61\uFF0C\u5C01\u88C5\u63A5\u53E3\u8BF7\u6C42\u7684\u67E5\u8BE2\u6761\u4EF6\uFF0C\u5206 admin/client\u3002\n- **service/**\uFF1A\u4E1A\u52A1\u903B\u8F91\u5C42\uFF0C\u5B9A\u4E49\u670D\u52A1\u63A5\u53E3\u53CA\u5176\u5B9E\u73B0\uFF0C\u5206 admin/client\u3002\n- **vo/**\uFF1A\u89C6\u56FE\u5BF9\u8C61\uFF0C\u5C01\u88C5\u8FD4\u56DE\u7ED9\u524D\u7AEF\u7684\u6570\u636E\u7ED3\u6784\uFF0C\u5206 admin/client\u3002\n- **resources/mapper/biz/**\uFF1AMyBatis \u7684 XML \u6620\u5C04\u6587\u4EF6\uFF0C\u5B9A\u4E49 SQL \u8BED\u53E5\u548C\u7ED3\u679C\u6620\u5C04\u3002\n\n### \u6280\u672F\u6808\u8BF4\u660E\n#### \u6838\u5FC3\u6846\u67B6\n- **Spring Boot 2.7.6**\uFF1A\u4E3B\u6846\u67B6\uFF0C\u63D0\u4F9B\u81EA\u52A8\u914D\u7F6E\u3001\u5185\u5D4C\u670D\u52A1\u5668\u7B49\u7279\u6027\n- **Spring Security**\uFF1A\u5B89\u5168\u6846\u67B6\uFF0C\u63D0\u4F9B\u8BA4\u8BC1\u3001\u6388\u6743\u3001\u4F1A\u8BDD\u7BA1\u7406\u7B49\u529F\u80FD\n- **Spring Data Redis**\uFF1ARedis\u7F13\u5B58\u652F\u6301\n\n#### \u6570\u636E\u6301\u4E45\u5316\n- **MyBatis Plus 3.5.2**\uFF1A\u589E\u5F3A\u7684MyBatis\u6846\u67B6\uFF0C\u63D0\u4F9BCRUD\u64CD\u4F5C\u3001\u5206\u9875\u3001\u6761\u4EF6\u6784\u9020\u5668\u7B49\n- **\u8FBE\u68A6\u6570\u636E\u5E93**\uFF1A\u652F\u6301\u8FBE\u68A6\u6570\u636E\u5E93\u9A71\u52A8\n\n#### \u4EE3\u7801\u7B80\u5316\n- **Lombok**\uFF1A\u901A\u8FC7\u6CE8\u89E3\u81EA\u52A8\u751F\u6210getter/setter\u3001\u6784\u9020\u65B9\u6CD5\u3001toString\u7B49\u6837\u677F\u4EE3\u7801\n- **MapStruct 1.4.2**\uFF1A\u5BF9\u8C61\u6620\u5C04\u6846\u67B6\uFF0C\u81EA\u52A8\u751F\u6210Entity/VO/DTO\u4E4B\u95F4\u7684\u8F6C\u6362\u4EE3\u7801\n\n#### \u5DE5\u5177\u5E93\n- **Hutool 5.7.22**\uFF1AJava\u5DE5\u5177\u7C7B\u5E93\uFF0C\u63D0\u4F9B\u4E30\u5BCC\u7684\u5DE5\u5177\u65B9\u6CD5\n- **FastJSON 2.0.47**\uFF1AJSON\u5904\u7406\u5E93\n- **EasyExcel 3.1.1**\uFF1AExcel\u5BFC\u5165\u5BFC\u51FA\u5E93\n- **EasyTrans 2.0.12**\uFF1A\u6570\u636E\u7FFB\u8BD1\u6846\u67B6\n\n#### API\u6587\u6863\u5DE5\u5177\n- **Knife4j 4.4.0**\uFF1A\u57FA\u4E8EOpenAPI 3\u7684API\u6587\u6863\u751F\u6210\u5DE5\u5177\n\n#### \u5176\u4ED6\u7279\u6027\n- **\u591A\u79DF\u6237\u652F\u6301**\uFF1A\u652F\u6301\u591A\u79DF\u6237\u67B6\u6784\n- **XSS\u9632\u62A4**\uFF1A\u9632\u6B62XSS\u653B\u51FB\n- **\u9A8C\u8BC1\u7801\u652F\u6301**\uFF1A\u96C6\u6210\u9A8C\u8BC1\u7801\u529F\u80FD\n- **\u6587\u4EF6\u5B58\u50A8**\uFF1A\u652F\u6301\u963F\u91CC\u4E91OSS\u3001\u817E\u8BAF\u4E91COS\u3001\u4E03\u725B\u4E91\u3001MinIO\u7B49\u591A\u79CD\u5B58\u50A8\u65B9\u5F0F\n- **\u77ED\u4FE1\u670D\u52A1**\uFF1A\u652F\u6301\u963F\u91CC\u4E91\u3001\u817E\u8BAF\u4E91\u77ED\u4FE1\u670D\u52A1\n- **\u5FAE\u4FE1\u96C6\u6210**\uFF1A\u652F\u6301\u5FAE\u4FE1\u516C\u4F17\u53F7\u5F00\u53D1\n\n## db.json\u6587\u4EF6\u5185\u5BB9\u683C\u5F0F\u89C4\u8303\n```json\n[\n  {\n    \"moduleName\": \"\u6A21\u5757\u540D\u79F0\uFF0C\u547D\u540D\u89C4\u8303\uFF1Abytefun-boot-biz-\u5B50\u6A21\u5757\u540D\u79F0\",\n    \"tableName\": \"\u8868\u540D\",\n    \"tableComment\": \"\u8868\u6CE8\u91CA\",\n    \"columns\": [\n      {\n        \"name\": \"\u5B57\u6BB5\u540D\u79F0\",\n        \"type\": \"\u5B57\u6BB5\u5BF9\u5E94\u7684java\u7C7B\u578B\",\n        \"nullable\": \"\u662F\u5426\u5141\u8BB8\u4E3ANULL\",\n        \"default\": \"\u9ED8\u8BA4\u503C\",\n        \"comment\": \"\u5B57\u6BB5\u6CE8\u91CA\",\n        \"primaryKey\": \"\u662F\u5426\u4E3A\u4E3B\u952E\"\n      }\n    ]\n  }\n]\n```\n## \u4FEE\u6539\u914D\u7F6E\u6587\u4EF6auth.yml\n```yml\nauth:\n  ignore_urls:\n    - /client/biz/example/**\n```\n## \u7EE7\u627FBaseServiceImpl\u7684Service\u5B9E\u73B0\u7C7B\n\u5982\u679CService\u7684\u5B9E\u73B0\u7C7B\u7EE7\u627F\u4E86BaseServiceImpl\uFF0C\u90A3\u4E48\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528\u6CDB\u578BDao\uFF1A'baseMapper'\uFF0C\u65E0\u9700\u624B\u52A8\u6CE8\u5165\u3002\n## \u7EE7\u627FBaseService\u7684Service\u63A5\u53E3\u7C7B\n\u5982\u679CService\u7684\u63A5\u53E3\u7C7B\u7EE7\u627F\u4E86BaseService\uFF0C\u90A3\u4E48\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u65B9\u6CD5\uFF1A\n| \u65B9\u6CD5\u540D                 | \u4E2D\u6587\u8BF4\u660E                                    |\n| ------------------- | --------------------------------------- |\n| `save`              | \u63D2\u5165\u4E00\u6761\u8BB0\u5F55\uFF08\u9009\u62E9\u5B57\u6BB5\uFF0C\u7B56\u7565\u63D2\u5165\uFF09                       |\n| `saveBatch`         | \u63D2\u5165\uFF08\u6279\u91CF\uFF09                                  |\n| `saveOrUpdateBatch` | \u6279\u91CF\u4FEE\u6539\u63D2\u5165                                  |\n| `removeById`        | \u6839\u636E ID \u5220\u9664                                |\n| `removeByMap`       | \u6839\u636E columnMap \u6761\u4EF6\uFF0C\u5220\u9664\u8BB0\u5F55                    |\n| `remove`            | \u6839\u636E entity \u6761\u4EF6\uFF0C\u5220\u9664\u8BB0\u5F55                       |\n| `removeByIds`       | \u5220\u9664\uFF08\u6839\u636EID \u6279\u91CF\u5220\u9664\uFF09                           |\n| `removeBatchByIds`  | \u6279\u91CF\u5220\u9664(jdbc\u6279\u91CF\u63D0\u4EA4)                          |\n| `updateById`        | \u6839\u636E ID \u9009\u62E9\u4FEE\u6539                              |\n| `updateBatchById`   | \u6839\u636EID \u6279\u91CF\u66F4\u65B0                               |\n| `saveOrUpdate`      | TableId \u6CE8\u89E3\u5B58\u5728\u66F4\u65B0\u8BB0\u5F55\uFF0C\u5426\u63D2\u5165\u4E00\u6761\u8BB0\u5F55                |\n| `getById`           | \u6839\u636E ID \u67E5\u8BE2                                |\n| `listByIds`         | \u67E5\u8BE2\uFF08\u6839\u636EID \u6279\u91CF\u67E5\u8BE2\uFF09                           |\n| `count`             | \u67E5\u8BE2\u603B\u8BB0\u5F55\u6570                                  |\n| `list`              | \u67E5\u8BE2\u5217\u8868                                    |\n| `page`              | \u7FFB\u9875\u67E5\u8BE2                                    |\n| `listMaps`          | \u67E5\u8BE2\u5217\u8868                                    |\n| `listObjs`          | \u67E5\u8BE2\u5168\u90E8\u8BB0\u5F55                                  |\n| `pageMaps`          | \u7FFB\u9875\u67E5\u8BE2                                    |\n";
//# sourceMappingURL=backendCode.d.ts.map