diff --git a/.gitea/workflows/validate-changelog-filenames.yml b/.gitea/workflows/validate-changelog-filenames.yml
deleted file mode 100644
index 9965474..0000000
--- a/.gitea/workflows/validate-changelog-filenames.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-name: changelog-filename-gate
-
-on:
- workflow_dispatch:
- pull_request:
- branches:
- - main
- types:
- - opened
- - reopened
- - synchronize
- - edited
- push:
- branches:
- - main
-
-jobs:
- validate:
- name: validate
- runs-on: ubuntu-latest
- steps:
- # Keep the gate self-contained: the test environment cannot reliably clone GitHub Actions repositories.
- - name: Checkout full history
- run: |
- git init -q .
- git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
- git fetch --no-tags --prune origin \
- "+refs/heads/*:refs/remotes/origin/*" \
- "+refs/pull/*/head:refs/remotes/pull/*/head" \
- "+refs/pull/*/merge:refs/remotes/pull/*/merge"
- git checkout --detach "$GITHUB_SHA"
-
- - name: Verify Node.js runtime
- run: |
- node --version
- npm --version
- node -e "if (Number(process.versions.node.split('.')[0]) < 20) process.exit(1)"
-
- - name: Run regression tests
- run: npm test
-
- - name: Validate new changelog filenames
- run: npm run check:filenames -- --event "$GITHUB_EVENT_PATH"
-
- - name: Validate changelog frontmatter
- run: npm run check:frontmatter -- --event "$GITHUB_EVENT_PATH"
diff --git a/.swagger/dict_data.json b/.swagger/dict_data.json
deleted file mode 100644
index 029a748..0000000
--- a/.swagger/dict_data.json
+++ /dev/null
@@ -1,5807 +0,0 @@
-{
- "activity_billing_type": {
- "name": "\u6e38\u73a9\u9879\u76ee\u8ba1\u8d39\u65b9\u5f0f",
- "category": "BUSINESS",
- "remark": "\u6e38\u73a9\u9879\u76ee\u8ba1\u8d39\u65b9\u5f0f\u5b57\u5178",
- "items": [
- {
- "value": "PER_PERSON",
- "label": "\u6309\u4eba",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PER_GROUP",
- "label": "\u6309\u7ec4/\u573a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PER_HOUR",
- "label": "\u6309\u5c0f\u65f6",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PER_SESSION",
- "label": "\u6309\u573a\u6b21",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "activity_category": {
- "name": "\u6e38\u73a9\u9879\u76ee\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "\u6e38\u73a9\u9879\u76ee\u5206\u7c7b\u5b57\u5178",
- "items": [
- {
- "value": "horse_riding",
- "label": "\u9a6c\u672f\u9a91\u884c",
- "sort": 1,
- "status": "INACTIVE"
- },
- {
- "value": "HORSEBACK",
- "label": "\u9a6c\u672f\u9a91\u884c",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MOTOR_SPORT",
- "label": "\u673a\u52a8\u8d8a\u91ce",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "WATER_SPORT",
- "label": "\u6c34\u4e0a\u9879\u76ee",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ARCHERY_COMBAT",
- "label": "\u5c04\u7bad\u640f\u51fb",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "CULTURAL",
- "label": "\u6587\u5316\u4f53\u9a8c",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "cultural_experience",
- "label": "\u6c11\u4fd7\u6587\u5316",
- "sort": 5,
- "status": "INACTIVE"
- },
- {
- "value": "FOOD_CRAFT",
- "label": "\u7f8e\u98df\u624b\u4f5c",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "NATURE_EXPLORE",
- "label": "\u81ea\u7136\u63a2\u7d22",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "CAMPFIRE_PARTY",
- "label": "\u7bdd\u706b\u805a\u4f1a",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "WINTER_SPORT",
- "label": "\u51ac\u5b63\u9879\u76ee",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "PARENT_CHILD",
- "label": "\u4eb2\u5b50\u4e92\u52a8",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "OUTDOOR",
- "label": "\u6237\u5916\u8fd0\u52a8",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "OUTDOOR_SPORT",
- "label": "\u6237\u5916\u7ade\u6280",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "ENTERTAINMENT",
- "label": "\u4f11\u95f2\u5a31\u4e50",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "ANIMAL",
- "label": "\u52a8\u7269\u4e92\u52a8",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "EXTREME",
- "label": "\u6781\u9650\u8fd0\u52a8",
- "sort": 15,
- "status": "ACTIVE"
- },
- {
- "value": "EDUCATION",
- "label": "\u7814\u5b66\u6559\u80b2",
- "sort": 16,
- "status": "ACTIVE"
- },
- {
- "value": "PHOTOGRAPHY",
- "label": "\u6444\u5f71\u5199\u771f",
- "sort": 17,
- "status": "ACTIVE"
- },
- {
- "value": "PERFORMANCE",
- "label": "\u6f14\u51fa\u8868\u6f14",
- "sort": 18,
- "status": "ACTIVE"
- },
- {
- "value": "CATERING",
- "label": "\u9910\u996e\u670d\u52a1",
- "sort": 19,
- "status": "ACTIVE"
- },
- {
- "value": "DINING",
- "label": "\u7528\u9910\u4f53\u9a8c",
- "sort": 20,
- "status": "ACTIVE"
- }
- ]
- },
- "activity_environment_type": {
- "name": "\u6e38\u73a9\u9879\u76ee\u73af\u5883\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u6e38\u73a9\u9879\u76ee\u73af\u5883\u7c7b\u578b\u5b57\u5178",
- "items": [
- {
- "value": "INDOOR",
- "label": "\u5ba4\u5185",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "OUTDOOR",
- "label": "\u6237\u5916",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "MIXED",
- "label": "\u6df7\u5408",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "activity_physical_level": {
- "name": "\u6e38\u73a9\u9879\u76ee\u4f53\u529b\u7b49\u7ea7",
- "category": "BUSINESS",
- "remark": "\u6e38\u73a9\u9879\u76ee\u4f53\u529b\u7b49\u7ea7\u5b57\u5178",
- "items": [
- {
- "value": "EASY",
- "label": "\u4f11\u95f2",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MODERATE",
- "label": "\u9002\u4e2d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "HARD",
- "label": "\u8f83\u5f3a",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "EXTREME",
- "label": "\u9ad8\u5f3a\u5ea6",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "admin_status": {
- "name": "\u7ba1\u7406\u5458\u72b6\u6001",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "ACTIVE",
- "label": "\u6b63\u5e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "INACTIVE",
- "label": "\u7981\u7528",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "LOCKED",
- "label": "\u9501\u5b9a",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "DELETED",
- "label": "\u5df2\u5220\u9664",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "approval_sp_status": {
- "name": "\u5ba1\u6279\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "1",
- "label": "\u5ba1\u6279\u4e2d",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "2",
- "label": "\u5df2\u901a\u8fc7",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "3",
- "label": "\u5df2\u9a73\u56de",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "4",
- "label": "\u5df2\u64a4\u9500",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "6",
- "label": "\u901a\u8fc7\u540e\u64a4\u9500",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "7",
- "label": "\u5df2\u5220\u9664",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "10",
- "label": "\u5df2\u652f\u4ed8",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "banner_link_type": {
- "name": "Banner\u94fe\u63a5\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u9996\u9875Banner\u70b9\u51fb\u8df3\u8f6c\u7684\u94fe\u63a5\u7c7b\u578b",
- "items": [
- {
- "value": "PRODUCT",
- "label": "\u4ea7\u54c1\u8be6\u60c5",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ARTICLE",
- "label": "\u6587\u7ae0\u8be6\u60c5",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "URL",
- "label": "\u5916\u90e8\u94fe\u63a5",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "MINI_PAGE",
- "label": "\u5c0f\u7a0b\u5e8f\u9875\u9762",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "NONE",
- "label": "\u65e0\u8df3\u8f6c",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "banner_media_type": {
- "name": "Banner\u5a92\u4f53\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u9996\u9875Banner\u652f\u6301\u7684\u5a92\u4f53\u7c7b\u578b",
- "items": [
- {
- "value": "IMAGE",
- "label": "\u56fe\u7247",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "VIDEO",
- "label": "\u89c6\u9891",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "batch_status": {
- "name": "\u56e2\u671f\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u5f00\u653e",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ENROLLING",
- "label": "\u62a5\u540d\u4e2d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CONFIRMED",
- "label": "\u5df2\u6210\u56e2",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "FULL",
- "label": "\u5df2\u6ee1\u5458",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "CLOSED",
- "label": "\u5df2\u622a\u6b62",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "DISBANDED",
- "label": "\u5df2\u6563\u56e2",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "IN_PROGRESS",
- "label": "\u51fa\u884c\u4e2d",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "FINISHED",
- "label": "\u5df2\u7ed3\u675f",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "bathroom_type": {
- "name": "\u536b\u6d74\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "Bathroom types",
- "items": [
- {
- "value": "PRIVATE",
- "label": "\u72ec\u7acb\u536b\u6d74",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SHARED",
- "label": "\u516c\u5171\u536b\u6d74",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "bed_type": {
- "name": "\u5e8a\u578b",
- "category": "BUSINESS",
- "remark": "Bed types",
- "items": [
- {
- "value": "SINGLE_BED",
- "label": "\u5355\u4eba\u5e8a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "DOUBLE_BED",
- "label": "\u53cc\u4eba\u5e8a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "TWIN_BED",
- "label": "\u53cc\u5e8a",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "KING_BED",
- "label": "\u5927\u5e8a",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "TATAMI",
- "label": "\u69bb\u69bb\u7c73",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "KANG",
- "label": "\u706b\u7095",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "billing_type": {
- "name": "\u8ba1\u8d39\u65b9\u5f0f",
- "category": "BUSINESS",
- "remark": "\u5907\u54c1\u8ba1\u8d39\u65b9\u5f0f",
- "items": [
- {
- "value": "BY_PERSON",
- "label": "\u6309\u4eba\u5934",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "BY_COUNT",
- "label": "\u6309\u4ef6",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "billing_type_service": {
- "name": "\u670d\u52a1\u8ba1\u8d39\u65b9\u5f0f",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "FLAT_RATE",
- "label": "\u4e00\u53e3\u4ef7",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "PER_PERSON",
- "label": "\u6309\u4eba\u5934",
- "sort": 20,
- "status": "ACTIVE"
- },
- {
- "value": "PER_HOUR",
- "label": "\u6309\u5c0f\u65f6",
- "sort": 30,
- "status": "ACTIVE"
- },
- {
- "value": "PER_DAY",
- "label": "\u6309\u5929",
- "sort": 40,
- "status": "ACTIVE"
- },
- {
- "value": "PER_DISTANCE",
- "label": "\u6309\u8ddd\u79bb",
- "sort": 50,
- "status": "ACTIVE"
- },
- {
- "value": "CUSTOM",
- "label": "\u81ea\u5b9a\u4e49",
- "sort": 60,
- "status": "ACTIVE"
- }
- ]
- },
- "calendar_status": {
- "name": "\u65e5\u5386\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "\u4ef7\u683c\u65e5\u5386\u4e2d\u6bcf\u65e5\u7684\u72b6\u6001",
- "items": [
- {
- "value": "AVAILABLE",
- "label": "\u53ef\u552e",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SOLD_OUT",
- "label": "\u5df2\u552e\u7f44",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CLOSED",
- "label": "\u5df2\u5173\u95ed",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "cities": {
- "name": "\u57ce\u5e02",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "hailar",
- "label": "\u822a\u73ed",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "manzhouli",
- "label": "\u706b\u8f66",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "eergu",
- "label": "\u989d\u5c14\u53e4\u7eb3",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "genhe",
- "label": "\u6839\u6cb3",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "yakeshi",
- "label": "\u7259\u514b\u77f3",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "zhalantun",
- "label": "\u624e\u5170\u5c6f",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "aershan",
- "label": "\u963f\u5c14\u5c71",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "shiwei",
- "label": "\u5ba4\u97e6",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "enhe",
- "label": "\u6069\u548c",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "heishantou",
- "label": "\u9ed1\u5c71\u5934",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "chenbaerhu",
- "label": "\u9648\u5df4\u5c14\u864e\u65d7",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "xinbaerhuzuo",
- "label": "\u65b0\u5df4\u5c14\u864e\u5de6\u65d7",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "xinbaerhuyou",
- "label": "\u65b0\u5df4\u5c14\u864e\u53f3\u65d7",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "ewenke",
- "label": "\u9102\u6e29\u514b\u65d7",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "moerdaoga",
- "label": "\u83ab\u5c14\u9053\u560e",
- "sort": 15,
- "status": "ACTIVE"
- }
- ]
- },
- "city": {
- "name": "\u57ce\u5e02\u7b5b\u9009",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "hailar",
- "label": "\u5168\u56fd\u65c5\u6e38\u76d1\u7ba1\u5e73\u53f0",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "manzhouli",
- "label": "\u6cd5\u5927\u5927",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "eergu",
- "label": "e\u7b7e\u5b9d",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "genhe",
- "label": "\u817e\u8baf\u7535\u5b50\u7b7e",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "aershan",
- "label": "\u963f\u5c14\u5c71",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "shiwei",
- "label": "\u5ba4\u97e6",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "enhe",
- "label": "\u6069\u548c",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "heishantou",
- "label": "\u9ed1\u5c71\u5934",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "common_status": {
- "name": "\u901a\u7528\u72b6\u6001",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "ACTIVE",
- "label": "\u542f\u7528",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "INACTIVE",
- "label": "\u505c\u7528",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "contact_channel_type": {
- "name": "\u8054\u7cfb\u6211\u4eec\u6e20\u9053\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "ABOUT",
- "label": "\u5173\u4e8e\u6211\u4eec",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ONLINE_CS",
- "label": "\u5728\u7ebf\u5ba2\u670d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PHONE",
- "label": "\u7535\u8bdd\u54a8\u8be2",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "contract_mode": {
- "name": "\u5408\u540c\u6a21\u5f0f",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "STANDARD",
- "label": "\u7535\u5b50\u7b7e\u7f72",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SYNC",
- "label": "\u7eb8\u8d28\u4e0a\u62a5",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "contract_platform": {
- "name": "\u5408\u540c\u5e73\u53f0",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "12301",
- "label": "12301",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "FADADA",
- "label": "\u6cd5\u5927\u5927",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "contract_status": {
- "name": "\u5408\u540c\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u751f\u6210",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "GENERATED",
- "label": "\u5df2\u751f\u6210",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "SIGNING",
- "label": "\u7b7e\u7f72\u4e2d",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_SIGN",
- "label": "\u5f85\u7b7e\u7f72",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "SIGNED",
- "label": "\u5df2\u7b7e\u7f72",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "VOIDING",
- "label": "\u4f5c\u5e9f\u4e2d",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "VOIDED",
- "label": "\u5df2\u4f5c\u5e9f",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "REPORTED",
- "label": "\u5df2\u4e0a\u62a5",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "UPLOADED",
- "label": "\u5df2\u4e0a\u4f20",
- "sort": 9,
- "status": "ACTIVE"
- }
- ]
- },
- "cost_apply_role": {
- "name": "\u8d39\u7528\u9002\u7528\u89d2\u8272",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "DRIVER",
- "label": "\u53f8\u673a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "GUIDE",
- "label": "\u5bfc\u6e38",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "VEHICLE",
- "label": "\u8f66\u8f86",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "THIRD_PARTY",
- "label": "\u7b2c\u4e09\u65b9",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "COMPANY",
- "label": "\u516c\u53f8",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "cost_category": {
- "name": "\u6210\u672c\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "ACCOMMODATION",
- "label": "\u4f4f\u5bbf",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "TRANSPORT",
- "label": "\u4ea4\u901a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "TICKET",
- "label": "\u95e8\u7968",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ACTIVITY",
- "label": "\u6d3b\u52a8",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "DINING",
- "label": "\u9910\u996e",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "PERSONAL",
- "label": "\u4e2a\u4eba\u6d88\u8d39",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "VEHICLE_EXTRA",
- "label": "\u8f66\u8f86\u9644\u52a0",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "SELF_PAY",
- "label": "\u81ea\u8d39\u9879\u76ee",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "meal_subsidy",
- "label": "\u9910\u8865",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "accommodation_subsidy",
- "label": "\u4f4f\u5bbf\u8865\u8d34",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "fuel_cost",
- "label": "\u6cb9\u8d39",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "guide_fee",
- "label": "\u5bfc\u6e38\u8d39",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "insurance",
- "label": "\u4fdd\u9669",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "parking_fee",
- "label": "\u505c\u8f66\u8d39",
- "sort": 15,
- "status": "ACTIVE"
- },
- {
- "value": "tip",
- "label": "\u5c0f\u8d39",
- "sort": 16,
- "status": "ACTIVE"
- }
- ]
- },
- "cost_item_category": {
- "name": "\u8d39\u7528\u9879\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "meal_subsidy",
- "label": "\u9910\u996e\u8865\u8d34",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "accommodation_subsidy",
- "label": "\u4f4f\u5bbf\u8865\u8d34",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "fuel_cost",
- "label": "\u6cb9\u8d39/\u80fd\u6e90",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "toll_fee",
- "label": "\u8fc7\u8def\u8fc7\u6865\u8d39",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "parking_fee",
- "label": "\u505c\u8f66\u8d39",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "guide_fee",
- "label": "\u8bb2\u89e3\u8d39",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "insurance",
- "label": "\u4fdd\u9669\u8d39",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "tip",
- "label": "\u5c0f\u8d39/\u5956\u52b1",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "other",
- "label": "\u5176\u4ed6",
- "sort": 9,
- "status": "ACTIVE"
- }
- ]
- },
- "cost_unit": {
- "name": "\u8d39\u7528\u8ba1\u4ef7\u5355\u4f4d",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PER_PERSON",
- "label": "\u5143/\u4eba",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PER_VEHICLE",
- "label": "\u5143/\u53f0",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PER_DAY",
- "label": "\u5143/\u5929",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PER_TIME",
- "label": "\u5143/\u6b21",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PER_ROOM",
- "label": "\u5143/\u95f4",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "PER_TABLE",
- "label": "\u5143/\u684c",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "FIXED",
- "label": "\u56fa\u5b9a\u91d1\u989d",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "cuisine_type": {
- "name": "\u83dc\u7cfb\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u9910\u5385\u83dc\u7cfb\u7c7b\u578b",
- "items": [
- {
- "value": "local",
- "label": "\u672c\u5730\u83dc",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "mongolian",
- "label": "\u8499\u9910",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "northeastern",
- "label": "\u4e1c\u5317\u83dc",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "sichuan",
- "label": "\u5ddd\u83dc",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "halal",
- "label": "\u6e05\u771f",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "russian",
- "label": "\u4fc4\u9910",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "western",
- "label": "\u897f\u9910",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "japanese_korean",
- "label": "\u65e5\u97e9\u6599\u7406",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "fusion",
- "label": "\u878d\u5408\u83dc",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "vegetarian",
- "label": "\u7d20\u98df",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "customize_budget": {
- "name": "\u9884\u7b97\u8303\u56f4",
- "category": "ORDER",
- "remark": "",
- "items": [
- {
- "value": "UNDER_3000",
- "label": "3000\u5143\u4ee5\u4e0b/\u4eba",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "BUDGET_3000_5000",
- "label": "3000-5000\u5143/\u4eba",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "BUDGET_5000_10000",
- "label": "5000-10000\u5143/\u4eba",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "BUDGET_10000_20000",
- "label": "10000-20000\u5143/\u4eba",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "ABOVE_20000",
- "label": "20000\u5143\u4ee5\u4e0a/\u4eba",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "NO_LIMIT",
- "label": "\u4e0d\u9650\u9884\u7b97",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "customize_request_status": {
- "name": "\u5b9a\u5236\u8bf7\u6c42\u72b6\u6001",
- "category": "ORDER",
- "remark": "",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u5904\u7406",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ACCEPTED",
- "label": "\u5df2\u63a5\u53d7",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "DESIGNING",
- "label": "\u8bbe\u8ba1\u4e2d",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "QUOTED",
- "label": "\u5df2\u62a5\u4ef7",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "COMPLETED",
- "label": "\u5df2\u5b8c\u6210",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "CANCELLED",
- "label": "\u5df2\u53d6\u6d88",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "customize_request_type": {
- "name": "\u5b9a\u5236\u9700\u6c42\u7c7b\u578b",
- "category": "ORDER",
- "remark": "",
- "items": [
- {
- "value": "FAMILY_TRIP",
- "label": "\u4eb2\u5b50\u6e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "HONEYMOON",
- "label": "\u871c\u6708\u6e38",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "GROUP_TRIP",
- "label": "\u56e2\u5efa\u6e38",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "SENIOR_TRIP",
- "label": "\u94f6\u53d1\u6e38",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "ADVENTURE",
- "label": "\u63a2\u9669\u6e38",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "PHOTOGRAPHY",
- "label": "\u6444\u5f71\u6e38",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "CULTURE",
- "label": "\u6587\u5316\u6e38",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 99,
- "status": "ACTIVE"
- }
- ]
- },
- "dept_status": {
- "name": "\u90e8\u95e8\u72b6\u6001",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "ACTIVE",
- "label": "\u6b63\u5e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "DELETED",
- "label": "\u5df2\u5220\u9664",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "dict_category": {
- "name": "\u5b57\u5178\u5206\u7c7b",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "BASE",
- "label": "\u57fa\u7840\u5b57\u5178",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "BUSINESS",
- "label": "\u4e1a\u52a1\u5b57\u5178",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "drive_type": {
- "name": "\u9a71\u52a8\u65b9\u5f0f",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "2WD",
- "label": "\u4e24\u9a71",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "4WD",
- "label": "\u56db\u9a71",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "AWD",
- "label": "\u5168\u65f6\u56db\u9a71",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "driver_license_type": {
- "name": "\u9a7e\u7167\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u53f8\u673a\u7684\u9a7e\u9a76\u8bc1\u7c7b\u578b",
- "items": [
- {
- "value": "C1",
- "label": "C1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "C2",
- "label": "C2",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "B1",
- "label": "B1",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "B2",
- "label": "B2",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "A1",
- "label": "A1",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "A2",
- "label": "A2",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "A3",
- "label": "A3",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "engine_type": {
- "name": "\u52a8\u529b\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "GASOLINE",
- "label": "\u6c7d\u6cb9",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "DIESEL",
- "label": "\u67f4\u6cb9",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "HYBRID",
- "label": "\u6df7\u52a8",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ELECTRIC",
- "label": "\u7eaf\u7535",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "environment_type": {
- "name": "\u73af\u5883\u7c7b\u578b",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "INDOOR",
- "label": "\u5ba4\u5185",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "OUTDOOR",
- "label": "\u6237\u5916",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "MIXED",
- "label": "\u6df7\u5408",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "ethnicity": {
- "name": "\u6c11\u65cf",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "\u6c49\u65cf",
- "label": "\u6c49\u65cf",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "\u85cf\u65cf",
- "label": "\u85cf\u65cf",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "\u8499\u53e4\u65cf",
- "label": "\u8499\u53e4\u65cf",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "\u56de\u65cf",
- "label": "\u56de\u65cf",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "\u7ef4\u543e\u5c14\u65cf",
- "label": "\u7ef4\u543e\u5c14\u65cf",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "\u82d7\u65cf",
- "label": "\u82d7\u65cf",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "\u5f5d\u65cf",
- "label": "\u5f5d\u65cf",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "\u58ee\u65cf",
- "label": "\u58ee\u65cf",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "\u5e03\u4f9d\u65cf",
- "label": "\u5e03\u4f9d\u65cf",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "\u671d\u9c9c\u65cf",
- "label": "\u671d\u9c9c\u65cf",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "\u6ee1\u65cf",
- "label": "\u6ee1\u65cf",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "\u4f97\u65cf",
- "label": "\u4f97\u65cf",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "\u7476\u65cf",
- "label": "\u7476\u65cf",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "\u767d\u65cf",
- "label": "\u767d\u65cf",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "\u571f\u5bb6\u65cf",
- "label": "\u571f\u5bb6\u65cf",
- "sort": 15,
- "status": "ACTIVE"
- },
- {
- "value": "\u54c8\u5c3c\u65cf",
- "label": "\u54c8\u5c3c\u65cf",
- "sort": 16,
- "status": "ACTIVE"
- },
- {
- "value": "\u54c8\u8428\u514b\u65cf",
- "label": "\u54c8\u8428\u514b\u65cf",
- "sort": 17,
- "status": "ACTIVE"
- },
- {
- "value": "\u50a3\u65cf",
- "label": "\u50a3\u65cf",
- "sort": 18,
- "status": "ACTIVE"
- },
- {
- "value": "\u9ece\u65cf",
- "label": "\u9ece\u65cf",
- "sort": 19,
- "status": "ACTIVE"
- },
- {
- "value": "\u5088\u50f3\u65cf",
- "label": "\u5088\u50f3\u65cf",
- "sort": 20,
- "status": "ACTIVE"
- },
- {
- "value": "\u4f64\u65cf",
- "label": "\u4f64\u65cf",
- "sort": 21,
- "status": "ACTIVE"
- },
- {
- "value": "\u7572\u65cf",
- "label": "\u7572\u65cf",
- "sort": 22,
- "status": "ACTIVE"
- },
- {
- "value": "\u9ad8\u5c71\u65cf",
- "label": "\u9ad8\u5c71\u65cf",
- "sort": 23,
- "status": "ACTIVE"
- },
- {
- "value": "\u62c9\u795c\u65cf",
- "label": "\u62c9\u795c\u65cf",
- "sort": 24,
- "status": "ACTIVE"
- },
- {
- "value": "\u6c34\u65cf",
- "label": "\u6c34\u65cf",
- "sort": 25,
- "status": "ACTIVE"
- },
- {
- "value": "\u4e1c\u4e61\u65cf",
- "label": "\u4e1c\u4e61\u65cf",
- "sort": 26,
- "status": "ACTIVE"
- },
- {
- "value": "\u7eb3\u897f\u65cf",
- "label": "\u7eb3\u897f\u65cf",
- "sort": 27,
- "status": "ACTIVE"
- },
- {
- "value": "\u666f\u9887\u65cf",
- "label": "\u666f\u9887\u65cf",
- "sort": 28,
- "status": "ACTIVE"
- },
- {
- "value": "\u67ef\u5c14\u514b\u5b5c\u65cf",
- "label": "\u67ef\u5c14\u514b\u5b5c\u65cf",
- "sort": 29,
- "status": "ACTIVE"
- },
- {
- "value": "\u571f\u65cf",
- "label": "\u571f\u65cf",
- "sort": 30,
- "status": "ACTIVE"
- },
- {
- "value": "\u8fbe\u65a1\u5c14\u65cf",
- "label": "\u8fbe\u65a1\u5c14\u65cf",
- "sort": 31,
- "status": "ACTIVE"
- },
- {
- "value": "\u4eeb\u4f6c\u65cf",
- "label": "\u4eeb\u4f6c\u65cf",
- "sort": 32,
- "status": "ACTIVE"
- },
- {
- "value": "\u7f8c\u65cf",
- "label": "\u7f8c\u65cf",
- "sort": 33,
- "status": "ACTIVE"
- },
- {
- "value": "\u5e03\u6717\u65cf",
- "label": "\u5e03\u6717\u65cf",
- "sort": 34,
- "status": "ACTIVE"
- },
- {
- "value": "\u6492\u62c9\u65cf",
- "label": "\u6492\u62c9\u65cf",
- "sort": 35,
- "status": "ACTIVE"
- },
- {
- "value": "\u6bdb\u5357\u65cf",
- "label": "\u6bdb\u5357\u65cf",
- "sort": 36,
- "status": "ACTIVE"
- },
- {
- "value": "\u4ee1\u4f6c\u65cf",
- "label": "\u4ee1\u4f6c\u65cf",
- "sort": 37,
- "status": "ACTIVE"
- },
- {
- "value": "\u9521\u4f2f\u65cf",
- "label": "\u9521\u4f2f\u65cf",
- "sort": 38,
- "status": "ACTIVE"
- },
- {
- "value": "\u963f\u660c\u65cf",
- "label": "\u963f\u660c\u65cf",
- "sort": 39,
- "status": "ACTIVE"
- },
- {
- "value": "\u666e\u7c73\u65cf",
- "label": "\u666e\u7c73\u65cf",
- "sort": 40,
- "status": "ACTIVE"
- },
- {
- "value": "\u5854\u5409\u514b\u65cf",
- "label": "\u5854\u5409\u514b\u65cf",
- "sort": 41,
- "status": "ACTIVE"
- },
- {
- "value": "\u6012\u65cf",
- "label": "\u6012\u65cf",
- "sort": 42,
- "status": "ACTIVE"
- },
- {
- "value": "\u4e4c\u5b5c\u522b\u514b\u65cf",
- "label": "\u4e4c\u5b5c\u522b\u514b\u65cf",
- "sort": 43,
- "status": "ACTIVE"
- },
- {
- "value": "\u4fc4\u7f57\u65af\u65cf",
- "label": "\u4fc4\u7f57\u65af\u65cf",
- "sort": 44,
- "status": "ACTIVE"
- },
- {
- "value": "\u9102\u6e29\u514b\u65cf",
- "label": "\u9102\u6e29\u514b\u65cf",
- "sort": 45,
- "status": "ACTIVE"
- },
- {
- "value": "\u5fb7\u6602\u65cf",
- "label": "\u5fb7\u6602\u65cf",
- "sort": 46,
- "status": "ACTIVE"
- },
- {
- "value": "\u4fdd\u5b89\u65cf",
- "label": "\u4fdd\u5b89\u65cf",
- "sort": 47,
- "status": "ACTIVE"
- },
- {
- "value": "\u88d5\u56fa\u65cf",
- "label": "\u88d5\u56fa\u65cf",
- "sort": 48,
- "status": "ACTIVE"
- },
- {
- "value": "\u4eac\u65cf",
- "label": "\u4eac\u65cf",
- "sort": 49,
- "status": "ACTIVE"
- },
- {
- "value": "\u5854\u5854\u5c14\u65cf",
- "label": "\u5854\u5854\u5c14\u65cf",
- "sort": 50,
- "status": "ACTIVE"
- },
- {
- "value": "\u72ec\u9f99\u65cf",
- "label": "\u72ec\u9f99\u65cf",
- "sort": 51,
- "status": "ACTIVE"
- },
- {
- "value": "\u9102\u4f26\u6625\u65cf",
- "label": "\u9102\u4f26\u6625\u65cf",
- "sort": 52,
- "status": "ACTIVE"
- },
- {
- "value": "\u8d6b\u54f2\u65cf",
- "label": "\u8d6b\u54f2\u65cf",
- "sort": 53,
- "status": "ACTIVE"
- },
- {
- "value": "\u95e8\u5df4\u65cf",
- "label": "\u95e8\u5df4\u65cf",
- "sort": 54,
- "status": "ACTIVE"
- },
- {
- "value": "\u73de\u5df4\u65cf",
- "label": "\u73de\u5df4\u65cf",
- "sort": 55,
- "status": "ACTIVE"
- },
- {
- "value": "\u57fa\u8bfa\u65cf",
- "label": "\u57fa\u8bfa\u65cf",
- "sort": 56,
- "status": "ACTIVE"
- }
- ]
- },
- "favorite_resource_type": {
- "name": "\u6536\u85cf\u8d44\u6e90\u7c7b\u578b",
- "category": "BASE",
- "remark": "\u5c0f\u7a0b\u5e8f\u6536\u85cf\u9875Tab\u7b5b\u9009",
- "items": [
- {
- "value": "PRODUCT",
- "label": "\u4ea7\u54c1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SCENIC",
- "label": "\u666f\u533a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "RESTAURANT",
- "label": "\u9910\u5385",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ACTIVITY",
- "label": "\u6d3b\u52a8",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "HOTEL",
- "label": "\u9152\u5e97",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "file_group": {
- "name": "\u6587\u4ef6\u5206\u7ec4",
- "category": "BUSINESS",
- "remark": "Business group for files",
- "items": [
- {
- "value": "scenic",
- "label": "\u666f\u70b9",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "hotel",
- "label": "\u9152\u5e97",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "activity",
- "label": "\u6d3b\u52a8",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "product",
- "label": "\u4ea7\u54c1",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "content",
- "label": "\u5185\u5bb9",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "user",
- "label": "\u7528\u6237",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "admin",
- "label": "\u7ba1\u7406\u5458",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "system",
- "label": "\u7cfb\u7edf",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "other",
- "label": "\u5176\u4ed6",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "avatar",
- "label": "\u5934\u50cf",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "material",
- "label": "\u7d20\u6750",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "restaurant",
- "label": "\u9910\u5385",
- "sort": 12,
- "status": "ACTIVE"
- }
- ]
- },
- "file_status": {
- "name": "\u6587\u4ef6\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "File lifecycle status",
- "items": [
- {
- "value": "UPLOADING",
- "label": "\u4e0a\u4f20\u4e2d",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ACTIVE",
- "label": "\u6b63\u5e38",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "DELETED",
- "label": "\u5df2\u5220\u9664",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "file_type": {
- "name": "\u6587\u4ef6\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "File category types",
- "items": [
- {
- "value": "IMAGE",
- "label": "\u56fe\u7247",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "VIDEO",
- "label": "\u89c6\u9891",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "AUDIO",
- "label": "\u97f3\u9891",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "DOCUMENT",
- "label": "\u6587\u6863",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "footprint_resource_type": {
- "name": "\u6d4f\u89c8\u5386\u53f2\u8d44\u6e90\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u5c0f\u7a0b\u5e8f\u6d4f\u89c8\u5386\u53f2\u9875\u9762Tab\u5206\u7c7b",
- "items": [
- {
- "value": "PRODUCT",
- "label": "\u4ea7\u54c1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SCENIC",
- "label": "\u666f\u533a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "RESTAURANT",
- "label": "\u9910\u5385",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ACTIVITY",
- "label": "\u6d3b\u52a8",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "HOTEL",
- "label": "\u9152\u5e97",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "frontend_config_group": {
- "name": "\u524d\u7aef\u914d\u7f6e\u5206\u7ec4",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "MP_COLOR",
- "label": "\u5c0f\u7a0b\u5e8f-\u989c\u8272",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MP_PAGE",
- "label": "\u5c0f\u7a0b\u5e8f-\u9875\u9762",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "MP_GENERAL",
- "label": "\u5c0f\u7a0b\u5e8f-\u901a\u7528",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ADMIN_PAGE",
- "label": "\u540e\u53f0-\u9875\u9762",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "ADMIN_GENERAL",
- "label": "\u540e\u53f0-\u901a\u7528",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "SECRET",
- "label": "\u7b2c\u4e09\u65b9Key",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "gender": {
- "name": "\u6027\u522b",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "1",
- "label": "\u7537",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "2",
- "label": "\u5973",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "guide_level": {
- "name": "\u5bfc\u6e38\u7b49\u7ea7",
- "category": "BUSINESS",
- "remark": "\u5bfc\u6e38\u7684\u8d44\u8d28\u7b49\u7ea7",
- "items": [
- {
- "value": "PRIMARY",
- "label": "\u521d\u7ea7\u5bfc\u6e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "INTERMEDIATE",
- "label": "\u4e2d\u7ea7\u5bfc\u6e38",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "SENIOR",
- "label": "\u9ad8\u7ea7\u5bfc\u6e38",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "SPECIAL",
- "label": "\u7279\u7ea7\u5bfc\u6e38",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "guide_service_area": {
- "name": "\u5bfc\u6e38\u670d\u52a1\u533a\u57df",
- "category": "BUSINESS",
- "remark": "\u5bfc\u6e38\u63d0\u4f9b\u670d\u52a1\u7684\u5730\u7406\u533a\u57df",
- "items": [
- {
- "value": "YUNNAN",
- "label": "\u4e91\u5357",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SICHUAN",
- "label": "\u56db\u5ddd",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "GUIZHOU",
- "label": "\u8d35\u5dde",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "TIBET",
- "label": "\u897f\u85cf",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "XINJIANG",
- "label": "\u65b0\u7586",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "GANSU",
- "label": "\u7518\u8083",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "QINGHAI",
- "label": "\u9752\u6d77",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "HAINAN",
- "label": "\u6d77\u5357",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "NATIONWIDE",
- "label": "\u5168\u56fd",
- "sort": 9,
- "status": "ACTIVE"
- }
- ]
- },
- "guide_specialty": {
- "name": "\u5bfc\u6e38\u4e13\u957f",
- "category": "BUSINESS",
- "remark": "\u5bfc\u6e38\u7684\u64c5\u957f\u9886\u57df",
- "items": [
- {
- "value": "HISTORY",
- "label": "\u5386\u53f2\u6587\u5316",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "NATURE",
- "label": "\u81ea\u7136\u98ce\u5149",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "FOOD",
- "label": "\u7f8e\u98df\u63a2\u7d22",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ADVENTURE",
- "label": "\u6237\u5916\u63a2\u9669",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PHOTOGRAPHY",
- "label": "\u6444\u5f71\u65c5\u62cd",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "FAMILY",
- "label": "\u4eb2\u5b50\u6e38",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "BUSINESS",
- "label": "\u5546\u52a1\u63a5\u5f85",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "hotel_facility": {
- "name": "\u9152\u5e97\u914d\u5957\u8bbe\u65bd",
- "category": "BUSINESS",
- "remark": "Hotel-level facilities",
- "items": [
- {
- "value": "parking",
- "label": "\u505c\u8f66\u573a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "breakfast",
- "label": "\u65e9\u9910",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "free_wifi",
- "label": "\u514d\u8d39WiFi",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "gym",
- "label": "\u5065\u8eab\u623f",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "laundry",
- "label": "\u6d17\u8863\u623f",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "laundry_service",
- "label": "\u4ee3\u6d17\u670d\u52a1",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "screen_cast",
- "label": "\u624b\u673a\u6295\u5c4f",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "robot",
- "label": "\u667a\u80fd\u673a\u5668\u4eba",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "elevator",
- "label": "\u7535\u68af",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "luggage_storage",
- "label": "\u884c\u674e\u5bc4\u5b58",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "front_desk_24h",
- "label": "24\u5c0f\u65f6\u524d\u53f0",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "business_center",
- "label": "\u5546\u52a1\u4e2d\u5fc3",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "meeting_room",
- "label": "\u4f1a\u8bae\u5ba4",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "pool",
- "label": "\u6e38\u6cf3\u6c60",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "spa",
- "label": "SPA",
- "sort": 15,
- "status": "ACTIVE"
- },
- {
- "value": "shuttle",
- "label": "\u63a5\u9a73\u670d\u52a1",
- "sort": 16,
- "status": "ACTIVE"
- },
- {
- "value": "kids_area",
- "label": "\u513f\u7ae5\u4e50\u56ed",
- "sort": 17,
- "status": "ACTIVE"
- },
- {
- "value": "accessibility",
- "label": "\u65e0\u969c\u788d\u8bbe\u65bd",
- "sort": 18,
- "status": "ACTIVE"
- },
- {
- "value": "pet_friendly",
- "label": "\u5ba0\u7269\u53cb\u597d",
- "sort": 19,
- "status": "ACTIVE"
- },
- {
- "value": "ev_charging",
- "label": "\u5145\u7535\u6869",
- "sort": 20,
- "status": "ACTIVE"
- }
- ]
- },
- "hotel_star_level": {
- "name": "\u9152\u5e97\u661f\u7ea7",
- "category": "BUSINESS",
- "remark": "\u9152\u5e97\u7684\u661f\u7ea7\u7b49\u7ea7\u8bc4\u5b9a",
- "items": [
- {
- "value": "ECONOMY",
- "label": "\u7ecf\u6d4e\u578b",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "TWO_STAR",
- "label": "\u4e8c\u661f\u7ea7",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "THREE_STAR",
- "label": "\u4e09\u661f\u7ea7",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "FOUR_STAR",
- "label": "\u56db\u661f\u7ea7",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "FIVE_STAR",
- "label": "\u4e94\u661f\u7ea7",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "LUXURY",
- "label": "\u8c6a\u534e\u578b",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "hotel_type": {
- "name": "\u4f4f\u5bbf\u7c7b\u578b",
- "category": "BASE",
- "remark": "Hotel accommodation types",
- "items": [
- {
- "value": "HOTEL",
- "label": "\u9152\u5e97",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "HOMESTAY",
- "label": "\u6c11\u5bbf",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "YURT",
- "label": "\u8499\u53e4\u5305",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "RESORT",
- "label": "\u5ea6\u5047\u6751",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "SPECIAL",
- "label": "\u7279\u8272\u4f4f\u5bbf",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "id_card_type": {
- "name": "\u8bc1\u4ef6\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "ID_CARD",
- "label": "\u8eab\u4efd\u8bc1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PASSPORT",
- "label": "\u62a4\u7167",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "HK_MACAU_PASS",
- "label": "\u6e2f\u6fb3\u901a\u884c\u8bc1",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "TAIWAN_PASS",
- "label": "\u53f0\u6e7e\u901a\u884c\u8bc1",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "MILITARY_ID",
- "label": "\u519b\u5b98\u8bc1",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "insurance_status": {
- "name": "\u4fdd\u9669\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "INSURED",
- "label": "\u5df2\u6295\u4fdd",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING",
- "label": "\u5f85\u6295\u4fdd",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CANCELLED",
- "label": "\u5df2\u53d6\u6d88",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "FAILED",
- "label": "\u5931\u8d25",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "invoice_status": {
- "name": "\u53d1\u7968\u72b6\u6001",
- "category": "ORDER",
- "remark": "",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u5f00\u7968",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ISSUED",
- "label": "\u5df2\u5f00\u7968",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "FAILED",
- "label": "\u5f00\u7968\u5931\u8d25",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "VOIDED",
- "label": "\u5df2\u4f5c\u5e9f",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "job_group": {
- "name": "\u4efb\u52a1\u5206\u7ec4",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "DEFAULT",
- "label": "\u9ed8\u8ba4\u5206\u7ec4",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SYSTEM",
- "label": "\u7cfb\u7edf\u4efb\u52a1",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "WECHAT",
- "label": "\u4f01\u5fae\u540c\u6b65",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "INSURANCE",
- "label": "\u4fdd\u9669\u540c\u6b65",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "job_log_status": {
- "name": "\u4efb\u52a1\u65e5\u5fd7\u72b6\u6001",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "SUCCESS",
- "label": "\u6210\u529f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "FAIL",
- "label": "\u5931\u8d25",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "job_misfire_policy": {
- "name": "\u4efb\u52a1\u8865\u507f\u7b56\u7565",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "DEFAULT",
- "label": "\u9ed8\u8ba4\u7b56\u7565",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "FIRE_ONCE",
- "label": "\u7acb\u5373\u89e6\u53d1\u4e00\u6b21",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "DO_NOTHING",
- "label": "\u4e0d\u89e6\u53d1",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "job_status": {
- "name": "\u4efb\u52a1\u72b6\u6001",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "ACTIVE",
- "label": "\u542f\u7528",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PAUSED",
- "label": "\u5df2\u6682\u505c",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "language": {
- "name": "\u8bed\u8a00\u80fd\u529b",
- "category": "BUSINESS",
- "remark": "\u4eba\u5458\u638c\u63e1\u7684\u8bed\u8a00",
- "items": [
- {
- "value": "MANDARIN",
- "label": "\u666e\u901a\u8bdd",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ENGLISH",
- "label": "\u82f1\u8bed",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "JAPANESE",
- "label": "\u65e5\u8bed",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "KOREAN",
- "label": "\u97e9\u8bed",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "FRENCH",
- "label": "\u6cd5\u8bed",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "SPANISH",
- "label": "\u897f\u73ed\u7259\u8bed",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "CANTONESE",
- "label": "\u7ca4\u8bed",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "login_status": {
- "name": "\u767b\u5f55\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "SUCCESS",
- "label": "\u6210\u529f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "FAILED",
- "label": "\u5931\u8d25",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "LOCKED",
- "label": "\u9501\u5b9a",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "material_category": {
- "name": "\u7d20\u6750\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "\u7d20\u6750\u5e93\u7684\u4e1a\u52a1\u5206\u7c7b",
- "items": [
- {
- "value": "scenic",
- "label": "\u666f\u533a\u7ba1\u7406",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "hotel",
- "label": "\u9152\u5e97\u7ba1\u7406",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "activity",
- "label": "\u6e38\u73a9\u9879\u76ee",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "extra_service",
- "label": "\u989d\u5916\u670d\u52a1",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "extra_fee",
- "label": "\u989d\u5916\u8d39\u7528",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "vehicle",
- "label": "\u8f66\u8f86\u7ba1\u7406",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "guide",
- "label": "\u653b\u7565\u7ba1\u7406",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "personnel",
- "label": "\u4eba\u5458\u7ba1\u7406",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "restaurant",
- "label": "\u9910\u5385\u7ba1\u7406",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "supplies",
- "label": "\u5907\u54c1\u7ba1\u7406",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "service",
- "label": "\u670d\u52a1\u7ba1\u7406",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "product",
- "label": "\u4ea7\u54c1\u7ba1\u7406",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "meal",
- "label": "\u9910\u98df",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "miniprogram",
- "label": "\u5c0f\u7a0b\u5e8f",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "system",
- "label": "\u7cfb\u7edf\u7d20\u6750",
- "sort": 99,
- "status": "ACTIVE"
- }
- ]
- },
- "material_review_status": {
- "name": "\u7d20\u6750\u5ba1\u6838\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "\u7d20\u6750\u4e0a\u4f20\u5ba1\u6838\u72b6\u6001",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u5ba1\u6838",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "APPROVED",
- "label": "\u5df2\u901a\u8fc7",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "material_tag": {
- "name": "\u7d20\u6750\u6807\u7b7e",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "landscape",
- "label": "\u98ce\u666f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "portrait",
- "label": "\u4eba\u7269",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "food",
- "label": "\u7f8e\u98df",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "hotel",
- "label": "\u4f4f\u5bbf",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "transport",
- "label": "\u4ea4\u901a",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "activity",
- "label": "\u6d3b\u52a8",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "winter",
- "label": "\u51ac\u5b63",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "summer",
- "label": "\u590f\u5b63",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "grassland",
- "label": "\u8349\u539f",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "forest",
- "label": "\u68ee\u6797",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "meal_type": {
- "name": "\u9910\u996e\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u884c\u7a0b\u4e2d\u7684\u7528\u9910\u5b89\u6392\u7c7b\u578b",
- "items": [
- {
- "value": "BREAKFAST",
- "label": "\u65e9\u9910",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "LUNCH",
- "label": "\u5348\u9910",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "DINNER",
- "label": "\u665a\u9910",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "SELF",
- "label": "\u81ea\u7406",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "menu_type": {
- "name": "\u83dc\u5355\u7c7b\u578b",
- "category": "BASE",
- "remark": "",
- "items": [
- {
- "value": "D",
- "label": "\u76ee\u5f55",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "M",
- "label": "\u83dc\u5355",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "B",
- "label": "\u6309\u94ae",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "notification_channel": {
- "name": "\u901a\u77e5\u6e20\u9053",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "SMS",
- "label": "\u77ed\u4fe1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MINIAPP",
- "label": "\u5c0f\u7a0b\u5e8f",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "OA",
- "label": "\u516c\u4f17\u53f7",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "INAPP",
- "label": "\u7ad9\u5185\u4fe1",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "WECHAT_WORK",
- "label": "\u4f01\u4e1a\u5fae\u4fe1",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "notification_event_category": {
- "name": "\u901a\u77e5\u4e8b\u4ef6\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "ORDER",
- "label": "\u8ba2\u5355",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND",
- "label": "\u9000\u6b3e",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "TRIP",
- "label": "\u884c\u7a0b",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "CONTRACT",
- "label": "\u5408\u540c",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "INSURANCE",
- "label": "\u4fdd\u9669",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "ADMIN",
- "label": "\u7ba1\u7406",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "SYSTEM",
- "label": "\u7cfb\u7edf",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "notification_send_status": {
- "name": "\u901a\u77e5\u53d1\u9001\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "0",
- "label": "\u6210\u529f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "1",
- "label": "\u5931\u8d25",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "2",
- "label": "\u5df2\u8fc7\u6ee4",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "3",
- "label": "\u5df2\u8df3\u8fc7(\u5df2\u7981\u7528)",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "notification_type": {
- "name": "\u901a\u77e5\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "ADD_EXTERNAL_CONTACT",
- "label": "\u65b0\u589e\u5ba2\u6237",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "DEL_FOLLOW_USER",
- "label": "\u5ba2\u6237\u6d41\u5931",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "online_status": {
- "name": "\u5728\u7ebf\u72b6\u6001",
- "category": "BASE",
- "remark": "\u670d\u52a1\u6216\u8282\u70b9\u7684\u5728\u7ebf\u72b6\u6001",
- "items": [
- {
- "value": "ONLINE",
- "label": "\u5728\u7ebf",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "OFFLINE",
- "label": "\u79bb\u7ebf",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "order_change_reason": {
- "name": "\u8ba2\u5355\u53d8\u66f4\u539f\u56e0",
- "category": "BUSINESS",
- "remark": "\u884c\u7a0b\u4fee\u6539/\u623f\u578b\u53d8\u66f4/\u8f66\u578b\u53d8\u66f4\u7b49\u573a\u666f\u7684\u53d8\u66f4\u539f\u56e0",
- "items": [
- {
- "value": "CUSTOMER_REQUEST",
- "label": "\u5ba2\u6237\u8981\u6c42",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "FREE_UPGRADE",
- "label": "\u514d\u8d39\u5347\u7ea7",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "HOTEL_FULL",
- "label": "\u9152\u5e97\u6ee1\u623f",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "VEHICLE_UNAVAILABLE",
- "label": "\u8f66\u8f86\u4e0d\u53ef\u7528",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "WEATHER",
- "label": "\u5929\u6c14\u539f\u56e0",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "ITINERARY_ADJUST",
- "label": "\u884c\u7a0b\u8c03\u6574",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 99,
- "status": "ACTIVE"
- }
- ]
- },
- "order_display_status": {
- "name": "\u8ba2\u5355\u663e\u793a\u72b6\u6001(C\u7aef)",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING_PAY",
- "label": "\u5f85\u652f\u4ed8",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_DEPARTURE",
- "label": "\u5f85\u51fa\u884c",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "TRAVELLING",
- "label": "\u51fa\u884c\u4e2d",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_REVIEW",
- "label": "\u5f85\u8bc4\u4ef7",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "AFTER_SALE",
- "label": "\u552e\u540e",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "order_process_status": {
- "name": "\u8ba2\u5355\u5185\u90e8\u6d41\u7a0b\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING_INFO",
- "label": "\u5f85\u8865\u5168\u4fe1\u606f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PROCESSING",
- "label": "\u5f85\u5185\u90e8\u6d41\u7a0b",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_INSURANCE",
- "label": "\u5f85\u914d\u4fdd\u9669",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_CONTRACT",
- "label": "\u5f85\u7b7e\u5408\u540c",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_ROOM",
- "label": "\u5f85\u914d\u623f",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_VEHICLE",
- "label": "\u5f85\u914d\u8f66",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_FINANCE",
- "label": "\u5f85\u786e\u8ba4\u6e05\u5355",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "READY",
- "label": "\u5c31\u7eea",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "order_status": {
- "name": "\u8ba2\u5355\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING_PAY",
- "label": "\u5f85\u652f\u4ed8",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "DEPOSIT_PAID",
- "label": "\u5df2\u4ed8\u5b9a\u91d1",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PAID",
- "label": "\u5df2\u5168\u989d\u652f\u4ed8",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "CONFIRMED",
- "label": "\u5df2\u786e\u8ba4",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_BALANCE",
- "label": "\u5f85\u4ed8\u5c3e\u6b3e",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_DEPARTURE",
- "label": "\u5f85\u51fa\u884c",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "TRAVELLING",
- "label": "\u65c5\u884c\u4e2d",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "COMPLETED",
- "label": "\u5df2\u5b8c\u6210",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "AFTER_SALES",
- "label": "\u552e\u540e\u4e2d",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "CANCELLED",
- "label": "\u5df2\u53d6\u6d88",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "REFUNDING",
- "label": "\u9000\u6b3e\u4e2d",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "REFUNDED",
- "label": "\u5df2\u9000\u6b3e",
- "sort": 12,
- "status": "ACTIVE"
- }
- ]
- },
- "order_timeline_action": {
- "name": "\u8ba2\u5355\u64cd\u4f5c\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u8ba2\u5355\u64cd\u4f5c\u8bb0\u5f55\u4e2d\u7684action\u7c7b\u578b",
- "items": [
- {
- "value": "CREATED",
- "label": "\u521b\u5efa\u8ba2\u5355",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "EDITED",
- "label": "\u7f16\u8f91\u8ba2\u5355",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CONFIRMED",
- "label": "\u8ba2\u5355\u786e\u8ba4",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PAYMENT_SUCCESS",
- "label": "\u652f\u4ed8\u6210\u529f",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "DEPOSIT_UPDATED",
- "label": "\u5b9a\u91d1\u53d8\u66f4",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "STATUS_CHANGE",
- "label": "\u72b6\u6001\u53d8\u66f4",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "PROCESS_CHANGE",
- "label": "\u6d41\u7a0b\u63a8\u8fdb",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "TODO_COMPLETED",
- "label": "\u5f85\u529e\u5b8c\u6210",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "ITINERARY_EDITED",
- "label": "\u884c\u7a0b\u7f16\u8f91",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "EDIT_CONFIRMED",
- "label": "\u4fee\u6539\u786e\u8ba4",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "ADD_DAY",
- "label": "\u65b0\u589e\u5929\u6570",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "ROOM_ADJUSTED",
- "label": "\u623f\u578b\u8c03\u6574",
- "sort": 12,
- "status": "ACTIVE"
- },
- {
- "value": "VEHICLE_ADJUSTED",
- "label": "\u8f66\u578b\u8c03\u6574",
- "sort": 13,
- "status": "ACTIVE"
- },
- {
- "value": "CHECKLIST_CONFIRMED",
- "label": "\u6e05\u5355\u786e\u8ba4",
- "sort": 14,
- "status": "ACTIVE"
- },
- {
- "value": "CANCELLED",
- "label": "\u53d6\u6d88\u8ba2\u5355",
- "sort": 15,
- "status": "ACTIVE"
- },
- {
- "value": "AUTO_CANCELLED",
- "label": "\u81ea\u52a8\u53d6\u6d88",
- "sort": 16,
- "status": "ACTIVE"
- },
- {
- "value": "AUTO_COMPLETED",
- "label": "\u81ea\u52a8\u5b8c\u6210",
- "sort": 17,
- "status": "ACTIVE"
- },
- {
- "value": "AUTO_TRAVEL_START",
- "label": "\u81ea\u52a8\u51fa\u884c",
- "sort": 18,
- "status": "ACTIVE"
- },
- {
- "value": "DELETED",
- "label": "\u5220\u9664\u8ba2\u5355",
- "sort": 19,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_APPLIED",
- "label": "\u7533\u8bf7\u9000\u6b3e",
- "sort": 20,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_APPROVED",
- "label": "\u9000\u6b3e\u901a\u8fc7",
- "sort": 21,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_REJECTED",
- "label": "\u9000\u6b3e\u9a73\u56de",
- "sort": 22,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_SUCCESS",
- "label": "\u9000\u6b3e\u6210\u529f",
- "sort": 23,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_APPEALED",
- "label": "\u9000\u6b3e\u7533\u8bc9",
- "sort": 24,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_OA_APPROVED",
- "label": "\u5ba1\u6279\u901a\u8fc7\u9000\u6b3e",
- "sort": 25,
- "status": "ACTIVE"
- },
- {
- "value": "REFUND_OA_REJECTED",
- "label": "\u5ba1\u6279\u9a73\u56de\u9000\u6b3e",
- "sort": 26,
- "status": "ACTIVE"
- }
- ]
- },
- "order_todo_type": {
- "name": "\u8ba2\u5355\u5f85\u529e\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u8ba2\u5355\u5f85\u529e\u4e8b\u9879\u7684\u7c7b\u578b",
- "items": [
- {
- "value": "CONFIRM_ORDER",
- "label": "\u786e\u8ba4\u8ba2\u5355",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "INSURANCE",
- "label": "\u914d\u7f6e\u4fdd\u9669",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CONTRACT",
- "label": "\u7b7e\u8ba2\u5408\u540c",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ARRANGE_ROOM",
- "label": "\u5b89\u6392\u4f4f\u5bbf",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "ARRANGE_VEHICLE",
- "label": "\u5b89\u6392\u8f66\u8f86",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "CONFIRM_CHECKLIST",
- "label": "\u786e\u8ba4\u6e05\u5355",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "PROCESS_REFUND",
- "label": "\u5904\u7406\u9000\u6b3e",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "payment_mode": {
- "name": "\u652f\u4ed8\u6a21\u5f0f",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "FULL",
- "label": "\u5168\u6b3e",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "DEPOSIT",
- "label": "\u5b9a\u91d1+\u5c3e\u6b3e",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "photography_tag": {
- "name": "\u6444\u5f71\u8ddf\u62cd\u6807\u7b7e",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "full_follow",
- "label": "\u5168\u7a0b\u8ddf\u62cd",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "retouched",
- "label": "\u7cbe\u4fee\u5e95\u7247",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "drone",
- "label": "\u822a\u62cd",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "family_portrait",
- "label": "\u4eb2\u5b50\u5199\u771f",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "travel_mv",
- "label": "\u65c5\u62cdMV",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "instant_share",
- "label": "\u5373\u65f6\u5206\u4eab",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "ethnic_costume",
- "label": "\u6c11\u65cf\u670d\u9970",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "starry_sky",
- "label": "\u661f\u7a7a\u6444\u5f71",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "product_approval_status": {
- "name": "\u4ea7\u54c1\u5ba1\u6838\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "NONE",
- "label": "\u65e0\u5ba1\u6838",
- "sort": 0,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING",
- "label": "\u5ba1\u6838\u4e2d",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PUBLISH_APPROVED",
- "label": "\u4e0a\u67b6\u901a\u8fc7",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PUBLISH_REJECTED",
- "label": "\u4e0a\u67b6\u9a73\u56de",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "UNPUBLISH_APPROVED",
- "label": "\u4e0b\u67b6\u901a\u8fc7",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "UNPUBLISH_REJECTED",
- "label": "\u4e0b\u67b6\u9a73\u56de",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "product_category": {
- "name": "\u4ea7\u54c1\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "family",
- "label": "\u4eb2\u5b50\u6e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "honeymoon",
- "label": "\u871c\u6708\u65c5\u884c",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "photography",
- "label": "\u6444\u5f71\u4e4b\u65c5",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "experience",
- "label": "\u6df1\u5ea6\u4f53\u9a8c",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "driving",
- "label": "\u81ea\u9a7e\u8d8a\u91ce",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "product_grade": {
- "name": "\u4ea7\u54c1\u7b49\u7ea7",
- "category": "PRODUCT",
- "remark": "",
- "items": [
- {
- "value": "LIGHT_LUXURY",
- "label": "\u8f7b\u5962",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "HIGH_END",
- "label": "\u9ad8\u6863",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "product_node_type": {
- "name": "\u884c\u7a0b\u8282\u70b9\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "TRANSPORT",
- "label": "\u4ea4\u901a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SCENIC",
- "label": "\u666f\u533a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "RESTAURANT",
- "label": "\u9910\u5385",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ACTIVITY",
- "label": "\u6d3b\u52a8",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PHOTOGRAPHY",
- "label": "\u62cd\u6444",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "HOTEL",
- "label": "\u4f4f\u5bbf",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "FREE",
- "label": "\u81ea\u7531\u6d3b\u52a8",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "CUSTOM",
- "label": "\u81ea\u5b9a\u4e49",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "SERVICE",
- "label": "\u670d\u52a1",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "NOTE",
- "label": "\u5907\u6ce8",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "product_status": {
- "name": "\u4ea7\u54c1\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "DRAFT",
- "label": "\u8349\u7a3f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PUBLISHED",
- "label": "\u5df2\u4e0a\u67b6",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "UNPUBLISHED",
- "label": "\u5df2\u4e0b\u67b6",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "COMPLETED",
- "label": "\u5df2\u5b8c\u6210",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_REVIEW",
- "label": "\u5f85\u5ba1\u6838",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "REJECTED",
- "label": "\u5df2\u9a73\u56de",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "ORDERED",
- "label": "\u5df2\u4e0b\u5355",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "product_type": {
- "name": "\u4ea7\u54c1\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "CORE",
- "label": "\u6838\u5fc3\u4ea7\u54c1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ROUTE",
- "label": "\u81ea\u9a7e\u8def\u4e66",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CUSTOM",
- "label": "\u79c1\u4eba\u5b9a\u5236",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "GROUP",
- "label": "\u5c0f\u8499\u9a6c",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "push_task_status": {
- "name": "\u63a8\u9001\u4efb\u52a1\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u53d1\u9001",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SENDING",
- "label": "\u53d1\u9001\u4e2d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "COMPLETED",
- "label": "\u5df2\u5b8c\u6210",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "FAILED",
- "label": "\u5df2\u5931\u8d25",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "rating_level": {
- "name": "\u8bc4\u4ef7\u7b49\u7ea7",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "GOOD",
- "label": "\u597d\u8bc4",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MEDIUM",
- "label": "\u4e2d\u8bc4",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "BAD",
- "label": "\u5dee\u8bc4",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "refund_reason": {
- "name": "\u9000\u6b3e\u539f\u56e0",
- "category": "BASE",
- "remark": "\u9000\u6b3e\u7533\u8bf7\u65f6\u9009\u62e9\u7684\u9000\u6b3e\u539f\u56e0",
- "items": [
- {
- "value": "schedule_conflict",
- "label": "\u884c\u7a0b\u51b2\u7a81/\u65f6\u95f4\u53d8\u52a8",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "personal_reason",
- "label": "\u4e2a\u4eba\u539f\u56e0\uff08\u8eab\u4f53\u4e0d\u9002\u3001\u5bb6\u5ead\u7a81\u53d1\u60c5\u51b5\uff09",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "companion_unavailable",
- "label": "\u540c\u884c\u4eba\u65e0\u6cd5\u51fa\u884c",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "better_price",
- "label": "\u627e\u5230\u66f4\u5408\u9002\u7684\u4ea7\u54c1/\u4ef7\u683c",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "duplicate_order",
- "label": "\u91cd\u590d\u4e0b\u5355/\u8bef\u64cd\u4f5c\u4e0b\u5355",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "product_mismatch",
- "label": "\u4ea7\u54c1\u4fe1\u606f\u63cf\u8ff0\u4e0d\u7b26",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "itinerary_change",
- "label": "\u884c\u7a0b\u53d8\u66f4",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "supplier_unavailable",
- "label": "\u4f9b\u5e94\u5546\u8d44\u6e90\u4e0d\u53ef\u7528\uff08\u9152\u5e97\u6ee1\u623f\u3001\u8f66\u8f86\u8c03\u5ea6\u95ee\u9898\uff09",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "customer_service",
- "label": "\u5ba2\u670d\u6c9f\u901a\u95ee\u9898",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "promise_unmet",
- "label": "\u670d\u52a1\u627f\u8bfa\u672a\u5151\u73b0",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "service_mismatch",
- "label": "\u5b9e\u9645\u670d\u52a1\u4e0e\u7ea6\u5b9a\u4e0d\u7b26\uff08\u4f4f\u5bbf\u964d\u7ea7\u3001\u9910\u6807\u7f29\u6c34\uff09",
- "sort": 11,
- "status": "ACTIVE"
- }
- ]
- },
- "refund_reason_category": {
- "name": "\u9000\u6b3e\u539f\u56e0\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "\u9000\u6b3e\u539f\u56e0\u7684\u5206\u7c7b",
- "items": [
- {
- "value": "GENERAL",
- "label": "\u901a\u7528\u539f\u56e0",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PRODUCT",
- "label": "\u4ea7\u54c1\u76f8\u5173",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "SERVICE",
- "label": "\u670d\u52a1\u76f8\u5173",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "refund_status": {
- "name": "\u9000\u6b3e\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u5ba1\u6279",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "APPROVED",
- "label": "\u5df2\u901a\u8fc7",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "REJECTED",
- "label": "\u5df2\u9a73\u56de",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "REFUNDING",
- "label": "\u9000\u6b3e\u4e2d",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "REFUNDED",
- "label": "\u5df2\u9000\u6b3e",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "APPEALING",
- "label": "\u7533\u8bc9\u4e2d",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "APPEAL_APPROVED",
- "label": "\u7533\u8bc9\u901a\u8fc7",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "APPEAL_REJECTED",
- "label": "\u7533\u8bc9\u9a73\u56de",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "refund_type": {
- "name": "\u9000\u6b3e\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "DEPOSIT",
- "label": "\u5b9a\u91d1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "BALANCE",
- "label": "\u5c3e\u6b3e",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "FULL",
- "label": "\u5168\u6b3e",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "restaurant_category": {
- "name": "\u9910\u5385\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "\u63a8\u8350\u9910\u5385\u7684\u5206\u7c7b",
- "items": [
- {
- "value": "local_specialty",
- "label": "\u672c\u5730\u7279\u8272",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ethnic_cuisine",
- "label": "\u6c11\u65cf\u98ce\u5473",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "farmhouse",
- "label": "\u519c\u5bb6\u4e50",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "hotel_dining",
- "label": "\u9152\u5e97\u9910\u5385",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "internet_famous",
- "label": "\u7f51\u7ea2\u6253\u5361",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "bbq_hotpot",
- "label": "\u70e7\u70e4\u706b\u9505",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "western",
- "label": "\u897f\u9910\u5496\u5561",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "snack_street",
- "label": "\u5c0f\u5403\u8857",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "restaurant_facility": {
- "name": "\u9910\u5385\u8bbe\u65bd",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "wifi",
- "label": "WiFi",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "parking",
- "label": "\u505c\u8f66\u573a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "private_room",
- "label": "\u5305\u95f4",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "child_seat",
- "label": "\u513f\u7ae5\u5ea7\u6905",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "wheelchair",
- "label": "\u8f6e\u6905\u901a\u9053",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "restroom",
- "label": "\u6d17\u624b\u95f4",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "air_conditioning",
- "label": "\u7a7a\u8c03",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "outdoor_seating",
- "label": "\u6237\u5916\u5ea7\u4f4d",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "charging",
- "label": "\u5145\u7535\u63d2\u5ea7",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "tv",
- "label": "\u7535\u89c6",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "review_rating_category": {
- "name": "\u8bc4\u5206\u7c7b\u522b",
- "category": "BUSINESS",
- "remark": "\u8bc4\u4ef7\u65f6\u9700\u8981\u586b\u5199\u7684\u8bc4\u5206\u7ef4\u5ea6",
- "items": [
- {
- "value": "ratingOverall",
- "label": "\u6574\u4f53\u6ee1\u610f\u5ea6",
- "sort": 0,
- "status": "ACTIVE"
- },
- {
- "value": "customizerRating",
- "label": "\u5b9a\u5236\u5e08\u670d\u52a1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ratingItinerary",
- "label": "\u884c\u7a0b\u5b89\u6392",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "ratingAccommodation",
- "label": "\u4f4f\u5bbf\u5b89\u6392",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ratingDining",
- "label": "\u9910\u996e\u8d28\u91cf",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "ratingDriver",
- "label": "\u53f8\u673a\u670d\u52a1",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "review_status": {
- "name": "\u8bc4\u4ef7\u5ba1\u6838\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PENDING_REVIEW",
- "label": "\u5f85\u5ba1\u6838",
- "sort": 0,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_MODERATION",
- "label": "\u673a\u5668\u5ba1\u6838\u4e2d",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PENDING_MANUAL",
- "label": "\u5f85\u4eba\u5de5\u5ba1\u6838",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "MACHINE_REJECTED",
- "label": "\u673a\u5668\u62d2\u7edd",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "APPROVED",
- "label": "\u5df2\u901a\u8fc7",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "REJECTED",
- "label": "\u5df2\u62d2\u7edd",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "review_target_type": {
- "name": "\u8bc4\u4ef7\u76ee\u6807\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PRODUCT",
- "label": "\u4ea7\u54c1",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "CUSTOMIZER",
- "label": "\u5b9a\u5236\u5e08",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "SCENIC",
- "label": "\u666f\u533a",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ACTIVITY",
- "label": "\u6d3b\u52a8",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "HOTEL",
- "label": "\u9152\u5e97",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "room_category": {
- "name": "\u623f\u578b\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "Room type categories",
- "items": [
- {
- "value": "STANDARD",
- "label": "\u6807\u95f4",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SINGLE",
- "label": "\u5355\u4eba\u95f4",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "TWIN",
- "label": "\u53cc\u5e8a\u623f",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "QUEEN",
- "label": "\u5927\u5e8a\u623f",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "KING",
- "label": "\u8c6a\u534e\u5927\u5e8a",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "DELUXE",
- "label": "\u8c6a\u534e\u623f",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "SUITE",
- "label": "\u5957\u623f",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "FAMILY",
- "label": "\u5bb6\u5ead\u623f",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "YURT",
- "label": "\u8499\u53e4\u5305",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "SPECIAL",
- "label": "\u7279\u8272\u623f",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "PARENT_CHILD",
- "label": "\u4eb2\u5b50\u623f",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "room_facility": {
- "name": "\u623f\u578b\u8bbe\u65bd",
- "category": "BUSINESS",
- "remark": "Room-level facilities",
- "items": [
- {
- "value": "slippers",
- "label": "\u62d6\u978b",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "wardrobe",
- "label": "\u8863\u67dc/\u8863\u67b6",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "baby_bed",
- "label": "\u5a74\u513f\u5e8a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "wifi",
- "label": "WiFi",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "wired_net",
- "label": "\u6709\u7ebf\u5bbd\u5e26",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "kettle",
- "label": "\u70ed\u6c34\u58f6",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "air_cond",
- "label": "\u7a7a\u8c03",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "shower",
- "label": "\u72ec\u7acb\u6dcb\u6d74\u82b1\u6d12",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "mosquito_net",
- "label": "\u7eb1\u7a97/\u868a\u5e10",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "smart_tv",
- "label": "\u667a\u80fd\u7535\u89c6",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "safe",
- "label": "\u4fdd\u9669\u7bb1",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "mini_fridge",
- "label": "\u5c0f\u51b0\u7bb1",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "free_water",
- "label": "\u514d\u8d39\u74f6\u88c5\u6c34",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "heating",
- "label": "\u6696\u6c14",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "phone",
- "label": "\u72ec\u7acb\u7535\u8bdd",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "desk",
- "label": "\u4e66\u684c",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "kids_toiletry",
- "label": "\u513f\u7ae5\u6d17\u6f31\u7528\u54c1",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "toiletries",
- "label": "\u514d\u8d39\u6d17\u6f31\u7528\u54c1",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "minibar",
- "label": "\u8ff7\u4f60\u5427",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "hairdryer",
- "label": "\u5439\u98ce\u673a",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "charger",
- "label": "\u624b\u673a\u5145\u7535\u5668",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "corner_guard",
- "label": "\u9632\u649e\u89d2",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "sofa",
- "label": "\u6c99\u53d1",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "floor_heat",
- "label": "\u5730\u6696",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "usb_port",
- "label": "USB\u5145\u7535\u53e3",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "coffee",
- "label": "\u5496\u5561\u673a",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "bath_towel",
- "label": "\u6d74\u5dfe",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "private_bath",
- "label": "\u72ec\u7acb\u536b\u6d74",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "luggage_rack",
- "label": "\u884c\u674e\u67b6",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "bt_speaker",
- "label": "\u84dd\u7259\u97f3\u7bb1",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "smart_toilet",
- "label": "\u667a\u80fd\u9a6c\u6876",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "bathtub",
- "label": "\u6d74\u7f38",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "tea_set",
- "label": "\u8336\u5177",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "blackout",
- "label": "\u906e\u5149\u7a97\u5e18",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "mirror",
- "label": "\u5168\u8eab\u955c",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "balcony",
- "label": "\u9633\u53f0",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "iron",
- "label": "\u71a8\u6597",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "bathrobe",
- "label": "\u6d74\u888d",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "air_purifier",
- "label": "\u7a7a\u6c14\u51c0\u5316\u5668",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "power_220v",
- "label": "220V\u7535\u6e90\u63d2\u5ea7",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "stargazing",
- "label": "\u53ef\u770b\u661f\u7a7a",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "face_wash",
- "label": "\u6d17\u9762\u4e73",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "body_wash",
- "label": "\u6c90\u6d74\u9732",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "screen_cast",
- "label": "\u624b\u673a\u6295\u5c4f",
- "sort": 9,
- "status": "ACTIVE"
- }
- ]
- },
- "scenic_facility": {
- "name": "\u666f\u533a\u8bbe\u65bd",
- "category": "BUSINESS",
- "remark": "\u666f\u533a\u914d\u5957\u8bbe\u65bd",
- "items": [
- {
- "value": "parking",
- "label": "\u505c\u8f66\u573a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "toilet",
- "label": "\u536b\u751f\u95f4",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "restaurant",
- "label": "\u9910\u996e",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "wifi",
- "label": "WiFi",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "accessible",
- "label": "\u65e0\u969c\u788d",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "guide_service",
- "label": "\u5bfc\u6e38\u670d\u52a1",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "locker",
- "label": "\u50a8\u7269\u67dc",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "medical",
- "label": "\u533b\u52a1\u5ba4",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "gift_shop",
- "label": "\u7eaa\u5ff5\u54c1\u5e97",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "rest_area",
- "label": "\u4f11\u606f\u533a",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "ev_charging",
- "label": "\u5145\u7535\u6869",
- "sort": 11,
- "status": "ACTIVE"
- },
- {
- "value": "baby_care",
- "label": "\u6bcd\u5a74\u5ba4",
- "sort": 12,
- "status": "ACTIVE"
- }
- ]
- },
- "scenic_honor": {
- "name": "\u666f\u533a\u8363\u8a89\u79f0\u53f7",
- "category": "BUSINESS",
- "remark": "\u666f\u533a\u8363\u8a89\u79f0\u53f7\uff08\u591a\u9009\uff09",
- "items": [
- {
- "value": "5A",
- "label": "5A\u7ea7\u666f\u533a",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "4A",
- "label": "4A\u7ea7\u666f\u533a",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "3A",
- "label": "3A\u7ea7\u666f\u533a",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "2A",
- "label": "2A\u7ea7\u666f\u533a",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "1A",
- "label": "1A\u7ea7\u666f\u533a",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "WORLD_HERITAGE",
- "label": "\u4e16\u754c\u9057\u4ea7",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "NATIONAL_SCENIC",
- "label": "\u56fd\u5bb6\u7ea7\u98ce\u666f\u540d\u80dc\u533a",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "NATIONAL_RESERVE",
- "label": "\u56fd\u5bb6\u7ea7\u81ea\u7136\u4fdd\u62a4\u533a",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "NATIONAL_FOREST",
- "label": "\u56fd\u5bb6\u68ee\u6797\u516c\u56ed",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "NATIONAL_GEOPARK",
- "label": "\u56fd\u5bb6\u5730\u8d28\u516c\u56ed",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "season": {
- "name": "\u5b63\u8282",
- "category": "BASE",
- "remark": "\u4e00\u5e74\u56db\u5b63",
- "items": [
- {
- "value": "SPRING",
- "label": "\u6625\u5b63",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SUMMER",
- "label": "\u590f\u5b63",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "AUTUMN",
- "label": "\u79cb\u5b63",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "WINTER",
- "label": "\u51ac\u5b63",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "service_billing_type": {
- "name": "\u670d\u52a1\u9879\u8ba1\u8d39\u65b9\u5f0f",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "FLAT_RATE",
- "label": "\u4e00\u53e3\u4ef7",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PER_PERSON",
- "label": "\u6309\u4eba\u5934",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PER_HOUR",
- "label": "\u6309\u5c0f\u65f6",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PER_DAY",
- "label": "\u6309\u5929",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "PER_DISTANCE",
- "label": "\u6309\u8ddd\u79bb",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "CUSTOM",
- "label": "\u81ea\u5b9a\u4e49",
- "sort": 6,
- "status": "ACTIVE"
- }
- ]
- },
- "service_category": {
- "name": "\u670d\u52a1\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "airport_transfer",
- "label": "\u673a\u573a\u63a5\u9001",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "station_transfer",
- "label": "\u8f66\u7ad9\u63a5\u9001",
- "sort": 20,
- "status": "ACTIVE"
- },
- {
- "value": "ceremony",
- "label": "\u4eea\u5f0f\u6d3b\u52a8",
- "sort": 30,
- "status": "ACTIVE"
- },
- {
- "value": "guide",
- "label": "\u5bfc\u6e38\u670d\u52a1",
- "sort": 40,
- "status": "ACTIVE"
- },
- {
- "value": "photography",
- "label": "\u6444\u5f71\u8ddf\u62cd",
- "sort": 50,
- "status": "ACTIVE"
- },
- {
- "value": "charter",
- "label": "\u5305\u8f66\u670d\u52a1",
- "sort": 60,
- "status": "ACTIVE"
- },
- {
- "value": "logistics",
- "label": "\u540e\u52e4\u4fdd\u969c",
- "sort": 70,
- "status": "ACTIVE"
- },
- {
- "value": "vip",
- "label": "\u8d35\u5bbe\u670d\u52a1",
- "sort": 80,
- "status": "ACTIVE"
- },
- {
- "value": "free_gift",
- "label": "\u514d\u8d39\u8d60\u9001",
- "sort": 90,
- "status": "ACTIVE"
- }
- ]
- },
- "service_unit": {
- "name": "\u670d\u52a1\u8ba1\u4ef7\u5355\u4f4d",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "PER_PERSON",
- "label": "\u5143/\u4eba",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PER_TIME",
- "label": "\u5143/\u6b21",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PER_DAY",
- "label": "\u5143/\u5929",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "PER_VEHICLE",
- "label": "\u5143/\u53f0",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "FIXED",
- "label": "\u56fa\u5b9a\u91d1\u989d",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- },
- "settle_status": {
- "name": "\u7ed3\u7b97\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "pending",
- "label": "\u5f85\u7ed3\u7b97",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "settled",
- "label": "\u5df2\u7ed3\u7b97",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "processing",
- "label": "\u7ed3\u7b97\u4e2d",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "cancelled",
- "label": "\u5df2\u53d6\u6d88",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "staff_role": {
- "name": "\u56e2\u671f\u4eba\u5458\u89d2\u8272",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "LEADER",
- "label": "\u9886\u961f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PHOTOGRAPHER",
- "label": "\u6444\u5f71\u5e08",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "DRIVER",
- "label": "\u53f8\u673a",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "staff_type": {
- "name": "\u4eba\u5458\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "GUIDE",
- "label": "\u5bfc\u6e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "GUIDE_ASSISTANT",
- "label": "\u5bfc\u6e38\u52a9\u7406",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "PHOTOGRAPHER",
- "label": "\u6444\u5f71\u5e08",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "LEADER",
- "label": "\u9886\u961f",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "STUDY_TEACHER",
- "label": "\u7814\u5b66\u8001\u5e08",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "LIFE_TEACHER",
- "label": "\u751f\u6d3b\u8001\u5e08",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "study_gain_category": {
- "name": "\u7814\u5b66\u6536\u83b7\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "horsemanship",
- "label": "\u9a6c\u672f\u4f53\u9a8c",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "stargazing",
- "label": "\u661f\u7a7a\u5b66\u5802",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "music",
- "label": "\u8499\u53e4\u97f3\u4e50",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ecology",
- "label": "\u8349\u539f\u751f\u6001",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "dairy_diy",
- "label": "\u5976\u5236\u54c1DIY",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "certificate",
- "label": "\u7814\u5b66\u8bc1\u4e66",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "folk_culture",
- "label": "\u6c11\u4fd7\u6587\u5316",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "nature_explore",
- "label": "\u81ea\u7136\u63a2\u7d22",
- "sort": 8,
- "status": "ACTIVE"
- },
- {
- "value": "handicraft",
- "label": "\u624b\u5de5\u5236\u4f5c",
- "sort": 9,
- "status": "ACTIVE"
- },
- {
- "value": "history",
- "label": "\u5386\u53f2\u4eba\u6587",
- "sort": 10,
- "status": "ACTIVE"
- }
- ]
- },
- "supplies_category": {
- "name": "\u5907\u54c1\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "\u5907\u54c1\u79df\u8d41\u7684\u5206\u7c7b",
- "items": [
- {
- "value": "personal_gear",
- "label": "\u4e2a\u4eba\u88c5\u5907",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "camping_equipment",
- "label": "\u9732\u8425\u8bbe\u5907",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "riding_gear",
- "label": "\u9a91\u884c\u88c5\u5907",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "electronics",
- "label": "\u7535\u5b50\u8bbe\u5907",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "safety_protection",
- "label": "\u5b89\u5168\u9632\u62a4",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "entertainment",
- "label": "\u5a31\u4e50\u5668\u6750",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "warmth_gear",
- "label": "\u4fdd\u6696\u88c5\u5907",
- "sort": 7,
- "status": "ACTIVE"
- },
- {
- "value": "vehicle_accessories",
- "label": "\u8f66\u8f7d\u88c5\u5907",
- "sort": 8,
- "status": "ACTIVE"
- }
- ]
- },
- "sys_yes_no": {
- "name": "\u662f\u5426",
- "category": "BASE",
- "remark": "\u901a\u7528\u662f\u5426\u9009\u62e9",
- "items": [
- {
- "value": "1",
- "label": "\u662f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "0",
- "label": "\u5426",
- "sort": 2,
- "status": "ACTIVE"
- }
- ]
- },
- "task_priority": {
- "name": "\u4efb\u52a1\u4f18\u5148\u7ea7",
- "category": "BUSINESS",
- "remark": "\u4efb\u52a1\u770b\u677f\u4e2d\u4efb\u52a1\u7684\u4f18\u5148\u7ea7",
- "items": [
- {
- "value": "LOW",
- "label": "\u4f4e",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MEDIUM",
- "label": "\u4e2d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "HIGH",
- "label": "\u9ad8",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "URGENT",
- "label": "\u7d27\u6025",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "transmission": {
- "name": "\u53d8\u901f\u7bb1",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "AUTO",
- "label": "\u81ea\u52a8\u6321",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MANUAL",
- "label": "\u624b\u52a8\u6321",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "DCT",
- "label": "\u53cc\u79bb\u5408",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "CVT",
- "label": "\u65e0\u7ea7\u53d8\u901f",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "transport_type": {
- "name": "\u4ea4\u901a\u7c7b\u578b",
- "category": "ORDER",
- "remark": "\u8ba2\u5355\u4ea4\u901a\u4fe1\u606f\u7c7b\u578b\uff1a\u822a\u73ed/\u706b\u8f66",
- "items": [
- {
- "value": "FLIGHT",
- "label": "\u822a\u73ed",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "TRAIN",
- "label": "\u706b\u8f66",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "BUS",
- "label": "\u5927\u5df4",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "SELF_DRIVE",
- "label": "\u81ea\u9a7e",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "travel_purpose": {
- "name": "\u65c5\u6e38\u76ee\u7684",
- "category": "ORDER",
- "remark": "",
- "items": [
- {
- "value": "LEISURE",
- "label": "\u4f11\u95f2\u5ea6\u5047",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ADVENTURE",
- "label": "\u63a2\u9669\u4f53\u9a8c",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CULTURE",
- "label": "\u6587\u5316\u63a2\u8bbf",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "FAMILY",
- "label": "\u4eb2\u5b50\u966a\u4f34",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "ROMANCE",
- "label": "\u6d6a\u6f2b\u65c5\u884c",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "TEAM",
- "label": "\u56e2\u961f\u5efa\u8bbe",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 99,
- "status": "ACTIVE"
- }
- ]
- },
- "traveler_type": {
- "name": "\u51fa\u884c\u4eba\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u51fa\u884c\u4eba\u5e74\u9f84\u5206\u7c7b\uff0c\u7528\u4e8e\u8ba2\u5355\u548c\u51fa\u884c\u4eba\u7ba1\u7406",
- "items": [
- {
- "value": "ADULT",
- "label": "\u6210\u4eba",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "CHILD",
- "label": "\u513f\u7ae5",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "YOUNG_CHILD",
- "label": "\u5c0f\u7ae5",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "BABY",
- "label": "\u5e7c\u7ae5",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "traveler_type_age_rule": {
- "name": "\u51fa\u884c\u4eba\u5e74\u9f84\u89c4\u5219",
- "category": "BUSINESS",
- "remark": "\u6839\u636e\u51fa\u751f\u65e5\u671f\u81ea\u52a8\u5224\u65ad\u51fa\u884c\u4eba\u7c7b\u578b\uff0cremark\u5b58JSON\u683c\u5f0f\u5e74\u9f84\u8303\u56f4{\"minAge\":\u4e0b\u9650,\"maxAge\":\u4e0a\u9650}\uff0c\u542b\u4e0b\u9650\u4e0d\u542b\u4e0a\u9650",
- "items": [
- {
- "value": "BABY",
- "label": "\u5e7c\u7ae5",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "YOUNG_CHILD",
- "label": "\u5c0f\u7ae5",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "CHILD",
- "label": "\u513f\u7ae5",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "ADULT",
- "label": "\u6210\u4eba",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "trip_status": {
- "name": "\u884c\u7a0b\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "draft",
- "label": "\u8349\u7a3f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "online",
- "label": "\u5df2\u4e0a\u7ebf",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "offline",
- "label": "\u5df2\u4e0b\u7ebf",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "trip_type": {
- "name": "\u884c\u7a0b\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "group",
- "label": "\u8ddf\u56e2\u6e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "free",
- "label": "\u81ea\u7531\u884c",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "custom",
- "label": "\u5b9a\u5236\u6e38",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "semi_free",
- "label": "\u534a\u81ea\u7531\u884c",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "user_status": {
- "name": "\u7528\u6237\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "ACTIVE",
- "label": "\u6b63\u5e38",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "INACTIVE",
- "label": "\u672a\u6fc0\u6d3b",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "BANNED",
- "label": "\u5df2\u5c01\u7981",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "DELETED",
- "label": "\u5df2\u6ce8\u9500",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "vehicle_type": {
- "name": "\u8f66\u578b",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "SUV",
- "label": "\u8d8a\u91ce\u8f66",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "SEDAN",
- "label": "5\u5ea7\u8f7f\u8f66",
- "sort": 10,
- "status": "ACTIVE"
- },
- {
- "value": "MPV",
- "label": "7\u5ea7\u5546\u52a1\u8f66",
- "sort": 20,
- "status": "ACTIVE"
- },
- {
- "value": "MINIBUS",
- "label": "9-15\u5ea7\u5c0f\u5df4",
- "sort": 30,
- "status": "ACTIVE"
- },
- {
- "value": "BUS",
- "label": "\u5927\u5df4",
- "sort": 40,
- "status": "ACTIVE"
- },
- {
- "value": "GROUP",
- "label": "\u5c0f\u8499\u9a6c\u4e13\u7528",
- "sort": 60,
- "status": "ACTIVE"
- }
- ]
- },
- "wiki_category": {
- "name": "\u767e\u79d1\u5206\u7c7b",
- "category": "BUSINESS",
- "remark": "\u767e\u79d1\u6587\u7ae0\u5206\u7c7b",
- "items": [
- {
- "value": "scenery",
- "label": "\u7edd\u7f8e\u98ce\u5149",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "food",
- "label": "\u7279\u8272\u7f8e\u98df",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "culture",
- "label": "\u6c11\u4fd7\u6587\u5316",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "travel_guide",
- "label": "\u65c5\u884c\u653b\u7565",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "accommodation",
- "label": "\u4f4f\u5bbf\u63a8\u8350",
- "sort": 5,
- "status": "ACTIVE"
- },
- {
- "value": "transport",
- "label": "\u4ea4\u901a\u51fa\u884c",
- "sort": 6,
- "status": "ACTIVE"
- },
- {
- "value": "tips",
- "label": "\u6ce8\u610f\u4e8b\u9879",
- "sort": 7,
- "status": "ACTIVE"
- }
- ]
- },
- "wiki_status": {
- "name": "\u6587\u7ae0\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "",
- "items": [
- {
- "value": "0",
- "label": "\u8349\u7a3f",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "1",
- "label": "\u5df2\u53d1\u5e03",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "2",
- "label": "\u5df2\u4e0b\u67b6",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "window_type": {
- "name": "\u7a97\u6237\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "Window types",
- "items": [
- {
- "value": "NO_WINDOW",
- "label": "\u65e0\u7a97",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "WINDOW",
- "label": "\u6709\u7a97",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "SCENIC",
- "label": "\u666f\u89c2\u7a97",
- "sort": 3,
- "status": "ACTIVE"
- }
- ]
- },
- "work_order_priority": {
- "name": "\u5de5\u5355\u4f18\u5148\u7ea7",
- "category": "BUSINESS",
- "remark": "\u5ba2\u6237\u5de5\u5355\u7684\u7d27\u6025\u7a0b\u5ea6",
- "items": [
- {
- "value": "LOW",
- "label": "\u4f4e",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "MEDIUM",
- "label": "\u4e2d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "HIGH",
- "label": "\u9ad8",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "URGENT",
- "label": "\u7d27\u6025",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "work_order_status": {
- "name": "\u5de5\u5355\u72b6\u6001",
- "category": "BUSINESS",
- "remark": "\u5ba2\u6237\u5de5\u5355\u7684\u5904\u7406\u72b6\u6001",
- "items": [
- {
- "value": "PENDING",
- "label": "\u5f85\u5904\u7406",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "PROCESSING",
- "label": "\u5904\u7406\u4e2d",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "COMPLETED",
- "label": "\u5df2\u5b8c\u6210",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "CLOSED",
- "label": "\u5df2\u5173\u95ed",
- "sort": 4,
- "status": "ACTIVE"
- }
- ]
- },
- "work_order_type": {
- "name": "\u5de5\u5355\u7c7b\u578b",
- "category": "BUSINESS",
- "remark": "\u5ba2\u6237\u5de5\u5355\u7684\u4e1a\u52a1\u5206\u7c7b",
- "items": [
- {
- "value": "REFUND",
- "label": "\u9000\u6b3e\u7533\u8bf7",
- "sort": 1,
- "status": "ACTIVE"
- },
- {
- "value": "ITINERARY_CHANGE",
- "label": "\u884c\u7a0b\u53d8\u66f4",
- "sort": 2,
- "status": "ACTIVE"
- },
- {
- "value": "COMPLAINT",
- "label": "\u6295\u8bc9\u5efa\u8bae",
- "sort": 3,
- "status": "ACTIVE"
- },
- {
- "value": "INQUIRY",
- "label": "\u54a8\u8be2",
- "sort": 4,
- "status": "ACTIVE"
- },
- {
- "value": "OTHER",
- "label": "\u5176\u4ed6",
- "sort": 5,
- "status": "ACTIVE"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-contract-service.json b/.swagger/hl-contract-service.json
deleted file mode 100644
index 5583184..0000000
--- a/.swagger/hl-contract-service.json
+++ /dev/null
@@ -1,2428 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "合同服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/contract/active-by-order/{orderId}": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "获取订单有效合同",
- "description": "返回订单当前有效的合同(非作废状态的最新合同),用于检查订单是否已有签署中或已签署的合同。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- contract_status:合同状态(显示)",
- "operationId": "getActiveByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/agencies": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "可用旅行社列表",
- "description": "返回系统配置的旅行社列表,创建合同时选择签约旅行社",
- "operationId": "listAgenciesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«旅行社信息»»",
- "$ref": "#/definitions/统一响应结果«List«旅行社信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«旅行社信息»»",
- "$ref": "#/definitions/统一响应结果«List«旅行社信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/by-order/{orderId}": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "按订单查询合同",
- "description": "查询指定订单下的所有合同记录(含已作废),按创建时间倒序排列。用于订单详情页展示合同历史。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- contract_status:合同状态(列表显示)",
- "operationId": "getByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«合同信息»»",
- "$ref": "#/definitions/统一响应结果«List«合同信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«合同信息»»",
- "$ref": "#/definitions/统一响应结果«List«合同信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/clause-template": {
- "post": {
- "tags": [
- "补充约定模板管理"
- ],
- "summary": "创建补充约定模板",
- "description": "创建合同补充约定的模板,支持变量占位符。创建后默认启用",
- "operationId": "createUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "补充约定模板请求",
- "$ref": "#/definitions/补充约定模板请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«补充约定模板»",
- "$ref": "#/definitions/统一响应结果«补充约定模板»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«补充约定模板»",
- "$ref": "#/definitions/统一响应结果«补充约定模板»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/clause-template/list": {
- "get": {
- "tags": [
- "补充约定模板管理"
- ],
- "summary": "获取启用的补充约定模板列表(创建合同用)",
- "description": "返回所有启用状态的补充约定模板,创建合同时选择需要附加的补充约定条款。\n\n**权限**:需管理员登录。",
- "operationId": "listActiveUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«补充约定模板»»",
- "$ref": "#/definitions/统一响应结果«List«补充约定模板»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«补充约定模板»»",
- "$ref": "#/definitions/统一响应结果«List«补充约定模板»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/clause-template/list-all": {
- "get": {
- "tags": [
- "补充约定模板管理"
- ],
- "summary": "获取全部补充约定模板(管理页用)",
- "description": "**关联字典**:\n- common_status:通用状态(列表显示,ACTIVE=启用/INACTIVE=停用)",
- "operationId": "listAllUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«补充约定模板»»",
- "$ref": "#/definitions/统一响应结果«List«补充约定模板»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«补充约定模板»»",
- "$ref": "#/definitions/统一响应结果«List«补充约定模板»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/clause-template/{id}": {
- "put": {
- "tags": [
- "补充约定模板管理"
- ],
- "summary": "更新补充约定模板",
- "description": "更新模板的标题和内容。已被合同引用的模板更新不影响已创建的合同(合同记录的是快照内容)。\n\n**权限**:需管理员登录。",
- "operationId": "updateUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "模板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "补充约定模板请求",
- "$ref": "#/definitions/补充约定模板请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«补充约定模板»",
- "$ref": "#/definitions/统一响应结果«补充约定模板»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«补充约定模板»",
- "$ref": "#/definitions/统一响应结果«补充约定模板»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "补充约定模板管理"
- ],
- "summary": "删除补充约定模板",
- "description": "软删除模板。已被合同引用的模板仍可删除,不影响已创建的合同",
- "operationId": "deleteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "模板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/clause-template/{id}/toggle-status": {
- "put": {
- "tags": [
- "补充约定模板管理"
- ],
- "summary": "切换模板启用/停用状态",
- "description": "**关联字典**:\n- common_status:通用状态(状态切换,ACTIVE=启用/INACTIVE=停用)",
- "operationId": "toggleStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "模板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«补充约定模板»",
- "$ref": "#/definitions/统一响应结果«补充约定模板»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«补充约定模板»",
- "$ref": "#/definitions/统一响应结果«补充约定模板»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/create": {
- "post": {
- "tags": [
- "合同管理"
- ],
- "summary": "创建合同(标准模式)",
- "description": "标准电子签约流程:创建合同 → 平台生成合同PDF → 发送签署短信给出行人 → 出行人在线签署 → 回调更新状态。状态流转:CREATED → SIGNING → SIGNED",
- "operationId": "createContractUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建合同请求",
- "required": false,
- "schema": {
- "originalRef": "创建合同请求",
- "$ref": "#/definitions/创建合同请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同详情»",
- "$ref": "#/definitions/统一响应结果«合同详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同详情»",
- "$ref": "#/definitions/统一响应结果«合同详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/list": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "合同列表",
- "description": "分页查询合同记录,支持按订单号、合同状态、旅行社筛选\n\n**关联字典**:\n- contract_status:合同状态(列表筛选+显示)",
- "operationId": "listContractsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "query",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 1001
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "platform",
- "in": "query",
- "description": "签约平台",
- "required": false,
- "type": "string",
- "x-example": "TOURAGE"
- },
- {
- "name": "status",
- "in": "query",
- "description": "合同状态",
- "required": false,
- "type": "string",
- "x-example": "SIGNED"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«合同信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«合同信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«合同信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«合同信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/platforms": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "可用合同平台列表",
- "description": "返回系统已对接的合同平台列表及可用状态。\n前端在合同配置页面据此展示可选平台(如12301/法大大/e签宝/腾讯电子签)\n\n【关联字典】\n- 返回字段 platformName → 字典:contract_platform(合同平台)",
- "operationId": "listPlatformsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«ContractPlatformInfo»»",
- "$ref": "#/definitions/统一响应结果«List«ContractPlatformInfo»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«ContractPlatformInfo»»",
- "$ref": "#/definitions/统一响应结果«List«ContractPlatformInfo»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/report": {
- "post": {
- "tags": [
- "合同管理"
- ],
- "summary": "报备合同(同步模式)",
- "description": "线下签约模式:创建合同记录 → 管理员上传已签署的PDF → 同步到12301报备平台。状态流转:CREATED → UPLOADED → REPORTED",
- "operationId": "reportContractUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "报备合同请求",
- "required": false,
- "schema": {
- "originalRef": "报备合同请求(同步模式)",
- "$ref": "#/definitions/报备合同请求(同步模式)"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同详情»",
- "$ref": "#/definitions/统一响应结果«合同详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同详情»",
- "$ref": "#/definitions/统一响应结果«合同详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/templates": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "合同模板列表",
- "description": "返回合同平台可用的合同模板列表,创建合同时选择模板",
- "operationId": "listTemplatesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«合同模板信息»»",
- "$ref": "#/definitions/统一响应结果«List«合同模板信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«合同模板信息»»",
- "$ref": "#/definitions/统一响应结果«List«合同模板信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/{id}": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "合同详情",
- "description": "**关联字典**:\n- contract_status:合同状态(显示)",
- "operationId": "getContractDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同详情»",
- "$ref": "#/definitions/统一响应结果«合同详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同详情»",
- "$ref": "#/definitions/统一响应结果«合同详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/{id}/invalidate": {
- "post": {
- "tags": [
- "合同管理"
- ],
- "summary": "作废合同",
- "description": "将合同标记为作废状态(不可恢复)。作废后该合同不再有效,可重新为订单创建新合同",
- "operationId": "invalidateContractUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/{id}/resend-sms": {
- "post": {
- "tags": [
- "合同管理"
- ],
- "summary": "重发签署短信",
- "description": "重新发送签署短信给出行人,用于签署短信过期或未收到的场景。仅SIGNING状态的合同可操作",
- "operationId": "resendSmsUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«boolean»",
- "$ref": "#/definitions/统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«boolean»",
- "$ref": "#/definitions/统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/{id}/status": {
- "get": {
- "tags": [
- "合同管理"
- ],
- "summary": "刷新合同状态(从平台同步)",
- "description": "主动查询合同平台的最新签署状态并同步到本地,适用于回调未到达的场景",
- "operationId": "refreshStatusUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contract/{id}/upload-pdf": {
- "post": {
- "tags": [
- "合同管理"
- ],
- "summary": "上传已签署PDF(同步模式)",
- "description": "同步模式专用:上传线下签署完成的合同PDF文件,上传后合同状态变为UPLOADED,可进一步报备",
- "operationId": "uploadPdfUsingPOST",
- "consumes": [
- "multipart/form-data"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "file",
- "in": "formData",
- "description": "签署PDF文件",
- "required": false,
- "type": "file"
- },
- {
- "name": "id",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«合同信息»",
- "$ref": "#/definitions/统一响应结果«合同信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "ContractPlatformInfo": {
- "type": "object",
- "properties": {
- "available": {
- "type": "boolean"
- },
- "displayName": {
- "type": "string"
- },
- "platformName": {
- "type": "string"
- }
- },
- "title": "ContractPlatformInfo"
- },
- "分页结果«合同信息»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "合同信息",
- "$ref": "#/definitions/合同信息"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«合同信息»"
- },
- "创建合同请求": {
- "type": "object",
- "required": [
- "adultCost",
- "contactName",
- "contactPhone",
- "departureDate",
- "destination",
- "returnDate",
- "routeName",
- "signatoryIdNumber",
- "signatoryName",
- "signatoryPhone",
- "templateCode",
- "totalAmount",
- "travelers"
- ],
- "properties": {
- "adultCost": {
- "type": "number",
- "example": 2980.0,
- "description": "成人费用"
- },
- "agencyCode": {
- "type": "string",
- "example": "L-FJ-100005",
- "description": "旅行社编号(可选,默认使用配置值)"
- },
- "childCost": {
- "type": "number",
- "example": 1490.0,
- "description": "儿童费用"
- },
- "contactName": {
- "type": "string",
- "example": "李四",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13900139000,
- "description": "联系人电话"
- },
- "contractType": {
- "type": "string",
- "example": "TOUR",
- "description": "合同类型: TOUR-旅游合同(默认), INSURANCE-保险单"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "行程天数"
- },
- "departureCity": {
- "type": "string",
- "example": "成都",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-01",
- "description": "出发日期"
- },
- "destination": {
- "type": "string",
- "example": "九寨沟",
- "description": "目的地"
- },
- "disputeResolution": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "争议解决方式: 1-仲裁 2-诉讼"
- },
- "groupId": {
- "type": "string",
- "example": "GRP20260401001",
- "description": "团号"
- },
- "leastCustomerNumber": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最低成团人数"
- },
- "nights": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "住宿晚数"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "订单ID"
- },
- "paymentMethod": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "付款方式: 1-现金 2-转账 3-在线"
- },
- "platform": {
- "type": "string",
- "example": 12301,
- "description": "合同平台(字典:contract_platform): 12301-全国旅游监管平台, FADADA-法大大, ESIGN-e签宝, TENCENT_ESS-腾讯电子签。不传则根据模板自动确定"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-03",
- "description": "返回日期"
- },
- "routeName": {
- "type": "string",
- "example": "九寨沟三日游",
- "description": "线路名称"
- },
- "signatoryIdNumber": {
- "type": "string",
- "example": 110101199001011234,
- "description": "签署人证件号码"
- },
- "signatoryIdType": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "签署人证件类型: 1-身份证"
- },
- "signatoryMode": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "签署模式: 1-短信 2-现场 3-线下"
- },
- "signatoryName": {
- "type": "string",
- "example": "李四",
- "description": "签署人姓名"
- },
- "signatoryPhone": {
- "type": "string",
- "example": 13900139000,
- "description": "签署人电话"
- },
- "signingPlace": {
- "type": "string",
- "example": "成都市武侯区",
- "description": "签约地点"
- },
- "supplementaryClause": {
- "type": "string",
- "example": "夏季补充约定...",
- "description": "补充约定内容"
- },
- "templateCode": {
- "type": "string",
- "example": "TOURAGE_STANDARD",
- "description": "模板编码"
- },
- "totalAmount": {
- "type": "number",
- "example": 5960.0,
- "description": "合同总金额"
- },
- "transactorName": {
- "type": "string",
- "example": "张三",
- "description": "经办人姓名"
- },
- "transactorPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "经办人电话"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "originalRef": "合同出行人请求",
- "$ref": "#/definitions/合同出行人请求"
- }
- },
- "vehicleModel": {
- "type": "string",
- "example": "考斯特19座",
- "description": "车型名称(产品快照)"
- }
- },
- "title": "创建合同请求"
- },
- "合同信息": {
- "type": "object",
- "properties": {
- "agencyCode": {
- "type": "string",
- "description": "旅行社编号"
- },
- "contactName": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "contractId": {
- "type": "integer",
- "format": "int64",
- "description": "合同ID"
- },
- "contractNumber": {
- "type": "string",
- "description": "合同编号"
- },
- "contractType": {
- "type": "string",
- "description": "合同类型: TOUR-旅游合同, INSURANCE-保险单"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "destination": {
- "type": "string",
- "description": "目的地"
- },
- "fileUrl": {
- "type": "string",
- "description": "合同文件URL"
- },
- "mode": {
- "type": "string",
- "description": "签约模式: STANDARD/SYNC"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "platform": {
- "type": "string",
- "description": "签约平台"
- },
- "qrCodeUrl": {
- "type": "string",
- "description": "二维码URL"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "description": "返回日期"
- },
- "signUrl": {
- "type": "string",
- "description": "签署URL"
- },
- "status": {
- "type": "string",
- "description": "合同状态"
- },
- "statusLabel": {
- "type": "string",
- "description": "合同状态标签"
- },
- "templateCode": {
- "type": "string",
- "description": "模板编码"
- },
- "templateName": {
- "type": "string",
- "description": "模板名称"
- },
- "totalAmount": {
- "type": "number",
- "description": "合同总金额"
- },
- "touristCount": {
- "type": "integer",
- "format": "int32",
- "description": "出行人数"
- },
- "travelAgencyName": {
- "type": "string",
- "description": "旅行社名称"
- }
- },
- "title": "合同信息"
- },
- "合同出行人信息": {
- "type": "object",
- "properties": {
- "idCardNo": {
- "type": "string",
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "description": "证件类型"
- },
- "isSigner": {
- "type": "boolean",
- "description": "是否签署人"
- },
- "name": {
- "type": "string",
- "description": "姓名"
- },
- "phone": {
- "type": "string",
- "description": "手机号"
- },
- "travelerId": {
- "type": "integer",
- "format": "int64",
- "description": "出行人ID"
- }
- },
- "title": "合同出行人信息"
- },
- "合同出行人请求": {
- "type": "object",
- "required": [
- "idCardNo",
- "name"
- ],
- "properties": {
- "age": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "年龄"
- },
- "gender": {
- "type": "string",
- "example": "male",
- "description": "性别: male/female"
- },
- "health": {
- "type": "string",
- "example": "健康",
- "description": "健康信息"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "证件类型: 1-身份证 2-护照"
- },
- "isChild": {
- "type": "boolean",
- "example": false,
- "description": "是否儿童"
- },
- "isSigner": {
- "type": "boolean",
- "example": false,
- "description": "是否签署人"
- },
- "name": {
- "type": "string",
- "example": "王五",
- "description": "姓名"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "合同出行人请求"
- },
- "合同模板信息": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "模板描述"
- },
- "mode": {
- "type": "string",
- "description": "签约模式: STANDARD/SYNC"
- },
- "platform": {
- "type": "string",
- "description": "签约平台"
- },
- "status": {
- "type": "string",
- "description": "模板状态"
- },
- "templateCode": {
- "type": "string",
- "description": "模板编码"
- },
- "templateId": {
- "type": "integer",
- "format": "int64",
- "description": "模板ID"
- },
- "templateName": {
- "type": "string",
- "description": "模板名称"
- }
- },
- "title": "合同模板信息"
- },
- "合同状态变更日志": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "logId": {
- "type": "integer",
- "format": "int64",
- "description": "日志ID"
- },
- "newStatus": {
- "type": "string",
- "description": "新状态"
- },
- "oldStatus": {
- "type": "string",
- "description": "旧状态"
- },
- "source": {
- "type": "string",
- "description": "变更来源"
- }
- },
- "title": "合同状态变更日志"
- },
- "合同详情": {
- "type": "object",
- "properties": {
- "agencyCode": {
- "type": "string",
- "description": "旅行社编号"
- },
- "contactName": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "contractId": {
- "type": "integer",
- "format": "int64",
- "description": "合同ID"
- },
- "contractNumber": {
- "type": "string",
- "description": "合同编号"
- },
- "contractType": {
- "type": "string",
- "description": "合同类型: TOUR-旅游合同, INSURANCE-保险单"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "destination": {
- "type": "string",
- "description": "目的地"
- },
- "fileUrl": {
- "type": "string",
- "description": "合同文件URL"
- },
- "mode": {
- "type": "string",
- "description": "签约模式: STANDARD/SYNC"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "platform": {
- "type": "string",
- "description": "签约平台"
- },
- "qrCodeUrl": {
- "type": "string",
- "description": "二维码URL"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "description": "返回日期"
- },
- "signUrl": {
- "type": "string",
- "description": "签署URL"
- },
- "status": {
- "type": "string",
- "description": "合同状态"
- },
- "statusLabel": {
- "type": "string",
- "description": "合同状态标签"
- },
- "statusLogs": {
- "type": "array",
- "description": "状态变更日志",
- "items": {
- "originalRef": "合同状态变更日志",
- "$ref": "#/definitions/合同状态变更日志"
- }
- },
- "supplementaryClause": {
- "type": "string",
- "description": "补充约定内容"
- },
- "templateCode": {
- "type": "string",
- "description": "模板编码"
- },
- "templateName": {
- "type": "string",
- "description": "模板名称"
- },
- "totalAmount": {
- "type": "number",
- "description": "合同总金额"
- },
- "touristCount": {
- "type": "integer",
- "format": "int32",
- "description": "出行人数"
- },
- "travelAgencyName": {
- "type": "string",
- "description": "旅行社名称"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "originalRef": "合同出行人信息",
- "$ref": "#/definitions/合同出行人信息"
- }
- }
- },
- "title": "合同详情"
- },
- "报备合同请求(同步模式)": {
- "type": "object",
- "required": [
- "adultCost",
- "contactName",
- "contactPhone",
- "departureDate",
- "destination",
- "returnDate",
- "routeName",
- "signatoryIdNumber",
- "signatoryName",
- "signatoryPhone",
- "templateCode",
- "totalAmount",
- "travelers"
- ],
- "properties": {
- "adultCost": {
- "type": "number",
- "example": 2980.0,
- "description": "成人费用"
- },
- "agencyCode": {
- "type": "string",
- "example": "L-FJ-100005",
- "description": "旅行社编号"
- },
- "childCost": {
- "type": "number",
- "example": 1490.0,
- "description": "儿童费用"
- },
- "contactName": {
- "type": "string",
- "example": "李四",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13900139000,
- "description": "联系人电话"
- },
- "contractType": {
- "type": "string",
- "example": "TOUR",
- "description": "合同类型: TOUR-旅游合同(默认), INSURANCE-保险单"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "行程天数"
- },
- "departureCity": {
- "type": "string",
- "example": "成都",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-01",
- "description": "出发日期"
- },
- "destination": {
- "type": "string",
- "example": "九寨沟",
- "description": "目的地"
- },
- "disputeResolution": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "争议解决方式: 1-仲裁 2-诉讼"
- },
- "groupId": {
- "type": "string",
- "example": "GRP20260401001",
- "description": "团号"
- },
- "leastCustomerNumber": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最低成团人数"
- },
- "nights": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "住宿晚数"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "订单ID"
- },
- "paymentMethod": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "付款方式: 1-现金 2-转账 3-在线"
- },
- "platform": {
- "type": "string",
- "example": 12301,
- "description": "合同平台(字典:contract_platform): 12301-全国旅游监管平台, FADADA-法大大, ESIGN-e签宝, TENCENT_ESS-腾讯电子签"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-03",
- "description": "返回日期"
- },
- "routeName": {
- "type": "string",
- "example": "九寨沟三日游",
- "description": "线路名称"
- },
- "signatoryIdNumber": {
- "type": "string",
- "example": 110101199001011234,
- "description": "签署人证件号码"
- },
- "signatoryIdType": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "签署人证件类型: 1-身份证"
- },
- "signatoryMode": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "签署模式(同步模式默认2-现场)"
- },
- "signatoryName": {
- "type": "string",
- "example": "李四",
- "description": "签署人姓名"
- },
- "signatoryPhone": {
- "type": "string",
- "example": 13900139000,
- "description": "签署人电话"
- },
- "signingPlace": {
- "type": "string",
- "example": "成都市武侯区",
- "description": "签约地点"
- },
- "supplementaryClause": {
- "type": "string",
- "example": "冬季补充约定...",
- "description": "补充约定内容"
- },
- "templateCode": {
- "type": "string",
- "example": "TOURAGE_SYNC",
- "description": "模板编码"
- },
- "totalAmount": {
- "type": "number",
- "example": 5960.0,
- "description": "合同总金额"
- },
- "transactorName": {
- "type": "string",
- "example": "张三",
- "description": "经办人姓名"
- },
- "transactorPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "经办人电话"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "originalRef": "合同出行人请求",
- "$ref": "#/definitions/合同出行人请求"
- }
- }
- },
- "title": "报备合同请求(同步模式)"
- },
- "旅行社信息": {
- "type": "object",
- "properties": {
- "agencyAddress": {
- "type": "string",
- "description": "旅行社地址"
- },
- "agencyName": {
- "type": "string",
- "example": "呼籁旅行社",
- "description": "旅行社名称"
- },
- "businessLicenseNumber": {
- "type": "string",
- "description": "营业执照号"
- },
- "businessScope": {
- "type": "string",
- "example": "国内旅游",
- "description": "经营范围"
- },
- "code": {
- "type": "string",
- "example": "hulai",
- "description": "旅行社编码"
- },
- "licenseNumber": {
- "type": "string",
- "example": "L-FJ-100005",
- "description": "旅行社许可证号"
- },
- "regionId": {
- "type": "string",
- "example": 350200,
- "description": "地区ID"
- },
- "transactorName": {
- "type": "string",
- "example": "张三",
- "description": "经办人姓名"
- },
- "transactorPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "经办人电话"
- },
- "zjParentId": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "属地管理机构ID"
- }
- },
- "title": "旅行社信息"
- },
- "统一响应结果«List«ContractPlatformInfo»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "ContractPlatformInfo",
- "$ref": "#/definitions/ContractPlatformInfo"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«ContractPlatformInfo»»"
- },
- "统一响应结果«List«合同信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "合同信息",
- "$ref": "#/definitions/合同信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«合同信息»»"
- },
- "统一响应结果«List«合同模板信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "合同模板信息",
- "$ref": "#/definitions/合同模板信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«合同模板信息»»"
- },
- "统一响应结果«List«旅行社信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "旅行社信息",
- "$ref": "#/definitions/旅行社信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«旅行社信息»»"
- },
- "统一响应结果«List«补充约定模板»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "补充约定模板",
- "$ref": "#/definitions/补充约定模板"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«补充约定模板»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«boolean»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "boolean",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«boolean»"
- },
- "统一响应结果«分页结果«合同信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«合同信息»",
- "$ref": "#/definitions/分页结果«合同信息»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«合同信息»»"
- },
- "统一响应结果«合同信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "合同信息",
- "$ref": "#/definitions/合同信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«合同信息»"
- },
- "统一响应结果«合同详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "合同详情",
- "$ref": "#/definitions/合同详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«合同详情»"
- },
- "统一响应结果«补充约定模板»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "补充约定模板",
- "$ref": "#/definitions/补充约定模板"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«补充约定模板»"
- },
- "补充约定模板": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string",
- "description": "模板内容"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "name": {
- "type": "string",
- "description": "模板名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "status": {
- "type": "string",
- "description": "状态: ACTIVE/INACTIVE"
- },
- "templateId": {
- "type": "integer",
- "format": "int64",
- "description": "模板ID"
- }
- },
- "title": "补充约定模板"
- },
- "补充约定模板请求": {
- "type": "object",
- "required": [
- "content",
- "name"
- ],
- "properties": {
- "content": {
- "type": "string",
- "example": "夏季补充约定...",
- "description": "模板内容"
- },
- "name": {
- "type": "string",
- "example": "夏季小团",
- "description": "模板名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序(升序)"
- }
- },
- "title": "补充约定模板请求"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-file-service.json b/.swagger/hl-file-service.json
deleted file mode 100644
index d1cf7c5..0000000
--- a/.swagger/hl-file-service.json
+++ /dev/null
@@ -1,1145 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "文件服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/file/list": {
- "get": {
- "tags": [
- "文件管理"
- ],
- "summary": "文件列表(分页)",
- "description": "支持按文件类型、分组、上传者等条件筛选,按上传时间倒序分页返回\n\n**关联字典**:\n- file_type:文件类型(列表筛选+显示)\n- file_status:文件状态(显示)",
- "operationId": "listFilesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "x-example": "2026-12-31"
- },
- {
- "name": "fileType",
- "in": "query",
- "description": "文件类型",
- "required": false,
- "type": "string",
- "x-example": "image"
- },
- {
- "name": "groupKey",
- "in": "query",
- "description": "业务分组",
- "required": false,
- "type": "string",
- "x-example": "scenic"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "x-example": "风景"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "x-example": "2026-01-01"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«IPage«文件信息»»",
- "$ref": "#/definitions/统一响应结果«IPage«文件信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«IPage«文件信息»»",
- "$ref": "#/definitions/统一响应结果«IPage«文件信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/file/stats": {
- "get": {
- "tags": [
- "文件管理"
- ],
- "summary": "存储统计",
- "description": "返回文件总数、总存储空间、各类型文件占比等统计信息",
- "operationId": "getStatsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件统计信息»",
- "$ref": "#/definitions/统一响应结果«文件统计信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件统计信息»",
- "$ref": "#/definitions/统一响应结果«文件统计信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/file/upload/confirm": {
- "post": {
- "tags": [
- "文件管理"
- ],
- "summary": "确认上传完成",
- "description": "上传流程第二步:前端直传OSS完成后调用此接口,系统验证文件存在性并创建文件记录。支持MD5去重,相同文件不会重复存储",
- "operationId": "confirmUploadUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "确认上传请求",
- "required": false,
- "schema": {
- "originalRef": "上传确认请求",
- "$ref": "#/definitions/上传确认请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件信息»",
- "$ref": "#/definitions/统一响应结果«文件信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件信息»",
- "$ref": "#/definitions/统一响应结果«文件信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/file/upload/token": {
- "post": {
- "tags": [
- "文件管理"
- ],
- "summary": "请求上传凭证",
- "description": "上传流程第一步:前端请求上传凭证 → 获取OSS预签名URL和临时凭证 → 前端直传OSS → 调用确认上传接口。凭证有效期有限,过期需重新请求",
- "operationId": "requestUploadTokenUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "上传凭证请求",
- "required": false,
- "schema": {
- "originalRef": "上传令牌请求",
- "$ref": "#/definitions/上传令牌请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«上传令牌信息»",
- "$ref": "#/definitions/统一响应结果«上传令牌信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«上传令牌信息»",
- "$ref": "#/definitions/统一响应结果«上传令牌信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/file/{fileId}": {
- "get": {
- "tags": [
- "文件管理"
- ],
- "summary": "文件详情",
- "description": "**关联字典**:\n- file_type:文件类型(显示)\n- file_status:文件状态(显示)",
- "operationId": "getFileDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "fileId",
- "in": "path",
- "description": "文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件信息»",
- "$ref": "#/definitions/统一响应结果«文件信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件信息»",
- "$ref": "#/definitions/统一响应结果«文件信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "文件管理"
- ],
- "summary": "删除文件",
- "description": "软删除文件记录,如果文件存在引用关系则不允许删除。OSS上的物理文件由定时任务清理",
- "operationId": "deleteFileUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "fileId",
- "in": "path",
- "description": "文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/file/{fileId}/preview": {
- "get": {
- "tags": [
- "文件管理"
- ],
- "summary": "文件内容流式预览",
- "description": "流式输出文件内容,设置正确的Content-Type头,支持浏览器直接预览图片和PDF等文件",
- "operationId": "previewContentUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "fileId",
- "in": "path",
- "description": "文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/file/{fileId}/refs": {
- "get": {
- "tags": [
- "文件管理"
- ],
- "summary": "文件引用列表",
- "description": "查看文件被哪些业务实体引用(如景区封面、酒店图片等),用于判断文件是否可安全删除",
- "operationId": "getFileRefsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "fileId",
- "in": "path",
- "description": "文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«文件引用信息»»",
- "$ref": "#/definitions/统一响应结果«List«文件引用信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«文件引用信息»»",
- "$ref": "#/definitions/统一响应结果«List«文件引用信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/file/preview-by-url": {
- "get": {
- "tags": [
- "C端文件上传"
- ],
- "summary": "文件在线预览",
- "description": "返回HTML预览页面,小程序通过web-view打开。支持PDF、图片、Office文档",
- "operationId": "previewByUrlUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "url",
- "in": "query",
- "description": "文件完整URL",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/file/upload": {
- "post": {
- "tags": [
- "C端文件上传"
- ],
- "summary": "上传文件(C端用户)",
- "description": "小程序端直接上传文件,支持头像、评价图片等场景。groupKey决定存储路径和文件策略,默认为avatar",
- "operationId": "uploadUsingPOST",
- "consumes": [
- "multipart/form-data"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "file",
- "in": "formData",
- "description": "上传文件",
- "required": false,
- "type": "file"
- },
- {
- "name": "groupKey",
- "in": "query",
- "description": "文件分组标识",
- "required": false,
- "type": "string",
- "default": "avatar",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件信息»",
- "$ref": "#/definitions/统一响应结果«文件信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件信息»",
- "$ref": "#/definitions/统一响应结果«文件信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/file/{fileId}/preview": {
- "get": {
- "tags": [
- "C端文件上传"
- ],
- "summary": "文件内容流式预览",
- "description": "流式输出文件内容,设置正确的Content-Type头。用于小程序端通过web-view直接预览图片和PDF等文件。",
- "operationId": "previewContentUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "fileId",
- "in": "path",
- "description": "文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "IPage«文件信息»": {
- "type": "object",
- "properties": {
- "current": {
- "type": "integer",
- "format": "int64"
- },
- "pages": {
- "type": "integer",
- "format": "int64"
- },
- "records": {
- "type": "array",
- "items": {
- "originalRef": "文件信息",
- "$ref": "#/definitions/文件信息"
- }
- },
- "size": {
- "type": "integer",
- "format": "int64"
- },
- "total": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "IPage«文件信息»"
- },
- "STS临时凭证信息": {
- "type": "object",
- "properties": {
- "accessKeyId": {
- "type": "string",
- "description": "AccessKey ID"
- },
- "accessKeySecret": {
- "type": "string",
- "description": "AccessKey Secret"
- },
- "expiration": {
- "type": "string",
- "description": "过期时间"
- },
- "securityToken": {
- "type": "string",
- "description": "安全令牌"
- }
- },
- "title": "STS临时凭证信息"
- },
- "上传令牌信息": {
- "type": "object",
- "properties": {
- "bucket": {
- "type": "string",
- "description": "OSS Bucket名称"
- },
- "contentType": {
- "type": "string",
- "description": "上传时必须使用的Content-Type(与预签名URL签名一致)"
- },
- "expireAt": {
- "type": "string",
- "format": "date-time",
- "description": "过期时间"
- },
- "file": {
- "description": "秒传文件信息",
- "originalRef": "文件信息",
- "$ref": "#/definitions/文件信息"
- },
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "ossKey": {
- "type": "string",
- "description": "OSS对象Key"
- },
- "presignedUrl": {
- "type": "string",
- "description": "预签名上传URL"
- },
- "region": {
- "type": "string",
- "description": "OSS Region"
- },
- "stsToken": {
- "description": "STS临时凭证",
- "originalRef": "STS临时凭证信息",
- "$ref": "#/definitions/STS临时凭证信息"
- },
- "uploadMode": {
- "type": "string",
- "description": "上传模式: PRESIGNED_URL/STS_MULTIPART/INSTANT"
- }
- },
- "title": "上传令牌信息"
- },
- "上传令牌请求": {
- "type": "object",
- "required": [
- "fileHash",
- "fileName",
- "fileSize"
- ],
- "properties": {
- "fileHash": {
- "type": "string",
- "example": "d41d8cd98f00b204e9800998ecf8427e",
- "description": "文件MD5哈希"
- },
- "fileName": {
- "type": "string",
- "example": "photo.jpg",
- "description": "文件名"
- },
- "fileSize": {
- "type": "integer",
- "format": "int64",
- "example": 1048576,
- "description": "文件大小(字节)"
- },
- "forcePresigned": {
- "type": "boolean",
- "example": false,
- "description": "强制使用预签名URL(跳过STS分片模式)"
- },
- "groupKey": {
- "type": "string",
- "example": "scenic",
- "description": "业务分组"
- }
- },
- "title": "上传令牌请求"
- },
- "上传确认请求": {
- "type": "object",
- "required": [
- "fileId"
- ],
- "properties": {
- "fileId": {
- "type": "string",
- "example": 1234567890,
- "description": "文件ID"
- }
- },
- "title": "上传确认请求"
- },
- "文件信息": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "fileHash": {
- "type": "string",
- "description": "文件MD5哈希"
- },
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "fileName": {
- "type": "string",
- "description": "文件名"
- },
- "fileSize": {
- "type": "integer",
- "format": "int64",
- "description": "文件大小(字节)"
- },
- "fileType": {
- "type": "string",
- "description": "文件类型"
- },
- "groupKey": {
- "type": "string",
- "description": "业务分组"
- },
- "mimeType": {
- "type": "string",
- "description": "MIME类型"
- },
- "ossUrl": {
- "type": "string",
- "description": "OSS地址"
- },
- "previewUrl": {
- "type": "string",
- "description": "预览地址"
- },
- "refCount": {
- "type": "integer",
- "format": "int32",
- "description": "引用次数"
- },
- "status": {
- "type": "string",
- "description": "文件状态"
- },
- "thumbnailUrl": {
- "type": "string",
- "description": "缩略图地址"
- }
- },
- "title": "文件信息"
- },
- "文件引用信息": {
- "type": "object",
- "properties": {
- "bizId": {
- "type": "string",
- "description": "业务ID"
- },
- "bizType": {
- "type": "string",
- "description": "业务类型"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "refId": {
- "type": "string",
- "description": "引用ID"
- }
- },
- "title": "文件引用信息"
- },
- "文件统计信息": {
- "type": "object",
- "properties": {
- "countByGroup": {
- "type": "object",
- "description": "按分组统计文件数量",
- "additionalProperties": {
- "type": "integer",
- "format": "int64"
- }
- },
- "countByType": {
- "type": "object",
- "description": "按类型统计文件数量",
- "additionalProperties": {
- "type": "integer",
- "format": "int64"
- }
- },
- "sizeByType": {
- "type": "object",
- "description": "按类型统计文件大小",
- "additionalProperties": {
- "type": "integer",
- "format": "int64"
- }
- },
- "totalCount": {
- "type": "integer",
- "format": "int64",
- "description": "文件总数"
- },
- "totalSize": {
- "type": "integer",
- "format": "int64",
- "description": "文件总大小(字节)"
- }
- },
- "title": "文件统计信息"
- },
- "统一响应结果«IPage«文件信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "IPage«文件信息»",
- "$ref": "#/definitions/IPage«文件信息»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«IPage«文件信息»»"
- },
- "统一响应结果«List«文件引用信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "文件引用信息",
- "$ref": "#/definitions/文件引用信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«文件引用信息»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«上传令牌信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "上传令牌信息",
- "$ref": "#/definitions/上传令牌信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«上传令牌信息»"
- },
- "统一响应结果«文件信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "文件信息",
- "$ref": "#/definitions/文件信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«文件信息»"
- },
- "统一响应结果«文件统计信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "文件统计信息",
- "$ref": "#/definitions/文件统计信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«文件统计信息»"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-guide-service.json b/.swagger/hl-guide-service.json
deleted file mode 100644
index 72deeed..0000000
--- a/.swagger/hl-guide-service.json
+++ /dev/null
@@ -1,2364 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "攻略服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/guide/category": {
- "post": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "创建分类",
- "description": "创建攻略分类,分类名称不可重复。创建后默认启用,排序值越小越靠前。\n\n**权限**:需管理员登录。",
- "operationId": "createCategoryUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CategoryCreateRequest",
- "originalRef": "CategoryCreateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略分类»",
- "originalRef": "统一响应结果«攻略分类»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略分类»",
- "originalRef": "统一响应结果«攻略分类»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/category/enabled": {
- "get": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "启用的分类列表",
- "description": "仅返回状态为启用的分类,创建文章时用于选择分类",
- "operationId": "listEnabledCategoriesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略分类»»",
- "originalRef": "统一响应结果«List«攻略分类»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略分类»»",
- "originalRef": "统一响应结果«List«攻略分类»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/category/list": {
- "get": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "分类列表",
- "description": "返回全部攻略分类(含启用和停用),按排序值升序排列\n\n**关联字典**:\n- common_status:通用状态(列表显示,ACTIVE=启用/INACTIVE=停用)",
- "operationId": "listCategoriesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略分类»»",
- "originalRef": "统一响应结果«List«攻略分类»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略分类»»",
- "originalRef": "统一响应结果«List«攻略分类»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/category/{categoryId}": {
- "put": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "更新分类",
- "description": "更新攻略分类的名称、图标、描述等信息。\n\n**权限**:需管理员登录。",
- "operationId": "updateCategoryUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "categoryId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CategoryUpdateRequest",
- "originalRef": "CategoryUpdateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略分类»",
- "originalRef": "统一响应结果«攻略分类»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略分类»",
- "originalRef": "统一响应结果«攻略分类»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "删除分类",
- "description": "删除分类前需确保分类下无文章,否则删除失败",
- "operationId": "deleteCategoryUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "categoryId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/category/{categoryId}/sort": {
- "put": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "更新分类排序",
- "description": "更新分类的排序值,排序值越小越靠前。影响小程序端分类导航的展示顺序。\n\n**权限**:需管理员登录。",
- "operationId": "updateSortUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "categoryId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CategorySortRequest",
- "originalRef": "CategorySortRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/category/{categoryId}/status": {
- "put": {
- "tags": [
- "攻略分类管理"
- ],
- "summary": "更新分类状态",
- "description": "启用或停用分类。停用后该分类下的文章不会在小程序端展示,但不影响已有文章\n\n**关联字典**:\n- common_status:通用状态(状态切换,ACTIVE=启用/INACTIVE=停用)",
- "operationId": "updateStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "categoryId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/StatusRequest",
- "originalRef": "StatusRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/article": {
- "post": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "创建文章",
- "description": "创建攻略文章,需指定分类。创建后默认为草稿状态,需手动发布后小程序端才可见。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- wiki_status:文章状态(创建后默认DRAFT)",
- "operationId": "createArticleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ArticleCreateRequest",
- "originalRef": "ArticleCreateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略文章详情»",
- "originalRef": "统一响应结果«攻略文章详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略文章详情»",
- "originalRef": "统一响应结果«攻略文章详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/article/list": {
- "get": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "文章列表",
- "description": "分页查询攻略文章,支持按分类、状态、关键词筛选\n\n**关联字典**:\n- wiki_status:文章状态(列表筛选+显示)",
- "operationId": "listArticlesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "query",
- "description": "分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "isRecommend",
- "in": "query",
- "description": "是否推荐:0=否,1=是",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "isTop",
- "in": "query",
- "description": "是否置顶:0=否,1=是",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词(搜索标题/摘要)",
- "required": false,
- "type": "string"
- },
- {
- "name": "orderBy",
- "in": "query",
- "description": "排序字段:sortOrder/publishTime/viewCount/createdAt(默认createdAt)",
- "required": false,
- "type": "string"
- },
- {
- "name": "orderDir",
- "in": "query",
- "description": "排序方向:asc/desc(默认desc)",
- "required": false,
- "type": "string"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码(默认1)",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页数量(默认20,最大100)",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态:0=草稿,1=已发布,2=已下架",
- "required": false,
- "type": "integer",
- "format": "int32"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«攻略文章列表项»»",
- "originalRef": "统一响应结果«分页结果«攻略文章列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«攻略文章列表项»»",
- "originalRef": "统一响应结果«分页结果«攻略文章列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/article/{articleId}": {
- "get": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "文章详情",
- "description": "**关联字典**:\n- wiki_status:文章状态(显示)",
- "operationId": "getArticleUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略文章详情»",
- "originalRef": "统一响应结果«攻略文章详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略文章详情»",
- "originalRef": "统一响应结果«攻略文章详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "更新文章",
- "description": "更新攻略文章的标题、内容、封面图、分类等信息。已发布的文章更新后立即生效。\n\n**权限**:需管理员登录。",
- "operationId": "updateArticleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ArticleUpdateRequest",
- "originalRef": "ArticleUpdateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略文章详情»",
- "originalRef": "统一响应结果«攻略文章详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略文章详情»",
- "originalRef": "统一响应结果«攻略文章详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "删除文章",
- "description": "软删除攻略文章,同时清除文章的标签关联。\n\n**权限**:需管理员登录。",
- "operationId": "deleteArticleUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/article/{articleId}/recommend": {
- "put": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "设置推荐",
- "description": "设置/取消文章推荐。推荐文章会在小程序首页和推荐列表中优先展示",
- "operationId": "updateRecommendUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/RecommendRequest",
- "originalRef": "RecommendRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/article/{articleId}/status": {
- "put": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "发布/下架",
- "description": "切换文章发布状态。发布后小程序端可见,下架后小程序端不再展示但管理端仍可查看\n\n**关联字典**:\n- wiki_status:文章状态(状态切换)",
- "operationId": "updateStatusUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/StatusRequest",
- "originalRef": "StatusRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/article/{articleId}/top": {
- "put": {
- "tags": [
- "攻略文章管理"
- ],
- "summary": "设置置顶",
- "description": "设置/取消文章置顶。置顶文章在分类列表中始终排在最前面",
- "operationId": "updateTopUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/TopRequest",
- "originalRef": "TopRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/tag": {
- "post": {
- "tags": [
- "攻略标签管理"
- ],
- "summary": "创建标签",
- "description": "创建攻略系统标签,标签名称不可重复。创建后可用于文章分类和筛选。\n\n**权限**:需管理员登录。",
- "operationId": "createTagUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/TagCreateRequest",
- "originalRef": "TagCreateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略标签»",
- "originalRef": "统一响应结果«攻略标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略标签»",
- "originalRef": "统一响应结果«攻略标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/tag/all": {
- "get": {
- "tags": [
- "攻略标签管理"
- ],
- "summary": "所有标签列表",
- "description": "返回全部标签(含系统标签和用户自定义标签),用于文章编辑时的标签选择器",
- "operationId": "listAllTagsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略标签»»",
- "originalRef": "统一响应结果«List«攻略标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略标签»»",
- "originalRef": "统一响应结果«List«攻略标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/tag/article/{articleId}": {
- "put": {
- "tags": [
- "攻略标签管理"
- ],
- "summary": "更新文章标签",
- "description": "全量替换文章的标签关联,传入新的标签ID列表(空数组表示清除所有标签)",
- "operationId": "updateArticleTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "articleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ArticleTagUpdateRequest",
- "originalRef": "ArticleTagUpdateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/tag/managed": {
- "get": {
- "tags": [
- "攻略标签管理"
- ],
- "summary": "系统标签列表",
- "description": "返回管理员创建的系统标签(不含用户自定义标签),用于标签管理页",
- "operationId": "listManagedTagsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略标签»»",
- "originalRef": "统一响应结果«List«攻略标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«攻略标签»»",
- "originalRef": "统一响应结果«List«攻略标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/guide/tag/{tagId}": {
- "put": {
- "tags": [
- "攻略标签管理"
- ],
- "summary": "更新标签",
- "description": "更新标签名称。标签名称不可与其他已有标签重复。\n\n**权限**:需管理员登录。",
- "operationId": "updateTagUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/TagUpdateRequest",
- "originalRef": "TagUpdateRequest"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "tagId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略标签»",
- "originalRef": "统一响应结果«攻略标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«攻略标签»",
- "originalRef": "统一响应结果«攻略标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "攻略标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并自动解除与所有文章的关联关系。\n\n**权限**:需管理员登录。",
- "operationId": "deleteTagUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "tagId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "CategoryCreateRequest": {
- "type": "object",
- "required": [
- "categoryName"
- ],
- "properties": {
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "coverMaterialId": {
- "type": "integer",
- "format": "int64",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "icon": {
- "type": "string",
- "description": "图标"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序(默认0)"
- }
- },
- "title": "CategoryCreateRequest"
- },
- "CategorySortRequest": {
- "type": "object",
- "required": [
- "sortOrder"
- ],
- "properties": {
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序值"
- }
- },
- "title": "CategorySortRequest"
- },
- "CategoryUpdateRequest": {
- "type": "object",
- "properties": {
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "coverMaterialId": {
- "type": "integer",
- "format": "int64",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "icon": {
- "type": "string",
- "description": "图标"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- }
- },
- "title": "CategoryUpdateRequest"
- },
- "StatusRequest": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态值"
- }
- },
- "title": "StatusRequest"
- },
- "攻略分类": {
- "type": "object",
- "properties": {
- "articleCount": {
- "type": "integer",
- "format": "int32",
- "description": "文章数量"
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "分类ID"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "coverMaterialId": {
- "type": "integer",
- "format": "int64",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "icon": {
- "type": "string",
- "description": "图标"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=禁用,1=启用"
- }
- },
- "title": "攻略分类"
- },
- "统一响应结果«List«攻略分类»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/攻略分类",
- "originalRef": "攻略分类"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«攻略分类»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«攻略分类»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/攻略分类",
- "originalRef": "攻略分类"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«攻略分类»"
- },
- "ArticleCreateRequest": {
- "type": "object",
- "required": [
- "categoryId",
- "title"
- ],
- "properties": {
- "authorName": {
- "type": "string",
- "description": "作者名称"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "分类ID"
- },
- "content": {
- "type": "string",
- "description": "正文内容"
- },
- "coverMaterialId": {
- "type": "integer",
- "format": "int64",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "resources": {
- "type": "array",
- "description": "关联资源列表",
- "items": {
- "$ref": "#/definitions/ArticleResourceItem",
- "originalRef": "ArticleResourceItem"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序(默认0)"
- },
- "source": {
- "type": "string",
- "description": "来源"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "summary": {
- "type": "string",
- "description": "摘要"
- },
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": {
- "type": "string",
- "description": "标题"
- }
- },
- "title": "ArticleCreateRequest"
- },
- "ArticleResourceItem": {
- "type": "object",
- "required": [
- "resourceId",
- "resourceName",
- "resourceType"
- ],
- "properties": {
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型:SCENIC/RESTAURANT/HOTEL/ACTIVITY/PRODUCT"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- }
- },
- "title": "ArticleResourceItem"
- },
- "ArticleUpdateRequest": {
- "type": "object",
- "properties": {
- "authorName": {
- "type": "string",
- "description": "作者名称"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "分类ID"
- },
- "content": {
- "type": "string",
- "description": "正文内容"
- },
- "coverMaterialId": {
- "type": "integer",
- "format": "int64",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "resources": {
- "type": "array",
- "description": "关联资源列表",
- "items": {
- "$ref": "#/definitions/ArticleResourceItem",
- "originalRef": "ArticleResourceItem"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "source": {
- "type": "string",
- "description": "来源"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "summary": {
- "type": "string",
- "description": "摘要"
- },
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": {
- "type": "string",
- "description": "标题"
- }
- },
- "title": "ArticleUpdateRequest"
- },
- "RecommendRequest": {
- "type": "object",
- "required": [
- "isRecommend"
- ],
- "properties": {
- "isRecommend": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否,1=是"
- }
- },
- "title": "RecommendRequest"
- },
- "TopRequest": {
- "type": "object",
- "required": [
- "isTop"
- ],
- "properties": {
- "isTop": {
- "type": "integer",
- "format": "int32",
- "description": "是否置顶:0=否,1=是"
- }
- },
- "title": "TopRequest"
- },
- "分页结果«攻略文章列表项»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/攻略文章列表项",
- "originalRef": "攻略文章列表项"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«攻略文章列表项»"
- },
- "攻略文章列表项": {
- "type": "object",
- "properties": {
- "articleId": {
- "type": "integer",
- "format": "int64",
- "description": "文章ID"
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "分类ID"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "isRecommend": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否,1=是"
- },
- "isTop": {
- "type": "integer",
- "format": "int32",
- "description": "是否置顶:0=否,1=是"
- },
- "publishTime": {
- "type": "string",
- "format": "date-time",
- "description": "发布时间"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=草稿,1=已发布,2=已下架"
- },
- "summary": {
- "type": "string",
- "description": "摘要"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/攻略标签",
- "originalRef": "攻略标签"
- }
- },
- "title": {
- "type": "string",
- "description": "标题"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "攻略文章列表项"
- },
- "攻略文章详情": {
- "type": "object",
- "properties": {
- "articleId": {
- "type": "integer",
- "format": "int64",
- "description": "文章ID"
- },
- "authorName": {
- "type": "string",
- "description": "作者名称"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "分类ID"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "content": {
- "type": "string",
- "description": "正文内容"
- },
- "coverMaterialId": {
- "type": "integer",
- "format": "int64",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "favoriteCount": {
- "type": "integer",
- "format": "int32",
- "description": "收藏数"
- },
- "isRecommend": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否,1=是"
- },
- "isTop": {
- "type": "integer",
- "format": "int32",
- "description": "是否置顶:0=否,1=是"
- },
- "likeCount": {
- "type": "integer",
- "format": "int32",
- "description": "点赞数"
- },
- "publishTime": {
- "type": "string",
- "format": "date-time",
- "description": "发布时间"
- },
- "resources": {
- "type": "array",
- "description": "关联资源列表",
- "items": {
- "$ref": "#/definitions/文章关联资源",
- "originalRef": "文章关联资源"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "source": {
- "type": "string",
- "description": "来源"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=草稿,1=已发布,2=已下架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "summary": {
- "type": "string",
- "description": "摘要"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/攻略标签",
- "originalRef": "攻略标签"
- }
- },
- "title": {
- "type": "string",
- "description": "标题"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "攻略文章详情"
- },
- "攻略标签": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色"
- },
- "tagId": {
- "type": "integer",
- "format": "int64",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=系统管理,1=自定义"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "攻略标签"
- },
- "文章关联资源": {
- "type": "object",
- "properties": {
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型:SCENIC/RESTAURANT/HOTEL/ACTIVITY/PRODUCT"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- }
- },
- "title": "文章关联资源"
- },
- "统一响应结果«分页结果«攻略文章列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«攻略文章列表项»",
- "originalRef": "分页结果«攻略文章列表项»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«攻略文章列表项»»"
- },
- "统一响应结果«攻略文章详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/攻略文章详情",
- "originalRef": "攻略文章详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«攻略文章详情»"
- },
- "ArticleTagUpdateRequest": {
- "type": "object",
- "required": [
- "tagIds"
- ],
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "ArticleTagUpdateRequest"
- },
- "TagCreateRequest": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=系统管理,1=自定义(默认0)"
- }
- },
- "title": "TagCreateRequest"
- },
- "TagUpdateRequest": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- }
- },
- "title": "TagUpdateRequest"
- },
- "统一响应结果«List«攻略标签»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/攻略标签",
- "originalRef": "攻略标签"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«攻略标签»»"
- },
- "统一响应结果«攻略标签»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/攻略标签",
- "originalRef": "攻略标签"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«攻略标签»"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-insurance-service.json b/.swagger/hl-insurance-service.json
deleted file mode 100644
index 64efb70..0000000
--- a/.swagger/hl-insurance-service.json
+++ /dev/null
@@ -1,3168 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "保险服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/insurance/balance": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "查询保游网账户余额",
- "description": "查询保游网平台的账户余额,用于管理端展示当前可用投保额度。查询失败时返回null(非关键信息,不影响业务)。\n\n**权限**:需管理员登录。",
- "operationId": "getBalanceUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«JsonNode»",
- "$ref": "#/definitions/统一响应结果«JsonNode»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«JsonNode»",
- "$ref": "#/definitions/统一响应结果«JsonNode»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/cancel/{id}": {
- "post": {
- "tags": [
- "保险管理"
- ],
- "summary": "退保",
- "description": "对单个保险订单发起退保,调用保游网退保API。退保成功后保险状态变为CANCELLED。\n\n**权限**:需管理员登录。\n**注意**:已生效的保单退保可能产生手续费。\n\n**关联字典**:\n- insurance_status:保险状态(状态流转)",
- "operationId": "cancelUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "保险订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险订单VO»",
- "$ref": "#/definitions/统一响应结果«保险订单VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险订单VO»",
- "$ref": "#/definitions/统一响应结果«保险订单VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/coverage/{orderId}": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "查询订单保险保障(含被保人详情)",
- "description": "返回订单维度的保险保障汇总信息,包含覆盖人数、保障期间、每位被保人的保单明细。用于订单详情页的保险保障展示。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- insurance_status:保险状态(显示)\n- gender:性别(被保人信息显示)\n- id_card_type:证件类型(被保人信息显示)",
- "operationId": "getCoverageUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "旅行订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«订单保险保障VO»",
- "$ref": "#/definitions/统一响应结果«订单保险保障VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«订单保险保障VO»",
- "$ref": "#/definitions/统一响应结果«订单保险保障VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/entities": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "投保公司主体列表",
- "description": "返回系统配置的投保公司主体列表(来自Nacos配置),投保下单时选择以哪个公司主体投保。每个主体包含编码、公司名称和商户ID。\n\n**权限**:需管理员登录。",
- "operationId": "listEntitiesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«Map«string,string»»»",
- "$ref": "#/definitions/统一响应结果«List«Map«string,string»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«Map«string,string»»»",
- "$ref": "#/definitions/统一响应结果«List«Map«string,string»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/orders": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "保险订单列表",
- "description": "**关联字典**:\n- insurance_status:保险状态(列表筛选+显示)",
- "operationId": "listOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "query",
- "description": "关联旅行订单ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 2026270000000000001
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "status",
- "in": "query",
- "description": "订单状态: PENDING-待出单, INSURED-已承保, CANCELLED-已退保, FAILED-投保失败",
- "required": false,
- "type": "string",
- "x-example": "INSURED"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«保险订单VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«保险订单VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«保险订单VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«保险订单VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/orders/by-order/{orderId}": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "按旅行订单查询保险单",
- "description": "根据旅行订单ID查询关联的所有保险订单列表。在订单详情页展示保险购买情况。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- insurance_status:保险状态(列表显示)",
- "operationId": "getByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "旅行订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险订单VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险订单VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险订单VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险订单VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/orders/{id}": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "保险订单详情(含被保人)",
- "description": "**关联字典**:\n- insurance_status:保险状态(显示)\n- gender:性别(被保人信息显示)\n- id_card_type:证件类型(被保人信息显示)",
- "operationId": "getOrderDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "保险订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险订单详情VO»",
- "$ref": "#/definitions/统一响应结果«保险订单详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险订单详情VO»",
- "$ref": "#/definitions/统一响应结果«保险订单详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/policy/{id}/download": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "下载保单PDF(Base64)",
- "description": "从保游网下载指定保险订单的电子保单PDF,以Base64编码返回。前端可解码后展示或提供下载。\n\n**权限**:需管理员登录。",
- "operationId": "downloadPolicyUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "保险订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«string»",
- "$ref": "#/definitions/统一响应结果«string»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«string»",
- "$ref": "#/definitions/统一响应结果«string»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/products": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "保险产品列表",
- "description": "分页查询已同步的保险产品,支持按是否境外筛选。产品数据来源于保游网同步。\n\n**权限**:需管理员登录。",
- "operationId": "listProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "isOverseas",
- "in": "query",
- "description": "是否境外",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«保险产品VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«保险产品VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«保险产品VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«保险产品VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/products/{id}": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "保险产品详情",
- "description": "返回保险产品完整信息,包含产品名称、保险公司、保障范围、适用地区等。\n\n**权限**:需管理员登录。",
- "operationId": "getProductUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "保险产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险产品VO»",
- "$ref": "#/definitions/统一响应结果«保险产品VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险产品VO»",
- "$ref": "#/definitions/统一响应结果«保险产品VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/products/{id}/plans": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "保险产品计划及费率",
- "description": "返回指定保险产品的所有投保计划及对应费率表,包含不同天数区间的保费价格。投保下单前需选择具体计划。\n\n**权限**:需管理员登录。",
- "operationId": "getProductPlansUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "保险产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险计划VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险计划VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险计划VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险计划VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/purchase": {
- "post": {
- "tags": [
- "保险管理"
- ],
- "summary": "投保下单(每人独立保单)",
- "description": "**关联字典**:\n- gender:性别(被保人信息)\n- id_card_type:证件类型(被保人信息)",
- "operationId": "purchaseUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "投保请求",
- "required": false,
- "schema": {
- "originalRef": "投保请求",
- "$ref": "#/definitions/投保请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险订单详情VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险订单详情VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险订单详情VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险订单详情VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/recharge": {
- "post": {
- "tags": [
- "保险管理"
- ],
- "summary": "在线充值(调用保游网支付API)",
- "description": "调用保游网在线充值API,生成充值支付链接。支持选择支付方式(支付宝/微信),充值完成后账户余额自动更新。\n\n**权限**:需管理员登录。",
- "operationId": "rechargeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "充值请求",
- "required": false,
- "schema": {
- "originalRef": "充值请求",
- "$ref": "#/definitions/充值请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/recharge-url": {
- "get": {
- "tags": [
- "保险管理"
- ],
- "summary": "获取保游网充值链接(旧接口,保留兼容)",
- "description": "返回保游网平台的充值页面URL。此为旧版接口,保留用于向后兼容,推荐使用在线充值接口。\n\n**权限**:需管理员登录。",
- "operationId": "getRechargeUrlUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«string»",
- "$ref": "#/definitions/统一响应结果«string»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«string»",
- "$ref": "#/definitions/统一响应结果«string»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/scheme": {
- "post": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "创建方案",
- "description": "创建保险方案模板,配置关联保险产品、投保天数规则和费率。创建后默认启用。\n\n**权限**:需管理员登录。",
- "operationId": "createSchemeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "方案请求",
- "required": false,
- "schema": {
- "originalRef": "保险方案模板请求",
- "$ref": "#/definitions/保险方案模板请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/scheme/list": {
- "get": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "活跃方案列表(下拉选择用)",
- "description": "返回所有状态为启用的保险方案模板,用于投保下单时的方案下拉选择。\n\n**权限**:需管理员登录。",
- "operationId": "listActiveSchemesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险方案模板VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险方案模板VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/scheme/list-all": {
- "get": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "全部方案列表(管理用)",
- "description": "返回所有保险方案模板(含启用和停用),用于方案管理页面展示和编辑。\n\n**权限**:需管理员登录。",
- "operationId": "listAllSchemesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险方案模板VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«保险方案模板VO»»",
- "$ref": "#/definitions/统一响应结果«List«保险方案模板VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/scheme/preview-apply": {
- "post": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "预览应用方案(解析日期+估算保费)",
- "description": "根据方案模板和行程日期预览投保效果:解析实际投保起止日期、计算每人保费和总保费。用于投保前确认费用。\n\n**权限**:需管理员登录。",
- "operationId": "previewApplyUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "预览请求",
- "required": false,
- "schema": {
- "originalRef": "应用方案预览请求",
- "$ref": "#/definitions/应用方案预览请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«方案应用预览VO»",
- "$ref": "#/definitions/统一响应结果«方案应用预览VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«方案应用预览VO»",
- "$ref": "#/definitions/统一响应结果«方案应用预览VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/scheme/{id}": {
- "get": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "方案详情",
- "description": "返回单个保险方案模板的完整信息,包含方案名称、保险产品关联、天数规则、费率配置等。\n\n**权限**:需管理员登录。",
- "operationId": "getSchemeDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "方案ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "更新方案",
- "description": "更新保险方案模板的配置信息,包括方案名称、关联产品、天数规则、费率等。\n\n**权限**:需管理员登录。",
- "operationId": "updateSchemeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "方案ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "方案请求",
- "required": false,
- "schema": {
- "originalRef": "保险方案模板请求",
- "$ref": "#/definitions/保险方案模板请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "删除方案(软删除)",
- "description": "软删除保险方案模板。已使用该方案创建的保险订单不受影响。\n\n**权限**:需管理员登录。",
- "operationId": "deleteSchemeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "方案ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/scheme/{id}/toggle-status": {
- "put": {
- "tags": [
- "保险方案模板"
- ],
- "summary": "切换方案状态(启用/停用)",
- "description": "切换保险方案模板的启用/停用状态。停用后不会出现在投保下单的方案选择列表中。\n\n**权限**:需管理员登录。\n\n**关联字典**:\n- common_status:通用状态(ACTIVE=启用/INACTIVE=停用)",
- "operationId": "toggleStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "方案ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保险方案模板VO»",
- "$ref": "#/definitions/统一响应结果«保险方案模板VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/share-policy": {
- "post": {
- "tags": [
- "保险管理"
- ],
- "summary": "分享保单(合并某出行人所有有效保单PDF,上传OSS返回链接)",
- "description": "合并指定出行人的所有有效保单PDF为一个文件,上传至OSS后返回公开访问链接。用于管理端分享保单给出行人。\n\n**权限**:需管理员登录。",
- "operationId": "sharePolicyUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分享保单请求",
- "required": false,
- "schema": {
- "originalRef": "保单分享请求",
- "$ref": "#/definitions/保单分享请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保单分享结果»",
- "$ref": "#/definitions/统一响应结果«保单分享结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«保单分享结果»",
- "$ref": "#/definitions/统一响应结果«保单分享结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/sync-products": {
- "post": {
- "tags": [
- "保险管理"
- ],
- "summary": "从保游网同步产品数据",
- "description": "手动触发从保游网API拉取最新保险产品数据(含计划和费率),同步到本地数据库。返回同步的产品数量。\n\n**权限**:需管理员登录。",
- "operationId": "syncProductsUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«int»",
- "$ref": "#/definitions/统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«int»",
- "$ref": "#/definitions/统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/insurance/trial-price": {
- "post": {
- "tags": [
- "保险管理"
- ],
- "summary": "保费试算(本地费率)",
- "description": "根据保险计划、投保天数和人数,使用本地同步的费率表试算保费。不调用保游网API,用于投保前的费用预估。\n\n**权限**:需管理员登录。",
- "operationId": "trialPriceUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "试算请求",
- "required": false,
- "schema": {
- "originalRef": "保费试算请求",
- "$ref": "#/definitions/保费试算请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "JsonNode": {
- "type": "object",
- "title": "JsonNode"
- },
- "Map«string,string»": {
- "type": "object",
- "title": "Map«string,string»",
- "additionalProperties": {
- "type": "string"
- }
- },
- "保单分享结果": {
- "type": "object",
- "properties": {
- "failedCount": {
- "type": "integer",
- "format": "int32",
- "description": "下载失败的保单数量(已跳过)"
- },
- "pdfBase64": {
- "type": "string",
- "description": "合并后的PDF(Base64编码)"
- },
- "personName": {
- "type": "string",
- "description": "被保人姓名"
- },
- "policyCount": {
- "type": "integer",
- "format": "int32",
- "description": "包含的保单数量"
- }
- },
- "title": "保单分享结果"
- },
- "保单分享请求": {
- "type": "object",
- "required": [
- "insuredIdCardNo",
- "insuredName",
- "orderId"
- ],
- "properties": {
- "insuredIdCardNo": {
- "type": "string",
- "description": "被保人证件号码"
- },
- "insuredName": {
- "type": "string",
- "description": "被保人姓名"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "旅游订单ID"
- }
- },
- "title": "保单分享请求"
- },
- "保费试算请求": {
- "type": "object",
- "required": [
- "endDate",
- "insuredCount",
- "planId",
- "startDate"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-05",
- "description": "保障结束日期"
- },
- "insuredCount": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "被保人数量"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "保障开始日期"
- }
- },
- "title": "保费试算请求"
- },
- "保险产品VO": {
- "type": "object",
- "properties": {
- "companyName": {
- "type": "string",
- "example": "中国平安",
- "description": "保险公司名称"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "同步时间"
- },
- "extProductGuid": {
- "type": "string",
- "example": "4810725b34654e1e88a7509e5b241c3a",
- "description": "保游网产品GUID"
- },
- "isOverseas": {
- "type": "boolean",
- "example": false,
- "description": "是否境外产品"
- },
- "maxAge": {
- "type": "integer",
- "format": "int32",
- "example": 85,
- "description": "最大投保年龄"
- },
- "maxDays": {
- "type": "integer",
- "format": "int32",
- "example": 365,
- "description": "最长保障天数"
- },
- "minAge": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "最小投保年龄"
- },
- "minDays": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最短保障天数"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "保险产品ID"
- },
- "productName": {
- "type": "string",
- "example": "畅游神州境内游(旅行社专享)",
- "description": "产品名称"
- },
- "productType": {
- "type": "string",
- "description": "产品类型"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "产品状态: ACTIVE-已上架, INACTIVE-已下架"
- }
- },
- "title": "保险产品VO"
- },
- "保险方案模板VO": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "example": 100,
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "example": "适用于7日国内行程",
- "description": "方案描述"
- },
- "isOverseas": {
- "type": "boolean",
- "example": false,
- "description": "是否境外"
- },
- "name": {
- "type": "string",
- "example": "7日标准方案",
- "description": "方案名称"
- },
- "schemeId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856500,
- "description": "方案ID"
- },
- "segmentCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "段数量"
- },
- "segments": {
- "type": "array",
- "description": "方案段列表",
- "items": {
- "originalRef": "保险方案段VO",
- "$ref": "#/definitions/保险方案段VO"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序序号"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "状态: ACTIVE-启用, INACTIVE-停用"
- }
- },
- "title": "保险方案模板VO"
- },
- "保险方案模板请求": {
- "type": "object",
- "required": [
- "isOverseas",
- "name",
- "segments"
- ],
- "properties": {
- "description": {
- "type": "string",
- "example": "适用于7日国内行程,含前段境内险和后段高原险",
- "description": "方案描述"
- },
- "isOverseas": {
- "type": "boolean",
- "example": false,
- "description": "是否境外: false=境内, true=境外"
- },
- "name": {
- "type": "string",
- "example": "7日标准方案",
- "description": "方案名称"
- },
- "segments": {
- "type": "array",
- "description": "保险段列表",
- "items": {
- "originalRef": "保险方案段",
- "$ref": "#/definitions/保险方案段"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序序号(越小越靠前)"
- }
- },
- "title": "保险方案模板请求"
- },
- "保险方案段": {
- "type": "object",
- "required": [
- "dayOffsetEnd",
- "dayOffsetStart",
- "planId",
- "productId"
- ],
- "properties": {
- "dayOffsetEnd": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "相对结束天(1-based, -1=行程最后一天)"
- },
- "dayOffsetStart": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "相对起始天(1-based, 1=出发日)"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "保险产品ID"
- },
- "segmentName": {
- "type": "string",
- "example": "前段-境内险",
- "description": "段名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "段排序序号"
- }
- },
- "title": "保险方案段"
- },
- "保险方案段VO": {
- "type": "object",
- "properties": {
- "dayOffsetEnd": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "相对结束天(-1=最后一天)"
- },
- "dayOffsetStart": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "相对起始天"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "planName": {
- "type": "string",
- "example": "经济版",
- "description": "保险计划名称"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "保险产品ID"
- },
- "productName": {
- "type": "string",
- "example": "畅游神州境内游(旅行社专享)",
- "description": "保险产品名称"
- },
- "segmentId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856510,
- "description": "段ID"
- },
- "segmentName": {
- "type": "string",
- "example": "前段-境内险",
- "description": "段名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "段排序序号"
- }
- },
- "title": "保险方案段VO"
- },
- "保险计划VO": {
- "type": "object",
- "properties": {
- "extPlanGuid": {
- "type": "string",
- "example": "abc123",
- "description": "保游网计划GUID"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "计划ID"
- },
- "planName": {
- "type": "string",
- "example": "经济版",
- "description": "计划名称"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "所属产品ID"
- },
- "rates": {
- "type": "array",
- "description": "费率列表",
- "items": {
- "originalRef": "保险费率VO",
- "$ref": "#/definitions/保险费率VO"
- }
- },
- "securityList": {
- "type": "string",
- "example": "
",
- "description": "保障内容(HTML)"
- }
- },
- "title": "保险计划VO"
- },
- "保险订单VO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-05",
- "description": "保障结束日期"
- },
- "entityCode": {
- "type": "string",
- "example": "hulai",
- "description": "投保公司主体编码"
- },
- "extOrderNo": {
- "type": "string",
- "example": "BYW202602250001",
- "description": "保游网订单号"
- },
- "extPolicyNo": {
- "type": "string",
- "example": "P202602250001",
- "description": "保单号"
- },
- "insuranceOrderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856400,
- "description": "保险订单ID"
- },
- "insuredCount": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "被保人数量"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026270000000000001,
- "description": "关联旅行订单ID"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "planName": {
- "type": "string",
- "example": "经济版",
- "description": "保险计划名称"
- },
- "policyHolderName": {
- "type": "string",
- "example": "内蒙古呼籁国际旅行社有限公司",
- "description": "投保人姓名(公司名称)"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "保险产品ID"
- },
- "productName": {
- "type": "string",
- "example": "畅游神州境内游(旅行社专享)",
- "description": "保险产品名称"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "保障开始日期"
- },
- "status": {
- "type": "string",
- "example": "INSURED",
- "description": "订单状态: PENDING-待出单, INSURED-已承保, CANCELLED-已退保, FAILED-投保失败"
- },
- "statusLabel": {
- "type": "string",
- "example": "已承保",
- "description": "状态中文标签"
- },
- "totalPremium": {
- "type": "number",
- "example": 45.0,
- "description": "总保费(元)"
- }
- },
- "title": "保险订单VO"
- },
- "保险订单详情VO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-05",
- "description": "保障结束日期"
- },
- "entityCode": {
- "type": "string",
- "example": "hulai",
- "description": "投保公司主体编码"
- },
- "extOrderNo": {
- "type": "string",
- "example": "BYW202602250001",
- "description": "保游网订单号"
- },
- "extPolicyNo": {
- "type": "string",
- "example": "P202602250001",
- "description": "保单号"
- },
- "insuranceOrderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856400,
- "description": "保险订单ID"
- },
- "insuredCount": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "被保人数量"
- },
- "insuredPersons": {
- "type": "array",
- "description": "被保人列表",
- "items": {
- "originalRef": "被保人信息VO",
- "$ref": "#/definitions/被保人信息VO"
- }
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026270000000000001,
- "description": "关联旅行订单ID"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "planName": {
- "type": "string",
- "example": "经济版",
- "description": "保险计划名称"
- },
- "policyHolderName": {
- "type": "string",
- "example": "内蒙古呼籁国际旅行社有限公司",
- "description": "投保人姓名(公司名称)"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "保险产品ID"
- },
- "productName": {
- "type": "string",
- "example": "畅游神州境内游(旅行社专享)",
- "description": "保险产品名称"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "保障开始日期"
- },
- "status": {
- "type": "string",
- "example": "INSURED",
- "description": "订单状态: PENDING-待出单, INSURED-已承保, CANCELLED-已退保, FAILED-投保失败"
- },
- "statusLabel": {
- "type": "string",
- "example": "已承保",
- "description": "状态中文标签"
- },
- "totalPremium": {
- "type": "number",
- "example": 45.0,
- "description": "总保费(元)"
- }
- },
- "title": "保险订单详情VO"
- },
- "保险费率VO": {
- "type": "object",
- "properties": {
- "ageRange": {
- "type": "string",
- "example": "0-85",
- "description": "适用年龄范围"
- },
- "dayRange": {
- "type": "string",
- "example": "4-7",
- "description": "适用天数范围(如 1, 2, 4-7)"
- },
- "dayType": {
- "type": "string",
- "example": 10,
- "description": "天数类型: 10-按天, 20-按月, 30-按年"
- },
- "extRateCode": {
- "type": "string",
- "example": "RATE001",
- "description": "保游网费率编码"
- },
- "premium": {
- "type": "number",
- "example": 15.0,
- "description": "单人保费(元)"
- },
- "rateId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856395,
- "description": "费率ID"
- }
- },
- "title": "保险费率VO"
- },
- "充值请求": {
- "type": "object",
- "required": [
- "money",
- "payType"
- ],
- "properties": {
- "backUrl": {
- "type": "string",
- "example": "http://localhost:5173/insurance",
- "description": "同步回调地址(支付宝用)"
- },
- "money": {
- "type": "number",
- "example": 100.0,
- "description": "充值金额(元)"
- },
- "payType": {
- "type": "integer",
- "format": "int32",
- "example": 11,
- "description": "支付方式:11=支付宝扫码, 33=微信扫码"
- }
- },
- "title": "充值请求"
- },
- "分页结果«保险产品VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "保险产品VO",
- "$ref": "#/definitions/保险产品VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«保险产品VO»"
- },
- "分页结果«保险订单VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "保险订单VO",
- "$ref": "#/definitions/保险订单VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«保险订单VO»"
- },
- "应用方案预览请求": {
- "type": "object",
- "required": [
- "orderId",
- "schemeId"
- ],
- "properties": {
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-01",
- "description": "出发日期(可选,不传则从订单获取)"
- },
- "insuredCount": {
- "type": "integer",
- "format": "int32",
- "example": 4,
- "description": "被保人数量(可选,不传则从订单获取出行人数)"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026270000000000001,
- "description": "旅行订单ID(用于获取出发/返回日期和出行人数)"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-07",
- "description": "返回日期(可选,不传则从订单获取)"
- },
- "schemeId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856500,
- "description": "方案ID"
- }
- },
- "title": "应用方案预览请求"
- },
- "投保请求": {
- "type": "object",
- "required": [
- "endDate",
- "insuredPersons",
- "planId",
- "startDate"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-05",
- "description": "保障结束日期"
- },
- "entityCode": {
- "type": "string",
- "example": "hulai",
- "description": "投保公司主体编码(不填则使用默认主体)"
- },
- "insuredPersons": {
- "type": "array",
- "description": "被保人列表(至少1人)",
- "items": {
- "originalRef": "被保人/投保人信息",
- "$ref": "#/definitions/被保人/投保人信息"
- }
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026270000000000001,
- "description": "关联旅行订单ID(可选)"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "保障开始日期"
- }
- },
- "title": "投保请求"
- },
- "方案应用预览VO": {
- "type": "object",
- "properties": {
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-01",
- "description": "行程出发日期"
- },
- "insuredCount": {
- "type": "integer",
- "format": "int32",
- "example": 4,
- "description": "被保人数量"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-07",
- "description": "行程返回日期"
- },
- "schemeId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856500,
- "description": "方案ID"
- },
- "schemeName": {
- "type": "string",
- "example": "7日标准方案",
- "description": "方案名称"
- },
- "segments": {
- "type": "array",
- "description": "解析后的保险段列表",
- "items": {
- "originalRef": "解析后的保险段",
- "$ref": "#/definitions/解析后的保险段"
- }
- },
- "totalEstimatedPremium": {
- "type": "number",
- "example": 320.0,
- "description": "预估总保费(所有段合计)"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "example": 7,
- "description": "行程天数"
- },
- "warnings": {
- "type": "array",
- "description": "警告信息(如日期间隙、重叠、超出行程范围等)",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "方案应用预览VO"
- },
- "统一响应结果«JsonNode»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "JsonNode",
- "$ref": "#/definitions/JsonNode"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«JsonNode»"
- },
- "统一响应结果«List«Map«string,string»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "Map«string,string»",
- "$ref": "#/definitions/Map«string,string»"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«Map«string,string»»»"
- },
- "统一响应结果«List«保险方案模板VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "保险方案模板VO",
- "$ref": "#/definitions/保险方案模板VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«保险方案模板VO»»"
- },
- "统一响应结果«List«保险计划VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "保险计划VO",
- "$ref": "#/definitions/保险计划VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«保险计划VO»»"
- },
- "统一响应结果«List«保险订单VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "保险订单VO",
- "$ref": "#/definitions/保险订单VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«保险订单VO»»"
- },
- "统一响应结果«List«保险订单详情VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "保险订单详情VO",
- "$ref": "#/definitions/保险订单详情VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«保险订单详情VO»»"
- },
- "统一响应结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,object»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«int»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "integer",
- "format": "int32",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«int»"
- },
- "统一响应结果«string»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "string",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«string»"
- },
- "统一响应结果«保单分享结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "保单分享结果",
- "$ref": "#/definitions/保单分享结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«保单分享结果»"
- },
- "统一响应结果«保险产品VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "保险产品VO",
- "$ref": "#/definitions/保险产品VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«保险产品VO»"
- },
- "统一响应结果«保险方案模板VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "保险方案模板VO",
- "$ref": "#/definitions/保险方案模板VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«保险方案模板VO»"
- },
- "统一响应结果«保险订单VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "保险订单VO",
- "$ref": "#/definitions/保险订单VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«保险订单VO»"
- },
- "统一响应结果«保险订单详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "保险订单详情VO",
- "$ref": "#/definitions/保险订单详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«保险订单详情VO»"
- },
- "统一响应结果«分页结果«保险产品VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«保险产品VO»",
- "$ref": "#/definitions/分页结果«保险产品VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«保险产品VO»»"
- },
- "统一响应结果«分页结果«保险订单VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«保险订单VO»",
- "$ref": "#/definitions/分页结果«保险订单VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«保险订单VO»»"
- },
- "统一响应结果«方案应用预览VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "方案应用预览VO",
- "$ref": "#/definitions/方案应用预览VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«方案应用预览VO»"
- },
- "统一响应结果«订单保险保障VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "订单保险保障VO",
- "$ref": "#/definitions/订单保险保障VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«订单保险保障VO»"
- },
- "被保人/投保人信息": {
- "type": "object",
- "required": [
- "birthday",
- "gender",
- "idCardNo",
- "name"
- ],
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期"
- },
- "gender": {
- "type": "string",
- "example": "MALE",
- "description": "性别: MALE-男, FEMALE-女"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型: ID_CARD-身份证, PASSPORT-护照, OTHER-其他"
- },
- "isBeneficiary": {
- "type": "boolean",
- "example": false,
- "description": "是否为受益人"
- },
- "name": {
- "type": "string",
- "example": "李四",
- "description": "姓名"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "被保人/投保人信息"
- },
- "被保人信息VO": {
- "type": "object",
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期"
- },
- "gender": {
- "type": "string",
- "example": "MALE",
- "description": "性别: MALE-男, FEMALE-女"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型: ID_CARD-身份证, PASSPORT-护照, OTHER-其他"
- },
- "insuredId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856410,
- "description": "被保人ID"
- },
- "isBeneficiary": {
- "type": "boolean",
- "example": false,
- "description": "是否为受益人"
- },
- "name": {
- "type": "string",
- "example": "李四",
- "description": "姓名"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "被保人信息VO"
- },
- "解析后的保险段": {
- "type": "object",
- "properties": {
- "coverageDays": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "覆盖天数"
- },
- "dayOffsetEnd": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "原始结束天偏移"
- },
- "dayOffsetStart": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "原始起始天偏移"
- },
- "estimatedPremium": {
- "type": "number",
- "example": 60.0,
- "description": "该段预估总保费(单人保费 x 人数)"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856390,
- "description": "保险计划ID"
- },
- "planName": {
- "type": "string",
- "example": "经济版",
- "description": "保险计划名称"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2026279738275856385,
- "description": "保险产品ID"
- },
- "productName": {
- "type": "string",
- "example": "畅游神州境内游(旅行社专享)",
- "description": "保险产品名称"
- },
- "resolvedEndDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-03",
- "description": "解析后的实际结束日期"
- },
- "resolvedStartDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-01",
- "description": "解析后的实际开始日期"
- },
- "segmentName": {
- "type": "string",
- "example": "前段-境内险",
- "description": "段名称"
- },
- "skipReason": {
- "type": "string",
- "description": "跳过原因"
- },
- "skipped": {
- "type": "boolean",
- "example": false,
- "description": "是否被跳过(超出行程范围)"
- },
- "unitPremium": {
- "type": "number",
- "example": 15.0,
- "description": "单人保费"
- }
- },
- "title": "解析后的保险段"
- },
- "订单保险保障VO": {
- "type": "object",
- "properties": {
- "insuranceOrders": {
- "type": "array",
- "description": "保险订单详情列表(含被保人)",
- "items": {
- "originalRef": "保险订单详情VO",
- "$ref": "#/definitions/保险订单详情VO"
- }
- },
- "orderCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "保险单数量"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 2026270000000000001,
- "description": "旅行订单ID"
- }
- },
- "title": "订单保险保障VO"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-material-service.json b/.swagger/hl-material-service.json
deleted file mode 100644
index 208caad..0000000
--- a/.swagger/hl-material-service.json
+++ /dev/null
@@ -1,3274 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "素材服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/material/batch": {
- "delete": {
- "tags": [
- "素材管理"
- ],
- "summary": "批量删除素材",
- "description": "批量删除素材,返回删除结果(成功数/失败数/失败原因)。有引用关系的素材会跳过并记录失败原因",
- "operationId": "batchDeleteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "originalRef": "批量删除素材请求",
- "$ref": "#/definitions/批量删除素材请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«批量删除结果»",
- "$ref": "#/definitions/统一响应结果«批量删除结果»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«批量删除结果»",
- "$ref": "#/definitions/统一响应结果«批量删除结果»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/batch/tags": {
- "put": {
- "tags": [
- "素材管理"
- ],
- "summary": "批量更新标签",
- "description": "对多个素材同时添加和/或移除标签,支持增量操作(addTagIds新增,removeTagIds移除)",
- "operationId": "batchUpdateTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签更新请求",
- "required": false,
- "schema": {
- "originalRef": "批量标签操作请求",
- "$ref": "#/definitions/批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/categories": {
- "get": {
- "tags": [
- "素材管理"
- ],
- "summary": "获取有权限的分类列表(含素材数量)",
- "description": "返回当前角色有权限查看的素材分类树,每个分类包含素材数量统计。超级管理员可见全部分类",
- "operationId": "getCategoriesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材分类信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材分类信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材分类信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材分类信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/category/permissions/{roleCode}": {
- "get": {
- "tags": [
- "素材分类权限管理"
- ],
- "summary": "获取角色的分类权限",
- "description": "仅超级管理员可操作。返回指定角色可访问的素材分类编码列表",
- "operationId": "getPermissionsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roleCode",
- "in": "path",
- "description": "角色编码",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«string»»",
- "$ref": "#/definitions/统一响应结果«List«string»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«string»»",
- "$ref": "#/definitions/统一响应结果«List«string»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "素材分类权限管理"
- ],
- "summary": "更新角色的分类权限",
- "description": "仅超级管理员可操作。全量替换指定角色的素材分类访问权限,传入允许访问的分类编码列表",
- "operationId": "updatePermissionsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分类权限更新请求",
- "required": false,
- "schema": {
- "originalRef": "分类权限更新请求",
- "$ref": "#/definitions/分类权限更新请求"
- }
- },
- {
- "name": "roleCode",
- "in": "path",
- "description": "角色编码",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/category/sub": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "创建子分类",
- "description": "在一级分类下创建子分类,分类编码自动生成。子分类用于更细粒度的素材归档",
- "operationId": "createSubCategoryUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "子分类创建请求",
- "required": false,
- "schema": {
- "originalRef": "Create subcategory request",
- "$ref": "#/definitions/Create subcategory request"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材分类信息»",
- "$ref": "#/definitions/统一响应结果«素材分类信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材分类信息»",
- "$ref": "#/definitions/统一响应结果«素材分类信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/category/sub/{categoryId}": {
- "put": {
- "tags": [
- "素材管理"
- ],
- "summary": "更新子分类",
- "description": "更新子分类的名称或排序值。仅有该分类权限的管理员可操作。",
- "operationId": "updateSubCategoryUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "子分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "子分类更新请求",
- "required": false,
- "schema": {
- "originalRef": "Update subcategory request",
- "$ref": "#/definitions/Update subcategory request"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材分类信息»",
- "$ref": "#/definitions/统一响应结果«素材分类信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材分类信息»",
- "$ref": "#/definitions/统一响应结果«素材分类信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "素材管理"
- ],
- "summary": "删除子分类",
- "description": "删除子分类前需确保分类下无素材,否则删除失败",
- "operationId": "deleteSubCategoryUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "子分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/list": {
- "get": {
- "tags": [
- "素材管理"
- ],
- "summary": "素材列表",
- "description": "分页查询素材,支持按分类、标签、文件类型、关键词筛选。返回结果受角色分类权限限制\n\n**关联字典**:\n- file_type:文件类型(列表筛选+显示)",
- "operationId": "listMaterialsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryCode",
- "in": "query",
- "description": "分类编码",
- "required": false,
- "type": "string",
- "x-example": "scenic"
- },
- {
- "name": "createdBy",
- "in": "query",
- "description": "创建人ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 1001
- },
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "x-example": "2026-12-31"
- },
- {
- "name": "fileType",
- "in": "query",
- "description": "文件类型",
- "required": false,
- "type": "string",
- "x-example": "image"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "x-example": "风景"
- },
- {
- "name": "orderBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "orderDir",
- "in": "query",
- "description": "排序方向: asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "x-example": "2026-01-01"
- },
- {
- "name": "subCategoryId",
- "in": "query",
- "description": "子分类ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 2030000000000001
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "1,2,3"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«素材信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«素材信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«素材信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«素材信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/tag": {
- "post": {
- "tags": [
- "素材标签管理"
- ],
- "summary": "创建管理标签",
- "description": "创建系统级素材标签,标签名称不可重复。创建后可用于素材分类和筛选。\n\n**权限**:需管理员登录。",
- "operationId": "createTagUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建标签请求",
- "required": false,
- "schema": {
- "originalRef": "创建标签请求",
- "$ref": "#/definitions/创建标签请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材标签信息»",
- "$ref": "#/definitions/统一响应结果«素材标签信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材标签信息»",
- "$ref": "#/definitions/统一响应结果«素材标签信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/tag/adhoc": {
- "post": {
- "tags": [
- "素材标签管理"
- ],
- "summary": "解析自定义标签(按名称查找或创建)",
- "description": "按标签名称查找已有标签,不存在则自动创建为用户自定义标签。用于素材上传时输入自由标签文本的场景。\n\n**权限**:需管理员登录。",
- "operationId": "resolveAdHocTagUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "自定义标签请求",
- "required": false,
- "schema": {
- "originalRef": "创建标签请求",
- "$ref": "#/definitions/创建标签请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材标签信息»",
- "$ref": "#/definitions/统一响应结果«素材标签信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材标签信息»",
- "$ref": "#/definitions/统一响应结果«素材标签信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/tag/{tagId}": {
- "put": {
- "tags": [
- "素材标签管理"
- ],
- "summary": "编辑标签",
- "description": "更新标签名称。标签名称不可与其他已有标签重复。\n\n**权限**:需管理员登录。",
- "operationId": "updateTagUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "更新标签请求",
- "required": false,
- "schema": {
- "originalRef": "更新标签请求",
- "$ref": "#/definitions/更新标签请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材标签信息»",
- "$ref": "#/definitions/统一响应结果«素材标签信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材标签信息»",
- "$ref": "#/definitions/统一响应结果«素材标签信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "素材标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并自动解除与所有素材的关联关系。\n\n**权限**:需管理员登录。",
- "operationId": "deleteTagUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/tags": {
- "get": {
- "tags": [
- "素材标签管理"
- ],
- "summary": "获取管理标签(标签管理用,分页)",
- "description": "返回管理员创建的系统标签列表(不含用户自定义标签),用于标签管理页的CRUD操作。支持按标签名称搜索。",
- "operationId": "listManagedTagsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(按标签名称模糊搜索)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码(默认1)",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数(默认20)",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«素材标签信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«素材标签信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«素材标签信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«素材标签信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/tags/all": {
- "get": {
- "tags": [
- "素材标签管理"
- ],
- "summary": "获取全部标签(选择器用,含自定义标签)",
- "description": "返回所有标签(含系统标签和用户自定义标签),用于素材上传/编辑时的标签选择器。",
- "operationId": "listAllTagsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材标签信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材标签信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材标签信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材标签信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/chunk": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "分片上传-上传分片",
- "description": "大文件上传第二步:逐个上传分片数据,分片索引从0开始。支持断点续传,已上传的分片无需重传。",
- "operationId": "chunkUploadPartUsingPOST",
- "consumes": [
- "multipart/form-data"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "chunk",
- "in": "formData",
- "description": "分片文件",
- "required": false,
- "type": "file"
- },
- {
- "name": "chunkIndex",
- "in": "query",
- "description": "分片索引(从0开始)",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "uploadId",
- "in": "query",
- "description": "上传ID",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分片上传结果»",
- "$ref": "#/definitions/统一响应结果«分片上传结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分片上传结果»",
- "$ref": "#/definitions/统一响应结果«分片上传结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/chunk/cancel": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "分片上传-取消",
- "description": "取消分片上传任务,清理已上传的分片数据和OSS临时文件。仅上传发起者可取消。",
- "operationId": "chunkUploadCancelUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分片上传取消请求",
- "required": false,
- "schema": {
- "originalRef": "分片上传取消请求",
- "$ref": "#/definitions/分片上传取消请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/chunk/complete": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "分片上传-完成合并",
- "description": "大文件上传第三步:所有分片上传完成后调用,OSS端合并分片为完整文件并创建素材记录。",
- "operationId": "chunkUploadCompleteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分片上传完成请求",
- "required": false,
- "schema": {
- "originalRef": "分片上传完成请求",
- "$ref": "#/definitions/分片上传完成请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/chunk/init": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "分片上传-初始化",
- "description": "大文件上传第一步:初始化分片上传任务,返回uploadId和每个分片的预签名URL。前端按分片并发上传后调用完成合并接口。\n\n**权限**:需管理员登录,受角色分类权限限制。",
- "operationId": "chunkUploadInitUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分片上传初始化请求",
- "required": false,
- "schema": {
- "originalRef": "分片上传初始化请求",
- "$ref": "#/definitions/分片上传初始化请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分片上传初始化结果»",
- "$ref": "#/definitions/统一响应结果«分片上传初始化结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分片上传初始化结果»",
- "$ref": "#/definitions/统一响应结果«分片上传初始化结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/confirm": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "确认上传完成",
- "description": "上传素材第二步:前端直传OSS完成后调用此接口创建素材记录,支持MD5去重\n\n**关联字典**:\n- material_tag:素材标签(上传时可选标签)",
- "operationId": "confirmUploadUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "确认上传请求",
- "required": false,
- "schema": {
- "originalRef": "素材上传确认请求",
- "$ref": "#/definitions/素材上传确认请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/folder": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "文件夹上传初始化(创建分类+批量获取凭证)",
- "description": "支持整个文件夹上传:自动根据文件夹名创建子分类,为每个文件批量获取上传凭证,前端逐一上传后批量确认",
- "operationId": "folderUploadInitUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "文件夹上传初始化请求",
- "required": false,
- "schema": {
- "originalRef": "文件夹上传初始化请求",
- "$ref": "#/definitions/文件夹上传初始化请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件夹上传初始化结果»",
- "$ref": "#/definitions/统一响应结果«文件夹上传初始化结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«文件夹上传初始化结果»",
- "$ref": "#/definitions/统一响应结果«文件夹上传初始化结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/upload/token": {
- "post": {
- "tags": [
- "素材管理"
- ],
- "summary": "获取上传凭证",
- "description": "上传素材第一步:获取OSS预签名URL和凭证。前端使用凭证直传OSS后调用确认上传。支持基于角色的分类权限校验",
- "operationId": "requestUploadTokenUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "上传凭证请求",
- "required": false,
- "schema": {
- "originalRef": "素材上传令牌请求",
- "$ref": "#/definitions/素材上传令牌请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材上传令牌信息»",
- "$ref": "#/definitions/统一响应结果«素材上传令牌信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材上传令牌信息»",
- "$ref": "#/definitions/统一响应结果«素材上传令牌信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/{materialId}": {
- "get": {
- "tags": [
- "素材管理"
- ],
- "summary": "素材详情",
- "description": "返回素材完整信息,包含文件名、URL、分类、标签、文件大小、上传者等。受角色分类权限限制。\n\n**关联字典**:\n- file_type:文件类型(显示)",
- "operationId": "getMaterialUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "materialId",
- "in": "path",
- "description": "素材ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "素材管理"
- ],
- "summary": "更新素材信息",
- "description": "**关联字典**:\n- material_tag:素材标签(编辑时选择标签)",
- "operationId": "updateMaterialUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "materialId",
- "in": "path",
- "description": "素材ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "素材更新请求",
- "required": false,
- "schema": {
- "originalRef": "更新素材请求",
- "$ref": "#/definitions/更新素材请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«素材信息»",
- "$ref": "#/definitions/统一响应结果«素材信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "素材管理"
- ],
- "summary": "删除素材",
- "description": "删除素材记录。如果素材存在引用关系(被景区、酒店等使用),则不允许删除",
- "operationId": "deleteMaterialUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "materialId",
- "in": "path",
- "description": "素材ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/{materialId}/refs": {
- "get": {
- "tags": [
- "素材管理"
- ],
- "summary": "查看素材引用记录",
- "description": "查看素材被哪些业务实体引用(如景区封面、酒店轮播图等),用于判断素材是否可安全删除",
- "operationId": "getMaterialRefsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "materialId",
- "in": "path",
- "description": "素材ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材引用信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材引用信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材引用信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材引用信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/material/{materialId}/tags": {
- "put": {
- "tags": [
- "素材管理"
- ],
- "summary": "更新素材标签",
- "description": "全量替换单个素材的标签,传入新的标签ID列表",
- "operationId": "updateMaterialTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "materialId",
- "in": "path",
- "description": "素材ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "素材标签更新请求",
- "required": false,
- "schema": {
- "originalRef": "更新素材标签请求",
- "$ref": "#/definitions/更新素材标签请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/material/miniprogram": {
- "get": {
- "tags": [
- "小程序-素材"
- ],
- "summary": "获取小程序分类下的全部素材",
- "description": "返回miniprogram分类下的所有素材,用于小程序端展示公共素材资源(如引导页图片、默认头像等)",
- "operationId": "listMiniprogramMaterialsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«素材信息»»",
- "$ref": "#/definitions/统一响应结果«List«素材信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "Create subcategory request": {
- "type": "object",
- "required": [
- "categoryName",
- "parentCode"
- ],
- "properties": {
- "categoryName": {
- "type": "string",
- "example": "乌兰山",
- "description": "子分类名称"
- },
- "parentCode": {
- "type": "string",
- "example": "scenic",
- "description": "根分类编码(scenic/hotel等)"
- },
- "parentId": {
- "type": "integer",
- "format": "int64",
- "example": 1234567890,
- "description": "父子分类ID(为空则创建在根分类下)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序值"
- }
- },
- "title": "Create subcategory request"
- },
- "STS临时凭证信息": {
- "type": "object",
- "properties": {
- "accessKeyId": {
- "type": "string",
- "description": "AccessKey ID"
- },
- "accessKeySecret": {
- "type": "string",
- "description": "AccessKey Secret"
- },
- "expiration": {
- "type": "string",
- "description": "过期时间"
- },
- "securityToken": {
- "type": "string",
- "description": "安全令牌"
- }
- },
- "title": "STS临时凭证信息"
- },
- "Update subcategory request": {
- "type": "object",
- "properties": {
- "categoryName": {
- "type": "string",
- "example": "Hulunbuir",
- "description": "Subcategory name"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "Sort order"
- }
- },
- "title": "Update subcategory request"
- },
- "分片上传初始化结果": {
- "type": "object",
- "properties": {
- "chunkSize": {
- "type": "integer",
- "format": "int32",
- "description": "推荐分片大小(字节)"
- },
- "uploadId": {
- "type": "string",
- "description": "上传ID"
- }
- },
- "title": "分片上传初始化结果"
- },
- "分片上传初始化请求": {
- "type": "object",
- "required": [
- "contentType",
- "fileSize",
- "filename"
- ],
- "properties": {
- "contentType": {
- "type": "string",
- "description": "文件MIME类型"
- },
- "fileSize": {
- "type": "integer",
- "format": "int64",
- "description": "文件大小(字节)"
- },
- "filename": {
- "type": "string",
- "description": "文件名"
- },
- "materialId": {
- "type": "string",
- "description": "关联素材ID(可选,用于更新已有素材)"
- }
- },
- "title": "分片上传初始化请求"
- },
- "分片上传取消请求": {
- "type": "object",
- "required": [
- "uploadId"
- ],
- "properties": {
- "uploadId": {
- "type": "string",
- "description": "上传ID"
- }
- },
- "title": "分片上传取消请求"
- },
- "分片上传完成请求": {
- "type": "object",
- "required": [
- "uploadId"
- ],
- "properties": {
- "uploadId": {
- "type": "string",
- "description": "上传ID"
- }
- },
- "title": "分片上传完成请求"
- },
- "分片上传结果": {
- "type": "object",
- "properties": {
- "etag": {
- "type": "string",
- "description": "分片ETag"
- }
- },
- "title": "分片上传结果"
- },
- "分类权限更新请求": {
- "type": "object",
- "required": [
- "categoryCodes"
- ],
- "properties": {
- "categoryCodes": {
- "type": "array",
- "description": "分类编码列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "分类权限更新请求"
- },
- "分页结果«素材信息»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "素材信息",
- "$ref": "#/definitions/素材信息"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«素材信息»"
- },
- "分页结果«素材标签信息»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "素材标签信息",
- "$ref": "#/definitions/素材标签信息"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«素材标签信息»"
- },
- "创建标签请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#409EFF",
- "description": "标签颜色"
- },
- "tagName": {
- "type": "string",
- "example": "风景",
- "description": "标签名称"
- }
- },
- "title": "创建标签请求"
- },
- "删除失败项": {
- "type": "object",
- "properties": {
- "materialId": {
- "type": "string",
- "description": "素材ID"
- },
- "reason": {
- "type": "string",
- "description": "失败原因"
- }
- },
- "title": "删除失败项"
- },
- "批量删除素材请求": {
- "type": "object",
- "required": [
- "materialIds"
- ],
- "properties": {
- "materialIds": {
- "type": "array",
- "description": "素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "批量删除素材请求"
- },
- "批量删除结果": {
- "type": "object",
- "properties": {
- "failedItems": {
- "type": "array",
- "description": "失败项列表",
- "items": {
- "originalRef": "删除失败项",
- "$ref": "#/definitions/删除失败项"
- }
- },
- "successCount": {
- "type": "integer",
- "format": "int32",
- "description": "成功删除数量"
- }
- },
- "title": "批量删除结果"
- },
- "批量标签操作请求": {
- "type": "object",
- "required": [
- "materialIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "materialIds": {
- "type": "array",
- "description": "素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "批量标签操作请求"
- },
- "文件上传凭证项": {
- "type": "object",
- "properties": {
- "bucket": {
- "type": "string",
- "description": "OSS Bucket名称"
- },
- "error": {
- "type": "string",
- "description": "错误信息(该文件获取凭证失败时)"
- },
- "filename": {
- "type": "string",
- "description": "文件名"
- },
- "folderPath": {
- "type": "string",
- "description": "文件夹路径"
- },
- "instantUpload": {
- "type": "boolean",
- "description": "是否秒传(文件已存在)"
- },
- "materialId": {
- "type": "string",
- "description": "素材ID"
- },
- "ossKey": {
- "type": "string",
- "description": "OSS对象Key"
- },
- "region": {
- "type": "string",
- "description": "OSS Region"
- },
- "stsToken": {
- "description": "STS临时凭证",
- "originalRef": "STS临时凭证信息",
- "$ref": "#/definitions/STS临时凭证信息"
- },
- "uploadHeaders": {
- "type": "object",
- "description": "上传请求头",
- "additionalProperties": {
- "type": "string"
- }
- },
- "uploadMethod": {
- "type": "string",
- "description": "上传方式: PUT/POST"
- },
- "uploadUrl": {
- "type": "string",
- "description": "上传URL"
- }
- },
- "title": "文件上传凭证项"
- },
- "文件夹上传初始化结果": {
- "type": "object",
- "properties": {
- "fileTokens": {
- "type": "array",
- "description": "各文件的上传凭证列表",
- "items": {
- "originalRef": "文件上传凭证项",
- "$ref": "#/definitions/文件上传凭证项"
- }
- },
- "folderCategoryMap": {
- "type": "object",
- "description": "文件夹路径 → 子分类ID 映射",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "title": "文件夹上传初始化结果"
- },
- "文件夹上传初始化请求": {
- "type": "object",
- "required": [
- "categoryCode",
- "files",
- "folderPaths"
- ],
- "properties": {
- "categoryCode": {
- "type": "string",
- "example": "guide",
- "description": "分类编码"
- },
- "files": {
- "type": "array",
- "description": "文件列表",
- "items": {
- "originalRef": "文件夹上传文件项",
- "$ref": "#/definitions/文件夹上传文件项"
- }
- },
- "folderPaths": {
- "type": "array",
- "description": "文件夹路径列表(如 [\"999\", \"999/888\"])",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "文件夹上传初始化请求"
- },
- "文件夹上传文件项": {
- "type": "object",
- "required": [
- "contentType",
- "fileSize",
- "filename",
- "folderPath",
- "md5"
- ],
- "properties": {
- "contentType": {
- "type": "string",
- "example": "image/jpeg",
- "description": "文件MIME类型"
- },
- "fileSize": {
- "type": "integer",
- "format": "int64",
- "example": 1048576,
- "description": "文件大小(字节)"
- },
- "filename": {
- "type": "string",
- "example": "photo.jpg",
- "description": "文件名"
- },
- "folderPath": {
- "type": "string",
- "example": "999/888",
- "description": "文件所在文件夹路径(与folderPaths中的路径对应)"
- },
- "materialName": {
- "type": "string",
- "example": "风景图",
- "description": "素材名称"
- },
- "md5": {
- "type": "string",
- "example": "d41d8cd98f00b204e9800998ecf8427e",
- "description": "文件MD5"
- }
- },
- "title": "文件夹上传文件项"
- },
- "更新标签请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#409EFF",
- "description": "标签颜色"
- },
- "tagName": {
- "type": "string",
- "example": "风景",
- "description": "标签名称"
- }
- },
- "title": "更新标签请求"
- },
- "更新素材标签请求": {
- "type": "object",
- "required": [
- "tagIds"
- ],
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "更新素材标签请求"
- },
- "更新素材请求": {
- "type": "object",
- "properties": {
- "categoryCode": {
- "type": "string",
- "example": "scenic",
- "description": "分类编码"
- },
- "description": {
- "type": "string",
- "example": "九寨沟秋季风景",
- "description": "素材描述"
- },
- "materialName": {
- "type": "string",
- "example": "九寨沟风景图",
- "description": "素材名称"
- },
- "subCategoryId": {
- "type": "integer",
- "format": "int64",
- "example": 2030000000000001,
- "description": "子分类ID(0表示清除子分类)"
- }
- },
- "title": "更新素材请求"
- },
- "素材上传令牌信息": {
- "type": "object",
- "properties": {
- "bucket": {
- "type": "string",
- "description": "OSS Bucket名称"
- },
- "contentType": {
- "type": "string",
- "description": "上传时必须使用的Content-Type(与预签名URL签名一致)"
- },
- "expireAt": {
- "type": "string",
- "format": "date-time",
- "description": "过期时间"
- },
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "instantUpload": {
- "type": "boolean",
- "description": "是否秒传"
- },
- "material": {
- "description": "秒传时返回的素材信息",
- "originalRef": "素材信息",
- "$ref": "#/definitions/素材信息"
- },
- "materialId": {
- "type": "string",
- "description": "素材ID"
- },
- "ossKey": {
- "type": "string",
- "description": "OSS对象Key"
- },
- "region": {
- "type": "string",
- "description": "OSS Region"
- },
- "stsToken": {
- "description": "STS临时凭证",
- "originalRef": "STS临时凭证信息",
- "$ref": "#/definitions/STS临时凭证信息"
- },
- "uploadMode": {
- "type": "string",
- "description": "上传模式: PRESIGNED_URL/STS_MULTIPART"
- },
- "uploadUrl": {
- "type": "string",
- "description": "上传URL"
- }
- },
- "title": "素材上传令牌信息"
- },
- "素材上传令牌请求": {
- "type": "object",
- "required": [
- "categoryCode",
- "contentType",
- "fileSize",
- "filename",
- "md5"
- ],
- "properties": {
- "categoryCode": {
- "type": "string",
- "example": "scenic",
- "description": "分类编码"
- },
- "contentType": {
- "type": "string",
- "example": "image/jpeg",
- "description": "文件MIME类型"
- },
- "fileSize": {
- "type": "integer",
- "format": "int64",
- "example": 1048576,
- "description": "文件大小(字节)"
- },
- "filename": {
- "type": "string",
- "example": "photo.jpg",
- "description": "文件名"
- },
- "materialName": {
- "type": "string",
- "example": "九寨沟风景图",
- "description": "素材名称"
- },
- "md5": {
- "type": "string",
- "example": "d41d8cd98f00b204e9800998ecf8427e",
- "description": "文件MD5"
- },
- "subCategoryId": {
- "type": "integer",
- "format": "int64",
- "example": 2030000000000001,
- "description": "子分类ID(文件夹上传时使用)"
- }
- },
- "title": "素材上传令牌请求"
- },
- "素材上传确认请求": {
- "type": "object",
- "required": [
- "materialId"
- ],
- "properties": {
- "description": {
- "type": "string",
- "example": "九寨沟秋季风景",
- "description": "素材描述"
- },
- "materialId": {
- "type": "string",
- "example": 1234567890,
- "description": "素材ID"
- },
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "素材上传确认请求"
- },
- "素材信息": {
- "type": "object",
- "properties": {
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "categoryPath": {
- "type": "string",
- "description": "完整分类路径(如:攻略管理 / 999 / 888)"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "description": {
- "type": "string",
- "description": "素材描述"
- },
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "fileName": {
- "type": "string",
- "description": "文件名"
- },
- "fileSize": {
- "type": "integer",
- "format": "int64",
- "description": "文件大小(字节)"
- },
- "fileType": {
- "type": "string",
- "description": "文件类型"
- },
- "imageHeight": {
- "type": "integer",
- "format": "int32",
- "description": "图片高度"
- },
- "imageWidth": {
- "type": "integer",
- "format": "int32",
- "description": "图片宽度"
- },
- "materialId": {
- "type": "string",
- "description": "素材ID"
- },
- "materialName": {
- "type": "string",
- "description": "素材名称"
- },
- "ossUrl": {
- "type": "string",
- "description": "OSS地址"
- },
- "refCount": {
- "type": "integer",
- "format": "int32",
- "description": "引用次数"
- },
- "subCategoryId": {
- "type": "string",
- "description": "子分类ID"
- },
- "subCategoryName": {
- "type": "string",
- "description": "子分类名称"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "originalRef": "素材标签信息",
- "$ref": "#/definitions/素材标签信息"
- }
- },
- "thumbnailUrl": {
- "type": "string",
- "description": "缩略图地址"
- }
- },
- "title": "素材信息"
- },
- "素材分类信息": {
- "type": "object",
- "properties": {
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "children": {
- "type": "array",
- "description": "子分类列表",
- "items": {
- "originalRef": "素材分类信息",
- "$ref": "#/definitions/素材分类信息"
- }
- },
- "materialCount": {
- "type": "integer",
- "format": "int32",
- "description": "素材数量"
- },
- "parentId": {
- "type": "string",
- "description": "父子分类ID"
- },
- "subCategoryId": {
- "type": "string",
- "description": "子分类ID"
- }
- },
- "title": "素材分类信息"
- },
- "素材引用信息": {
- "type": "object",
- "properties": {
- "bizId": {
- "type": "string",
- "description": "业务ID"
- },
- "bizName": {
- "type": "string",
- "description": "业务名称"
- },
- "bizType": {
- "type": "string",
- "description": "业务类型"
- },
- "bizTypeName": {
- "type": "string",
- "description": "业务类型名称"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "id": {
- "type": "string",
- "description": "引用ID"
- },
- "materialId": {
- "type": "string",
- "description": "素材ID"
- },
- "usageType": {
- "type": "string",
- "description": "用途类型"
- },
- "usageTypeName": {
- "type": "string",
- "description": "用途类型名称"
- }
- },
- "title": "素材引用信息"
- },
- "素材标签信息": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "managed": {
- "type": "boolean",
- "description": "是否系统管理标签"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "素材标签信息"
- },
- "统一响应结果«List«string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«string»»"
- },
- "统一响应结果«List«素材信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "素材信息",
- "$ref": "#/definitions/素材信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«素材信息»»"
- },
- "统一响应结果«List«素材分类信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "素材分类信息",
- "$ref": "#/definitions/素材分类信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«素材分类信息»»"
- },
- "统一响应结果«List«素材引用信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "素材引用信息",
- "$ref": "#/definitions/素材引用信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«素材引用信息»»"
- },
- "统一响应结果«List«素材标签信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "素材标签信息",
- "$ref": "#/definitions/素材标签信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«素材标签信息»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«分片上传初始化结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分片上传初始化结果",
- "$ref": "#/definitions/分片上传初始化结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分片上传初始化结果»"
- },
- "统一响应结果«分片上传结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分片上传结果",
- "$ref": "#/definitions/分片上传结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分片上传结果»"
- },
- "统一响应结果«分页结果«素材信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«素材信息»",
- "$ref": "#/definitions/分页结果«素材信息»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«素材信息»»"
- },
- "统一响应结果«分页结果«素材标签信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«素材标签信息»",
- "$ref": "#/definitions/分页结果«素材标签信息»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«素材标签信息»»"
- },
- "统一响应结果«批量删除结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "批量删除结果",
- "$ref": "#/definitions/批量删除结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«批量删除结果»"
- },
- "统一响应结果«文件夹上传初始化结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "文件夹上传初始化结果",
- "$ref": "#/definitions/文件夹上传初始化结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«文件夹上传初始化结果»"
- },
- "统一响应结果«素材上传令牌信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "素材上传令牌信息",
- "$ref": "#/definitions/素材上传令牌信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«素材上传令牌信息»"
- },
- "统一响应结果«素材信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "素材信息",
- "$ref": "#/definitions/素材信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«素材信息»"
- },
- "统一响应结果«素材分类信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "素材分类信息",
- "$ref": "#/definitions/素材分类信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«素材分类信息»"
- },
- "统一响应结果«素材标签信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "素材标签信息",
- "$ref": "#/definitions/素材标签信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«素材标签信息»"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-monitor-service.json b/.swagger/hl-monitor-service.json
deleted file mode 100644
index 892f51a..0000000
--- a/.swagger/hl-monitor-service.json
+++ /dev/null
@@ -1,2024 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "监控服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/monitor/approval-logs": {
- "get": {
- "tags": [
- "企微审批日志"
- ],
- "summary": "审批日志分页查询",
- "description": "查询企微OA审批流程记录,支持按审批状态(1-审批中/2-已通过/3-已驳回/4-已撤销)、申请人、模板名称筛选\n\n**关联字典**:\n- approval_sp_status:审批状态(列表筛选+显示)",
- "operationId": "listUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applyUserName",
- "in": "query",
- "description": "申请人姓名",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "endTime",
- "in": "query",
- "description": "结束时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "spName",
- "in": "query",
- "description": "审批模板名称",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "spStatus",
- "in": "query",
- "description": "审批状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "startTime",
- "in": "query",
- "description": "开始时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«审批日志»»",
- "originalRef": "统一响应结果«分页结果«审批日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«审批日志»»",
- "originalRef": "统一响应结果«分页结果«审批日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/approval-logs/{id}": {
- "get": {
- "tags": [
- "企微审批日志"
- ],
- "summary": "审批日志详情",
- "description": "**关联字典**:\n- approval_sp_status:审批状态(显示)",
- "operationId": "detailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "日志ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«审批日志»",
- "originalRef": "统一响应结果«审批日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«审批日志»",
- "originalRef": "统一响应结果«审批日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/data-retention/cleanup": {
- "post": {
- "tags": [
- "数据清理"
- ],
- "summary": "手动触发数据清理",
- "description": "仅超级管理员可操作。按数据保留策略清理过期日志(操作日志/错误日志/通知日志等),返回各类型清理的记录数",
- "operationId": "cleanupUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,int»»",
- "originalRef": "统一响应结果«Map«string,int»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,int»»",
- "originalRef": "统一响应结果«Map«string,int»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/error-logs": {
- "get": {
- "tags": [
- "错误日志"
- ],
- "summary": "错误日志分页查询",
- "description": "查询各微服务的异常记录,支持按服务名称、异常类名、时间范围筛选。堆栈信息仅保留com.hulalv包内的调用帧",
- "operationId": "listUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endTime",
- "in": "query",
- "description": "结束时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "exceptionClass",
- "in": "query",
- "description": "异常类名",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "serviceName",
- "in": "query",
- "description": "服务名称",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "startTime",
- "in": "query",
- "description": "开始时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«错误日志»»",
- "originalRef": "统一响应结果«分页结果«错误日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«错误日志»»",
- "originalRef": "统一响应结果«分页结果«错误日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/error-logs/{id}": {
- "get": {
- "tags": [
- "错误日志"
- ],
- "summary": "错误日志详情",
- "description": "返回单条错误日志的完整信息,包含异常类名、错误消息、过滤后的堆栈信息(仅com.hulalv包内调用帧)、请求URL、请求参数等。",
- "operationId": "detailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "日志ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«错误日志»",
- "originalRef": "统一响应结果«错误日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«错误日志»",
- "originalRef": "统一响应结果«错误日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/login-logs": {
- "get": {
- "tags": [
- "登录日志"
- ],
- "summary": "登录日志分页查询",
- "description": "查询管理员登录记录(代理到user-service),包含登录IP、设备信息、登录方式和登录结果\n\n**关联字典**:\n- login_status:登录状态(列表筛选+显示)",
- "operationId": "listUsingGET_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "query",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "endTime",
- "in": "query",
- "description": "结束时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "startTime",
- "in": "query",
- "description": "开始时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«object»",
- "originalRef": "统一响应结果«object»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«object»",
- "originalRef": "统一响应结果«object»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/mysql": {
- "get": {
- "tags": [
- "MySQL监控"
- ],
- "summary": "MySQL实时监控数据",
- "description": "返回MySQL实时状态:连接数、QPS、缓冲池命中率、线程状态、慢查询计数等核心指标",
- "operationId": "overviewUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/mysql/slow-queries": {
- "get": {
- "tags": [
- "MySQL监控"
- ],
- "summary": "慢SQL查询统计",
- "description": "仅超级管理员可操作。查询慢SQL统计信息,返回执行时间最长的SQL语句及其执行次数、平均耗时等",
- "operationId": "slowQueriesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "返回条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "type",
- "in": "query",
- "description": "查询类型",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/mysql/tables": {
- "get": {
- "tags": [
- "MySQL监控"
- ],
- "summary": "表空间列表",
- "description": "查询各数据库表的空间占用情况,包含数据大小、索引大小、行数等信息。可指定schema筛选,仅允许查询hl_前缀的数据库",
- "operationId": "tablesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "schema",
- "in": "query",
- "description": "数据库名",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/notification-logs": {
- "get": {
- "tags": [
- "消息通知日志"
- ],
- "summary": "消息通知日志分页查询",
- "description": "查询各渠道(短信/站内信/企微/公众号)的通知发送记录,支持按通知类型、用户、发送状态筛选\n\n**关联字典**:\n- notification_send_status:发送状态(列表筛选+显示,0=待发送/1=成功/2=失败)",
- "operationId": "listUsingGET_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endTime",
- "in": "query",
- "description": "结束时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "notificationType",
- "in": "query",
- "description": "通知类型",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "sendStatus",
- "in": "query",
- "description": "发送状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "startTime",
- "in": "query",
- "description": "开始时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "userName",
- "in": "query",
- "description": "用户名",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«通知日志»»",
- "originalRef": "统一响应结果«分页结果«通知日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«通知日志»»",
- "originalRef": "统一响应结果«分页结果«通知日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/notification-logs/{id}": {
- "get": {
- "tags": [
- "消息通知日志"
- ],
- "summary": "消息通知日志详情",
- "description": "返回单条通知发送日志的完整信息,包含通知类型、接收用户、发送渠道、发送状态、失败原因(如有)、消息内容等。",
- "operationId": "detailUsingGET_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "日志ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«通知日志»",
- "originalRef": "统一响应结果«通知日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«通知日志»",
- "originalRef": "统一响应结果«通知日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/operation-logs": {
- "get": {
- "tags": [
- "操作日志"
- ],
- "summary": "操作日志分页查询",
- "description": "查询管理员的操作记录,支持按模块、管理员、状态、时间范围筛选。记录包含请求参数、响应结果和耗时信息\n\n**操作状态**:0=成功, 1=失败(非字典,代码常量)",
- "operationId": "listUsingGET_4",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "query",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "endTime",
- "in": "query",
- "description": "结束时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "module",
- "in": "query",
- "description": "模块名称",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "startTime",
- "in": "query",
- "description": "开始时间",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«操作日志»»",
- "originalRef": "统一响应结果«分页结果«操作日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«操作日志»»",
- "originalRef": "统一响应结果«分页结果«操作日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/operation-logs/{id}": {
- "get": {
- "tags": [
- "操作日志"
- ],
- "summary": "操作日志详情",
- "description": "返回单条操作日志的完整信息,包含操作模块、操作描述、请求参数、响应结果、操作耗时、操作人信息、IP地址等。",
- "operationId": "detailUsingGET_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "日志ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«操作日志»",
- "originalRef": "统一响应结果«操作日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«操作日志»",
- "originalRef": "统一响应结果«操作日志»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/redis": {
- "get": {
- "tags": [
- "Redis监控"
- ],
- "summary": "Redis实时监控数据",
- "description": "返回Redis实时状态:内存使用量、连接数、Key数量、命中率、每秒命令数等核心指标",
- "operationId": "overviewUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/rocketmq": {
- "get": {
- "tags": [
- "RocketMQ监控"
- ],
- "summary": "RocketMQ概览",
- "description": "返回RocketMQ集群状态:Broker状态、Topic数量、消息积压量、生产者/消费者连接数等核心指标",
- "operationId": "overviewUsingGET_2",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/rocketmq/consumer-groups": {
- "get": {
- "tags": [
- "RocketMQ监控"
- ],
- "summary": "消费者组统计",
- "description": "返回各消费者组的消费进度、积压量和在线消费者实例信息",
- "operationId": "consumerGroupStatsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/rocketmq/topics": {
- "get": {
- "tags": [
- "RocketMQ监控"
- ],
- "summary": "Topic统计",
- "description": "返回各Topic的消息量、最新偏移量和消费进度等信息",
- "operationId": "topicStatsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/monitor/services": {
- "get": {
- "tags": [
- "服务监控"
- ],
- "summary": "微服务列表和健康状态",
- "description": "从Nacos注册中心获取所有微服务的实例列表和健康状态,包含IP、端口、注册时间和健康检查结果",
- "operationId": "listUsingGET_5",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "Map«string,int»": {
- "type": "object",
- "title": "Map«string,int»",
- "additionalProperties": {
- "$ref": "#/definitions/Integer",
- "originalRef": "Integer"
- }
- },
- "Map«string,object»": {
- "type": "object",
- "title": "Map«string,object»",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_1": {
- "type": "object",
- "title": "Map«string,object»_1",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_2": {
- "type": "object",
- "title": "Map«string,object»_2",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_3": {
- "type": "object",
- "title": "Map«string,object»_3",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_4": {
- "type": "object",
- "title": "Map«string,object»_4",
- "additionalProperties": {
- "type": "object"
- }
- },
- "分页结果«审批日志»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/审批日志",
- "originalRef": "审批日志"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«审批日志»"
- },
- "分页结果«操作日志»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/操作日志",
- "originalRef": "操作日志"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«操作日志»"
- },
- "分页结果«通知日志»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/通知日志",
- "originalRef": "通知日志"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«通知日志»"
- },
- "分页结果«错误日志»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/错误日志",
- "originalRef": "错误日志"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«错误日志»"
- },
- "审批日志": {
- "type": "object",
- "properties": {
- "applyData": {
- "type": "string",
- "description": "申请表单数据(JSON)"
- },
- "applyTime": {
- "type": "string",
- "format": "date-time",
- "description": "申请时间"
- },
- "applyUserId": {
- "type": "string",
- "example": "zhangsan",
- "description": "申请人企微UserID"
- },
- "applyUserName": {
- "type": "string",
- "example": "张三",
- "description": "申请人姓名"
- },
- "approvalLogId": {
- "type": "integer",
- "format": "int64",
- "description": "审批日志ID"
- },
- "approvalNodes": {
- "type": "string",
- "description": "审批节点详情(JSON)"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "notifyNodes": {
- "type": "string",
- "description": "抄送节点详情(JSON)"
- },
- "spName": {
- "type": "string",
- "example": "景区上架审批",
- "description": "审批模板名称"
- },
- "spStatus": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "审批状态: 1-审批中, 2-已通过, 3-已驳回, 4-已撤销, 6-通过后撤销, 7-已删除"
- },
- "templateId": {
- "type": "string",
- "example": "Cxxxxxx",
- "description": "审批模板ID"
- },
- "thirdNo": {
- "type": "string",
- "example": 202603030001,
- "description": "审批编号"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "审批日志"
- },
- "操作日志": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "管理员ID"
- },
- "adminName": {
- "type": "string",
- "example": "admin",
- "description": "管理员名称"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "example": "新增景区",
- "description": "操作描述"
- },
- "duration": {
- "type": "integer",
- "format": "int32",
- "example": 120,
- "description": "耗时(毫秒)"
- },
- "errorMsg": {
- "type": "string",
- "description": "错误信息"
- },
- "ipAddress": {
- "type": "string",
- "example": "192.168.1.100",
- "description": "IP地址"
- },
- "module": {
- "type": "string",
- "example": "scenic",
- "description": "操作模块"
- },
- "operationLogId": {
- "type": "integer",
- "format": "int64",
- "description": "操作日志ID"
- },
- "requestMethod": {
- "type": "string",
- "example": "POST",
- "description": "请求方法"
- },
- "requestParams": {
- "type": "string",
- "description": "请求参数(JSON)"
- },
- "requestUrl": {
- "type": "string",
- "example": "/admin/scenic/spot",
- "description": "请求URL"
- },
- "responseCode": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "响应状态码"
- },
- "responseMsg": {
- "type": "string",
- "example": "success",
- "description": "响应消息"
- },
- "serviceName": {
- "type": "string",
- "example": "hl-resource-service",
- "description": "服务名称"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "状态: 0-成功, 1-失败"
- }
- },
- "title": "操作日志"
- },
- "统一响应结果«List«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«Map«string,object»»»"
- },
- "统一响应结果«Map«string,int»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据",
- "additionalProperties": {
- "type": "integer",
- "format": "int32"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,int»»"
- },
- "统一响应结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,object»»"
- },
- "统一响应结果«object»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«object»"
- },
- "统一响应结果«分页结果«审批日志»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«审批日志»",
- "originalRef": "分页结果«审批日志»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«审批日志»»"
- },
- "统一响应结果«分页结果«操作日志»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«操作日志»",
- "originalRef": "分页结果«操作日志»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«操作日志»»"
- },
- "统一响应结果«分页结果«通知日志»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«通知日志»",
- "originalRef": "分页结果«通知日志»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«通知日志»»"
- },
- "统一响应结果«分页结果«错误日志»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«错误日志»",
- "originalRef": "分页结果«错误日志»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«错误日志»»"
- },
- "统一响应结果«审批日志»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/审批日志",
- "originalRef": "审批日志"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«审批日志»"
- },
- "统一响应结果«操作日志»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/操作日志",
- "originalRef": "操作日志"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«操作日志»"
- },
- "统一响应结果«通知日志»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/通知日志",
- "originalRef": "通知日志"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«通知日志»"
- },
- "统一响应结果«错误日志»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/错误日志",
- "originalRef": "错误日志"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«错误日志»"
- },
- "通知日志": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "externalUserId": {
- "type": "string",
- "example": "wmXXXX",
- "description": "外部联系人ID"
- },
- "externalUserName": {
- "type": "string",
- "example": "李客户",
- "description": "外部联系人姓名"
- },
- "failReason": {
- "type": "string",
- "description": "失败原因"
- },
- "messageContent": {
- "type": "string",
- "description": "消息内容"
- },
- "notificationLogId": {
- "type": "integer",
- "format": "int64",
- "description": "通知日志ID"
- },
- "notificationType": {
- "type": "string",
- "example": "ADD_EXTERNAL_CONTACT",
- "description": "通知类型: ADD_EXTERNAL_CONTACT/DEL_FOLLOW_USER/DEL_EXTERNAL_CONTACT"
- },
- "sendStatus": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "发送状态: 0-成功, 1-失败, 2-已过滤"
- },
- "serviceName": {
- "type": "string",
- "example": "hl-callback-service",
- "description": "来源服务名称"
- },
- "userId": {
- "type": "string",
- "example": "zhangsan",
- "description": "员工企微UserID"
- },
- "userName": {
- "type": "string",
- "example": "张三",
- "description": "员工姓名"
- }
- },
- "title": "通知日志"
- },
- "错误日志": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "管理员ID"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "errorLogId": {
- "type": "integer",
- "format": "int64",
- "description": "错误日志ID"
- },
- "exceptionClass": {
- "type": "string",
- "example": "BusinessException",
- "description": "异常类名"
- },
- "exceptionMessage": {
- "type": "string",
- "example": "资源不存在",
- "description": "异常消息"
- },
- "ipAddress": {
- "type": "string",
- "example": "192.168.1.100",
- "description": "IP地址"
- },
- "requestMethod": {
- "type": "string",
- "example": "GET",
- "description": "请求方法"
- },
- "requestParams": {
- "type": "string",
- "description": "请求参数(JSON)"
- },
- "requestUrl": {
- "type": "string",
- "example": "/admin/user/list",
- "description": "请求URL"
- },
- "serviceName": {
- "type": "string",
- "example": "hl-user-service",
- "description": "服务名称"
- },
- "stackTrace": {
- "type": "string",
- "description": "堆栈跟踪"
- }
- },
- "title": "错误日志"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-mp-service.json b/.swagger/hl-mp-service.json
deleted file mode 100644
index ccdb8c4..0000000
--- a/.swagger/hl-mp-service.json
+++ /dev/null
@@ -1,13726 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "小程序聚合服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/mp/home": {
- "get": {
- "tags": [
- "C端 - 首页接口"
- ],
- "summary": "首页数据",
- "description": "聚合流程:并行获取推荐产品列表+产品线列表+轮播图 → Redis缓存5分钟 → 返回聚合数据\n\n**关联字典(BFF透传)**:\n- product_type:产品类型(产品卡片显示)\n- product_status:产品状态(透传自product-service)",
- "operationId": "getHomeDataUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«首页聚合数据»",
- "originalRef": "统一响应结果«首页聚合数据»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«首页聚合数据»",
- "originalRef": "统一响应结果«首页聚合数据»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/search": {
- "get": {
- "tags": [
- "C端 - 搜索接口"
- ],
- "summary": "搜索产品",
- "description": "按关键词搜索已上架产品(匹配产品名称和描述),支持按产品类型进一步筛选\n\n**关联字典(BFF透传)**:\n- product_type:产品类型(筛选+显示)",
- "operationId": "searchUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数(最大50)",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型:CORE/ROUTE/CUSTOM/GROUP",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/lines": {
- "get": {
- "tags": [
- "C端 - 产品接口"
- ],
- "summary": "产品线列表",
- "description": "返回所有已启用的产品线,用于小程序首页或筛选栏展示",
- "operationId": "listLinesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/list": {
- "get": {
- "tags": [
- "C端 - 产品接口"
- ],
- "summary": "产品列表",
- "description": "分页查询已上架产品,支持按关键词、产品类型(CORE/ROUTE/CUSTOM/GROUP)、季节、天数、目的地、产品线筛选和排序。\n\n**GROUP(小蒙马)产品额外返回 batches 字段**(可售团期列表,按出发日期升序),每个团期包含:\n- batchId:团期ID\n- departureDate:出发日期\n- batchLabel:团期标签(如\"五一团\")\n- batchName:团期名称\n- batchStatus:团期状态\n- startingPrice:起步价(元)\n- enrolledCount:已报名人数\n- remainingSlots:剩余名额\n- isConfirmed:是否已成团\n\n**关联字典**:\n- product_type:产品类型(CORE=核心产品, ROUTE=自驾路书, CUSTOM=私人定制, GROUP=小蒙马)\n- batch_status:团期状态(ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭)",
- "operationId": "listProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "destination",
- "in": "query",
- "description": "目的地",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "lineId",
- "in": "query",
- "description": "产品线ID",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型:CORE/ROUTE/CUSTOM/GROUP",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "season",
- "in": "query",
- "description": "季节",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "tripDays",
- "in": "query",
- "description": "天数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{productId}": {
- "get": {
- "tags": [
- "C端 - 产品接口"
- ],
- "summary": "产品详情(聚合收藏状态)",
- "description": "聚合流程:获取产品详情 → 并行查询收藏状态 → 异步记录足迹 → 返回聚合数据。支持未登录访问(不返回收藏状态)。\n\n**GROUP(小蒙马)产品额外返回 batches 字段**(可售团期列表),字段同产品列表。\n\n**关联字典**:\n- product_type:产品类型(CORE=核心产品, ROUTE=自驾路书, CUSTOM=私人定制, GROUP=小蒙马)\n- batch_status:团期状态(ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭)\n- product_status:产品状态(透传自product-service)",
- "operationId": "getProductUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«C端产品详情»",
- "originalRef": "统一响应结果«C端产品详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«C端产品详情»",
- "originalRef": "统一响应结果«C端产品详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{productId}/price-calendar": {
- "get": {
- "tags": [
- "C端 - 产品接口"
- ],
- "summary": "价格日历",
- "description": "返回产品指定日期范围内的每日价格,用于日历组件展示。不传日期时默认返回未来一个月",
- "operationId": "getPriceCalendarUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{productId}/quote": {
- "post": {
- "tags": [
- "C端 - 产品接口"
- ],
- "summary": "报价计算(含早鸟优惠)",
- "description": "报价流程:传入出发日期+人数 → 价格日历计算基础报价(与下单一致) → 匹配早鸟优惠方案 → 返回明细报价+优惠信息。\n\n支付方式说明:\n- FULL: 全额支付,需一次性付清全部金额\n- DEPOSIT: 定金+尾款,先付定金(比例由产品配置),出行前补齐尾款",
- "operationId": "calculateQuoteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/产品报价请求",
- "originalRef": "产品报价请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品报价结果»",
- "originalRef": "统一响应结果«产品报价结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品报价结果»",
- "originalRef": "统一响应结果«产品报价结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/bind-by-contact": {
- "post": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "绑定未绑定的订单",
- "description": "绑定流程:用户登录 → 完善个人资料 → 自动通过联系人手机号+姓名匹配 → 将userId=NULL的订单绑定到当前用户",
- "operationId": "bindByContactUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "绑定请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/通过联系人信息绑定订单请求",
- "originalRef": "通过联系人信息绑定订单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/count": {
- "get": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "各状态订单数量",
- "description": "统计当前用户各状态的订单数量,用于「我的」页面的订单状态角标展示\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(状态分类统计)",
- "operationId": "countByStatusUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/create": {
- "post": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "创建订单",
- "description": "下单流程:选择产品 → 填写联系人/出行人信息 → 报价计算 → 创建订单 → 返回订单ID",
- "operationId": "createOrderUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "创建订单请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/C端创建订单请求",
- "originalRef": "C端创建订单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情»",
- "originalRef": "统一响应结果«订单详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情»",
- "originalRef": "统一响应结果«订单详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/list": {
- "get": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "订单列表",
- "description": "分页查询当前用户的订单列表,支持按状态筛选。返回订单摘要信息(不含详细出行人信息)\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(列表筛选+显示)\n- product_type:产品类型(订单卡片显示)",
- "operationId": "listOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«订单列表项»»",
- "originalRef": "统一响应结果«分页结果«订单列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«订单列表项»»",
- "originalRef": "统一响应结果«分页结果«订单列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/lookup": {
- "get": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "通过联系人手机号+姓名查找订单(无需登录)",
- "description": "无需登录即可查询。用于管理员代下单场景:管理员创建订单后,用户通过联系人手机号+姓名查找订单并绑定到自己账号。仅返回尚未绑定用户(userId=NULL)的订单。",
- "operationId": "lookupByContactUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "contactName",
- "in": "query",
- "description": "联系人姓名",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "contactPhone",
- "in": "query",
- "description": "联系人手机号",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/refund-reasons": {
- "get": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "退款原因列表",
- "description": "返回系统预设的退款原因选项,用于退款申请页面的原因选择",
- "operationId": "listRefundReasonsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款原因»»",
- "originalRef": "统一响应结果«List«退款原因»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款原因»»",
- "originalRef": "统一响应结果«List«退款原因»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/refund/{applicationId}": {
- "get": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "退款申请详情",
- "description": "获取退款申请的完整信息,包含审核状态、退款金额、退款进度和操作记录\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(显示)\n- 支付状态(非字典,代码常量):PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败",
- "operationId": "getRefundDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/refund/{applicationId}/appeal": {
- "post": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "发起申诉",
- "description": "退款被拒绝后,用户可在3天内发起一次申诉,由上级管理员重新审核",
- "operationId": "refundAppealUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "申诉请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/退款申诉请求",
- "originalRef": "退款申诉请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/refund/{applicationId}/cancel": {
- "post": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "撤回退款申请",
- "description": "仅PENDING状态的退款申请可撤回,撤回后订单恢复到原状态",
- "operationId": "cancelRefundUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/refund/{orderId}/direct-appeal": {
- "post": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "直接申诉退款",
- "description": "用户对退款政策计算的金额不满意,跳过退款申请直接发起申诉。\n申诉金额不能超过已付金额。流程:用户查看退款预览 → 不满意 → 直接申诉填写期望金额 → 企微OA审批",
- "operationId": "directAppealUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/退款申诉请求",
- "originalRef": "退款申诉请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/upcoming": {
- "get": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "即将出发的订单",
- "description": "查询3天内即将出发的订单(状态为已确认/待出发/出行中),含合同和保险信息,按出发日期升序",
- "operationId": "getUpcomingDeparturesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«订单列表项»»",
- "originalRef": "统一响应结果«List«订单列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«订单列表项»»",
- "originalRef": "统一响应结果«List«订单列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}": {
- "get": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "订单详情",
- "description": "获取订单完整信息,包含产品快照、出行人列表、支付信息、合同状态等\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(显示)\n- product_type:产品类型(显示)\n- contract_status:合同状态(显示)",
- "operationId": "getOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情»",
- "originalRef": "统一响应结果«订单详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情»",
- "originalRef": "统一响应结果«订单详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/approve-unlock": {
- "post": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "同意解锁订单",
- "description": "用户同意管理员的修改请求,解除订单锁定状态,允许管理员继续修改订单",
- "operationId": "approveUnlockUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/cancel": {
- "post": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "取消订单",
- "description": "取消规则:仅PENDING_PAY/DEPOSIT_PAID状态可用户取消,取消后不可恢复",
- "operationId": "cancelOrderUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": false,
- "schema": {
- "$ref": "#/definitions/用户取消订单请求",
- "originalRef": "用户取消订单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/edit": {
- "put": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "修改订单",
- "description": "用户可修改出发日期和出行人。仅待支付/已付定金/已支付/已确认/待付尾款/待出发状态可修改,清单已确认的订单不允许修改。修改后重走内部流程",
- "operationId": "editOrderUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/修改订单请求",
- "originalRef": "修改订单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情»",
- "originalRef": "统一响应结果«订单详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情»",
- "originalRef": "统一响应结果«订单详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/refund": {
- "post": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "提交退款申请",
- "description": "退款流程:获取退款预览 → 选择退款原因 → 提交退款申请 → 管理员审核 → 审核通过后自动退款到原支付方式",
- "operationId": "applyRefundUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "退款申请请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/退款申请请求",
- "originalRef": "退款申请请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/refund-detail": {
- "get": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "根据订单ID获取最新退款详情",
- "description": "查询订单关联的最新一条退款申请详情,无退款记录时返回null\n\n**关联字典(BFF透传)**:\n- order_status:订单状态(显示)\n- 支付状态(非字典,代码常量):PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败",
- "operationId": "getRefundDetailByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请详情»",
- "originalRef": "统一响应结果«退款申请详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/refund-preview": {
- "get": {
- "tags": [
- "C端 - 退款接口"
- ],
- "summary": "退款金额预览",
- "description": "根据退款政策和订单出发日期计算可退金额,展示退款比例和扣除金额明细",
- "operationId": "refundPreviewUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款预览»",
- "originalRef": "统一响应结果«退款预览»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款预览»",
- "originalRef": "统一响应结果«退款预览»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/remark": {
- "put": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "添加/修改订单备注",
- "description": "用户在订单详情页添加或修改备注。备注对管理端可见。\n请求体:{\"remark\": \"备注内容\"}",
- "operationId": "updateRemarkUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "orderId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/resources": {
- "get": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "订单资源详情(按分类)",
- "description": "解析产品快照,提取资源详情按分类返回",
- "operationId": "getOrderResourcesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,List«Map«string,object»»»»",
- "originalRef": "统一响应结果«Map«string,List«Map«string,object»»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,List«Map«string,object»»»»",
- "originalRef": "统一响应结果«Map«string,List«Map«string,object»»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/transport": {
- "post": {
- "tags": [
- "小程序-订单交通信息"
- ],
- "summary": "填写交通信息",
- "description": "用户填写去程/回程的航班或火车信息。\n\n**请求字段**:\n- legType: OUTBOUND=去程, RETURN=回程\n- transportType: FLIGHT=航班, TRAIN=火车\n- transportNo: 航班号(如CA1234)或车次(如G71)\n- departureStation: 出发站(选填)\n- arrivalStation: 到达站(选填)\n- travelDate: 乘坐日期(yyyy-MM-dd)\n- remark: 备注(选填)",
- "operationId": "addTransportUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "type": "object"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/transports": {
- "get": {
- "tags": [
- "小程序-订单交通信息"
- ],
- "summary": "查看订单交通信息(含实时动态)",
- "description": "返回订单的去程/回程交通信息,自动从飞常准查询实时航班/火车状态",
- "operationId": "listTransportsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/order/{orderId}/urge": {
- "post": {
- "tags": [
- "C端 - 订单接口"
- ],
- "summary": "催单",
- "description": "提醒定制师尽快处理订单内部流程,通过企业微信发送消息。每个订单2小时内只能催一次",
- "operationId": "urgeOrderUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/invoice/apply": {
- "post": {
- "tags": [
- "C端 - 发票接口"
- ],
- "summary": "申请开票",
- "description": "开票流程:订单完成后 → 填写发票信息(抬头/税号/类型) → 提交开票申请 → 管理员处理 → 发送电子发票",
- "operationId": "applyInvoiceUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "开票请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/发票申请请求",
- "originalRef": "发票申请请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/invoice/order/{orderId}": {
- "get": {
- "tags": [
- "C端 - 发票接口"
- ],
- "summary": "通过订单ID查询发票",
- "description": "查询指定订单的发票信息,如果订单未开票则返回null",
- "operationId": "getInvoiceByOrderIdUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/invoice/{id}": {
- "get": {
- "tags": [
- "C端 - 发票接口"
- ],
- "summary": "发票详情",
- "description": "获取发票的完整信息,包含开票状态、发票抬头、税号、金额、电子发票文件链接等",
- "operationId": "getInvoiceDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "发票ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/invoice/{invoiceId}/reissue": {
- "post": {
- "tags": [
- "C端 - 发票接口"
- ],
- "summary": "发票换开",
- "description": "对已开发票申请换开(修改抬头/税号等),原发票作废后重新开具新发票",
- "operationId": "reissueInvoiceUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "invoiceId",
- "in": "path",
- "description": "发票ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/发票换开请求",
- "originalRef": "发票换开请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/payment/prepay": {
- "post": {
- "tags": [
- "C端 - 支付接口"
- ],
- "summary": "发起支付",
- "description": "支付流程:选择支付方式(JSAPI/H5) → 调用微信支付API → 返回支付参数 → 前端调起微信支付\n\n**支付状态**:PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败(非字典,代码常量)",
- "operationId": "prepayUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "支付请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/支付预下单请求",
- "originalRef": "支付预下单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/payment/status/{orderId}": {
- "get": {
- "tags": [
- "C端 - 支付接口"
- ],
- "summary": "查询支付状态",
- "description": "**支付状态**:PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败(非字典,代码常量)",
- "operationId": "getStatusUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/payment/transactions/{orderId}": {
- "get": {
- "tags": [
- "C端 - 支付接口"
- ],
- "summary": "订单交易记录列表",
- "description": "**支付状态**:PENDING=待支付, SUCCESS=成功, CLOSED=已关闭, FAILED=失败(非字典,代码常量)",
- "operationId": "listTransactionsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/trip/list": {
- "get": {
- "tags": [
- "C端 - 行程接口"
- ],
- "summary": "行程列表",
- "description": "获取当前登录用户的行程列表(已确认及进行中的订单对应的行程)\n\n**关联字典(BFF透传)**:\n- order_status:订单/行程状态(显示)",
- "operationId": "getTripListUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/trip/today": {
- "get": {
- "tags": [
- "C端 - 行程接口"
- ],
- "summary": "今日行程",
- "description": "获取今日行程(如果有正在进行中的行程),无行程时data为null\n\n**关联字典(BFF透传)**:\n- order_status:订单/行程状态(显示)",
- "operationId": "getTodayTripUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/trip/weather": {
- "get": {
- "tags": [
- "C端 - 行程接口"
- ],
- "summary": "天气查询(经纬度)",
- "description": "通过和风天气API查询指定经纬度的实时天气,精度3-5公里",
- "operationId": "getWeatherUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "latitude",
- "in": "query",
- "description": "纬度",
- "required": true,
- "type": "number",
- "allowEmptyValue": false
- },
- {
- "name": "longitude",
- "in": "query",
- "description": "经度",
- "required": true,
- "type": "number",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/trip/{orderId}": {
- "get": {
- "tags": [
- "C端 - 行程接口"
- ],
- "summary": "行程详情",
- "description": "获取订单对应的行程详情,含每日行程节点信息(景点/酒店/餐厅等)\n\n**关联字典(BFF透传)**:\n- order_status:订单/行程状态(显示)",
- "operationId": "getTripDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/account": {
- "delete": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "注销账号",
- "description": "注销后用户数据将被软删除,30天内可联系客服恢复",
- "operationId": "deleteAccountUsingDELETE",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/login": {
- "post": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "微信登录",
- "description": "登录流程:小程序wx.login获取code → 后端换取openid → 查找/创建用户 → 返回JWT令牌+needProfile标记",
- "operationId": "loginUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/微信登录请求",
- "originalRef": "微信登录请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/login/sms": {
- "post": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "短信登录",
- "description": "登录流程:获取验证码 → 验证手机号+验证码 → 查找/创建用户 → 返回JWT令牌",
- "operationId": "loginBySmsUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/短信验证码登录请求",
- "originalRef": "短信验证码登录请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/logout": {
- "post": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "用户登出",
- "description": "清除用户登录状态和服务端缓存的令牌信息。登出后需重新登录获取新令牌。\n\n**权限**:需登录。",
- "operationId": "logoutUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/ocr/idcard": {
- "post": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "身份证OCR识别",
- "description": "将身份证图片上传到OSS后,传入ossUrl进行OCR识别。返回姓名、身份证号、性别、民族等结构化数据,可用于自动填充出行人信息",
- "operationId": "ocrIdCardUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/身份证OCR识别请求",
- "originalRef": "身份证OCR识别请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/profile": {
- "get": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "获取用户信息",
- "description": "获取当前登录用户的个人资料,包含头像、昵称、手机号、实名信息等",
- "operationId": "getProfileUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "更新用户信息",
- "description": "更新当前用户的个人资料,支持部分更新(只传需要修改的字段)。首次完善资料时realName为必填",
- "operationId": "updateProfileUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/更新个人资料请求",
- "originalRef": "更新个人资料请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/sms/send": {
- "post": {
- "tags": [
- "C端 - 用户接口"
- ],
- "summary": "发送短信验证码",
- "description": "向指定手机号发送登录验证码,有效期5分钟,60秒内不可重复发送",
- "operationId": "sendSmsCodeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/发送短信验证码请求",
- "originalRef": "发送短信验证码请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/traveler": {
- "get": {
- "tags": [
- "C端 - 出行人接口"
- ],
- "summary": "出行人列表",
- "description": "返回当前用户的所有出行人列表。如果用户已完善实名信息,列表中会自动包含一条「本人」虚拟记录(travelerId=0)",
- "operationId": "listTravelersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "C端 - 出行人接口"
- ],
- "summary": "添加出行人",
- "description": "添加常用出行人信息(姓名/证件/联系方式等),下单时可快速选择。单个用户最多50个出行人",
- "operationId": "addTravelerUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/出行人请求(新增/修改)",
- "originalRef": "出行人请求(新增/修改)"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/traveler/{id}": {
- "get": {
- "tags": [
- "C端 - 出行人接口"
- ],
- "summary": "出行人详情",
- "description": "获取单个出行人的完整信息(姓名、证件信息、联系方式等)。\n\n**权限**:需登录,仅能查看自己的出行人。",
- "operationId": "getTravelerUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "C端 - 出行人接口"
- ],
- "summary": "更新出行人",
- "description": "修改出行人信息,支持部分更新(只传需要修改的字段)。已关联订单的出行人修改不影响历史订单记录。\n\n**权限**:需登录。",
- "operationId": "updateTravelerUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/出行人请求(新增/修改)",
- "originalRef": "出行人请求(新增/修改)"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "C端 - 出行人接口"
- ],
- "summary": "删除出行人",
- "description": "删除常用出行人记录。默认出行人不可删除,需先取消默认后再删除。\n\n**权限**:需登录。",
- "operationId": "deleteTravelerUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/traveler/{id}/default": {
- "put": {
- "tags": [
- "C端 - 出行人接口"
- ],
- "summary": "设为默认出行人",
- "description": "设为默认出行人后,下单时自动作为第一个出行人。每个用户只能有一个默认出行人",
- "operationId": "setDefaultTravelerUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/favorite": {
- "get": {
- "tags": [
- "C端 - 收藏接口"
- ],
- "summary": "收藏列表(含资源摘要)",
- "description": "分页查询收藏列表,聚合层会补充每个收藏项对应资源的摘要信息(名称、封面图、价格等)。支持按目标类型筛选。\n\n**权限**:需登录。\n\n**关联字典**:\n- favorite_resource_type:收藏资源类型(PRODUCT/SCENIC/RESTAURANT/ACTIVITY)",
- "operationId": "listFavoritesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型筛选(字典:favorite_resource_type):PRODUCT/SCENIC/RESTAURANT/ACTIVITY",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«收藏列表项(含资源摘要)»»",
- "originalRef": "统一响应结果«分页结果«收藏列表项(含资源摘要)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«收藏列表项(含资源摘要)»»",
- "originalRef": "统一响应结果«分页结果«收藏列表项(含资源摘要)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "C端 - 收藏接口"
- ],
- "summary": "添加收藏",
- "description": "将产品/景区/餐厅/活动加入收藏。同一目标重复收藏会返回已有收藏记录",
- "operationId": "addFavoriteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/收藏请求",
- "originalRef": "收藏请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/favorite/batch": {
- "delete": {
- "tags": [
- "C端 - 收藏接口"
- ],
- "summary": "批量删除收藏",
- "description": "批量删除多条收藏记录,传入收藏记录ID列表。用于收藏管理页面的批量操作。\n\n**权限**:需登录,仅能删除自己的收藏。",
- "operationId": "batchDeleteFavoritesUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "ids",
- "description": "收藏ID列表",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/favorite/by-target": {
- "delete": {
- "tags": [
- "C端 - 收藏接口"
- ],
- "summary": "按目标取消收藏",
- "description": "通过目标类型+目标ID取消收藏,适用于详情页点击取消收藏的场景(不需要知道收藏记录ID)。\n\n**权限**:需登录。",
- "operationId": "deleteFavoriteByTargetUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetId",
- "in": "query",
- "description": "目标资源ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/favorite/check": {
- "get": {
- "tags": [
- "C端 - 收藏接口"
- ],
- "summary": "检查是否已收藏",
- "description": "检查当前用户是否已收藏指定资源,用于详情页收藏按钮状态显示。\n\n**权限**:需登录。",
- "operationId": "checkFavoriteUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetId",
- "in": "query",
- "description": "目标资源ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型(字典:favorite_resource_type)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/favorite/{id}": {
- "delete": {
- "tags": [
- "C端 - 收藏接口"
- ],
- "summary": "取消收藏",
- "description": "通过收藏记录ID取消收藏,适用于收藏列表页的删除操作。\n\n**权限**:需登录,仅能删除自己的收藏。",
- "operationId": "deleteFavoriteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "收藏记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/footprint": {
- "get": {
- "tags": [
- "C端 - 足迹接口"
- ],
- "summary": "足迹列表(含资源摘要)",
- "description": "分页查询浏览足迹列表,聚合层会补充每条足迹对应资源的摘要信息(名称、封面图等)。支持按资源类型筛选,按浏览时间倒序。\n\n**权限**:需登录。",
- "operationId": "listFootprintsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "resourceType",
- "in": "query",
- "description": "资源类型筛选:PRODUCT/SCENIC/RESTAURANT/ACTIVITY",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«足迹列表项(含资源摘要)»»",
- "originalRef": "统一响应结果«分页结果«足迹列表项(含资源摘要)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«足迹列表项(含资源摘要)»»",
- "originalRef": "统一响应结果«分页结果«足迹列表项(含资源摘要)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "C端 - 足迹接口"
- ],
- "summary": "记录足迹",
- "description": "记录用户浏览资源的足迹,同一资源重复浏览会更新浏览时间而非新增记录",
- "operationId": "addFootprintUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/添加足迹请求",
- "originalRef": "添加足迹请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/footprint/batch": {
- "delete": {
- "tags": [
- "C端 - 足迹接口"
- ],
- "summary": "批量删除足迹",
- "description": "批量删除多条浏览足迹记录,传入足迹ID列表。用于足迹管理页面的批量清理。\n\n**权限**:需登录,仅能删除自己的足迹。",
- "operationId": "batchDeleteFootprintsUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "ids",
- "description": "足迹ID列表",
- "required": false,
- "schema": {
- "type": "array",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/user/footprint/{id}": {
- "delete": {
- "tags": [
- "C端 - 足迹接口"
- ],
- "summary": "删除足迹",
- "description": "删除单条浏览足迹记录。\n\n**权限**:需登录,仅能删除自己的足迹。",
- "operationId": "deleteFootprintUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "足迹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/message/list": {
- "get": {
- "tags": [
- "C端 - 消息接口"
- ],
- "summary": "消息列表",
- "description": "消息列表,支持按分类筛选,按时间倒序分页返回",
- "operationId": "listMessagesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "category",
- "in": "query",
- "description": "消息分类筛选,不传返回全部",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码,默认1",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数,默认20",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/message/read-all": {
- "put": {
- "tags": [
- "C端 - 消息接口"
- ],
- "summary": "全部标记已读",
- "description": "将指定分类或全部消息标记为已读,不传category则全部已读",
- "operationId": "markAllReadUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "category",
- "in": "query",
- "description": "消息分类,不传则将所有分类标记为已读",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/message/summary": {
- "get": {
- "tags": [
- "C端 - 消息接口"
- ],
- "summary": "消息摘要",
- "description": "获取各分类的未读数量和最新一条消息,用于消息中心首页展示",
- "operationId": "getSummaryUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/message/{id}": {
- "delete": {
- "tags": [
- "C端 - 消息接口"
- ],
- "summary": "删除消息",
- "description": "删除单条消息",
- "operationId": "deleteMessageUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "消息ID",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/message/{id}/read": {
- "put": {
- "tags": [
- "C端 - 消息接口"
- ],
- "summary": "标记已读",
- "description": "标记单条消息为已读",
- "operationId": "markReadUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "消息ID",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/create": {
- "post": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "创建评价",
- "description": "评价流程:订单完成后 → 查询可评价目标列表 → 对每个目标(酒店/景区/活动等)提交评价 → 自动内容审核 → 审核通过后公开展示\n\n**关联字典(BFF透传)**:\n- review_status:评价审核状态(返回字段)\n- rating_level:评价等级(返回字段)",
- "operationId": "createReviewUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "评价请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建评价请求",
- "originalRef": "创建评价请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/featured": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "精选评价列表(公开)",
- "description": "无需登录,返回精选评价数组,用于评价浏览页\n\n**关联字典(BFF透传)**:\n- rating_level:评价等级(显示)",
- "operationId": "getFeaturedReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "数量限制",
- "required": false,
- "type": "integer",
- "default": 50,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/my": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "我的评价列表",
- "description": "**关联字典(BFF透传)**:\n- review_status:评价审核状态(显示)\n- rating_level:评价等级(显示)",
- "operationId": "getMyReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/order/{orderId}/reviewable-targets": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "订单可评价目标列表",
- "description": "返回订单中可评价的资源目标列表(景区/酒店/活动等),用于评价页面展示可评价项。已评价的目标不会重复出现。\n\n**权限**:需登录。",
- "operationId": "getReviewableTargetsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/order/{orderId}/reviewed": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "检查订单是否已评价",
- "description": "检查指定订单是否已提交评价,用于订单详情页决定是否显示'去评价'按钮。",
- "operationId": "isOrderReviewedUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/product/{productId}": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "按产品ID查看评价列表",
- "description": "返回评价列表+统计数据,支持好中差评/有图/有视频筛选\n\n**关联字典(BFF透传)**:\n- rating_level:评价等级(筛选+显示)",
- "operationId": "getProductReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hasImage",
- "in": "query",
- "description": "是否有图片",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "hasVideo",
- "in": "query",
- "description": "是否有视频",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "ratingLevel",
- "in": "query",
- "description": "评价等级: GOOD/MEDIUM/BAD",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/product/{productId}/highlights": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "产品精选评价(最高评分+最高点赞+统计)",
- "description": "用于产品详情页评价区域展示",
- "operationId": "getProductHighlightsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/rating-categories": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "评分类别列表",
- "description": "从字典读取评价时需要填写的评分维度,前端据此渲染评分组件。字典类型: review_rating_category,remark字段包含扩展JSON(required/min/max)",
- "operationId": "getRatingCategoriesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/search": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "关键词搜索评价(公开)",
- "description": "按关键词搜索已通过的评价内容,支持按目标类型和目标ID筛选\n\n**关联字典(BFF透传)**:\n- rating_level:评价等级(显示)",
- "operationId": "searchReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": true,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "targetId",
- "in": "query",
- "description": "目标ID(可选)",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型(可选): PRODUCT/SCENIC_SPOT/ACTIVITY/HOTEL等",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/stats": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "评价统计(平均分、数量)",
- "description": "获取指定目标的评价统计数据(平均评分、总评价数等),用于详情页评价区域展示。产品showReview关闭时返回空统计。",
- "operationId": "getTargetStatsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetId",
- "in": "query",
- "description": "目标ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/target": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "某目标的已通过评价(公开)",
- "description": "**关联字典(BFF透传)**:\n- rating_level:评价等级(筛选+显示)",
- "operationId": "getTargetReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hasImage",
- "in": "query",
- "description": "是否有图片",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "hasVideo",
- "in": "query",
- "description": "是否有视频",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "ratingLevel",
- "in": "query",
- "description": "评价等级: GOOD/MEDIUM/BAD",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "targetId",
- "in": "query",
- "description": "目标ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/{reviewId}/like": {
- "post": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "点赞/取消点赞评价",
- "description": "对评价进行点赞或取消点赞操作,返回当前点赞状态和点赞总数。\n\n**权限**:需登录。",
- "operationId": "toggleLikeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/review/{reviewId}/like/check": {
- "get": {
- "tags": [
- "C端 - 评价接口"
- ],
- "summary": "检查是否已点赞",
- "description": "检查当前用户是否已点赞指定评价,用于评价列表/详情的点赞按钮状态展示。\n\n**权限**:需登录。",
- "operationId": "checkLikedUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/designer": {
- "get": {
- "tags": [
- "C端 - 定制师接口"
- ],
- "summary": "定制师列表(含真实产品数和评分,综合排序)",
- "description": "获取定制师列表,聚合层会补充每个定制师的真实产品数量和评价评分。按综合排序(评分>路线数>咨询人数),用于小程序定制师推荐页。",
- "operationId": "listDesignersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/designer/all": {
- "get": {
- "tags": [
- "C端 - 定制师接口"
- ],
- "summary": "全部定制师(不分页,含真实产品数和评分)",
- "description": "返回所有定制师,不分页,聚合层补充产品数量和评分,按综合排序。用于下拉选择、全量展示等场景。",
- "operationId": "listAllDesignersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/designer/featured": {
- "get": {
- "tags": [
- "C端 - 定制师接口"
- ],
- "summary": "推荐定制师(综合排序第一名)",
- "description": "获取综合排序排名第一的定制师信息(含产品数和评分),用于首页推荐定制师卡片展示。",
- "operationId": "getFeaturedDesignerUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/designer/{id}": {
- "get": {
- "tags": [
- "C端 - 定制师接口"
- ],
- "summary": "定制师详情(含产品数量和评分)",
- "description": "获取定制师完整个人信息,聚合层会补充该定制师的已发布产品数量和综合评分,用于定制师个人主页展示。",
- "operationId": "getDesignerDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "定制师ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/designer/{id}/products": {
- "get": {
- "tags": [
- "C端 - 定制师接口"
- ],
- "summary": "定制师已发布产品列表",
- "description": "**关联字典(BFF透传)**:\n- product_type:产品类型(显示)",
- "operationId": "getDesignerProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "定制师ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/designer/{id}/reviews": {
- "get": {
- "tags": [
- "C端 - 定制师接口"
- ],
- "summary": "定制师产品评价列表",
- "description": "**关联字典(BFF透传)**:\n- rating_level:评价等级(显示)",
- "operationId": "getDesignerReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "定制师ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/wiki/article/{articleId}": {
- "get": {
- "tags": [
- "C端 - 攻略接口"
- ],
- "summary": "文章详情",
- "description": "**关联字典(BFF透传)**:\n- wiki_status:文章状态(返回字段)",
- "operationId": "getArticleUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "articleId",
- "in": "path",
- "description": "文章ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/wiki/categories": {
- "get": {
- "tags": [
- "C端 - 攻略接口"
- ],
- "summary": "攻略分类列表",
- "description": "获取所有已启用的攻略分类,按排序值排列。用于小程序攻略频道的分类导航展示。",
- "operationId": "listCategoriesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/wiki/category/{categoryId}/articles": {
- "get": {
- "tags": [
- "C端 - 攻略接口"
- ],
- "summary": "分类文章列表",
- "description": "分页查询指定攻略分类下已发布的文章列表,按发布时间倒序排列。用于攻略分类详情页。",
- "operationId": "listCategoryArticlesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "path",
- "description": "攻略分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/wiki/recommend-articles": {
- "get": {
- "tags": [
- "C端 - 攻略接口"
- ],
- "summary": "推荐文章列表",
- "description": "获取编辑推荐的攻略文章列表(按推荐权重排序),用于首页或攻略频道的推荐位展示。",
- "operationId": "listRecommendArticlesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "返回条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/contract/by-order/{orderId}": {
- "get": {
- "tags": [
- "C端 - 合同接口"
- ],
- "summary": "按订单查合同",
- "description": "返回订单关联的最新有效合同(非作废)\n\n**关联字典(BFF透传)**:\n- contract_status:合同状态(显示)",
- "operationId": "getContractByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/contract/by-order/{orderId}/all": {
- "get": {
- "tags": [
- "C端 - 合同接口"
- ],
- "summary": "按订单查所有合同",
- "description": "返回订单关联的所有有效合同(TOUR+INSURANCE各一条)\n\n**关联字典(BFF透传)**:\n- contract_status:合同状态(显示)",
- "operationId": "getContractsByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/contract/list": {
- "get": {
- "tags": [
- "C端 - 合同接口"
- ],
- "summary": "合同列表",
- "description": "**关联字典(BFF透传)**:\n- contract_status:合同状态(列表筛选+显示)",
- "operationId": "listContractsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/contract/{contractId}/resend-sms": {
- "post": {
- "tags": [
- "C端 - 合同接口"
- ],
- "summary": "重新发送合同签署短信",
- "description": "重新向出行人发送合同签署短信通知,适用于出行人未收到短信或短信过期的场景。\n\n**权限**:需登录。",
- "operationId": "resendContractSmsUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "contractId",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/contract/{id}": {
- "get": {
- "tags": [
- "C端 - 合同接口"
- ],
- "summary": "合同详情",
- "description": "返回合同基本信息、签署状态、出行人签署详情及合同文件下载链接\n\n**关联字典(BFF透传)**:\n- contract_status:合同状态(显示)",
- "operationId": "getContractDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "合同ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/hotel/list": {
- "get": {
- "tags": [
- "C端 - 酒店接口"
- ],
- "summary": "酒店列表",
- "description": "分页查询已上架的酒店列表,支持按关键词、城市、星级筛选。聚合层透传resource-service的酒店数据。",
- "operationId": "listHotelsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "city",
- "in": "query",
- "description": "城市",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "starLevel",
- "in": "query",
- "description": "星级(字典: hotel_star_level)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/hotel/room-type/{roomTypeId}": {
- "get": {
- "tags": [
- "C端 - 酒店接口"
- ],
- "summary": "房型详情",
- "description": "获取房型完整信息,包含封面、轮播图、视频等素材URL,以及床型、面积、设施等详细信息。",
- "operationId": "getRoomTypeDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/hotel/{hotelId}": {
- "get": {
- "tags": [
- "C端 - 酒店接口"
- ],
- "summary": "酒店详情",
- "description": "获取酒店完整信息(含房型列表、图文详情、价格等),自动注入静态地图图片URL用于详情页地图展示。roomTypes字段包含已启用的房型列表。",
- "operationId": "getHotelDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "酒店ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/restaurant/list": {
- "get": {
- "tags": [
- "C端 - 餐厅接口"
- ],
- "summary": "餐厅列表",
- "description": "分页查询已上架的餐厅列表,支持按关键词和城市筛选。聚合层透传resource-service的餐厅数据。",
- "operationId": "listRestaurantsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "city",
- "in": "query",
- "description": "城市",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/restaurant/{restaurantId}": {
- "get": {
- "tags": [
- "C端 - 餐厅接口"
- ],
- "summary": "餐厅详情",
- "description": "获取餐厅完整信息(含菜品、图文详情等),自动注入静态地图图片URL用于详情页地图展示。",
- "operationId": "getRestaurantDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/dict/all": {
- "get": {
- "tags": [
- "C端 - 字典接口"
- ],
- "summary": "获取所有字典数据",
- "description": "获取系统全部字典数据(按字典类型分组),用于小程序端的下拉选项、枚举映射等。建议前端缓存此数据",
- "operationId": "getAllDictUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/badge": {
- "get": {
- "tags": [
- "C端 - 徽章接口"
- ],
- "summary": "获取徽章数据",
- "description": "返回用户的徽章统计(未读消息数、待办事项数等),用于「我的」页面角标展示",
- "operationId": "getBadgesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/banner/active": {
- "get": {
- "tags": [
- "C端 - 轮播图接口"
- ],
- "summary": "获取当前生效的轮播图列表",
- "description": "返回当前处于有效期内的轮播图,按排序值排列。用于小程序首页顶部轮播展示,透传自user-service。",
- "operationId": "listActiveBannersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/common/agreement/list": {
- "get": {
- "tags": [
- "C端 - 公共接口"
- ],
- "summary": "协议列表",
- "description": "获取所有已上线的协议列表(不含内容,仅含类型、标题、版本)",
- "operationId": "listAgreementsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/common/agreement/{type}": {
- "get": {
- "tags": [
- "C端 - 公共接口"
- ],
- "summary": "获取协议文本",
- "description": "获取指定类型的协议文本(如隐私政策、用户协议),返回富文本内容",
- "operationId": "getAgreementUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "type",
- "in": "path",
- "description": "协议类型: privacy(隐私政策) / user(用户协议)",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/common/config": {
- "get": {
- "tags": [
- "C端 - 公共接口"
- ],
- "summary": "应用配置",
- "description": "获取应用全局配置信息",
- "operationId": "getConfigUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/common/contact": {
- "get": {
- "tags": [
- "C端 - 公共接口"
- ],
- "summary": "联系方式列表",
- "description": "获取有效的联系方式列表(电话/微信/邮箱等)",
- "operationId": "listContactsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/common/faq": {
- "get": {
- "tags": [
- "C端 - 公共接口"
- ],
- "summary": "FAQ列表",
- "description": "获取常见问题列表(按分类分组)",
- "operationId": "listFaqUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/common/feedback": {
- "post": {
- "tags": [
- "C端 - 公共接口"
- ],
- "summary": "提交反馈",
- "description": "提交用户反馈,支持文字内容和图片附件",
- "operationId": "submitFeedbackUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "feedback",
- "description": "反馈内容(含content、images、contact等字段)",
- "required": true,
- "schema": {
- "$ref": "#/definitions/提交反馈请求",
- "originalRef": "提交反馈请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/config": {
- "get": {
- "tags": [
- "C端 - 前端配置接口"
- ],
- "summary": "获取所有非敏感前端配置",
- "description": "返回所有非SECRET类型的前端配置项(如主题色、客服电话、版本号等)。不含敏感配置,可安全传输给小程序端。",
- "operationId": "listPublicConfigsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/config/group/{group}": {
- "get": {
- "tags": [
- "C端 - 前端配置接口"
- ],
- "summary": "按分组获取非敏感前端配置",
- "description": "按配置分组获取前端配置项,如UI分组、功能开关分组等。用于小程序按需加载特定分组的配置。",
- "operationId": "listPublicConfigsByGroupUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "group",
- "in": "path",
- "description": "配置分组",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/wish": {
- "get": {
- "tags": [
- "C端 - 心愿单接口"
- ],
- "summary": "心愿单列表",
- "description": "返回当前用户的心愿单列表,按创建时间倒序排列",
- "operationId": "listWishesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "C端 - 心愿单接口"
- ],
- "summary": "创建心愿",
- "description": "创建旅行心愿,描述想去的地方和时间偏好,定制师可据此推荐产品",
- "operationId": "createWishUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "心愿请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建祈愿请求",
- "originalRef": "创建祈愿请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/explore/list": {
- "get": {
- "tags": [
- "C端 - 探索接口"
- ],
- "summary": "探索列表",
- "description": "获取已启用的探索分类列表(图文攻略内容),支持综合/最新/最热排序,分页返回。用于小程序探索频道首页瀑布流展示。",
- "operationId": "listUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "sortType",
- "in": "query",
- "description": "排序方式:comprehensive/newest/hottest",
- "required": false,
- "type": "string",
- "default": "comprehensive",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/explore/{id}": {
- "get": {
- "tags": [
- "C端 - 探索接口"
- ],
- "summary": "探索详情",
- "description": "自动增加浏览量,已登录时返回点赞/收藏状态",
- "operationId": "detailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "探索分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/explore/{id}/favorite": {
- "post": {
- "tags": [
- "C端 - 探索接口"
- ],
- "summary": "切换收藏",
- "description": "对探索内容收藏/取消收藏,返回当前收藏状态(true=已收藏)。收藏后可在'我的收藏'中查看。\n\n**权限**:需登录。",
- "operationId": "toggleFavoriteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "探索分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/explore/{id}/like": {
- "post": {
- "tags": [
- "C端 - 探索接口"
- ],
- "summary": "切换点赞",
- "description": "对探索内容点赞/取消点赞,返回当前点赞状态(true=已点赞)。\n\n**权限**:需登录。",
- "operationId": "toggleLikeUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "探索分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/explore/{id}/view": {
- "post": {
- "tags": [
- "C端 - 探索接口"
- ],
- "summary": "浏览+1",
- "description": "增加探索内容的浏览计数。前端进入探索详情页时调用,无需登录。",
- "operationId": "viewUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "探索分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/album/file/{albumFileId}/download-url": {
- "get": {
- "tags": [
- "C端 - 相册接口"
- ],
- "summary": "获取文件下载链接",
- "description": "获取文件的预签名下载URL,有效期有限",
- "operationId": "getDownloadUrlUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "albumFileId",
- "in": "path",
- "description": "相册文件ID",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/album/folder/{folderId}/files": {
- "get": {
- "tags": [
- "C端 - 相册接口"
- ],
- "summary": "文件夹下的文件列表",
- "description": "获取文件夹下的文件列表(分页),含图片和视频",
- "operationId": "listFilesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码,默认1",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "size",
- "in": "query",
- "description": "每页数量,默认20",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/album/order/{orderId}/folders": {
- "get": {
- "tags": [
- "C端 - 相册接口"
- ],
- "summary": "订单的文件夹列表",
- "description": "获取订单下的相册文件夹列表",
- "operationId": "listFoldersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/album/orders": {
- "get": {
- "tags": [
- "C端 - 相册接口"
- ],
- "summary": "有相册的订单列表",
- "description": "获取当前登录用户有相册的订单列表",
- "operationId": "listAlbumOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/activity/list": {
- "get": {
- "tags": [
- "C端 - 活动接口"
- ],
- "summary": "活动列表",
- "description": "分页查询已上架的活动列表,支持关键词和分类筛选。聚合层透传resource-service的活动数据给小程序前端。",
- "operationId": "listActivitiesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryCode",
- "in": "query",
- "description": "分类",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/activity/{activityId}": {
- "get": {
- "tags": [
- "C端 - 活动接口"
- ],
- "summary": "活动详情",
- "description": "获取活动完整信息(含图文详情、价格等),自动注入静态地图图片URL用于详情页地图展示。",
- "operationId": "getActivityDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "活动ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/scenic/list": {
- "get": {
- "tags": [
- "C端 - 景区接口"
- ],
- "summary": "景区列表",
- "description": "分页查询已上架的景区列表,支持按关键词和城市筛选。聚合层透传resource-service的景区数据。",
- "operationId": "listScenicUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "city",
- "in": "query",
- "description": "城市",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»",
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/scenic/{scenicId}": {
- "get": {
- "tags": [
- "C端 - 景区接口"
- ],
- "summary": "景区详情",
- "description": "获取景区完整信息(含季节素材、图文详情、价格等),自动注入静态地图图片URL用于详情页地图展示。",
- "operationId": "getScenicDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/scenic/{scenicId}/nearby": {
- "get": {
- "tags": [
- "C端 - 景区接口"
- ],
- "summary": "附近景区(地理+探索分类聚合)",
- "description": "聚合两个数据源:1.基于经纬度的地理位置附近景区(resource-service);2.探索分类关联的景区(user-service)。去重合并后返回,用于景区详情页底部'附近推荐'展示。",
- "operationId": "getNearbyScenicUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "limit",
- "in": "query",
- "description": "返回条数",
- "required": false,
- "type": "integer",
- "default": 10,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "radius",
- "in": "query",
- "description": "搜索半径(km)",
- "required": false,
- "type": "number",
- "default": 50.0,
- "format": "double",
- "allowEmptyValue": false
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/weather/forecast": {
- "get": {
- "tags": [
- "C端 - 天气接口"
- ],
- "summary": "根据经纬度获取天气预报",
- "description": "通过和风天气API查询指定经纬度的未来7天天气预报信息",
- "operationId": "getForecastWeatherUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "latitude",
- "in": "query",
- "description": "纬度",
- "required": false,
- "type": "number",
- "allowEmptyValue": false
- },
- {
- "name": "longitude",
- "in": "query",
- "description": "经度",
- "required": false,
- "type": "number",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/weather/itinerary/{orderId}": {
- "get": {
- "tags": [
- "C端 - 天气接口"
- ],
- "summary": "获取订单行程天气",
- "description": "根据订单行程节点的经纬度,批量查询每日天气信息,用于行程详情页展示",
- "operationId": "getItineraryWeatherUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/weather/live": {
- "get": {
- "tags": [
- "C端 - 天气接口"
- ],
- "summary": "根据经纬度获取实况天气",
- "description": "通过和风天气API查询指定经纬度的实时天气(温度、体感温度、湿度、风向等),精度3-5公里",
- "operationId": "getLiveWeatherUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "latitude",
- "in": "query",
- "description": "纬度",
- "required": false,
- "type": "number",
- "allowEmptyValue": false
- },
- {
- "name": "longitude",
- "in": "query",
- "description": "经度",
- "required": false,
- "type": "number",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/like/{targetType}/batch-check": {
- "post": {
- "tags": [
- "C端 - 通用点赞"
- ],
- "summary": "批量检查点赞状态",
- "description": "批量检查当前用户是否已对多个目标点赞,返回已点赞的目标ID列表。用于列表页批量展示点赞状态。\n\n**权限**:需登录。",
- "operationId": "batchCheckLikedUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetType",
- "in": "path",
- "description": "目标类型",
- "required": false,
- "type": "string"
- },
- {
- "in": "body",
- "name": "targetIds",
- "description": "targetIds",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«string»»",
- "originalRef": "统一响应结果«List«string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«string»»",
- "originalRef": "统一响应结果«List«string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/like/{targetType}/{targetId}": {
- "post": {
- "tags": [
- "C端 - 通用点赞"
- ],
- "summary": "切换点赞",
- "description": "点赞/取消点赞,返回 {liked: true/false, likeCount: 点赞数}",
- "operationId": "toggleLikeUsingPOST_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetId",
- "in": "path",
- "description": "目标ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "targetType",
- "in": "path",
- "description": "目标类型: REVIEW/EXPLORE/GUIDE等",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/like/{targetType}/{targetId}/check": {
- "get": {
- "tags": [
- "C端 - 通用点赞"
- ],
- "summary": "检查是否已点赞",
- "description": "检查当前用户是否已对指定目标点赞,用于前端点赞按钮状态展示。\n\n**权限**:需登录。",
- "operationId": "checkLikeUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetId",
- "in": "path",
- "description": "目标ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "targetType",
- "in": "path",
- "description": "目标类型",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«boolean»",
- "originalRef": "统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/custom/detail": {
- "get": {
- "tags": [
- "C端 - 定制需求接口"
- ],
- "summary": "定制需求详情",
- "description": "查询单条定制需求的完整信息,包含定制师信息、需求详情、回复内容等。\n\n**关联字典**:\n- status → 字典:customize_request_status:PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消\n- travelPurpose → 字典:travel_purpose(旅游目的)\n- requestType → 字典:customize_request_type(需求类型)\n- budget → 字典:customize_budget(预算范围)",
- "operationId": "detailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "定制请求ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
- "originalRef": "统一响应结果«定制需求详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
- "originalRef": "统一响应结果«定制需求详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/custom/list": {
- "get": {
- "tags": [
- "C端 - 定制需求接口"
- ],
- "summary": "定制需求列表",
- "description": "分页查询当前用户的定制需求列表,按创建时间倒序。\n\n**关联字典**:\n- status → 字典:customize_request_status:PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消\n- travelPurpose → 字典:travel_purpose(旅游目的)\n- requestType → 字典:customize_request_type(需求类型)\n- budget → 字典:customize_budget(预算范围)",
- "operationId": "listUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«定制需求列表项VO»»",
- "originalRef": "统一响应结果«分页结果«定制需求列表项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«定制需求列表项VO»»",
- "originalRef": "统一响应结果«分页结果«定制需求列表项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/custom/product/{productId}": {
- "get": {
- "tags": [
- "C端 - 定制需求接口"
- ],
- "summary": "查询已完成的定制产品详情",
- "description": "根据产品ID查询已完成(COMPLETED/ORDERED)的定制产品详情。\n用于定制需求详情页展示定制师设计完成的产品方案。\n\n**返回字段**:产品完整信息,包括行程安排(itineraryDays)、人员配置(staffConfigs)、家庭分组(families)、定价(pricing)等。\n\n**关联字典**:\n- productType → 字典:product_type:CUSTOM=定制产品\n- status → 字典:product_status:COMPLETED=已完成(可下单), ORDERED=已下单(已有订单)\n- staffConfigs.staffType → 字典:staff_type:GUIDE=导游, GUIDE_ASSISTANT=助理导游, PHOTOGRAPHER=摄影师, LEADER=领队, OTHER=其他\n- paymentMode → 字典:payment_mode:FULL=全款, DEPOSIT=定金+尾款",
- "operationId": "getCompletedCustomProductUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "定制产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«已完成定制产品详情VO»",
- "originalRef": "统一响应结果«已完成定制产品详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«已完成定制产品详情VO»",
- "originalRef": "统一响应结果«已完成定制产品详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/custom/products": {
- "get": {
- "tags": [
- "C端 - 定制需求接口"
- ],
- "summary": "我的已完成定制产品列表",
- "description": "查询当前用户所有已完成的定制产品列表。\n聚合流程:先从定制需求中获取关联的产品ID → 再批量查询产品信息。\n\n**关联字典**:\n- productType → 字典:product_type:CUSTOM=定制产品\n- paymentMode → 字典:payment_mode:FULL=全款, DEPOSIT=定金+尾款",
- "operationId": "listCompletedCustomProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«已完成定制产品列表项VO»»",
- "originalRef": "统一响应结果«List«已完成定制产品列表项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«已完成定制产品列表项VO»»",
- "originalRef": "统一响应结果«List«已完成定制产品列表项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/custom/submit": {
- "post": {
- "tags": [
- "C端 - 定制需求接口"
- ],
- "summary": "提交定制需求",
- "description": "用户提交定制旅行需求,系统会创建定制请求并通知定制师。\n\n**关联字典**:\n- travelPurpose → 字典:travel_purpose(旅游目的):LEISURE=休闲度假, ADVENTURE=探险体验, CULTURE=文化探访, FAMILY=亲子陪伴, ROMANCE=浪漫旅行, TEAM=团队建设, OTHER=其他\n- requestType → 字典:customize_request_type(需求类型):FAMILY_TRIP=亲子游, HONEYMOON=蜜月游, GROUP_TRIP=团建游, SENIOR_TRIP=银发游, ADVENTURE=探险游, PHOTOGRAPHY=摄影游, CULTURE=文化游, OTHER=其他\n- budget → 字典:customize_budget(预算范围):UNDER_3000=3000元以下/人, BUDGET_3000_5000=3000-5000元/人, BUDGET_5000_10000=5000-10000元/人, BUDGET_10000_20000=10000-20000元/人, ABOVE_20000=20000元以上/人, NO_LIMIT=不限预算\n- 返回字段 status → 字典:customize_request_status(定制请求状态):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消",
- "operationId": "submitUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/提交定制需求请求",
- "originalRef": "提交定制需求请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
- "originalRef": "统一响应结果«定制需求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
- "originalRef": "统一响应结果«定制需求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/custom/{requestId}/cancel": {
- "post": {
- "tags": [
- "C端 - 定制需求接口"
- ],
- "summary": "取消定制需求",
- "description": "用户取消定制需求。\n\n**业务规则**:\n- 仅 PENDING(待处理)、ACCEPTED(已接受)、DESIGNING(设计中)状态可取消\n- 已报价(QUOTED)、已完成(COMPLETED)或已取消(CANCELLED)的需求不可再次取消\n\n**关联字典**:\n- status → 字典:customize_request_status:PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消",
- "operationId": "cancelUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "requestId",
- "in": "path",
- "description": "定制请求ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
- "originalRef": "统一响应结果«定制需求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制需求详情VO»",
- "originalRef": "统一响应结果«定制需求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "Map«string,object»": {
- "type": "object",
- "title": "Map«string,object»",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_1": {
- "type": "object",
- "title": "Map«string,object»_1",
- "additionalProperties": {
- "type": "object"
- }
- },
- "分页结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«Map«string,object»»"
- },
- "统一响应结果«分页结果«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«Map«string,object»»",
- "originalRef": "分页结果«Map«string,object»»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«Map«string,object»»»"
- },
- "统一响应结果«首页聚合数据»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/首页聚合数据",
- "originalRef": "首页聚合数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«首页聚合数据»"
- },
- "首页聚合数据": {
- "type": "object",
- "properties": {
- "banners": {
- "type": "array",
- "description": "轮播图Banner列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "contactInfo": {
- "type": "array",
- "description": "联系我们列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "exploreTopics": {
- "type": "array",
- "description": "探索专题列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "featuredDesigner": {
- "type": "object",
- "description": "推荐定制师"
- },
- "featuredReviews": {
- "type": "array",
- "description": "首页精选评价列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "productLines": {
- "type": "array",
- "description": "产品线分类列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "recommendProducts": {
- "type": "array",
- "description": "推荐产品列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- }
- },
- "title": "首页聚合数据"
- },
- "C端产品详情": {
- "type": "object",
- "properties": {
- "batches": {
- "type": "array",
- "description": "可售期数列表(仅GROUP产品,按出发日期升序)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "chatMessages": {
- "type": "array",
- "description": "群聊最近消息(来自会话存档)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "earliestBookingDate": {
- "type": "string",
- "description": "最早可订日期(如 2026-07-15)"
- },
- "earlyBirdDiscount": {
- "type": "number",
- "description": "早鸟优惠金额(元/人)"
- },
- "earlyBirdPlanName": {
- "type": "string",
- "description": "早鸟计划名称"
- },
- "earlyBirdText": {
- "type": "string",
- "description": "早鸟优惠文字描述(如: 早鸟优惠:满2人立减50元/人)"
- },
- "isFavorited": {
- "type": "boolean",
- "description": "是否已收藏(null表示未登录)"
- },
- "participantFamilyCount": {
- "type": "integer",
- "format": "int32",
- "description": "参与家庭数"
- },
- "product": {
- "type": "object",
- "description": "产品详情(来自product-service)"
- },
- "refundPolicies": {
- "type": "object",
- "description": "退款政策详情(按退款类型分组)。key=退款类型(FULL/DEPOSIT/BALANCE),value=政策详情(含policyName、rules等)"
- },
- "reviewStats": {
- "type": "object",
- "description": "评价统计数据"
- },
- "topLikedReview": {
- "type": "object",
- "description": "最高点赞评价"
- },
- "topRatedReview": {
- "type": "object",
- "description": "最高评分评价"
- },
- "totalSold": {
- "type": "integer",
- "format": "int32",
- "description": "已购人数"
- }
- },
- "title": "C端产品详情"
- },
- "Map«string,object»_2": {
- "type": "object",
- "title": "Map«string,object»_2",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_3": {
- "type": "object",
- "title": "Map«string,object»_3",
- "additionalProperties": {
- "type": "object"
- }
- },
- "产品报价结果": {
- "type": "object",
- "properties": {
- "adultSellPrice": {
- "type": "number",
- "description": "成人单价"
- },
- "available": {
- "type": "boolean",
- "description": "该日期是否可订(库存>0或不限库存)"
- },
- "babySellPrice": {
- "type": "number",
- "description": "幼童单价(固定价)"
- },
- "childSellPrice": {
- "type": "number",
- "description": "儿童单价"
- },
- "childWithBedFee": {
- "type": "number",
- "description": "儿童加床费"
- },
- "depositPayment": {
- "description": "定金支付信息(仅paymentMode=DEPOSIT时有值)",
- "$ref": "#/definitions/定金支付选项",
- "originalRef": "定金支付选项"
- },
- "earlyBirdDiscount": {
- "description": "早鸟优惠信息,无优惠时为null",
- "$ref": "#/definitions/早鸟优惠信息",
- "originalRef": "早鸟优惠信息"
- },
- "finalPrice": {
- "type": "number",
- "description": "最终价(早鸟优惠后)"
- },
- "fullPayment": {
- "description": "全额支付信息",
- "$ref": "#/definitions/全额支付选项",
- "originalRef": "全额支付选项"
- },
- "grandTotalSellPrice": {
- "type": "number",
- "description": "总售价(优惠前)"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付方式: FULL(全额支付) / DEPOSIT(定金+尾款)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "该日期剩余库存(null表示不限)"
- },
- "totalAdultSellPrice": {
- "type": "number",
- "description": "成人小计"
- },
- "totalBabySellPrice": {
- "type": "number",
- "description": "幼童小计"
- },
- "totalChildSellPrice": {
- "type": "number",
- "description": "儿童小计"
- },
- "totalYoungChildSellPrice": {
- "type": "number",
- "description": "小童小计"
- },
- "youngChildSellPrice": {
- "type": "number",
- "description": "小童单价(儿童价×折扣比例)"
- }
- },
- "title": "产品报价结果"
- },
- "产品报价请求": {
- "type": "object",
- "required": [
- "adultCount",
- "departureDate"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数量"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "婴儿数量"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "儿童数量"
- },
- "childNeedBed": {
- "type": "boolean",
- "example": false,
- "description": "儿童是否需要床位"
- },
- "departureDate": {
- "type": "string",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "幼儿数量"
- }
- },
- "title": "产品报价请求"
- },
- "全额支付选项": {
- "type": "object",
- "properties": {
- "amount": {
- "type": "number",
- "description": "应付金额"
- },
- "description": {
- "type": "string",
- "description": "说明"
- }
- },
- "title": "全额支付选项"
- },
- "定金支付选项": {
- "type": "object",
- "properties": {
- "balanceAmount": {
- "type": "number",
- "description": "尾款金额(出行前需付)"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额(首次需付)"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "description": "定金比例(%)"
- },
- "description": {
- "type": "string",
- "description": "说明"
- }
- },
- "title": "定金支付选项"
- },
- "早鸟优惠信息": {
- "type": "object",
- "properties": {
- "discountAmount": {
- "type": "number",
- "description": "优惠金额"
- },
- "minPeople": {
- "type": "integer",
- "format": "int32",
- "description": "最低人数要求"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "description": "优惠方案ID"
- },
- "planName": {
- "type": "string",
- "description": "优惠方案名称"
- }
- },
- "title": "早鸟优惠信息"
- },
- "统一响应结果«C端产品详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/C端产品详情",
- "originalRef": "C端产品详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«C端产品详情»"
- },
- "统一响应结果«List«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«Map«string,object»»»"
- },
- "统一响应结果«产品报价结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品报价结果",
- "originalRef": "产品报价结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品报价结果»"
- },
- "C端创建订单请求": {
- "type": "object",
- "required": [
- "contactName",
- "contactPhone",
- "productId"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "儿童数"
- },
- "childNeedBed": {
- "type": "boolean",
- "example": false,
- "description": "儿童是否需要床位"
- },
- "contactName": {
- "type": "string",
- "example": "张三",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系人电话"
- },
- "customizerId": {
- "type": "string",
- "description": "定制师ID(通过分享链接下单时传入)"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期(GROUP产品从团期获取,可不传)"
- },
- "groupBatchId": {
- "type": "string",
- "description": "团期ID(GROUP产品必填)"
- },
- "productId": {
- "type": "string",
- "example": 1760000000000001,
- "description": "产品ID"
- },
- "remark": {
- "type": "string",
- "example": "希望安排靠窗座位",
- "description": "备注"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "房间数(GROUP产品,默认1)"
- },
- "sharerOpenid": {
- "type": "string",
- "description": "分享人微信openid(通过分享进入下单时传入,用于记录分享关系)"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "$ref": "#/definitions/出行人信息",
- "originalRef": "出行人信息"
- }
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童数"
- }
- },
- "title": "C端创建订单请求"
- },
- "Map«string,List«Map«string,object»»»": {
- "type": "object",
- "title": "Map«string,List«Map«string,object»»»",
- "additionalProperties": {
- "$ref": "#/definitions/List",
- "originalRef": "List"
- }
- },
- "Map«string,object»_4": {
- "type": "object",
- "title": "Map«string,object»_4",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_5": {
- "type": "object",
- "title": "Map«string,object»_5",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_6": {
- "type": "object",
- "title": "Map«string,object»_6",
- "additionalProperties": {
- "type": "object"
- }
- },
- "修改订单请求": {
- "type": "object",
- "properties": {
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表(提供则替换全部出行人)",
- "items": {
- "$ref": "#/definitions/出行人信息_1",
- "originalRef": "出行人信息_1"
- }
- }
- },
- "title": "修改订单请求"
- },
- "出行人信息": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期"
- },
- "email": {
- "type": "string",
- "example": "lisi@example.com",
- "description": "电子邮箱"
- },
- "emergencyContact": {
- "type": "string",
- "example": "王五",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "example": 13800138002,
- "description": "紧急联系电话"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "性别(1=男, 2=女)"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型"
- },
- "name": {
- "type": "string",
- "example": "李四",
- "description": "出行人姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "phone": {
- "type": "string",
- "example": 13800138001,
- "description": "手机号"
- },
- "travelerType": {
- "type": "string",
- "example": "ADULT",
- "description": "出行人类型(ADULT/CHILD/YOUNG_CHILD/BABY)"
- }
- },
- "title": "出行人信息"
- },
- "出行人信息_1": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期"
- },
- "email": {
- "type": "string",
- "example": "lisi@example.com",
- "description": "电子邮箱"
- },
- "emergencyContact": {
- "type": "string",
- "example": "王五",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "example": 13800138002,
- "description": "紧急联系电话"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "性别"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型"
- },
- "name": {
- "type": "string",
- "example": "李四",
- "description": "出行人姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "phone": {
- "type": "string",
- "example": 13800138001,
- "description": "手机号"
- },
- "travelerType": {
- "type": "string",
- "example": "ADULT",
- "description": "出行人类型"
- }
- },
- "title": "出行人信息_1"
- },
- "分页结果«订单列表项»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/订单列表项",
- "originalRef": "订单列表项"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«订单列表项»"
- },
- "用户取消订单请求": {
- "type": "object",
- "properties": {
- "reason": {
- "type": "string",
- "example": "行程有变,需要取消",
- "description": "取消原因"
- }
- },
- "title": "用户取消订单请求"
- },
- "统一响应结果«List«订单列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/订单列表项",
- "originalRef": "订单列表项"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«订单列表项»»"
- },
- "统一响应结果«List«退款原因»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/退款原因",
- "originalRef": "退款原因"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«退款原因»»"
- },
- "统一响应结果«Map«string,List«Map«string,object»»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据",
- "additionalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,List«Map«string,object»»»»"
- },
- "统一响应结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,object»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«int»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "integer",
- "format": "int32",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«int»"
- },
- "统一响应结果«分页结果«订单列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«订单列表项»",
- "originalRef": "分页结果«订单列表项»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«订单列表项»»"
- },
- "统一响应结果«订单详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/订单详情",
- "originalRef": "订单详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«订单详情»"
- },
- "统一响应结果«退款申请详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/退款申请详情",
- "originalRef": "退款申请详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«退款申请详情»"
- },
- "统一响应结果«退款预览»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/退款预览",
- "originalRef": "退款预览"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«退款预览»"
- },
- "订单列表项": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "balanceAmount": {
- "type": "number",
- "description": "尾款金额"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "contracts": {
- "type": "array",
- "description": "合同列表(含signUrl/fileUrl/status等)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "daysUntilDeparture": {
- "type": "integer",
- "format": "int32",
- "description": "距出发天数(负数表示已出发)"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额"
- },
- "displayName": {
- "type": "string",
- "description": "显示名称(未支付=手机号+姓名,已支付=订单号)"
- },
- "displayStatus": {
- "type": "string",
- "description": "C端简化状态(PENDING_PAY/PENDING_DEPARTURE/PENDING_REVIEW/REFUND/CANCELLED)"
- },
- "displayStatusLabel": {
- "type": "string",
- "description": "C端简化状态标签"
- },
- "expiryTime": {
- "type": "string",
- "format": "date-time",
- "description": "支付截止时间(PENDING_PAY状态有效)"
- },
- "insurances": {
- "type": "array",
- "description": "保险订单列表(含productName/extPolicyNo/status等)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "nextAction": {
- "type": "string",
- "description": "下一步操作提示"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单编号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式(FULL/DEPOSIT)"
- },
- "processStatus": {
- "type": "string",
- "description": "内部流程状态(字典:order_process_status)"
- },
- "processStatusLabel": {
- "type": "string",
- "description": "内部流程状态标签(字典:order_process_status 翻译)"
- },
- "productCoverUrl": {
- "type": "string",
- "description": "产品封面图URL"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "productType": {
- "type": "string",
- "description": "产品类型(CORE/ROUTE/CUSTOM/GROUP)"
- },
- "refundAmount": {
- "type": "number",
- "description": "实际退款金额"
- },
- "status": {
- "type": "string",
- "description": "订单状态(PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/IN_PROGRESS/COMPLETED/CANCELLED)"
- },
- "statusLabel": {
- "type": "string",
- "description": "订单状态标签"
- },
- "totalPrice": {
- "type": "number",
- "description": "总售价"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "订单列表项"
- },
- "订单详情": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "balanceAmount": {
- "type": "number",
- "description": "尾款金额"
- },
- "balancePayMethod": {
- "type": "string",
- "description": "尾款支付方式: ONLINE=线上 OFFLINE=线下"
- },
- "balanceProofUrl": {
- "type": "string",
- "description": "尾款凭证URL"
- },
- "cancelReason": {
- "type": "string",
- "description": "取消原因"
- },
- "cancelledAt": {
- "type": "string",
- "format": "date-time",
- "description": "取消时间"
- },
- "checklistConfirmed": {
- "type": "boolean",
- "description": "清单确认状态"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "completedAt": {
- "type": "string",
- "format": "date-time",
- "description": "完成时间"
- },
- "confirmedAt": {
- "type": "string",
- "format": "date-time",
- "description": "确认时间"
- },
- "contactName": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "contracts": {
- "type": "array",
- "description": "合同列表(含signUrl/fileUrl/status等)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "creatorAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "创建人管理员ID"
- },
- "creatorName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "customizerId": {
- "type": "integer",
- "format": "int64",
- "description": "定制师ID"
- },
- "customizerName": {
- "type": "string",
- "description": "定制师姓名"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "description": "定金比例"
- },
- "discountAmount": {
- "type": "number",
- "description": "优惠金额"
- },
- "discountReason": {
- "type": "string",
- "description": "优惠原因"
- },
- "discounts": {
- "type": "array",
- "description": "优惠列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "displayStatus": {
- "type": "string",
- "description": "展示状态(前端主要使用此字段展示)"
- },
- "displayStatusLabel": {
- "type": "string",
- "description": "展示状态标签"
- },
- "expiryMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "支付时限(分钟)"
- },
- "expiryTime": {
- "type": "string",
- "format": "date-time",
- "description": "支付截止时间"
- },
- "hotelAssignmentDetails": {
- "type": "array",
- "description": "酒店分配详情(按家庭分组,含封面图)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "hotelAssignments": {
- "type": "string",
- "description": "酒店分配信息JSON(原始数据)"
- },
- "insurances": {
- "type": "array",
- "description": "保险订单列表(含productName/extPolicyNo/status/startDate/endDate等)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "mchId": {
- "type": "string",
- "description": "商户号"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单编号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "paidAt": {
- "type": "string",
- "format": "date-time",
- "description": "支付时间"
- },
- "payMethodLabel": {
- "type": "string",
- "description": "支付方式标签(如:微信支付、定金微信+尾款线下)"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式(FULL/DEPOSIT)"
- },
- "processStatus": {
- "type": "string",
- "description": "内部流程状态"
- },
- "processStatusLabel": {
- "type": "string",
- "description": "内部流程状态标签"
- },
- "productCoverUrl": {
- "type": "string",
- "description": "产品封面图URL"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "productSnapshot": {
- "type": "string",
- "description": "产品快照JSON"
- },
- "productType": {
- "type": "string",
- "description": "产品类型(CORE/ROUTE/CUSTOM/GROUP)"
- },
- "readyAt": {
- "type": "string",
- "format": "date-time",
- "description": "就绪时间"
- },
- "refundAmount": {
- "type": "number",
- "description": "退款金额"
- },
- "refundPolicy": {
- "type": "object",
- "description": "退款政策(含政策名称和退款规则列表)"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "description": "返程日期(出发日期 + 行程天数 - 1)"
- },
- "reviewed": {
- "type": "boolean",
- "description": "是否已评价"
- },
- "roomInfo": {
- "type": "string",
- "description": "房间信息"
- },
- "sharerOpenid": {
- "type": "string",
- "description": "分享者openid"
- },
- "status": {
- "type": "string",
- "description": "订单状态(PENDING_PAY/DEPOSIT_PAID/PAID/CONFIRMED/IN_PROGRESS/COMPLETED/CANCELLED)"
- },
- "statusLabel": {
- "type": "string",
- "description": "订单状态标签"
- },
- "surchargeAmount": {
- "type": "number",
- "description": "费用增加总额"
- },
- "surcharges": {
- "type": "array",
- "description": "费用增加项列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "timeline": {
- "type": "array",
- "description": "时间线列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "todos": {
- "type": "array",
- "description": "待办列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "totalPrice": {
- "type": "number",
- "description": "总售价"
- },
- "transportSegments": {
- "type": "array",
- "description": "交通段列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "unlockRequestedAt": {
- "type": "string",
- "format": "date-time",
- "description": "解锁请求时间"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- },
- "vehicleInfo": {
- "type": "string",
- "description": "车辆信息"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "订单详情"
- },
- "退款原因": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "分类: GENERAL(通用)/PRODUCT(产品问题)/SERVICE(服务问题)"
- },
- "enabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "reasonId": {
- "type": "integer",
- "format": "int64",
- "description": "原因ID"
- },
- "reasonText": {
- "type": "string",
- "description": "原因描述"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "退款原因"
- },
- "退款申诉请求": {
- "type": "object",
- "required": [
- "appealAmount",
- "appealReason"
- ],
- "properties": {
- "appealAmount": {
- "type": "number",
- "example": 100.0,
- "description": "申诉退款金额"
- },
- "appealReason": {
- "type": "string",
- "description": "申诉原因"
- },
- "evidence": {
- "type": "array",
- "description": "申诉凭证图片URL列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "退款申诉请求"
- },
- "退款申请详情": {
- "type": "object",
- "properties": {
- "actualAmount": {
- "type": "number",
- "description": "实际退款金额(审核后确定)"
- },
- "appealAmount": {
- "type": "number",
- "description": "申诉退款金额"
- },
- "appealReason": {
- "type": "string",
- "description": "申诉原因"
- },
- "appealStatus": {
- "type": "integer",
- "format": "int32",
- "description": "申诉状态: 1-处理中, 2-通过, 3-驳回"
- },
- "appealStatusLabel": {
- "type": "string",
- "description": "申诉状态中文标签"
- },
- "appealedAt": {
- "type": "string",
- "format": "date-time",
- "description": "申诉时间"
- },
- "applicantId": {
- "type": "integer",
- "format": "int64",
- "description": "申请人ID"
- },
- "applicantName": {
- "type": "string",
- "description": "申请人姓名"
- },
- "applicantType": {
- "type": "string",
- "description": "申请人类型: USER(用户)/ADMIN(管理员)"
- },
- "applicationId": {
- "type": "integer",
- "format": "int64",
- "description": "退款申请ID"
- },
- "approvalNo": {
- "type": "string",
- "description": "审批编号(企微OA审批编号)"
- },
- "autoRefundDeadline": {
- "type": "string",
- "format": "date-time",
- "description": "自动退款截止时间"
- },
- "calculatedAmount": {
- "type": "number",
- "description": "计算退款金额"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "daysBeforeDept": {
- "type": "integer",
- "format": "int32",
- "description": "距出发天数"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "policyId": {
- "type": "integer",
- "format": "int64",
- "description": "退款政策ID"
- },
- "policyName": {
- "type": "string",
- "description": "退款政策名称"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "reasonDetail": {
- "type": "string",
- "description": "补充说明"
- },
- "reasonId": {
- "type": "integer",
- "format": "int64",
- "description": "退款原因ID"
- },
- "reasonText": {
- "type": "string",
- "description": "退款原因"
- },
- "refundRatio": {
- "type": "integer",
- "format": "int32",
- "description": "退款比例(百分比)"
- },
- "refundType": {
- "type": "string",
- "description": "退款类型: DEPOSIT(定金)/BALANCE(尾款)/FULL(全款)"
- },
- "refundTypeLabel": {
- "type": "string",
- "description": "退款类型中文标签"
- },
- "refundedAt": {
- "type": "string",
- "format": "date-time",
- "description": "退款完成时间"
- },
- "reviewAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "审批管理员ID"
- },
- "reviewAdminName": {
- "type": "string",
- "description": "审批管理员姓名"
- },
- "reviewRemark": {
- "type": "string",
- "description": "审批备注"
- },
- "reviewedAt": {
- "type": "string",
- "format": "date-time",
- "description": "审批时间"
- },
- "status": {
- "type": "string",
- "description": "退款状态: PENDING(待审核)/APPROVED(已通过)/REJECTED(已拒绝)/REFUNDING(退款中)/REFUNDED(已退款)/CANCELLED(已撤回)/APPEALING(申诉中)/APPEAL_APPROVED(申诉通过)/APPEAL_REJECTED(申诉驳回)"
- },
- "statusLabel": {
- "type": "string",
- "description": "退款状态中文标签"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "退款申请详情"
- },
- "退款申请请求": {
- "type": "object",
- "required": [
- "reasonText",
- "refundType"
- ],
- "properties": {
- "images": {
- "type": "array",
- "description": "退款凭证图片URL列表",
- "items": {
- "type": "string"
- }
- },
- "reasonDetail": {
- "type": "string",
- "description": "退款补充说明"
- },
- "reasonId": {
- "type": "string",
- "example": 1,
- "description": "退款原因ID(已废弃,改用字典)"
- },
- "reasonText": {
- "type": "string",
- "example": "行程冲突/时间变动",
- "description": "退款原因文本"
- },
- "reasonValue": {
- "type": "string",
- "example": "schedule_conflict",
- "description": "退款原因字典值"
- },
- "refundType": {
- "type": "string",
- "example": "FULL",
- "description": "退款类型(FULL/DEPOSIT/BALANCE)"
- }
- },
- "title": "退款申请请求"
- },
- "退款规则项": {
- "type": "object",
- "properties": {
- "matched": {
- "type": "boolean",
- "description": "是否当前命中此规则"
- },
- "minDays": {
- "type": "integer",
- "format": "int32",
- "description": "最低天数"
- },
- "refundRatio": {
- "type": "integer",
- "format": "int32",
- "description": "退款比例(百分比)"
- }
- },
- "title": "退款规则项"
- },
- "退款预览": {
- "type": "object",
- "properties": {
- "calculatedAmount": {
- "type": "number",
- "description": "计算退款金额"
- },
- "daysBeforeDept": {
- "type": "integer",
- "format": "int32",
- "description": "距出发天数"
- },
- "departureDate": {
- "type": "string",
- "description": "出发日期"
- },
- "message": {
- "type": "string",
- "description": "提示信息"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "policyId": {
- "type": "integer",
- "format": "int64",
- "description": "匹配的退款政策ID"
- },
- "policyName": {
- "type": "string",
- "description": "匹配的退款政策名称"
- },
- "refundRatio": {
- "type": "integer",
- "format": "int32",
- "description": "退款比例(百分比)"
- },
- "refundType": {
- "type": "string",
- "description": "退款类型: DEPOSIT/BALANCE/FULL"
- },
- "refundable": {
- "type": "boolean",
- "description": "是否可退款"
- },
- "rules": {
- "type": "array",
- "description": "退款规则列表(按天数降序)",
- "items": {
- "$ref": "#/definitions/退款规则项",
- "originalRef": "退款规则项"
- }
- }
- },
- "title": "退款预览"
- },
- "通过联系人信息绑定订单请求": {
- "type": "object",
- "required": [
- "contactName",
- "contactPhone"
- ],
- "properties": {
- "contactName": {
- "type": "string",
- "example": "张三",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系人手机号"
- }
- },
- "title": "通过联系人信息绑定订单请求"
- },
- "发票换开请求": {
- "type": "object",
- "required": [
- "invoiceTitle",
- "titleType"
- ],
- "properties": {
- "email": {
- "type": "string",
- "description": "接收邮箱"
- },
- "invoiceTitle": {
- "type": "string",
- "example": "张三",
- "description": "发票抬头"
- },
- "taxNumber": {
- "type": "string",
- "description": "纳税人识别号(企业发票必填)"
- },
- "titleType": {
- "type": "string",
- "example": "PERSONAL",
- "description": "抬头类型: PERSONAL(个人)/COMPANY(企业)"
- }
- },
- "title": "发票换开请求"
- },
- "发票申请请求": {
- "type": "object",
- "required": [
- "invoiceTitle",
- "orderId"
- ],
- "properties": {
- "bankAccount": {
- "type": "string",
- "description": "银行账号(企业发票选填)"
- },
- "bankName": {
- "type": "string",
- "description": "开户行(企业发票选填)"
- },
- "companyAddress": {
- "type": "string",
- "description": "企业地址(企业发票选填)"
- },
- "companyPhone": {
- "type": "string",
- "description": "企业电话(企业发票选填)"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "email": {
- "type": "string",
- "description": "接收邮箱"
- },
- "invoiceTitle": {
- "type": "string",
- "example": "张三",
- "description": "发票抬头"
- },
- "orderId": {
- "type": "string",
- "example": 1760000000000001,
- "description": "订单ID"
- },
- "remark": {
- "type": "string",
- "description": "备注信息"
- },
- "taxNumber": {
- "type": "string",
- "description": "纳税人识别号(企业发票必填)"
- },
- "titleType": {
- "type": "string",
- "example": "PERSONAL",
- "description": "抬头类型: PERSONAL=个人(默认)、COMPANY=企业"
- }
- },
- "title": "发票申请请求"
- },
- "支付预下单请求": {
- "type": "object",
- "required": [
- "orderId",
- "tradeType"
- ],
- "properties": {
- "clientIp": {
- "type": "string",
- "example": "192.168.1.1",
- "description": "客户端IP(H5支付必填)"
- },
- "orderId": {
- "type": "string",
- "example": 1760000000000001,
- "description": "订单ID"
- },
- "tradeType": {
- "type": "string",
- "example": "JSAPI",
- "description": "支付方式: JSAPI(小程序支付)/H5(H5支付)"
- }
- },
- "title": "支付预下单请求"
- },
- "Map«string,string»": {
- "type": "object",
- "title": "Map«string,string»",
- "additionalProperties": {
- "type": "string"
- }
- },
- "发送短信验证码请求": {
- "type": "object",
- "required": [
- "phone"
- ],
- "properties": {
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "发送短信验证码请求"
- },
- "微信登录请求": {
- "type": "object",
- "required": [
- "code"
- ],
- "properties": {
- "code": {
- "type": "string",
- "example": "0a3...",
- "description": "微信授权code"
- }
- },
- "title": "微信登录请求"
- },
- "更新个人资料请求": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "example": "https://...",
- "description": "头像URL"
- },
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "生日"
- },
- "email": {
- "type": "string",
- "example": "user@example.com",
- "description": "邮箱"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "性别: 1=男, 2=女"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "nickname": {
- "type": "string",
- "example": "旅行者小张",
- "description": "昵称"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- },
- "realName": {
- "type": "string",
- "example": "张三",
- "description": "真实姓名"
- }
- },
- "title": "更新个人资料请求"
- },
- "短信验证码登录请求": {
- "type": "object",
- "required": [
- "code",
- "phone"
- ],
- "properties": {
- "code": {
- "type": "string",
- "example": 123456,
- "description": "验证码"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "短信验证码登录请求"
- },
- "统一响应结果«Map«string,string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据",
- "additionalProperties": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,string»»"
- },
- "身份证OCR识别请求": {
- "type": "object",
- "required": [
- "imgUrl"
- ],
- "properties": {
- "imgUrl": {
- "type": "string",
- "example": "https://hlgl-test.oss-cn-beijing.aliyuncs.com/xxx.jpg",
- "description": "身份证图片的OSS地址"
- }
- },
- "title": "身份证OCR识别请求"
- },
- "出行人请求(新增/修改)": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "生日"
- },
- "email": {
- "type": "string",
- "example": "lisi@example.com",
- "description": "邮箱"
- },
- "emergencyContact": {
- "type": "string",
- "example": "王五",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "example": 13800138002,
- "description": "紧急联系电话"
- },
- "gender": {
- "type": "string",
- "example": 1,
- "description": "性别: 1=男, 2=女"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型: ID_CARD(身份证)/PASSPORT(护照)"
- },
- "name": {
- "type": "string",
- "example": "李四",
- "description": "姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "phone": {
- "type": "string",
- "example": 13800138001,
- "description": "手机号"
- },
- "travelerType": {
- "type": "string",
- "example": "ADULT",
- "description": "出行人类型: ADULT/CHILD/YOUNG_CHILD/BABY"
- }
- },
- "title": "出行人请求(新增/修改)"
- },
- "分页结果«收藏列表项(含资源摘要)»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/收藏列表项(含资源摘要)",
- "originalRef": "收藏列表项(含资源摘要)"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«收藏列表项(含资源摘要)»"
- },
- "收藏列表项(含资源摘要)": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "收藏时间"
- },
- "favoriteId": {
- "type": "string",
- "description": "收藏记录ID"
- },
- "name": {
- "type": "string",
- "description": "资源名称"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "type": "string"
- }
- },
- "targetId": {
- "type": "string",
- "description": "目标资源ID"
- },
- "targetType": {
- "type": "string",
- "description": "目标类型(字典:favorite_resource_type)"
- }
- },
- "title": "收藏列表项(含资源摘要)"
- },
- "收藏请求": {
- "type": "object",
- "required": [
- "targetId",
- "targetType"
- ],
- "properties": {
- "targetId": {
- "type": "string",
- "example": 3001000000000000020,
- "description": "目标资源ID"
- },
- "targetType": {
- "type": "string",
- "example": "SCENIC",
- "description": "目标类型(字典:favorite_resource_type)",
- "enum": [
- "PRODUCT",
- "SCENIC",
- "RESTAURANT",
- "ACTIVITY"
- ]
- }
- },
- "title": "收藏请求"
- },
- "统一响应结果«boolean»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "boolean",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«boolean»"
- },
- "统一响应结果«分页结果«收藏列表项(含资源摘要)»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«收藏列表项(含资源摘要)»",
- "originalRef": "分页结果«收藏列表项(含资源摘要)»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«收藏列表项(含资源摘要)»»"
- },
- "分页结果«足迹列表项(含资源摘要)»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/足迹列表项(含资源摘要)",
- "originalRef": "足迹列表项(含资源摘要)"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«足迹列表项(含资源摘要)»"
- },
- "添加足迹请求": {
- "type": "object",
- "required": [
- "resourceId",
- "resourceType"
- ],
- "properties": {
- "resourceId": {
- "type": "string",
- "example": 3001000000000000020,
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "example": "SCENIC",
- "description": "资源类型: PRODUCT/SCENIC/RESTAURANT/ACTIVITY"
- }
- },
- "title": "添加足迹请求"
- },
- "统一响应结果«分页结果«足迹列表项(含资源摘要)»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«足迹列表项(含资源摘要)»",
- "originalRef": "分页结果«足迹列表项(含资源摘要)»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«足迹列表项(含资源摘要)»»"
- },
- "足迹列表项(含资源摘要)": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "footprintId": {
- "type": "string",
- "description": "足迹记录ID"
- },
- "name": {
- "type": "string",
- "description": "资源名称"
- },
- "resourceId": {
- "type": "string",
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型:PRODUCT/SCENIC/RESTAURANT/ACTIVITY"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "type": "string"
- }
- },
- "visitTime": {
- "type": "string",
- "format": "date-time",
- "description": "浏览时间"
- }
- },
- "title": "足迹列表项(含资源摘要)"
- },
- "创建评价请求": {
- "type": "object",
- "required": [
- "content",
- "orderId",
- "ratings"
- ],
- "properties": {
- "content": {
- "type": "string",
- "example": "非常棒的旅行体验!景色优美,服务周到。",
- "description": "评价内容(10-500字)"
- },
- "images": {
- "type": "array",
- "description": "评价图片列表(最多9张)",
- "items": {
- "$ref": "#/definitions/评价图片项",
- "originalRef": "评价图片项"
- }
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "example": 1760000000000001,
- "description": "订单ID"
- },
- "ratings": {
- "type": "object",
- "description": "评分数据(key为评分类别字典的dictValue,value为1-5整数)。先调用 GET /mp/review/rating-categories 获取评分维度,required=true的必填。示例: {\"ratingItinerary\":5,\"ratingAccommodation\":4,\"ratingDriver\":5,\"ratingDining\":4,\"ratingOverall\":5}",
- "additionalProperties": {
- "type": "integer",
- "format": "int32"
- }
- },
- "videos": {
- "type": "array",
- "description": "评价视频列表(最多3个)",
- "items": {
- "$ref": "#/definitions/评价视频项",
- "originalRef": "评价视频项"
- }
- }
- },
- "title": "创建评价请求"
- },
- "评价图片项": {
- "type": "object",
- "required": [
- "imageUrl"
- ],
- "properties": {
- "fileId": {
- "type": "integer",
- "format": "int64",
- "description": "文件ID"
- },
- "imageUrl": {
- "type": "string",
- "description": "图片URL"
- }
- },
- "title": "评价图片项"
- },
- "评价视频项": {
- "type": "object",
- "required": [
- "videoUrl"
- ],
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "视频封面URL"
- },
- "duration": {
- "type": "integer",
- "format": "int32",
- "description": "视频时长(秒)"
- },
- "fileId": {
- "type": "integer",
- "format": "int64",
- "description": "文件ID"
- },
- "videoUrl": {
- "type": "string",
- "description": "视频URL"
- }
- },
- "title": "评价视频项"
- },
- "Map«string,object»_7": {
- "type": "object",
- "title": "Map«string,object»_7",
- "additionalProperties": {
- "type": "object"
- }
- },
- "创建祈愿请求": {
- "type": "object",
- "required": [
- "content",
- "wishType"
- ],
- "properties": {
- "content": {
- "type": "string",
- "example": "祝家人平安健康",
- "description": "祈愿内容,最多200字"
- },
- "wishType": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "祈愿类型: 1=平安 2=健康 3=事业 4=爱情 5=财运"
- }
- },
- "title": "创建祈愿请求"
- },
- "提交反馈请求": {
- "type": "object",
- "required": [
- "content"
- ],
- "properties": {
- "contact": {
- "type": "string",
- "description": "联系方式"
- },
- "content": {
- "type": "string",
- "example": "页面加载较慢",
- "description": "反馈内容"
- },
- "images": {
- "type": "array",
- "description": "图片URL列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "提交反馈请求"
- },
- "统一响应结果«string»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "string",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«string»"
- },
- "统一响应结果«List«string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«string»»"
- },
- "人员配置项": {
- "type": "object",
- "properties": {
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "staffType": {
- "type": "string",
- "description": "人员类型:GUIDE=导游, GUIDE_ASSISTANT=助理导游, PHOTOGRAPHER=摄影师, LEADER=领队, OTHER=其他"
- },
- "staffTypeName": {
- "type": "string",
- "description": "人员类型名称(中文)"
- }
- },
- "title": "人员配置项"
- },
- "分页结果«定制需求列表项VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/定制需求列表项VO",
- "originalRef": "定制需求列表项VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«定制需求列表项VO»"
- },
- "定价配置": {
- "type": "object",
- "properties": {
- "babyPrice": {
- "type": "number",
- "description": "婴儿价"
- },
- "balanceDueDays": {
- "type": "integer",
- "format": "int32",
- "description": "尾款支付截止天数(出发前N天)"
- },
- "childDiscountPercent": {
- "type": "number",
- "description": "儿童折扣百分比"
- },
- "childWithBed": {
- "type": "number",
- "description": "儿童占床价"
- },
- "customTotalPrice": {
- "type": "number",
- "description": "定制产品总价(CUSTOM模式下使用)"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "description": "定金比例(百分比)"
- },
- "extraCostPerPerson": {
- "type": "number",
- "description": "每人额外成本"
- },
- "insuranceFee": {
- "type": "number",
- "description": "保险费用"
- },
- "markupPercent": {
- "type": "number",
- "description": "加价百分比(PERCENT模式下使用)"
- },
- "mealBudget": {
- "type": "number",
- "description": "餐费预算"
- },
- "minGroupSize": {
- "type": "integer",
- "format": "int32",
- "description": "成团人数"
- },
- "paymentType": {
- "type": "string",
- "description": "支付方式:FULL=全款 DEPOSIT=定金+尾款"
- },
- "pricingId": {
- "type": "string",
- "description": "定价配置ID"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "profitAmount": {
- "type": "number",
- "description": "利润金额(FIXED模式下使用)"
- },
- "profitMode": {
- "type": "string",
- "description": "利润模式:FIXED=固定金额 PERCENT=百分比"
- },
- "vehicleModelIds": {
- "type": "array",
- "description": "车型ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "定价配置"
- },
- "定制需求列表项VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "budget": {
- "type": "string",
- "description": "预算范围(字典:customize_budget)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "description": "期望天数"
- },
- "designerAvatar": {
- "type": "string",
- "description": "定制师头像URL"
- },
- "designerName": {
- "type": "string",
- "description": "定制师姓名"
- },
- "destination": {
- "type": "string",
- "description": "目标地区"
- },
- "requestId": {
- "type": "integer",
- "format": "int64",
- "description": "请求ID"
- },
- "requestType": {
- "type": "string",
- "description": "需求类型(字典:customize_request_type)"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "期望出发日期"
- },
- "status": {
- "type": "string",
- "description": "状态(字典:customize_request_status):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消"
- },
- "statusLabel": {
- "type": "string",
- "description": "状态标签(中文)"
- },
- "travelPurpose": {
- "type": "string",
- "description": "旅游目的(字典:travel_purpose)"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "定制需求列表项VO"
- },
- "定制需求详情VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "budget": {
- "type": "string",
- "description": "预算范围(字典:customize_budget)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "contactName": {
- "type": "string",
- "description": "联系人"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "description": "期望天数"
- },
- "designerAvatar": {
- "type": "string",
- "description": "定制师头像URL"
- },
- "designerId": {
- "type": "integer",
- "format": "int64",
- "description": "指定定制师ID"
- },
- "designerName": {
- "type": "string",
- "description": "定制师姓名"
- },
- "destination": {
- "type": "string",
- "description": "目标地区"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "description": "期望结束日期"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "关联产品ID(定制完成后返回)"
- },
- "repliedAt": {
- "type": "string",
- "format": "date-time",
- "description": "回复时间"
- },
- "reply": {
- "type": "string",
- "description": "定制师回复内容"
- },
- "requestId": {
- "type": "integer",
- "format": "int64",
- "description": "请求ID"
- },
- "requestType": {
- "type": "string",
- "description": "需求类型(字典:customize_request_type)"
- },
- "requirements": {
- "type": "string",
- "description": "详细需求描述"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "期望出发日期"
- },
- "status": {
- "type": "string",
- "description": "状态(字典:customize_request_status):PENDING=待处理, ACCEPTED=已接受, DESIGNING=设计中, QUOTED=已报价, COMPLETED=已完成, CANCELLED=已取消"
- },
- "statusLabel": {
- "type": "string",
- "description": "状态标签(中文)"
- },
- "travelPurpose": {
- "type": "string",
- "description": "旅游目的(字典:travel_purpose)"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "定制需求详情VO"
- },
- "家庭分组项": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "familyId": {
- "type": "string",
- "description": "家庭ID"
- },
- "familyName": {
- "type": "string",
- "description": "家庭名称(如:家庭1)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "家庭分组项"
- },
- "已完成定制产品列表项VO": {
- "type": "object",
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "description": "定制师头像URL"
- },
- "departureCity": {
- "type": "string",
- "description": "出发城市"
- },
- "destinationCity": {
- "type": "string",
- "description": "目的地城市"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式:FULL=全款 DEPOSIT=定金+尾款"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "productType": {
- "type": "string",
- "description": "产品类型:CUSTOM=定制产品"
- },
- "routeMapUrl": {
- "type": "string",
- "description": "路径图URL"
- },
- "startPrice": {
- "type": "number",
- "description": "起步价"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "产品标签列表",
- "items": {
- "type": "string"
- }
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- }
- },
- "title": "已完成定制产品列表项VO"
- },
- "已完成定制产品详情VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "婴儿人数"
- },
- "benefitsDescription": {
- "type": "array",
- "description": "权益说明(静态,所有产品相同)",
- "items": {
- "$ref": "#/definitions/权益分组",
- "originalRef": "权益分组"
- }
- },
- "bookingTermsContent": {
- "type": "string",
- "description": "预订条款内容"
- },
- "bookingTermsId": {
- "type": "string",
- "description": "预订条款ID"
- },
- "bookingTermsName": {
- "type": "string",
- "description": "预订条款名称"
- },
- "carouselImages": {
- "type": "array",
- "description": "轮播图列表",
- "items": {
- "type": "string"
- }
- },
- "carouselVideoUrl": {
- "type": "string",
- "description": "轮播视频URL"
- },
- "chatMessages": {
- "type": "array",
- "description": "群聊消息列表",
- "items": {
- "$ref": "#/definitions/群聊消息",
- "originalRef": "群聊消息"
- }
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童人数"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话(定制产品)"
- },
- "costItems": {
- "type": "array",
- "description": "成本项列表(费用包含/不含/自理)",
- "items": {
- "$ref": "#/definitions/成本项",
- "originalRef": "成本项"
- }
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "description": "定制师头像URL"
- },
- "creatorIntro": {
- "type": "string",
- "description": "创作者寄语"
- },
- "customFees": {
- "type": "array",
- "description": "自定义费用项列表",
- "items": {
- "$ref": "#/definitions/自定义费用项",
- "originalRef": "自定义费用项"
- }
- },
- "customerName": {
- "type": "string",
- "description": "客户姓名(定制产品)"
- },
- "customizerId": {
- "type": "string",
- "description": "定制师ID"
- },
- "departureCity": {
- "type": "string",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期(定制产品)"
- },
- "destinationCities": {
- "type": "array",
- "description": "途经城市列表(从行程节点资源去重提取)",
- "items": {
- "type": "string"
- }
- },
- "destinationCity": {
- "type": "string",
- "description": "目的地城市"
- },
- "families": {
- "type": "array",
- "description": "家庭分组列表(按家庭分配人员和房间)",
- "items": {
- "$ref": "#/definitions/家庭分组项",
- "originalRef": "家庭分组项"
- }
- },
- "folderId": {
- "type": "string",
- "description": "所属文件夹ID"
- },
- "groupChatQrUrl": {
- "type": "string",
- "description": "群聊二维码URL"
- },
- "groupRoomId": {
- "type": "string",
- "description": "企微群聊ID"
- },
- "isBooking": {
- "type": "boolean",
- "description": "是否预约产品"
- },
- "itineraryDays": {
- "type": "array",
- "description": "行程天列表(包含每天的景点、酒店、餐厅、活动等安排,含资源图片)",
- "items": {
- "$ref": "#/definitions/行程天",
- "originalRef": "行程天"
- }
- },
- "lineId": {
- "type": "string",
- "description": "产品线ID"
- },
- "lineName": {
- "type": "string",
- "description": "产品线名称"
- },
- "lineSubtitle": {
- "type": "string",
- "description": "产品线副标题"
- },
- "maxAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最大成人数(null=不限)"
- },
- "maxChildPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最大儿童数(null=不限)"
- },
- "mchId": {
- "type": "string",
- "description": "商户号"
- },
- "minAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最少成人数(null=默认1)"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式:FULL=全款 DEPOSIT=定金+尾款"
- },
- "pricing": {
- "description": "定价配置",
- "$ref": "#/definitions/定价配置",
- "originalRef": "定价配置"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "productNo": {
- "type": "string",
- "description": "产品编号"
- },
- "productType": {
- "type": "string",
- "description": "产品类型:CUSTOM=定制产品"
- },
- "publishedAt": {
- "type": "string",
- "format": "date-time",
- "description": "发布时间"
- },
- "refundPolicies": {
- "type": "object",
- "description": "退款政策详情(按退款类型分组)。key=退款类型(FULL/DEPOSIT/BALANCE),value=政策详情(含policyName、rules等)"
- },
- "refundPolicyIds": {
- "type": "object",
- "description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
- "additionalProperties": {
- "type": "string"
- }
- },
- "routeMapUrl": {
- "type": "string",
- "description": "路径图URL"
- },
- "seasonLabels": {
- "type": "array",
- "description": "适用季节列表(中文)",
- "items": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "description": "适用季节列表(编码)",
- "items": {
- "type": "string"
- }
- },
- "showChatGroup": {
- "type": "boolean",
- "description": "是否显示群聊入口"
- },
- "showReview": {
- "type": "boolean",
- "description": "是否显示评价"
- },
- "showTripDistance": {
- "type": "boolean",
- "description": "是否显示行程距离"
- },
- "showTripTime": {
- "type": "boolean",
- "description": "是否显示行程时间"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "staffConfigs": {
- "type": "array",
- "description": "人员配置列表(导游、领队、摄影师等)",
- "items": {
- "$ref": "#/definitions/人员配置项",
- "originalRef": "人员配置项"
- }
- },
- "startPrice": {
- "type": "number",
- "description": "起步价"
- },
- "status": {
- "type": "string",
- "description": "产品状态:COMPLETED=已完成, ORDERED=已下单"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "suppliesList": {
- "type": "array",
- "description": "物资列表",
- "items": {
- "$ref": "#/definitions/物资项",
- "originalRef": "物资项"
- }
- },
- "tags": {
- "type": "array",
- "description": "产品标签列表",
- "items": {
- "type": "string"
- }
- },
- "teamExperienceYears": {
- "type": "integer",
- "format": "int32",
- "description": "团队经验年数"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "warmTipsContent": {
- "type": "string",
- "description": "温馨提示内容"
- },
- "warmTipsId": {
- "type": "string",
- "description": "温馨提示ID"
- },
- "warmTipsName": {
- "type": "string",
- "description": "温馨提示名称"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童人数"
- }
- },
- "title": "已完成定制产品详情VO"
- },
- "成本项": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "成本项类别:HOTEL/SCENIC/VEHICLE/ACTIVITY/SERVICE/DINING/OTHER"
- },
- "description": {
- "type": "string",
- "description": "成本项描述"
- },
- "id": {
- "type": "string",
- "description": "成本项ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "title": {
- "type": "string",
- "description": "成本项标题"
- },
- "type": {
- "type": "string",
- "description": "成本项类型:INCLUDED=费用包含 EXCLUDED=费用不含 SELF_PAY=自理费用"
- }
- },
- "title": "成本项"
- },
- "提交定制需求请求": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数"
- },
- "budget": {
- "type": "string",
- "example": "BUDGET_5000_10000",
- "description": "预算范围(字典:customize_budget)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "儿童数"
- },
- "contactName": {
- "type": "string",
- "example": "张三",
- "description": "联系人"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "期望天数"
- },
- "designerId": {
- "type": "integer",
- "format": "int64",
- "example": 1234567890,
- "description": "指定定制师ID(可为空=系统分配)"
- },
- "destination": {
- "type": "string",
- "example": "云南大理",
- "description": "目标地区"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-05",
- "description": "期望结束日期"
- },
- "requestType": {
- "type": "string",
- "example": "FAMILY_TRIP",
- "description": "需求类型(字典:customize_request_type)"
- },
- "requirements": {
- "type": "string",
- "example": "希望安排亲子活动,孩子3岁",
- "description": "详细需求描述"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-01",
- "description": "期望出发日期"
- },
- "travelPurpose": {
- "type": "string",
- "example": "FAMILY",
- "description": "旅游目的(字典:travel_purpose)"
- }
- },
- "title": "提交定制需求请求"
- },
- "权益分组": {
- "type": "object",
- "properties": {
- "items": {
- "type": "array",
- "description": "权益项列表",
- "items": {
- "$ref": "#/definitions/权益项",
- "originalRef": "权益项"
- }
- },
- "title": {
- "type": "string",
- "description": "分组标题,如:儿童权益 (1.2m以下)"
- }
- },
- "title": "权益分组"
- },
- "权益项": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "类别,如:门票、住宿、餐饮"
- },
- "description": {
- "type": "string",
- "description": "说明,如:含全部景点儿童票"
- }
- },
- "title": "权益项"
- },
- "每日酒店": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(NULL=所有家庭共享)",
- "items": {
- "type": "string"
- }
- },
- "familyRoomConfig": {
- "type": "object",
- "description": "家庭房间分配:{familyId: roomCount}",
- "additionalProperties": {
- "type": "integer",
- "format": "int32"
- }
- },
- "hotelId": {
- "type": "string",
- "description": "酒店ID"
- },
- "hotelName": {
- "type": "string",
- "description": "酒店名称"
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "isDefault": {
- "type": "boolean",
- "description": "是否默认酒店"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "description": "房间数量"
- },
- "roomTypeId": {
- "type": "string",
- "description": "房型ID"
- },
- "roomTypeName": {
- "type": "string",
- "description": "房型名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "每日酒店"
- },
- "物资项": {
- "type": "object",
- "properties": {
- "billingType": {
- "type": "string",
- "description": "计费方式:BY_PERSON=按人头 BY_COUNT=按次/按件"
- },
- "costPerPerson": {
- "type": "number",
- "description": "每人成本"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号(scope=DAY时生效)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "scope": {
- "type": "string",
- "description": "适用范围:ALL=整个行程 DAY=指定天"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "suppliesId": {
- "type": "string",
- "description": "物资ID"
- },
- "suppliesName": {
- "type": "string",
- "description": "物资名称"
- }
- },
- "title": "物资项"
- },
- "用餐选项": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "餐食封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "mealTypes": {
- "type": "string",
- "description": "餐次:早餐/午餐/晚餐"
- },
- "priceInfo": {
- "type": "string",
- "description": "价格信息"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "restaurantId": {
- "type": "string",
- "description": "餐厅ID"
- },
- "restaurantName": {
- "type": "string",
- "description": "餐厅/餐食名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "unitPrice": {
- "type": "number",
- "description": "餐食单价(元)"
- }
- },
- "title": "用餐选项"
- },
- "统一响应结果«List«已完成定制产品列表项VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/已完成定制产品列表项VO",
- "originalRef": "已完成定制产品列表项VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«已完成定制产品列表项VO»»"
- },
- "统一响应结果«分页结果«定制需求列表项VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«定制需求列表项VO»",
- "originalRef": "分页结果«定制需求列表项VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«定制需求列表项VO»»"
- },
- "统一响应结果«定制需求详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/定制需求详情VO",
- "originalRef": "定制需求详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«定制需求详情VO»"
- },
- "统一响应结果«已完成定制产品详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/已完成定制产品详情VO",
- "originalRef": "已完成定制产品详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«已完成定制产品详情VO»"
- },
- "群聊消息": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "description": "用户头像URL(type=user时有效)"
- },
- "text": {
- "type": "string",
- "description": "消息内容"
- },
- "type": {
- "type": "string",
- "description": "消息类型: user/creator"
- }
- },
- "title": "群聊消息"
- },
- "自定义费用项": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "费用说明"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "feeAmount": {
- "type": "number",
- "description": "费用金额"
- },
- "feeName": {
- "type": "string",
- "description": "费用项名称"
- },
- "feeUnit": {
- "type": "string",
- "description": "费用单位"
- },
- "id": {
- "type": "string",
- "description": "费用项ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "自定义费用项"
- },
- "行程天": {
- "type": "object",
- "properties": {
- "dayId": {
- "type": "string",
- "description": "行程天ID"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "dayTitle": {
- "type": "string",
- "description": "天标题"
- },
- "hotels": {
- "type": "array",
- "description": "当日酒店列表",
- "items": {
- "$ref": "#/definitions/每日酒店",
- "originalRef": "每日酒店"
- }
- },
- "nodes": {
- "type": "array",
- "description": "行程节点列表(含资源详情和图片)",
- "items": {
- "$ref": "#/definitions/行程节点",
- "originalRef": "行程节点"
- }
- },
- "restaurants": {
- "type": "array",
- "description": "当日用餐列表",
- "items": {
- "$ref": "#/definitions/用餐选项",
- "originalRef": "用餐选项"
- }
- },
- "routeSummary": {
- "type": "string",
- "description": "路线概览"
- }
- },
- "title": "行程天"
- },
- "行程节点": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "资源成本价(来自资源价格日历)"
- },
- "dayId": {
- "type": "string",
- "description": "所属行程天ID"
- },
- "description": {
- "type": "string",
- "description": "节点描述"
- },
- "distanceKm": {
- "type": "number",
- "description": "距离(公里)"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "时长(分钟)"
- },
- "emojiIcon": {
- "type": "string",
- "description": "表情图标"
- },
- "extraData": {
- "type": "string",
- "description": "扩展数据(JSON格式)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "images": {
- "type": "array",
- "description": "节点图片列表",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "nodeId": {
- "type": "string",
- "description": "节点ID"
- },
- "nodeName": {
- "type": "string",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "description": "节点类型:TRANSPORT/SCENIC/RESTAURANT/ACTIVITY/PHOTOGRAPHY/HOTEL/FREE/CUSTOM/SERVICE/NOTE"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "resourceDetail": {
- "description": "绑定资源的详细信息(含封面图cover、轮播图images、地址address等)",
- "$ref": "#/definitions/资源详情",
- "originalRef": "资源详情"
- },
- "resourceId": {
- "type": "string",
- "description": "关联资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "关联资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "关联资源类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/STAFF"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "startTime": {
- "type": "string",
- "description": "开始时间"
- }
- },
- "title": "行程节点"
- },
- "资源详情": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "地址"
- },
- "city": {
- "type": "string",
- "description": "所在城市"
- },
- "cover": {
- "type": "string",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "description": "简介/描述"
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(featureIntro JSON)"
- },
- "images": {
- "type": "array",
- "description": "图片URL列表(轮播图)",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "资源名称"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "resourceId": {
- "type": "string",
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型: SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "资源详情"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-order-service.json b/.swagger/hl-order-service.json
deleted file mode 100644
index 9c31159..0000000
--- a/.swagger/hl-order-service.json
+++ /dev/null
@@ -1,12836 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "订单服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/order/album/file/{albumFileId}": {
- "put": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "编辑文件信息",
- "description": "**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "updateFileUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "albumFileId",
- "in": "path",
- "description": "相册文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AlbumFileUpdateRequest",
- "originalRef": "AlbumFileUpdateRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«AlbumFileVO»",
- "originalRef": "统一响应结果«AlbumFileVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«AlbumFileVO»",
- "originalRef": "统一响应结果«AlbumFileVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "删除文件",
- "description": "删除相册中的单个文件(照片/视频)。仅上传者或超级管理员可操作,删除后C端用户不再可见。",
- "operationId": "deleteFileUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "albumFileId",
- "in": "path",
- "description": "相册文件ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/album/folder/{folderId}": {
- "put": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "编辑相册文件夹",
- "description": "修改文件夹名称或描述。仅创建者或超级管理员可操作",
- "operationId": "updateFolderUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AlbumFolderRequest",
- "originalRef": "AlbumFolderRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«AlbumFolderVO»",
- "originalRef": "统一响应结果«AlbumFolderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«AlbumFolderVO»",
- "originalRef": "统一响应结果«AlbumFolderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "删除相册文件夹",
- "description": "删除文件夹及其下所有文件。仅创建者或超级管理员可操作。删除后C端用户不再可见",
- "operationId": "deleteFolderUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/album/folder/{folderId}/cover": {
- "put": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "设置文件夹封面",
- "description": "将文件夹中的指定文件设为封面图,封面图会在文件夹列表中展示。仅上传者或超级管理员可操作。",
- "operationId": "setCoverUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "albumFileId",
- "in": "query",
- "description": "相册文件ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/album/folder/{folderId}/files": {
- "get": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "查询文件夹下的文件列表",
- "description": "**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "listFilesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "size",
- "in": "query",
- "description": "每页数量",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»",
- "originalRef": "统一响应结果«分页结果«AlbumFileVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»",
- "originalRef": "统一响应结果«分页结果«AlbumFileVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "批量添加文件到文件夹",
- "description": "一次添加多个照片/视频到指定文件夹。文件需先通过文件服务上传获取OSS URL\n\n**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "addFilesUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AlbumFileBatchAddRequest",
- "originalRef": "AlbumFileBatchAddRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«AlbumFileVO»»",
- "originalRef": "统一响应结果«List«AlbumFileVO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«AlbumFileVO»»",
- "originalRef": "统一响应结果«List«AlbumFileVO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/album/my-uploads": {
- "get": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "我的上传",
- "description": "查询当前管理员上传的所有相册文件(跨订单),方便管理自己上传的内容\n\n**关联字典**:\n- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频\n- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "listMyUploadsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "size",
- "in": "query",
- "description": "每页数量",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»",
- "originalRef": "统一响应结果«分页结果«AlbumFileVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«AlbumFileVO»»",
- "originalRef": "统一响应结果«分页结果«AlbumFileVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/config/expiry-minutes": {
- "get": {
- "tags": [
- "订单配置接口"
- ],
- "summary": "获取订单过期配置",
- "description": "获取当前的订单未支付自动过期时间(分钟)。\n返回当前值、默认值和配置来源(redis=已自定义, default=使用默认值)",
- "operationId": "getExpiryMinutesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "订单配置接口"
- ],
- "summary": "设置订单过期时间(分钟)",
- "description": "修改订单未支付自动取消的等待时间。存储在Redis中,即时生效。\n仅影响新创建的订单,已有订单的过期时间不变",
- "operationId": "setExpiryMinutesUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "expiryRequest",
- "description": "修改订单过期时间请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/修改订单过期时间请求",
- "originalRef": "修改订单过期时间请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/create": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "创建订单(定制师代下单)",
- "description": "创建订单流程:选择产品 → 填写联系人和出行人 → 系统计算报价 → 生成订单(PENDING_PAY状态)\n\n权限:CUSTOM产品仅创建者可下单,CORE/ROUTE产品所有管理员可下单\n\n【关联字典】\n- 请求参数 productType → 字典:product_type(产品类型)\n- 请求参数 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 请求参数 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 请求参数 travelers[].gender → 字典:gender(性别)\n- 返回字段 status → 字典:order_status(订单状态)\n- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)\n- 返回字段 productType → 字典:product_type(产品类型)\n- 返回字段 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 返回字段 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 返回字段 travelers[].gender → 字典:gender(性别)",
- "operationId": "createOrderUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "createRequest",
- "description": "创建订单请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/管理员创建订单请求",
- "originalRef": "管理员创建订单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情VO»",
- "originalRef": "统一响应结果«订单详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情VO»",
- "originalRef": "统一响应结果«订单详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/early-bird": {
- "post": {
- "tags": [
- "早鸟优惠计划管理"
- ],
- "summary": "创建早鸟优惠计划",
- "description": "创建一个早鸟优惠计划,在指定日期范围内下单且满足最低人数条件的订单可享受优惠。\n下单时系统自动匹配最优的早鸟计划。权限:仅超级管理员(SUPER_ADMIN)",
- "operationId": "createUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "planRequest",
- "description": "创建早鸟计划请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/早鸟优惠计划请求",
- "originalRef": "早鸟优惠计划请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»",
- "originalRef": "统一响应结果«早鸟优惠计划VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»",
- "originalRef": "统一响应结果«早鸟优惠计划VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/early-bird/list": {
- "get": {
- "tags": [
- "早鸟优惠计划管理"
- ],
- "summary": "早鸟优惠计划列表",
- "description": "分页查询所有早鸟优惠计划。权限:仅超级管理员(SUPER_ADMIN)",
- "operationId": "listUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«早鸟优惠计划VO»»",
- "originalRef": "统一响应结果«分页结果«早鸟优惠计划VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«早鸟优惠计划VO»»",
- "originalRef": "统一响应结果«分页结果«早鸟优惠计划VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/early-bird/{planId}": {
- "get": {
- "tags": [
- "早鸟优惠计划管理"
- ],
- "summary": "早鸟优惠计划详情",
- "description": "权限:仅超级管理员(SUPER_ADMIN)",
- "operationId": "detailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "planId",
- "in": "path",
- "description": "早鸟计划ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»",
- "originalRef": "统一响应结果«早鸟优惠计划VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«早鸟优惠计划VO»",
- "originalRef": "统一响应结果«早鸟优惠计划VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "早鸟优惠计划管理"
- ],
- "summary": "修改早鸟优惠计划",
- "description": "权限:仅超级管理员(SUPER_ADMIN)。修改不影响已下单的订单优惠",
- "operationId": "updateUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "planId",
- "in": "path",
- "description": "早鸟计划ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "planRequest",
- "description": "修改早鸟计划请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/早鸟优惠计划请求",
- "originalRef": "早鸟优惠计划请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "早鸟优惠计划管理"
- ],
- "summary": "删除早鸟优惠计划",
- "description": "权限:仅超级管理员(SUPER_ADMIN)。删除不影响已下单的订单优惠",
- "operationId": "deleteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "planId",
- "in": "path",
- "description": "早鸟计划ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/early-bird/{planId}/toggle": {
- "put": {
- "tags": [
- "早鸟优惠计划管理"
- ],
- "summary": "启用/禁用早鸟优惠计划",
- "description": "禁用后该计划不再参与自动匹配。权限:仅超级管理员(SUPER_ADMIN)",
- "operationId": "toggleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "enabled",
- "in": "query",
- "description": "是否启用",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "planId",
- "in": "path",
- "description": "早鸟计划ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/list": {
- "get": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "订单列表",
- "description": "支持按关键词(订单号/联系人/产品名)、状态、内部流程状态、产品类型筛选。\n支持按创建时间/出发日期/总价排序。\n\n返回分页结果,包含订单基本信息、状态、支付信息和产品封面\n\n【关联字典】\n- 筛选参数 status → 字典:order_status(订单状态)\n- 筛选参数 processStatus → 字典:order_process_status(订单内部流程状态)\n- 筛选参数 productType → 字典:product_type(产品类型)\n- 返回字段 status → 字典:order_status(订单状态)\n- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)\n- 返回字段 productType → 字典:product_type(产品类型)",
- "operationId": "listOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "contactPhone",
- "in": "query",
- "description": "联系电话",
- "required": false,
- "type": "string",
- "x-example": "13800138000"
- },
- {
- "name": "createTimeEnd",
- "in": "query",
- "description": "下单时间结束(yyyy-MM-dd HH:mm:ss)",
- "required": false,
- "type": "string",
- "format": "date-time",
- "x-example": "2026-03-31 23:59:59"
- },
- {
- "name": "createTimeStart",
- "in": "query",
- "description": "下单时间起始(yyyy-MM-dd HH:mm:ss)",
- "required": false,
- "type": "string",
- "format": "date-time",
- "x-example": "2026-03-01 00:00:00"
- },
- {
- "name": "customizerName",
- "in": "query",
- "description": "定制师名称(模糊搜索)",
- "required": false,
- "type": "string",
- "x-example": "王骁"
- },
- {
- "name": "departureDateEnd",
- "in": "query",
- "description": "出发日期结束(yyyy-MM-dd)",
- "required": false,
- "type": "string",
- "format": "date",
- "x-example": "2026-03-31"
- },
- {
- "name": "departureDateStart",
- "in": "query",
- "description": "出发日期起始(yyyy-MM-dd)",
- "required": false,
- "type": "string",
- "format": "date",
- "x-example": "2026-03-01"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(订单号/联系人姓名/产品名称)",
- "required": false,
- "type": "string",
- "x-example": "HL2026"
- },
- {
- "name": "mchId",
- "in": "query",
- "description": "商户号(字典:mch_id)",
- "required": false,
- "type": "string",
- "x-example": "shanhe"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "processStatus",
- "in": "query",
- "description": "内部流程状态(字典:order_process_status)",
- "required": false,
- "type": "string",
- "x-example": "PENDING_ROOM"
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型(字典:product_type)",
- "required": false,
- "type": "string",
- "x-example": "CORE"
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段(createTime/departureDate/totalPrice)",
- "required": false,
- "type": "string",
- "x-example": "createTime"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向(desc/asc)",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "订单状态(字典:order_status,支持逗号分隔多状态)",
- "required": false,
- "type": "string",
- "x-example": "PAID"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«管理员订单列表VO»»",
- "originalRef": "统一响应结果«分页结果«管理员订单列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«管理员订单列表VO»»",
- "originalRef": "统一响应结果«分页结果«管理员订单列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/quote": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "报价预览",
- "description": "根据产品、出发日期、人数组合实时计算报价。\n返回各资源明细价格和合计金额,前端据此展示报价清单。\n\n注意:报价仅供参考,最终价格以创建订单时为准(价格日历可能变动)",
- "operationId": "quotePreviewUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "quoteRequest",
- "description": "报价预览请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/报价预览请求",
- "originalRef": "报价预览请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/todo/contract-eligible": {
- "get": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "可签合同订单列表(保险已完成)",
- "description": "查询保险待办已完成、可以进入签合同环节的订单列表。\n用于合同管理页面展示待签合同的订单\n\n【关联字典】\n- 返回字段 todoType → 字典:order_todo_type(订单待办类型)\n- 返回字段 orderStatus → 字典:order_status(订单状态)",
- "operationId": "getContractEligibleOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«订单待办VO»»",
- "originalRef": "统一响应结果«List«订单待办VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«订单待办VO»»",
- "originalRef": "统一响应结果«List«订单待办VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/todo/customizer-list": {
- "get": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "定制师列表",
- "description": "获取所有定制师(CUSTOMIZER角色)的列表,用于更换定制师时选择目标定制师",
- "operationId": "getCustomizerListUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理员基本信息»»",
- "originalRef": "统一响应结果«List«管理员基本信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理员基本信息»»",
- "originalRef": "统一响应结果«List«管理员基本信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/todo/my-count": {
- "get": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "我的待办数量",
- "description": "返回当前管理员未完成的待办总数,用于首页角标/红点提醒",
- "operationId": "getMyTodosCountUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/todo/my-list": {
- "get": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "我的待办列表",
- "description": "根据当前管理员ID和角色,查询分配给自己的未完成待办。\n超级管理员可看到所有待办,其他角色只能看到对应类型的待办\n\n【关联字典】\n- 返回字段 todoType → 字典:order_todo_type(订单待办类型)\n- 返回字段 orderStatus → 字典:order_status(订单状态)",
- "operationId": "getMyTodosUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«订单待办VO»»",
- "originalRef": "统一响应结果«List«订单待办VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«订单待办VO»»",
- "originalRef": "统一响应结果«List«订单待办VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/todo/{todoId}/complete": {
- "put": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "完成待办",
- "description": "将指定待办标记为已完成。\n需要对应角色权限:如配房待办需ROOM_MANAGER角色,配车待办需VEHICLE_MANAGER角色。\n\n完成后系统自动检查是否所有必要待办已完成,若是则推进内部流程\n\n【关联字典】\n- 涉及字段 todoType → 字典:order_todo_type(订单待办类型)",
- "operationId": "completeTodoUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "todoId",
- "in": "path",
- "description": "待办ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order": {
- "post": {
- "tags": [
- "工单管理"
- ],
- "summary": "创建工单",
- "description": "创建旅途中的变更工单,需关联订单ID。\n可指定处理人,未指定则进入待分配状态。可附带差价信息和资源详情JSON\n\n【关联字典】\n- 请求参数 type → 字典:work_order_type(工单类型)\n- 请求参数 priority → 字典:work_order_priority(工单优先级)\n- 返回字段 status → 字典:work_order_status(工单状态)\n- 返回字段 type → 字典:work_order_type(工单类型)\n- 返回字段 priority → 字典:work_order_priority(工单优先级)",
- "operationId": "createUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CreateWorkOrderRequest",
- "originalRef": "CreateWorkOrderRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/count-by-order/{orderId}": {
- "get": {
- "tags": [
- "工单管理"
- ],
- "summary": "按订单查工单数量",
- "description": "返回指定订单关联的工单总数,用于订单详情页展示工单角标",
- "operationId": "countByOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/list": {
- "get": {
- "tags": [
- "工单管理"
- ],
- "summary": "工单列表",
- "description": "分页查询工单,支持按状态/类型/优先级/订单编号/处理人筛选。\n工单用于处理旅行中的突发变更需求(如换房、换车、加景点等)\n\n【关联字典】\n- 筛选参数 status → 字典:work_order_status(工单状态)\n- 筛选参数 type → 字典:work_order_type(工单类型)\n- 筛选参数 priority → 字典:work_order_priority(工单优先级)\n- 返回字段 status → 字典:work_order_status(工单状态)\n- 返回字段 type → 字典:work_order_type(工单类型)\n- 返回字段 priority → 字典:work_order_priority(工单优先级)",
- "operationId": "listUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "assigneeAdminId",
- "in": "query",
- "description": "处理人ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "orderNo",
- "in": "query",
- "description": "订单编号(模糊)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "priority",
- "in": "query",
- "description": "优先级: URGENT/NORMAL",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态: PENDING/PROCESSING/RESOLVED/REJECTED",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "type",
- "in": "query",
- "description": "类型: ROOM_CHANGE/ROOM_ADD/CHECKOUT_CHANGE/HOTEL_ISSUE/VEHICLE_CHANGE/SCENIC_ADD/SCENIC_REMOVE/OTHER",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«WorkOrderVO»»",
- "originalRef": "统一响应结果«分页结果«WorkOrderVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«WorkOrderVO»»",
- "originalRef": "统一响应结果«分页结果«WorkOrderVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/stats": {
- "get": {
- "tags": [
- "工单管理"
- ],
- "summary": "工单统计",
- "description": "返回各状态的工单数量和紧急工单数,用于工单管理页面顶部统计卡片\n\n【关联字典】\n- 返回字段中的状态key → 字典:work_order_status(工单状态)",
- "operationId": "getStatsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/{workOrderId}": {
- "get": {
- "tags": [
- "工单管理"
- ],
- "summary": "工单详情",
- "description": "返回工单完整信息,包括关联订单、资源详情、处理记录和备注列表\n\n【关联字典】\n- 返回字段 status → 字典:work_order_status(工单状态)\n- 返回字段 type → 字典:work_order_type(工单类型)\n- 返回字段 priority → 字典:work_order_priority(工单优先级)",
- "operationId": "getDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "workOrderId",
- "in": "path",
- "description": "工单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/{workOrderId}/assign": {
- "put": {
- "tags": [
- "工单管理"
- ],
- "summary": "指派工单",
- "description": "将工单分配给指定管理员处理。被指派人将在待办列表中看到该工单",
- "operationId": "assignUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "assigneeId",
- "in": "query",
- "description": "处理人ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "assigneeName",
- "in": "query",
- "description": "处理人姓名",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "workOrderId",
- "in": "path",
- "description": "工单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/{workOrderId}/comment": {
- "post": {
- "tags": [
- "工单管理"
- ],
- "summary": "添加工单备注",
- "description": "在工单中追加备注信息,用于内部沟通和处理过程记录",
- "operationId": "addCommentUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "workOrderId",
- "in": "path",
- "description": "工单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/work-order/{workOrderId}/process": {
- "put": {
- "tags": [
- "工单管理"
- ],
- "summary": "处理工单(解决/驳回)",
- "description": "解决时需填写处理结果(resolution),驳回时需填写驳回原因(rejectReason)。\n可调整差价(costDifference),正数表示加价,负数表示退费\n\n【关联字典】\n- 返回字段 status → 字典:work_order_status(工单状态)",
- "operationId": "processUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "workOrderId",
- "in": "path",
- "description": "工单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ProcessWorkOrderRequest",
- "originalRef": "ProcessWorkOrderRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«WorkOrderVO»",
- "originalRef": "统一响应结果«WorkOrderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}": {
- "get": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "订单详情",
- "description": "返回订单完整信息,包括:基本信息、产品快照、联系人、出行人列表、支付记录、优惠明细、时间线、内部流程状态等\n\n【关联字典】\n- 返回字段 status → 字典:order_status(订单状态)\n- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)\n- 返回字段 productType → 字典:product_type(产品类型)\n- 返回字段 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 返回字段 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 返回字段 travelers[].gender → 字典:gender(性别)\n- 返回字段 timeline[].action → 字典:order_timeline_action(订单操作类型)\n- 返回字段 todos[].todoType → 字典:order_todo_type(订单待办类型)",
- "operationId": "getOrderUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情VO»",
- "originalRef": "统一响应结果«订单详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«订单详情VO»",
- "originalRef": "统一响应结果«订单详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "编辑订单",
- "description": "修改订单的联系人、人数、出发日期、售价、成本、备注等信息。\n仅传入需要修改的字段,未传入的字段不会被修改。\n\n如果提供了出行人列表(travelers),将替换订单的全部出行人。\n已锁定的订单需先调用'申请修改'接口解锁后才能编辑\n\n【关联字典】\n- 请求参数 travelers[].travelerType → 字典:traveler_type(出行人类型)\n- 请求参数 travelers[].idCardType → 字典:id_card_type(证件类型)\n- 请求参数 travelers[].gender → 字典:gender(性别)",
- "operationId": "editOrderUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "updateRequest",
- "description": "编辑订单请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/管理员修改订单请求",
- "originalRef": "管理员修改订单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "删除订单",
- "description": "仅待支付(PENDING_PAY)状态的订单可删除,其他状态不可删除",
- "operationId": "deleteOrderUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/album/folder": {
- "post": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "创建相册文件夹",
- "description": "为订单创建旅行相册文件夹(如'第一天风景'、'合影'等),用于组织旅途照片/视频",
- "operationId": "createFolderUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AlbumFolderRequest",
- "originalRef": "AlbumFolderRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«AlbumFolderVO»",
- "originalRef": "统一响应结果«AlbumFolderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«AlbumFolderVO»",
- "originalRef": "统一响应结果«AlbumFolderVO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/album/folders": {
- "get": {
- "tags": [
- "管理端相册接口"
- ],
- "summary": "查询订单的文件夹列表",
- "description": "获取指定订单的所有相册文件夹,含文件夹名称、描述、封面图、文件数量等信息。",
- "operationId": "listFoldersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«AlbumFolderVO»»",
- "originalRef": "统一响应结果«List«AlbumFolderVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«AlbumFolderVO»»",
- "originalRef": "统一响应结果«List«AlbumFolderVO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/available-hotels": {
- "get": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "配房可选酒店列表",
- "description": "返回所有启用酒店列表,标注该订单产品快照中指定行程天包含的酒店(inSnapshot=true),并将快照酒店排在最前面。\n用于管理员配房时选择酒店,快照中的酒店是产品行程已安排的住宿,应优先选择。\n\n**必须传 dayIndex 参数**(行程第几天,从1开始),因为每天的酒店可能不同。\n\n返回字段说明:\n- hotelId:酒店ID\n- hotelName:酒店名称\n- inSnapshot:是否在该天产品快照中(true=该天行程已安排的酒店)",
- "operationId": "getAvailableHotelsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayIndex",
- "in": "query",
- "description": "行程第几天(从1开始)",
- "required": true,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/balance-pay-method": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "设置尾款支付方式",
- "description": "设置订单尾款的支付方式。ONLINE=线上微信支付,OFFLINE=线下转账(需管理员手动记录尾款到账)",
- "operationId": "setBalancePayMethodUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "balancePayMethod",
- "in": "query",
- "description": "支付方式:ONLINE-线上支付, OFFLINE-线下支付",
- "required": true,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/cancel": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "取消订单",
- "description": "管理员可取消的状态:待支付、已付定金、已全额支付、已确认、待付尾款\n\n已付款订单取消后需走退款流程",
- "operationId": "cancelOrderUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "cancelRequest",
- "description": "取消订单请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/管理员取消订单请求",
- "originalRef": "管理员取消订单请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/confirm": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "确认订单",
- "description": "确认订单后进入内部流程:待配房 → 待配车 → 待核算 → 就绪\n\n前置条件:订单状态为已全额支付(PAID)或已付定金(DEPOSIT_PAID)",
- "operationId": "confirmOrderUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/customizer": {
- "put": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "更换定制师",
- "description": "将订单转派给另一位定制师。更换后原定制师的待办自动转移,订单时间线会记录此操作",
- "operationId": "changeCustomizerUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "定制师信息",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更换定制师请求",
- "originalRef": "更换定制师请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/deposit": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "修改定金金额",
- "description": "修改订单的定金金额。仅待支付(PENDING_PAY)状态可修改。\n\n定金金额不能超过订单总价,修改后影响用户支付页面显示的应付金额",
- "operationId": "updateDepositUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "depositRequest",
- "description": "修改定金金额请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/修改定金金额请求",
- "originalRef": "修改定金金额请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/discount": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "添加优惠项",
- "description": "为订单添加手动优惠(如会员折扣、老客优惠等)。\n添加后系统自动重算订单应付金额。一个订单可添加多个优惠项",
- "operationId": "addDiscountUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "discountRequest",
- "description": "优惠项请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/优惠项请求",
- "originalRef": "优惠项请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderDiscount»",
- "originalRef": "统一响应结果«OrderDiscount»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderDiscount»",
- "originalRef": "统一响应结果«OrderDiscount»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/discount/{discountId}": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "修改优惠项",
- "description": "修改已添加的优惠项名称或金额,修改后自动重算订单应付金额",
- "operationId": "updateDiscountUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "discountId",
- "in": "path",
- "description": "优惠项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "discountRequest",
- "description": "优惠项请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/优惠项请求",
- "originalRef": "优惠项请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "删除优惠项",
- "description": "删除已添加的优惠项,删除后自动重算订单应付金额",
- "operationId": "removeDiscountUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "discountId",
- "in": "path",
- "description": "优惠项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/hotel-assignment": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "分配酒店信息",
- "description": "按天按家庭为订单分配具体的酒店房间。\n每天每个家庭一条记录,包含酒店ID、房型ID、日期和备注。\n\n**房型升级自动处理**:如果分配的房型与产品默认房型不同,系统自动计算差价并创建升级记录。\n- 定制师操作:自动确认,差价直接计入总售价\n- 其他角色操作:创建待确认记录(临时计入尾款),通知定制师确认\n- 可通过 upgradePrice 字段手动覆盖系统计算的差价",
- "operationId": "assignHotelUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/酒店分配请求",
- "originalRef": "酒店分配请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/hotel-assignment/preview": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "配房升级差价预览",
- "description": "预览配房时的房型升级差价(不创建记录)。\n逐天比较分配房型与产品默认房型(CORE产品默认标间),返回每天差价明细和汇总。\n前端可据此展示差价信息,用户确认后再调用分配接口。",
- "operationId": "previewHotelAssignmentUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/酒店分配请求",
- "originalRef": "酒店分配请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«配房升级差价预览»",
- "originalRef": "统一响应结果«配房升级差价预览»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«配房升级差价预览»",
- "originalRef": "统一响应结果«配房升级差价预览»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/add": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "新增节点",
- "description": "在某一天的行程中新增一个节点\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "addNodeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "新增节点请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/新增行程节点请求",
- "originalRef": "新增行程节点请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/add-day": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "新增整天行程",
- "description": "在订单行程中新增一整天(含多个节点)\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):ADD_DAY=新增整天\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "addDayUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/新增行程天请求",
- "originalRef": "新增行程天请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»",
- "originalRef": "统一响应结果«List«OrderItineraryEdit»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»",
- "originalRef": "统一响应结果«List«OrderItineraryEdit»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/add/{editId}": {
- "delete": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "删除新增的节点",
- "description": "删除通过编辑新增的节点\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认",
- "operationId": "removeAddedNodeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "editId",
- "in": "path",
- "description": "编辑记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "撤销原因",
- "required": false,
- "schema": {
- "$ref": "#/definitions/撤销行程编辑请求",
- "originalRef": "撤销行程编辑请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/balance-summary": {
- "get": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "获取尾款调整汇总",
- "description": "返回行程编辑产生的尾款调整明细和总额",
- "operationId": "getBalanceAdjustmentSummaryUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/confirm-all": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "批量确认所有待确认修改",
- "description": "确认该订单所有待确认的行程编辑\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认",
- "operationId": "confirmAllPendingUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/confirm/{editId}": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "确认单条修改",
- "description": "确认一条待确认的行程编辑\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认",
- "operationId": "confirmEditUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "editId",
- "in": "path",
- "description": "编辑记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/day/{editId}": {
- "delete": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "删除新增的整天行程",
- "description": "删除通过新增操作添加的整天行程及其所有子节点,已确认的天不允许删除\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认",
- "operationId": "removeDayUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "editId",
- "in": "path",
- "description": "ADD_DAY编辑记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "删除原因",
- "required": false,
- "schema": {
- "$ref": "#/definitions/撤销行程编辑请求",
- "originalRef": "撤销行程编辑请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/edit/{editId}": {
- "put": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "修改编辑记录",
- "description": "修改待确认状态的编辑记录(如调整价格、名称等)\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "updateEditUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "editId",
- "in": "path",
- "description": "编辑记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "updates",
- "description": "updates",
- "required": true,
- "schema": {
- "type": "object"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/edits": {
- "get": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "获取行程编辑记录列表",
- "description": "**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "getEditListUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»",
- "originalRef": "统一响应结果«List«OrderItineraryEdit»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderItineraryEdit»»",
- "originalRef": "统一响应结果«List«OrderItineraryEdit»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/merged": {
- "get": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "获取合并后的行程(原始+编辑)",
- "description": "**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "getMergedItineraryUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/pending-count": {
- "get": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "获取待确认数量",
- "description": "返回该订单待确认的编辑数量",
- "operationId": "getPendingCountUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/pending/{editId}": {
- "delete": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "撤回待确认的修改",
- "description": "软删除一条待确认的编辑记录\n\n**关联字典**:\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认",
- "operationId": "withdrawPendingEditUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "editId",
- "in": "path",
- "description": "编辑记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": false,
- "schema": {
- "$ref": "#/definitions/撤销行程编辑请求",
- "originalRef": "撤销行程编辑请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/room-type-change": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "房型切换",
- "description": "执行房型切换,自动计算差价,创建待确认记录\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):ROOM_CHANGE=房型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):HOTEL=酒店",
- "operationId": "roomTypeChangeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/房型变更请求",
- "originalRef": "房型变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/room-type-change/preview": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "房型切换差价预览",
- "description": "预览房型切换的差价,不创建记录\n\n**关联字典**:\n- resource_type(资源类型,返回字段resourceType):HOTEL=酒店",
- "operationId": "previewRoomTypeChangeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/房型变更请求",
- "originalRef": "房型变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«差价计算结果»",
- "originalRef": "统一响应结果«差价计算结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«差价计算结果»",
- "originalRef": "统一响应结果«差价计算结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/skip": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "跳过节点",
- "description": "将行程中的某个节点标记为跳过(客户不去)\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆",
- "operationId": "skipNodeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "跳过节点请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/跳过行程节点请求",
- "originalRef": "跳过行程节点请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/skip/{editId}": {
- "delete": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "恢复跳过的节点",
- "description": "取消跳过,恢复为正常状态\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认",
- "operationId": "unskipNodeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "editId",
- "in": "path",
- "description": "编辑记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "撤销原因",
- "required": false,
- "schema": {
- "$ref": "#/definitions/撤销行程编辑请求",
- "originalRef": "撤销行程编辑请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/vehicle-type-change": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "车型切换",
- "description": "执行车型切换,自动计算差价,创建待确认记录\n\n**关联字典**:\n- itinerary_edit_action(操作类型,返回字段action):VEHICLE_CHANGE=车型切换\n- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认\n- resource_type(资源类型,返回字段resourceType):VEHICLE=车辆",
- "operationId": "vehicleTypeChangeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/车型变更请求",
- "originalRef": "车型变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderItineraryEdit»",
- "originalRef": "统一响应结果«OrderItineraryEdit»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/itinerary/vehicle-type-change/preview": {
- "post": {
- "tags": [
- "管理端订单行程编辑"
- ],
- "summary": "车型切换差价预览",
- "description": "预览车型切换的差价,不创建记录\n\n**关联字典**:\n- resource_type(资源类型,返回字段resourceType):VEHICLE=车辆",
- "operationId": "previewVehicleTypeChangeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/车型变更请求",
- "originalRef": "车型变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«差价计算结果»",
- "originalRef": "统一响应结果«差价计算结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«差价计算结果»",
- "originalRef": "统一响应结果«差价计算结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/process-status": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "推进内部流程",
- "description": "内部流程推进顺序:待配房(PENDING_ROOM) → 待配车(PENDING_VEHICLE) → 待核算(PENDING_FINANCE) → 就绪(READY)\n\n仅在订单状态为已确认(CONFIRMED)时有效,每次调用自动推进到下一步\n\n【关联字典】\n- 涉及字段 processStatus → 字典:order_process_status(订单内部流程状态)",
- "operationId": "advanceProcessStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/record-balance": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "记录尾款(线下收取)",
- "description": "管理员确认收到尾款 → 上传凭证。已确认(流程就绪)或待出行状态可操作",
- "operationId": "recordBalanceUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "尾款信息",
- "required": false,
- "schema": {
- "$ref": "#/definitions/记录尾款请求",
- "originalRef": "记录尾款请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/remark": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "添加备注",
- "description": "向订单时间线添加一条管理员备注。备注会记录操作人和时间,可用于内部沟通和订单跟踪",
- "operationId": "addRemarkUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "remarkRequest",
- "description": "备注请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/管理员备注请求",
- "originalRef": "管理员备注请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/request-unlock": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "申请修改(解锁已锁定订单)",
- "description": "清单确认后订单进入锁定状态,如需修改需先申请解锁\n\n解锁后可重新编辑订单信息并再次确认清单",
- "operationId": "requestUnlockUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "解锁原因",
- "required": false,
- "schema": {
- "$ref": "#/definitions/申请解锁订单请求",
- "originalRef": "申请解锁订单请求"
- }
- },
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/room-info": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "更新房间信息(仅房务管理员/超级管理员)",
- "description": "更新订单的房间分配信息(房型、房间号、入住安排等)。\n\n**权限**:仅ROOM_MANAGER(房务管理员)或SUPER_ADMIN(超级管理员)可操作。",
- "operationId": "updateRoomInfoUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "roomInfoRequest",
- "description": "房间信息请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/房间信息请求",
- "originalRef": "房间信息请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/room-info/check-diff": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "检测房型一致性",
- "description": "检测当前房间配置是否与产品快照一致。返回 null 表示一致,否则返回不一致描述",
- "operationId": "checkRoomTypeDiffUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "roomInfoJson",
- "description": "roomInfoJson",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/status": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "更新订单状态",
- "description": "合法状态流转:\n- 待支付 → 已付定金/已全额支付/已取消\n- 已付定金 → 已确认/已取消/售后中\n- 已全额支付 → 已确认/已取消/售后中\n- 已确认 → 待付尾款/待出行/已取消/售后中\n- 待付尾款 → 待出行/已取消/售后中\n- 待出行 → 旅行中/售后中\n- 旅行中 → 已完成\n- 已完成 → 售后中\n- 售后中 → 退款中\n- 退款中 → 已退款\n\n【关联字典】\n- 请求参数 status → 字典:order_status(订单状态)",
- "operationId": "updateStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "statusRequest",
- "description": "更新订单状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新订单状态请求",
- "originalRef": "更新订单状态请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/surcharge": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "添加费用增加项",
- "description": "为订单添加费用增加项(如升级房型补差价、加座费等)。\n添加后系统自动重算订单尾款金额。\n\n**权限**:仅该订单的定制师或超级管理员(SUPER_ADMIN)可操作",
- "operationId": "addSurchargeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "surchargeRequest",
- "description": "费用增加项请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/费用增加项请求",
- "originalRef": "费用增加项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderSurcharge»",
- "originalRef": "统一响应结果«OrderSurcharge»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«OrderSurcharge»",
- "originalRef": "统一响应结果«OrderSurcharge»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/surcharge/{surchargeId}": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "修改费用增加项",
- "description": "修改已添加的费用增加项名称或金额,修改后自动重算订单尾款金额。\n\n**权限**:仅该订单的定制师或超级管理员(SUPER_ADMIN)可操作",
- "operationId": "updateSurchargeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "surchargeId",
- "in": "path",
- "description": "费用增加项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "surchargeRequest",
- "description": "费用增加项请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/费用增加项请求",
- "originalRef": "费用增加项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "删除费用增加项",
- "description": "删除已添加的费用增加项,删除后自动重算订单尾款金额。\n\n**权限**:仅该订单的定制师或超级管理员(SUPER_ADMIN)可操作",
- "operationId": "removeSurchargeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "surchargeId",
- "in": "path",
- "description": "费用增加项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/todos": {
- "get": {
- "tags": [
- "订单待办接口"
- ],
- "summary": "获取订单待办列表",
- "description": "返回指定订单的所有待办项(含已完成和未完成)。\n待办类型包括:配房、配车、签合同、购保险、核算等,随内部流程自动生成\n\n【关联字典】\n- 返回字段 todoType → 字典:order_todo_type(订单待办类型)",
- "operationId": "getOrderTodosUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTodo»»",
- "originalRef": "统一响应结果«List«OrderTodo»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTodo»»",
- "originalRef": "统一响应结果«List«OrderTodo»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/transport": {
- "get": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "查询交通信息",
- "description": "查询订单的所有交通信息(航班/车次),按排序序号和出发时间升序排列",
- "operationId": "getTransportUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTransportSegment»»",
- "originalRef": "统一响应结果«List«OrderTransportSegment»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTransportSegment»»",
- "originalRef": "统一响应结果«List«OrderTransportSegment»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "保存交通信息(航班/车次)",
- "description": "为订单保存交通信息,支持多条航班和车次。每次提交为全量替换(先删后增)。\n\n**使用场景**:管理员为订单录入去程/回程的航班号或车次号、出发/到达站点和时间。\n一个订单可以有多条交通记录(如:去程航班+回程航班+市内火车等)。\n\n【关联字典】\n- 请求参数 segments[].transportType → 字典:transport_type(交通类型:FLIGHT-航班, TRAIN-火车)",
- "operationId": "saveTransportUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "transportRequest",
- "description": "交通信息请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/交通信息请求(批量保存)",
- "originalRef": "交通信息请求(批量保存)"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTransportSegment»»",
- "originalRef": "统一响应结果«List«OrderTransportSegment»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTransportSegment»»",
- "originalRef": "统一响应结果«List«OrderTransportSegment»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/travelers": {
- "get": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "获取订单出行人列表",
- "description": "返回指定订单的所有出行人信息,用于保险投保时自动填充被保人。\n\n**权限**:需管理员登录\n\n**关联字典**:\n- 返回字段 travelerType → 字典:traveler_type(出行人类型)\n- 返回字段 idCardType → 字典:id_card_type(证件类型)\n- 返回字段 gender → 字典:gender(性别)",
- "operationId": "getOrderTravelersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTraveler»»",
- "originalRef": "统一响应结果«List«OrderTraveler»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«OrderTraveler»»",
- "originalRef": "统一响应结果«List«OrderTraveler»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/vehicle-assignment": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "分配车辆信息",
- "description": "为订单分配具体的车辆和司机信息(车型、品牌、车牌号、司机姓名和电话)。\n分配后信息将展示在订单详情和C端行程中",
- "operationId": "assignVehicleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/车辆分配请求",
- "originalRef": "车辆分配请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/vehicle-info": {
- "put": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "更新车辆信息(仅车务管理员/超级管理员)",
- "description": "更新订单的车辆分配信息(车型、车牌号、司机等)。\n\n**权限**:仅VEHICLE_MANAGER(车务管理员)或SUPER_ADMIN(超级管理员)可操作。",
- "operationId": "updateVehicleInfoUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "vehicleInfoRequest",
- "description": "车辆信息请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车辆信息请求",
- "originalRef": "车辆信息请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/{orderId}/vehicle-info/check-diff": {
- "post": {
- "tags": [
- "管理端订单接口"
- ],
- "summary": "检测车型一致性",
- "description": "检测当前车辆配置是否与产品快照一致。返回 null 表示一致,否则返回不一致描述",
- "operationId": "checkVehicleTypeDiffUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderId",
- "in": "path",
- "description": "订单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "vehicleInfoJson",
- "description": "vehicleInfoJson",
- "required": false,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund-policy": {
- "post": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "创建退款政策",
- "description": "退款政策定义按距出发天数的退款比例阶梯\n\n例如:出发前30天退90%,前15天退70%,前7天退50%,7天内不可退\n\n创建后需在产品设计时绑定,产品未绑定退款政策时使用默认政策",
- "operationId": "createUsingPOST_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "policyRequest",
- "description": "创建退款政策请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/退款政策请求",
- "originalRef": "退款政策请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款政策VO»",
- "originalRef": "统一响应结果«退款政策VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款政策VO»",
- "originalRef": "统一响应结果«退款政策VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund-policy/enabled": {
- "get": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "启用的退款政策列表",
- "description": "仅返回启用状态的政策,供产品设计时选择绑定",
- "operationId": "listEnabledUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款政策VO»»",
- "originalRef": "统一响应结果«List«退款政策VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款政策VO»»",
- "originalRef": "统一响应结果«List«退款政策VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund-policy/list": {
- "get": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "退款政策列表",
- "description": "返回所有退款政策(含禁用),按默认→创建时间倒序",
- "operationId": "listUsingGET_2",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款政策VO»»",
- "originalRef": "统一响应结果«List«退款政策VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款政策VO»»",
- "originalRef": "统一响应结果«List«退款政策VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund-policy/{policyId}": {
- "get": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "退款政策详情",
- "operationId": "detailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "policyId",
- "in": "path",
- "description": "退款政策ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款政策VO»",
- "originalRef": "统一响应结果«退款政策VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款政策VO»",
- "originalRef": "统一响应结果«退款政策VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "修改退款政策",
- "operationId": "updateUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "policyId",
- "in": "path",
- "description": "退款政策ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "policyRequest",
- "description": "修改退款政策请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/退款政策请求",
- "originalRef": "退款政策请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款政策VO»",
- "originalRef": "统一响应结果«退款政策VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款政策VO»",
- "originalRef": "统一响应结果«退款政策VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "删除退款政策",
- "description": "软删除。已绑定该政策的产品申请退款时将降级使用默认政策。不影响历史退款申请(已快照)。",
- "operationId": "deleteUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "policyId",
- "in": "path",
- "description": "退款政策ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund-policy/{policyId}/toggle": {
- "put": {
- "tags": [
- "退款政策管理"
- ],
- "summary": "启用/禁用退款政策",
- "description": "禁用后不再出现在产品设计的可选列表中,已绑定的产品申请退款时降级使用默认政策",
- "operationId": "toggleUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "enabled",
- "in": "query",
- "description": "是否启用",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "policyId",
- "in": "path",
- "description": "退款政策ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/list": {
- "get": {
- "tags": [
- "退款管理"
- ],
- "summary": "退款申请列表",
- "description": "分页查询退款申请,支持按状态筛选。\n状态包括:PENDING(待审批)、APPROVED(已通过)、REJECTED(已拒绝)、REFUNDING(退款中)、REFUNDED(已退款)、CANCELLED(已撤回)、APPEAL(申诉中)\n\n【关联字典】\n- 筛选参数 status → 字典:refund_status(退款状态)\n- 返回字段 status → 字典:refund_status(退款状态)",
- "operationId": "listApplicationsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«退款申请VO»»",
- "originalRef": "统一响应结果«分页结果«退款申请VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«退款申请VO»»",
- "originalRef": "统一响应结果«分页结果«退款申请VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/reason": {
- "post": {
- "tags": [
- "退款管理"
- ],
- "summary": "创建退款原因",
- "description": "新增退款原因选项,C端用户申请退款时可选择。按sortOrder排序展示\n\n【关联字典】\n- 请求参数 category → 字典:refund_reason_category(退款原因分类)",
- "operationId": "createReasonUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "createRequest",
- "description": "创建退款原因请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建退款原因请求",
- "originalRef": "创建退款原因请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款原因VO»",
- "originalRef": "统一响应结果«退款原因VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款原因VO»",
- "originalRef": "统一响应结果«退款原因VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/reason/list": {
- "get": {
- "tags": [
- "退款管理"
- ],
- "summary": "退款原因列表",
- "description": "获取所有退款原因选项(含禁用的),用于退款原因管理页面\n\n【关联字典】\n- 返回字段 category → 字典:refund_reason_category(退款原因分类)",
- "operationId": "listReasonsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款原因VO»»",
- "originalRef": "统一响应结果«List«退款原因VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«退款原因VO»»",
- "originalRef": "统一响应结果«List«退款原因VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/reason/{reasonId}": {
- "put": {
- "tags": [
- "退款管理"
- ],
- "summary": "修改退款原因",
- "description": "修改退款原因的文本、分类或排序,不影响已使用该原因的历史退款申请\n\n【关联字典】\n- 请求参数 category → 字典:refund_reason_category(退款原因分类)",
- "operationId": "updateReasonUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reasonId",
- "in": "path",
- "description": "退款原因ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "updateRequest",
- "description": "修改退款原因请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/修改退款原因请求",
- "originalRef": "修改退款原因请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款原因VO»",
- "originalRef": "统一响应结果«退款原因VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款原因VO»",
- "originalRef": "统一响应结果«退款原因VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "退款管理"
- ],
- "summary": "删除退款原因",
- "description": "软删除退款原因,删除后C端不再展示。不影响已使用该原因的历史退款申请",
- "operationId": "deleteReasonUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reasonId",
- "in": "path",
- "description": "退款原因ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/{applicationId}": {
- "get": {
- "tags": [
- "退款管理"
- ],
- "summary": "退款申请详情",
- "description": "返回退款申请的完整信息,包括退款原因、申请金额、实退金额、审批记录、申诉信息等\n\n【关联字典】\n- 返回字段 status → 字典:refund_status(退款状态)",
- "operationId": "getDetailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/{applicationId}/complete": {
- "put": {
- "tags": [
- "退款管理"
- ],
- "summary": "手动完成退款",
- "description": "用于测试订单或线下退款场景。将处于'退款中'状态的退款申请直接标记为'已退款'",
- "operationId": "manualCompleteUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/{applicationId}/execute-appeal": {
- "put": {
- "tags": [
- "退款管理"
- ],
- "summary": "申诉通过后执行退款",
- "description": "申诉退款流程:用户发起申诉 → 企微OA审批 → 审批通过后管理员确认实退金额 → 调起微信退款",
- "operationId": "executeAppealUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "appealRequest",
- "description": "申诉退款执行请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/申诉退款执行请求",
- "originalRef": "申诉退款执行请求"
- }
- },
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/refund/{applicationId}/review": {
- "put": {
- "tags": [
- "退款管理"
- ],
- "summary": "审批退款申请",
- "description": "退款审批流程:查看退款申请 → 决定通过/拒绝 → 通过时填写实退金额 → 系统自动调起微信退款\n\n拒绝后用户可发起申诉\n\n【关联字典】\n- 返回字段 status → 字典:refund_status(退款状态)",
- "operationId": "reviewUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applicationId",
- "in": "path",
- "description": "退款申请ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "reviewRequest",
- "description": "审批退款请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/管理员退款审批请求",
- "originalRef": "管理员退款审批请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«退款申请VO»",
- "originalRef": "统一响应结果«退款申请VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/invoice/page": {
- "get": {
- "tags": [
- "发票管理"
- ],
- "summary": "发票分页列表",
- "description": "分页查询发票申请列表,支持按状态、订单号、用户ID筛选。\n\n【关联字典】\n- 筛选参数 status → 字典:invoice_status(发票状态):PENDING=待开票, ISSUED=已开票, FAILED=开票失败, VOIDED=已作废\n- 返回字段 titleType → 字典:invoice_title_type(抬头类型):PERSONAL=个人, COMPANY=企业\n- 返回字段 status → 字典:invoice_status(发票状态)",
- "operationId": "pageInvoicesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "orderNo",
- "in": "query",
- "description": "订单编号(模糊搜索)",
- "required": false,
- "type": "string",
- "x-example": "HL2026"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "status",
- "in": "query",
- "description": "发票状态(字典:invoice_status)",
- "required": false,
- "type": "string",
- "x-example": "PENDING"
- },
- {
- "name": "userId",
- "in": "query",
- "description": "用户ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 1760000000000001
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«发票VO»»",
- "originalRef": "统一响应结果«分页结果«发票VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«发票VO»»",
- "originalRef": "统一响应结果«分页结果«发票VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/invoice/upload": {
- "post": {
- "tags": [
- "发票管理"
- ],
- "summary": "上传发票文件",
- "description": "上传发票PDF/图片文件,返回文件访问URL。\n上传成功后,将返回的fileUrl传给「开票完成」接口即可。\n\n【支持格式】PDF、JPG、PNG\n【大小限制】10MB",
- "operationId": "uploadInvoiceFileUsingPOST",
- "consumes": [
- "multipart/form-data"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "file",
- "in": "formData",
- "description": "发票文件(PDF/JPG/PNG)",
- "required": false,
- "type": "file"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/invoice/{id}": {
- "get": {
- "tags": [
- "发票管理"
- ],
- "summary": "发票详情",
- "description": "获取发票的完整信息,包含开票信息、用户信息、企业信息等。\n\n【关联字典】\n- 返回字段 titleType → 字典:invoice_title_type(抬头类型)\n- 返回字段 status → 字典:invoice_status(发票状态)",
- "operationId": "getInvoiceDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "发票ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/invoice/{id}/fail": {
- "put": {
- "tags": [
- "发票管理"
- ],
- "summary": "开票失败",
- "description": "标记发票开票失败,需填写失败原因。用户可根据原因修正后重新申请。\n只有待开票(PENDING)状态的发票可以操作。",
- "operationId": "failInvoiceUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "发票ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "failRequest",
- "description": "failRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理员开票失败请求",
- "originalRef": "管理员开票失败请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/invoice/{id}/issue": {
- "put": {
- "tags": [
- "发票管理"
- ],
- "summary": "开票完成",
- "description": "管理员上传发票文件并填写发票号码后,将发票状态改为已开票。\n只有待开票(PENDING)或开票失败(FAILED)状态的发票可以操作。",
- "operationId": "issueInvoiceUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "发票ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "issueRequest",
- "description": "issueRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理员开票请求",
- "originalRef": "管理员开票请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/invoice/{id}/void": {
- "put": {
- "tags": [
- "发票管理"
- ],
- "summary": "作废发票",
- "description": "将发票标记为已作废。已作废的发票不可重复作废。",
- "operationId": "voidInvoiceUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "发票ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«发票VO»",
- "originalRef": "统一响应结果«发票VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/customize/page": {
- "get": {
- "tags": [
- "私人定制管理"
- ],
- "summary": "定制请求列表",
- "description": "分页查询定制请求,支持关键词搜索、状态筛选、定制师筛选\n\n【关联字典】\n- 筛选参数 status → 字典:customize_request_status(定制请求状态)\n- 返回字段 status → 字典:customize_request_status(定制请求状态)\n- 返回字段 travelPurpose → 字典:travel_purpose(旅游目的)\n- 返回字段 requestType → 字典:customize_request_type(需求类型)\n- 返回字段 budget → 字典:customize_budget(预算范围)",
- "operationId": "pageUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "designerId",
- "in": "query",
- "description": "定制师ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 1234567890
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(联系人/目标地区/需求描述)",
- "required": false,
- "type": "string",
- "x-example": "云南"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段(createTime/startDate)",
- "required": false,
- "type": "string",
- "x-example": "createTime"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向(desc/asc)",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态(字典:customize_request_status)",
- "required": false,
- "type": "string",
- "x-example": "PENDING"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«定制请求列表VO»»",
- "originalRef": "统一响应结果«分页结果«定制请求列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«定制请求列表VO»»",
- "originalRef": "统一响应结果«分页结果«定制请求列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/customize/{requestId}": {
- "get": {
- "tags": [
- "私人定制管理"
- ],
- "summary": "定制请求详情",
- "description": "查看定制请求完整信息\n\n【关联字典】\n- 返回字段 status → 字典:customize_request_status(定制请求状态)\n- 返回字段 travelPurpose → 字典:travel_purpose(旅游目的)\n- 返回字段 requestType → 字典:customize_request_type(需求类型)\n- 返回字段 budget → 字典:customize_budget(预算范围)",
- "operationId": "detailUsingGET_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "requestId",
- "in": "path",
- "description": "定制请求ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/customize/{requestId}/accept": {
- "put": {
- "tags": [
- "私人定制管理"
- ],
- "summary": "接受定制请求",
- "description": "定制师接受定制请求,状态从待处理变为已接受。如果用户未指定定制师,系统将自动分配当前操作人为定制师",
- "operationId": "acceptUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "requestId",
- "in": "path",
- "description": "定制请求ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/customize/{requestId}/complete": {
- "put": {
- "tags": [
- "私人定制管理"
- ],
- "summary": "标记完成",
- "description": "将已报价的定制请求标记为已完成(用户已确认方案或已下单)",
- "operationId": "completeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "requestId",
- "in": "path",
- "description": "定制请求ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/order/customize/{requestId}/reply": {
- "put": {
- "tags": [
- "私人定制管理"
- ],
- "summary": "回复/报价",
- "description": "定制师回复定制请求或提交报价方案。\n- 仅填写回复内容:状态变为「设计中」\n- 同时关联产品ID:状态变为「已报价」\n\n只有已接受或设计中状态可以回复",
- "operationId": "replyUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "requestId",
- "in": "path",
- "description": "定制请求ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "replyRequest",
- "description": "replyRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/定制师回复/报价请求",
- "originalRef": "定制师回复/报价请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«定制请求详情VO»",
- "originalRef": "统一响应结果«定制请求详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "AlbumFileAddRequest": {
- "type": "object",
- "properties": {
- "customLocation": {
- "type": "string",
- "description": "自定义地点文本(地点类型为CUSTOM时)"
- },
- "description": {
- "type": "string",
- "description": "文件描述"
- },
- "fileId": {
- "type": "integer",
- "format": "int64",
- "description": "文件ID(来自file_info)"
- },
- "fileType": {
- "type": "string",
- "description": "文件类型: IMAGE/VIDEO"
- },
- "locationType": {
- "type": "string",
- "description": "地点类型: RESOURCE/CUSTOM"
- },
- "ossUrl": {
- "type": "string",
- "description": "文件访问URL"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID(地点类型为RESOURCE时)"
- },
- "resourceName": {
- "type": "string",
- "description": "资源名称(地点类型为RESOURCE时)"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型(地点类型为RESOURCE时)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "thumbnailUrl": {
- "type": "string",
- "description": "缩略图URL"
- }
- },
- "title": "AlbumFileAddRequest"
- },
- "AlbumFileBatchAddRequest": {
- "type": "object",
- "properties": {
- "files": {
- "type": "array",
- "description": "文件列表",
- "items": {
- "$ref": "#/definitions/AlbumFileAddRequest",
- "originalRef": "AlbumFileAddRequest"
- }
- }
- },
- "title": "AlbumFileBatchAddRequest"
- },
- "AlbumFileUpdateRequest": {
- "type": "object",
- "properties": {
- "customLocation": {
- "type": "string",
- "description": "自定义地点文本"
- },
- "description": {
- "type": "string",
- "description": "文件描述"
- },
- "locationType": {
- "type": "string",
- "description": "地点类型: RESOURCE/CUSTOM"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- }
- },
- "title": "AlbumFileUpdateRequest"
- },
- "AlbumFileVO": {
- "type": "object",
- "properties": {
- "albumFileId": {
- "type": "integer",
- "format": "int64",
- "description": "相册文件ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "上传人ID"
- },
- "customLocation": {
- "type": "string",
- "description": "自定义地点文本"
- },
- "description": {
- "type": "string",
- "description": "文件描述"
- },
- "fileId": {
- "type": "integer",
- "format": "int64",
- "description": "文件ID"
- },
- "fileType": {
- "type": "string",
- "description": "文件类型: IMAGE/VIDEO"
- },
- "folderId": {
- "type": "integer",
- "format": "int64",
- "description": "所属文件夹ID"
- },
- "locationText": {
- "type": "string",
- "description": "地点显示文本"
- },
- "locationType": {
- "type": "string",
- "description": "地点类型: RESOURCE/CUSTOM"
- },
- "ossUrl": {
- "type": "string",
- "description": "文件访问URL"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "thumbnailUrl": {
- "type": "string",
- "description": "缩略图URL"
- }
- },
- "title": "AlbumFileVO"
- },
- "AlbumFolderRequest": {
- "type": "object",
- "properties": {
- "folderName": {
- "type": "string",
- "description": "文件夹名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- }
- },
- "title": "AlbumFolderRequest"
- },
- "AlbumFolderVO": {
- "type": "object",
- "properties": {
- "coverThumbnailUrl": {
- "type": "string",
- "description": "封面缩略图URL"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面文件URL"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "fileCount": {
- "type": "integer",
- "format": "int32",
- "description": "文件数量"
- },
- "folderId": {
- "type": "integer",
- "format": "int64",
- "description": "文件夹ID"
- },
- "folderName": {
- "type": "string",
- "description": "文件夹名称"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "关联订单ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- }
- },
- "title": "AlbumFolderVO"
- },
- "CreateWorkOrderRequest": {
- "type": "object",
- "required": [
- "description",
- "orderId",
- "priority",
- "type"
- ],
- "properties": {
- "assigneeAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "指定处理人ID"
- },
- "assigneeName": {
- "type": "string",
- "description": "指定处理人姓名"
- },
- "attachmentUrls": {
- "type": "string",
- "description": "附件URL(JSON数组)"
- },
- "costDifference": {
- "type": "number",
- "description": "差价(正数=客户需补差价, 负数=需退费给客户)"
- },
- "description": {
- "type": "string",
- "description": "问题描述"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "关联订单ID"
- },
- "priority": {
- "type": "string",
- "description": "优先级: URGENT(紧急,如当天出发需处理)/NORMAL(普通)"
- },
- "resourceDetail": {
- "type": "string",
- "description": "资源详情JSON(酒店/车辆/景点信息)"
- },
- "type": {
- "type": "string",
- "description": "工单类型: ROOM_CHANGE(换房)/ROOM_ADD(加房)/CHECKOUT_CHANGE(改退房日期)/HOTEL_ISSUE(酒店问题)/VEHICLE_CHANGE(换车)/SCENIC_ADD(加景点)/SCENIC_REMOVE(减景点)/OTHER(其他)"
- }
- },
- "title": "CreateWorkOrderRequest"
- },
- "Map«string,object»": {
- "type": "object",
- "title": "Map«string,object»",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_1": {
- "type": "object",
- "title": "Map«string,object»_1",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_2": {
- "type": "object",
- "title": "Map«string,object»_2",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_3": {
- "type": "object",
- "title": "Map«string,object»_3",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_4": {
- "type": "object",
- "title": "Map«string,object»_4",
- "additionalProperties": {
- "type": "object"
- }
- },
- "OrderDiscount": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "discountAmount": {
- "type": "number",
- "description": "优惠金额"
- },
- "discountId": {
- "type": "integer",
- "format": "int64",
- "description": "优惠ID"
- },
- "discountName": {
- "type": "string",
- "description": "优惠名称"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderDiscount"
- },
- "OrderItineraryEdit": {
- "type": "object",
- "properties": {
- "action": {
- "type": "string",
- "description": "操作类型:SKIP/ADD"
- },
- "balanceAdjustment": {
- "type": "number",
- "description": "尾款调整金额(正数=增加尾款,负数=减少尾款)"
- },
- "changeDays": {
- "type": "integer",
- "format": "int32",
- "description": "变更天数"
- },
- "changeReasonCode": {
- "type": "string",
- "description": "变更原因代码(字典项)"
- },
- "changeReasonLabel": {
- "type": "string",
- "description": "变更原因标签"
- },
- "confirmStatus": {
- "type": "string",
- "description": "确认状态:PENDING_CONFIRM/CONFIRMED"
- },
- "confirmedAt": {
- "type": "string",
- "format": "date-time",
- "description": "确认时间"
- },
- "confirmedBy": {
- "type": "integer",
- "format": "int64",
- "description": "确认人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数编号"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "description": {
- "type": "string",
- "description": "节点描述(ADD时)"
- },
- "editId": {
- "type": "integer",
- "format": "int64",
- "description": "编辑ID"
- },
- "newResourceName": {
- "type": "string",
- "description": "新资源名称(房型/车型)"
- },
- "newUnitPrice": {
- "type": "number",
- "description": "新单价(日均)"
- },
- "nodeId": {
- "type": "string",
- "description": "原节点ID(SKIP时必填)"
- },
- "nodeName": {
- "type": "string",
- "description": "节点名称(ADD时)"
- },
- "nodeType": {
- "type": "string",
- "description": "节点类型(ADD时)"
- },
- "operatorId": {
- "type": "integer",
- "format": "int64",
- "description": "操作人ID"
- },
- "operatorName": {
- "type": "string",
- "description": "操作人姓名"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "originalResourceName": {
- "type": "string",
- "description": "原资源名称(房型/车型)"
- },
- "originalUnitPrice": {
- "type": "number",
- "description": "原单价(日均)"
- },
- "reason": {
- "type": "string",
- "description": "修改原因"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "关联资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号(ADD时)"
- },
- "startTime": {
- "type": "string",
- "description": "开始时间(ADD时)"
- },
- "suggestedAdjustment": {
- "type": "number",
- "description": "系统建议差价"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderItineraryEdit"
- },
- "OrderSurcharge": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "surchargeAmount": {
- "type": "number",
- "description": "费用增加金额"
- },
- "surchargeId": {
- "type": "integer",
- "format": "int64",
- "description": "费用增加项ID"
- },
- "surchargeName": {
- "type": "string",
- "description": "费用增加项名称"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderSurcharge"
- },
- "OrderTimeline": {
- "type": "object",
- "properties": {
- "action": {
- "type": "string",
- "description": "操作动作"
- },
- "actionLabel": {
- "type": "string",
- "description": "操作动作中文标签"
- },
- "content": {
- "type": "string",
- "description": "操作内容"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "operatorId": {
- "type": "integer",
- "format": "int64",
- "description": "操作人ID"
- },
- "operatorName": {
- "type": "string",
- "description": "操作人姓名"
- },
- "operatorType": {
- "type": "string",
- "description": "操作人类型:USER=用户 ADMIN=管理员 SYSTEM=系统"
- },
- "operatorTypeLabel": {
- "type": "string",
- "description": "操作人类型中文标签"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "timelineId": {
- "type": "integer",
- "format": "int64",
- "description": "时间线ID"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderTimeline"
- },
- "OrderTodo": {
- "type": "object",
- "properties": {
- "assigneeAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "指派管理员ID"
- },
- "assigneeRoleKey": {
- "type": "string",
- "description": "指派角色Key"
- },
- "assigneeRoleLabel": {
- "type": "string",
- "description": "指派角色中文标签"
- },
- "completedAt": {
- "type": "string",
- "format": "date-time",
- "description": "完成时间"
- },
- "completedBy": {
- "type": "integer",
- "format": "int64",
- "description": "完成人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "lastNotifiedAt": {
- "type": "string",
- "format": "date-time",
- "description": "最后通知时间"
- },
- "notificationCount": {
- "type": "integer",
- "format": "int32",
- "description": "通知次数"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单编号"
- },
- "sequence": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "status": {
- "type": "string",
- "description": "待办状态"
- },
- "todoId": {
- "type": "integer",
- "format": "int64",
- "description": "待办ID"
- },
- "todoLabel": {
- "type": "string",
- "description": "待办标签"
- },
- "todoType": {
- "type": "string",
- "description": "待办类型"
- },
- "todoTypeLabel": {
- "type": "string",
- "description": "待办类型中文标签"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderTodo"
- },
- "OrderTransportSegment": {
- "type": "object",
- "properties": {
- "arriveStation": {
- "type": "string",
- "description": "到达站/到达机场"
- },
- "arriveTime": {
- "type": "string",
- "format": "date-time",
- "description": "到达时间"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "departStation": {
- "type": "string",
- "description": "出发站/出发机场"
- },
- "departTime": {
- "type": "string",
- "format": "date-time",
- "description": "出发时间"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "segmentId": {
- "type": "integer",
- "format": "int64",
- "description": "分段ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "transportNo": {
- "type": "string",
- "description": "航班号/车次号"
- },
- "transportType": {
- "type": "string",
- "description": "交通类型(字典:transport_type): FLIGHT-航班, TRAIN-火车"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderTransportSegment"
- },
- "OrderTraveler": {
- "type": "object",
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "description": "出生日期"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time",
- "description": "删除时间(软删除)"
- },
- "email": {
- "type": "string",
- "description": "邮箱地址"
- },
- "emergencyContact": {
- "type": "string",
- "description": "紧急联系人姓名"
- },
- "emergencyPhone": {
- "type": "string",
- "description": "紧急联系人电话(加密存储)"
- },
- "gender": {
- "type": "string",
- "description": "性别(字典:gender)"
- },
- "idCardNo": {
- "type": "string",
- "description": "证件号码(加密存储)"
- },
- "idCardType": {
- "type": "string",
- "description": "证件类型(字典:id_card_type)"
- },
- "idCardTypeLabel": {
- "type": "string",
- "description": "证件类型中文标签"
- },
- "insurancePolicies": {
- "type": "array",
- "description": "该出行人的保险保单列表(按人合并,含保障期间和保单号)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "name": {
- "type": "string",
- "description": "出行人姓名"
- },
- "nationality": {
- "type": "string",
- "description": "国籍"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderTravelerId": {
- "type": "integer",
- "format": "int64",
- "description": "出行人记录ID"
- },
- "phone": {
- "type": "string",
- "description": "手机号码(加密存储)"
- },
- "travelerType": {
- "type": "string",
- "description": "出行人类型(字典:traveler_type)"
- },
- "travelerTypeLabel": {
- "type": "string",
- "description": "出行人类型中文标签"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "OrderTraveler"
- },
- "PrevDayHotel": {
- "type": "object",
- "properties": {
- "hotelId": {
- "type": "integer",
- "format": "int64",
- "description": "酒店ID"
- },
- "hotelName": {
- "type": "string",
- "description": "酒店名称"
- },
- "roomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "房型ID"
- },
- "roomTypeName": {
- "type": "string",
- "description": "房型名称"
- }
- },
- "title": "PrevDayHotel"
- },
- "ProcessWorkOrderRequest": {
- "type": "object",
- "required": [
- "action"
- ],
- "properties": {
- "action": {
- "type": "string",
- "description": "操作: RESOLVE(解决) / REJECT(驳回)"
- },
- "costDifference": {
- "type": "number",
- "description": "调整后差价"
- },
- "rejectReason": {
- "type": "string",
- "description": "驳回原因(驳回时填写)"
- },
- "resolution": {
- "type": "string",
- "description": "处理结果(解决时填写)"
- }
- },
- "title": "ProcessWorkOrderRequest"
- },
- "WorkOrderVO": {
- "type": "object",
- "properties": {
- "assigneeAdminId": {
- "type": "string",
- "description": "处理人ID"
- },
- "assigneeName": {
- "type": "string",
- "description": "处理人姓名"
- },
- "attachmentUrls": {
- "type": "string",
- "description": "附件URL(JSON数组)"
- },
- "costDifference": {
- "type": "number",
- "description": "差价"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "creatorAdminId": {
- "type": "string",
- "description": "发起人ID"
- },
- "creatorName": {
- "type": "string",
- "description": "发起人姓名"
- },
- "description": {
- "type": "string",
- "description": "问题描述"
- },
- "logs": {
- "type": "array",
- "description": "操作日志列表",
- "items": {
- "$ref": "#/definitions/工单操作日志VO",
- "originalRef": "工单操作日志VO"
- }
- },
- "orderId": {
- "type": "string",
- "description": "关联订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "关联订单编号"
- },
- "priority": {
- "type": "string",
- "description": "优先级"
- },
- "priorityLabel": {
- "type": "string",
- "description": "优先级标签"
- },
- "rejectReason": {
- "type": "string",
- "description": "驳回原因"
- },
- "resolution": {
- "type": "string",
- "description": "处理结果"
- },
- "resolvedAt": {
- "type": "string",
- "format": "date-time",
- "description": "处理完成时间"
- },
- "resourceDetail": {
- "type": "string",
- "description": "资源详情JSON"
- },
- "status": {
- "type": "string",
- "description": "状态"
- },
- "statusLabel": {
- "type": "string",
- "description": "状态标签"
- },
- "type": {
- "type": "string",
- "description": "工单类型"
- },
- "typeLabel": {
- "type": "string",
- "description": "工单类型标签"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "workOrderId": {
- "type": "string",
- "description": "工单ID"
- },
- "workOrderNo": {
- "type": "string",
- "description": "工单编号"
- }
- },
- "title": "WorkOrderVO"
- },
- "交通信息请求(批量保存)": {
- "type": "object",
- "required": [
- "segments"
- ],
- "properties": {
- "segments": {
- "type": "array",
- "description": "交通分段列表",
- "items": {
- "$ref": "#/definitions/交通分段项",
- "originalRef": "交通分段项"
- }
- }
- },
- "title": "交通信息请求(批量保存)"
- },
- "交通分段项": {
- "type": "object",
- "required": [
- "transportType"
- ],
- "properties": {
- "arriveStation": {
- "type": "string",
- "example": "广州白云T2",
- "description": "到达站/到达机场"
- },
- "arriveTime": {
- "type": "string",
- "format": "date-time",
- "example": "2026-04-01T11:45:00",
- "description": "到达时间"
- },
- "departStation": {
- "type": "string",
- "example": "北京首都T3",
- "description": "出发站/出发机场"
- },
- "departTime": {
- "type": "string",
- "format": "date-time",
- "example": "2026-04-01T08:30:00",
- "description": "出发时间"
- },
- "remark": {
- "type": "string",
- "example": "请提前2小时到达机场",
- "description": "备注"
- },
- "transportNo": {
- "type": "string",
- "example": "CA1234",
- "description": "航班号/车次号"
- },
- "transportType": {
- "type": "string",
- "example": "FLIGHT",
- "description": "交通类型(字典:transport_type): FLIGHT-航班, TRAIN-火车"
- }
- },
- "title": "交通分段项"
- },
- "优惠项请求": {
- "type": "object",
- "required": [
- "discountAmount",
- "discountName"
- ],
- "properties": {
- "discountAmount": {
- "type": "number",
- "example": 100.0,
- "description": "优惠金额"
- },
- "discountName": {
- "type": "string",
- "example": "会员折扣",
- "description": "优惠项目名称"
- }
- },
- "title": "优惠项请求"
- },
- "修改定金金额请求": {
- "type": "object",
- "required": [
- "amount"
- ],
- "properties": {
- "amount": {
- "type": "number",
- "example": 500.0,
- "description": "定金金额"
- }
- },
- "title": "修改定金金额请求"
- },
- "修改订单过期时间请求": {
- "type": "object",
- "required": [
- "minutes"
- ],
- "properties": {
- "minutes": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "过期时间(分钟)"
- }
- },
- "title": "修改订单过期时间请求"
- },
- "出行人信息": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期(后端根据此字段自动判断人员类型,未传则默认ADULT)"
- },
- "email": {
- "type": "string",
- "example": "lisi@example.com",
- "description": "电子邮箱"
- },
- "emergencyContact": {
- "type": "string",
- "example": "王五",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "example": 13800138002,
- "description": "紧急联系电话"
- },
- "gender": {
- "type": "string",
- "example": 1,
- "description": "性别(字典:gender)"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型(字典:id_card_type)"
- },
- "name": {
- "type": "string",
- "example": "李四",
- "description": "出行人姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "phone": {
- "type": "string",
- "example": 13800138001,
- "description": "手机号"
- }
- },
- "title": "出行人信息"
- },
- "分页结果«AlbumFileVO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/AlbumFileVO",
- "originalRef": "AlbumFileVO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«AlbumFileVO»"
- },
- "分页结果«WorkOrderVO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/WorkOrderVO",
- "originalRef": "WorkOrderVO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«WorkOrderVO»"
- },
- "分页结果«早鸟优惠计划VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/早鸟优惠计划VO",
- "originalRef": "早鸟优惠计划VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«早鸟优惠计划VO»"
- },
- "分页结果«管理员订单列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/管理员订单列表VO",
- "originalRef": "管理员订单列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«管理员订单列表VO»"
- },
- "单天住宿分配": {
- "type": "object",
- "properties": {
- "date": {
- "type": "string",
- "description": "日期(yyyy-MM-dd)"
- },
- "hotelCoverUrl": {
- "type": "string",
- "description": "酒店封面图URL(从产品快照提取,可能为空)"
- },
- "hotelId": {
- "type": "integer",
- "format": "int64",
- "description": "酒店ID"
- },
- "hotelName": {
- "type": "string",
- "description": "酒店名称"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "description": "房间数量"
- },
- "roomType": {
- "type": "string",
- "description": "房型名称"
- },
- "roomTypeCoverUrl": {
- "type": "string",
- "description": "房型封面图URL(从产品快照提取,可能为空)"
- },
- "roomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "房型ID"
- }
- },
- "title": "单天住宿分配"
- },
- "单天升级差价明细": {
- "type": "object",
- "properties": {
- "assignedPrice": {
- "type": "number",
- "description": "实际房型当天单价"
- },
- "assignedRoomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "实际分配房型ID"
- },
- "assignedRoomTypeName": {
- "type": "string",
- "description": "实际分配房型名称"
- },
- "date": {
- "type": "string",
- "description": "日期"
- },
- "dayDiff": {
- "type": "number",
- "description": "当天差价"
- },
- "defaultPrice": {
- "type": "number",
- "description": "默认房型当天单价"
- },
- "defaultRoomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "产品默认房型ID"
- },
- "defaultRoomTypeName": {
- "type": "string",
- "description": "产品默认房型名称"
- },
- "direction": {
- "type": "string",
- "description": "差价方向"
- },
- "familyIndex": {
- "type": "integer",
- "format": "int32",
- "description": "家庭序号"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- }
- },
- "title": "单天升级差价明细"
- },
- "单天单家庭酒店分配": {
- "type": "object",
- "required": [
- "date",
- "familyIndex",
- "hotelId",
- "hotelName",
- "roomType",
- "roomTypeId"
- ],
- "properties": {
- "date": {
- "type": "string",
- "description": "日期(yyyy-MM-dd),单天"
- },
- "familyIndex": {
- "type": "integer",
- "format": "int32",
- "description": "家庭序号"
- },
- "hotelId": {
- "type": "integer",
- "format": "int64",
- "description": "酒店ID"
- },
- "hotelName": {
- "type": "string",
- "description": "酒店名称"
- },
- "remark": {
- "type": "string",
- "description": "当天备注"
- },
- "roomType": {
- "type": "string",
- "description": "房型名称"
- },
- "roomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "房型ID"
- },
- "upgradePrice": {
- "type": "number",
- "description": "手动覆盖升级差价(null=使用系统计算值,仅当房型与产品默认不同时有效)"
- }
- },
- "title": "单天单家庭酒店分配"
- },
- "工单操作日志VO": {
- "type": "object",
- "properties": {
- "action": {
- "type": "string",
- "description": "操作动作"
- },
- "actionLabel": {
- "type": "string",
- "description": "操作动作标签"
- },
- "content": {
- "type": "string",
- "description": "操作内容"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "操作时间"
- },
- "logId": {
- "type": "string",
- "description": "日志ID"
- },
- "operatorName": {
- "type": "string",
- "description": "操作人姓名"
- }
- },
- "title": "工单操作日志VO"
- },
- "差价计算结果": {
- "type": "object",
- "properties": {
- "changeDays": {
- "type": "integer",
- "format": "int32",
- "description": "变更天数"
- },
- "description": {
- "type": "string",
- "description": "差价描述(中文说明)"
- },
- "direction": {
- "type": "string",
- "description": "差价方向:UPGRADE=升级加价, DOWNGRADE=降级减价, SAME=价格不变"
- },
- "newName": {
- "type": "string",
- "description": "新资源名称"
- },
- "newUnitPrice": {
- "type": "number",
- "description": "新单价(日均)"
- },
- "originalName": {
- "type": "string",
- "description": "原资源名称"
- },
- "originalUnitPrice": {
- "type": "number",
- "description": "原单价(日均)"
- },
- "priceDiff": {
- "type": "number",
- "description": "差价金额(正数=需补款,负数=可退款)"
- }
- },
- "title": "差价计算结果"
- },
- "房型变更请求": {
- "type": "object",
- "required": [
- "dayNumber",
- "newRoomTypeId",
- "originalRoomTypeId",
- "reason"
- ],
- "properties": {
- "balanceAdjustment": {
- "type": "number",
- "example": 200.0,
- "description": "尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款)"
- },
- "changeReasonCode": {
- "type": "string",
- "description": "变更原因代码(字典项 order_change_reason)"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "行程天数编号"
- },
- "newRoomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "新房型ID"
- },
- "originalRoomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "原房型ID"
- },
- "reason": {
- "type": "string",
- "example": "客户要求升级房型",
- "description": "变更原因"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "房间数量"
- }
- },
- "title": "房型变更请求"
- },
- "房间信息请求": {
- "type": "object",
- "required": [
- "roomInfo"
- ],
- "properties": {
- "roomInfo": {
- "type": "string",
- "example": "标准双人间2间,大床房1间",
- "description": "房间信息"
- }
- },
- "title": "房间信息请求"
- },
- "报价预览请求": {
- "type": "object",
- "required": [
- "departureDate",
- "productId"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "儿童数"
- },
- "childNeedBed": {
- "type": "boolean",
- "example": false,
- "description": "儿童是否需要床位"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 1760000000000001,
- "description": "产品ID"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童数"
- }
- },
- "title": "报价预览请求"
- },
- "撤销行程编辑请求": {
- "type": "object",
- "required": [
- "reason"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "客户改主意了",
- "description": "撤销原因"
- }
- },
- "title": "撤销行程编辑请求"
- },
- "新增行程天请求": {
- "type": "object",
- "required": [
- "dayNumber",
- "dayTitle",
- "reason"
- ],
- "properties": {
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "行程天数编号(插入位置,后续天数自动顺延)"
- },
- "dayTitle": {
- "type": "string",
- "example": "第三天:丽江古城自由行",
- "description": "天标题"
- },
- "nodes": {
- "type": "array",
- "description": "该天的行程节点列表",
- "items": {
- "$ref": "#/definitions/新增行程节点请求",
- "originalRef": "新增行程节点请求"
- }
- },
- "prevDayHotel": {
- "description": "前一天住宿配置(原最后一天无住宿,新增天数后需配置)",
- "$ref": "#/definitions/PrevDayHotel",
- "originalRef": "PrevDayHotel"
- },
- "reason": {
- "type": "string",
- "example": "客户要求增加一天自由行",
- "description": "变更原因"
- }
- },
- "title": "新增行程天请求"
- },
- "新增行程节点请求": {
- "type": "object",
- "required": [
- "nodeName",
- "nodeType"
- ],
- "properties": {
- "balanceAdjustment": {
- "type": "number",
- "example": 200.0,
- "description": "尾款调整金额(正数=增加尾款,负数=减少尾款)"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "行程天数编号(独立调用时必填,addDay子节点时自动继承)"
- },
- "description": {
- "type": "string",
- "description": "节点描述"
- },
- "nodeName": {
- "type": "string",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "description": "节点类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/FREE/NOTE"
- },
- "reason": {
- "type": "string",
- "example": "客户要求增加该景点",
- "description": "修改原因(独立调用时必填,addDay子节点时自动继承)"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "关联资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号(插入位置,默认追加到末尾)"
- },
- "startTime": {
- "type": "string",
- "description": "开始时间"
- }
- },
- "title": "新增行程节点请求"
- },
- "早鸟优惠计划VO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "discountAmount": {
- "type": "number",
- "description": "优惠金额"
- },
- "enabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "description": "生效结束日期"
- },
- "minPeople": {
- "type": "integer",
- "format": "int32",
- "description": "最低人数"
- },
- "planId": {
- "type": "integer",
- "format": "int64",
- "description": "计划ID"
- },
- "planName": {
- "type": "string",
- "description": "计划名称"
- },
- "productIds": {
- "type": "array",
- "description": "适用产品ID列表(空表示适用全部CORE/GROUP产品)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "productNames": {
- "type": "array",
- "description": "适用产品名称列表(空表示适用全部)",
- "items": {
- "type": "string"
- }
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "生效开始日期"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "早鸟优惠计划VO"
- },
- "早鸟优惠计划请求": {
- "type": "object",
- "required": [
- "discountAmount",
- "endDate",
- "minPeople",
- "planName",
- "startDate"
- ],
- "properties": {
- "discountAmount": {
- "type": "number",
- "example": 200.0,
- "description": "优惠金额(从订单总价中扣减的固定金额)"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-04-15",
- "description": "生效结束日期"
- },
- "minPeople": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最低出行人数(含成人+儿童),订单人数>=此值才能享受优惠"
- },
- "planName": {
- "type": "string",
- "example": "五一早鸟优惠",
- "description": "计划名称"
- },
- "productIds": {
- "type": "array",
- "example": [
- "1760000000000001",
- "1760000000000002"
- ],
- "description": "适用产品ID列表(仅CORE/GROUP类型),为空或null表示适用全部核心产品和小蒙马",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "remark": {
- "type": "string",
- "example": "仅限新用户",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-01",
- "description": "生效开始日期"
- }
- },
- "title": "早鸟优惠计划请求"
- },
- "更换定制师请求": {
- "type": "object",
- "required": [
- "customizerId"
- ],
- "properties": {
- "customizerId": {
- "type": "integer",
- "format": "int64",
- "description": "定制师ID"
- }
- },
- "title": "更换定制师请求"
- },
- "更新订单状态请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "type": "string",
- "example": "CONFIRMED",
- "description": "目标状态。可选值:PENDING_PAY(待支付)/DEPOSIT_PAID(已付定金)/PAID(已全额支付)/CONFIRMED(已确认)/PENDING_BALANCE(待付尾款)/PENDING_DEPARTURE(待出行)/TRAVELLING(旅行中)/COMPLETED(已完成)/AFTER_SALE(售后中)/REFUNDING(退款中)/REFUNDED(已退款)/CANCELLED(已取消)"
- }
- },
- "title": "更新订单状态请求"
- },
- "申请解锁订单请求": {
- "type": "object",
- "properties": {
- "reason": {
- "type": "string",
- "description": "解锁原因"
- }
- },
- "title": "申请解锁订单请求"
- },
- "管理员修改订单请求": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "儿童数"
- },
- "contactName": {
- "type": "string",
- "example": "张三",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系人电话"
- },
- "customizerId": {
- "type": "integer",
- "format": "int64",
- "example": 123456,
- "description": "定制师ID(切换定制师)"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "depositAmount": {
- "type": "number",
- "example": 2000.0,
- "description": "定金金额"
- },
- "mchId": {
- "type": "string",
- "example": 1246532201,
- "description": "商户号(微信支付商户号,多商户场景使用)"
- },
- "remark": {
- "type": "string",
- "example": "客户要求安排靠窗座位",
- "description": "备注"
- },
- "totalCost": {
- "type": "number",
- "example": 5000.0,
- "description": "总成本"
- },
- "totalPrice": {
- "type": "number",
- "example": 8000.0,
- "description": "总售价"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表(如提供则替换全部出行人,不传则不修改出行人)",
- "items": {
- "$ref": "#/definitions/出行人信息",
- "originalRef": "出行人信息"
- }
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童数"
- }
- },
- "title": "管理员修改订单请求"
- },
- "管理员创建订单请求": {
- "type": "object",
- "required": [
- "contactName",
- "contactPhone",
- "productId"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "儿童数"
- },
- "childNeedBed": {
- "type": "boolean",
- "example": false,
- "description": "儿童是否需要床位(影响房间分配和报价计算)"
- },
- "contactName": {
- "type": "string",
- "example": "张三",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系人电话"
- },
- "customizerId": {
- "type": "integer",
- "format": "int64",
- "example": 1760000000000010,
- "description": "定制师ID(可选,默认为创建人)"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期(GROUP产品可不传,从团期获取)"
- },
- "expiryMinutes": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "支付时限(分钟),不传则使用全局默认值。超时未支付订单自动取消"
- },
- "groupBatchId": {
- "type": "integer",
- "format": "int64",
- "description": "团期ID(GROUP产品必填)"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 1760000000000001,
- "description": "产品ID"
- },
- "remark": {
- "type": "string",
- "example": "客户VIP",
- "description": "备注"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "房间数(GROUP产品,默认1)"
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "$ref": "#/definitions/出行人信息",
- "originalRef": "出行人信息"
- }
- },
- "userPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "用户手机号(可选,用于关联C端用户)。如匹配到已注册用户则自动绑定订单"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童数"
- }
- },
- "title": "管理员创建订单请求"
- },
- "管理员取消订单请求": {
- "type": "object",
- "required": [
- "reason"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "客户主动取消",
- "description": "取消原因"
- },
- "refundAmount": {
- "type": "number",
- "example": 500.0,
- "description": "退款金额(可选,不传则按退款政策自动计算;传0表示不退款)"
- }
- },
- "title": "管理员取消订单请求"
- },
- "管理员基本信息": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "description": "管理员ID"
- },
- "avatarUrl": {
- "type": "string",
- "description": "头像URL"
- },
- "username": {
- "type": "string",
- "description": "用户名"
- },
- "wechatName": {
- "type": "string",
- "description": "企微用户名称"
- },
- "wechatUserid": {
- "type": "string",
- "description": "企微用户ID"
- }
- },
- "title": "管理员基本信息"
- },
- "管理员备注请求": {
- "type": "object",
- "required": [
- "content"
- ],
- "properties": {
- "content": {
- "type": "string",
- "example": "客户要求加急处理",
- "description": "备注内容"
- }
- },
- "title": "管理员备注请求"
- },
- "管理员订单列表VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "balanceAmount": {
- "type": "number",
- "description": "尾款金额(DEPOSIT模式:总售价-定金-优惠)"
- },
- "checklistConfirmed": {
- "type": "boolean",
- "description": "是否已锁单(清单确认后锁定)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "contactName": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "creatorAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "创建人管理员ID"
- },
- "customizerName": {
- "type": "string",
- "description": "定制师名称"
- },
- "daysUntilDeparture": {
- "type": "integer",
- "format": "int32",
- "description": "距出发天数(负数表示已出发)"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额"
- },
- "discountAmount": {
- "type": "number",
- "description": "优惠金额"
- },
- "mchId": {
- "type": "string",
- "description": "商户号"
- },
- "mchName": {
- "type": "string",
- "description": "商户名称"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式(字典:payment_mode)"
- },
- "processStatus": {
- "type": "string",
- "description": "内部流程状态(字典:order_process_status)"
- },
- "processStatusLabel": {
- "type": "string",
- "description": "内部流程状态标签(字典:order_process_status 翻译)"
- },
- "productCoverUrl": {
- "type": "string",
- "description": "产品封面图URL"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "productType": {
- "type": "string",
- "description": "产品类型(字典:product_type)"
- },
- "status": {
- "type": "string",
- "description": "订单状态(字典:order_status)"
- },
- "statusLabel": {
- "type": "string",
- "description": "订单状态标签(字典:order_status 翻译)"
- },
- "surchargeAmount": {
- "type": "number",
- "description": "费用增加总额"
- },
- "totalPrice": {
- "type": "number",
- "description": "总售价"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "管理员订单列表VO"
- },
- "统一响应结果«AlbumFileVO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/AlbumFileVO",
- "originalRef": "AlbumFileVO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«AlbumFileVO»"
- },
- "统一响应结果«AlbumFolderVO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/AlbumFolderVO",
- "originalRef": "AlbumFolderVO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«AlbumFolderVO»"
- },
- "统一响应结果«List«AlbumFileVO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/AlbumFileVO",
- "originalRef": "AlbumFileVO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«AlbumFileVO»»"
- },
- "统一响应结果«List«AlbumFolderVO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/AlbumFolderVO",
- "originalRef": "AlbumFolderVO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«AlbumFolderVO»»"
- },
- "统一响应结果«List«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«Map«string,object»»»"
- },
- "统一响应结果«List«OrderItineraryEdit»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/OrderItineraryEdit",
- "originalRef": "OrderItineraryEdit"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«OrderItineraryEdit»»"
- },
- "统一响应结果«List«OrderTodo»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/OrderTodo",
- "originalRef": "OrderTodo"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«OrderTodo»»"
- },
- "统一响应结果«List«OrderTransportSegment»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/OrderTransportSegment",
- "originalRef": "OrderTransportSegment"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«OrderTransportSegment»»"
- },
- "统一响应结果«List«OrderTraveler»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/OrderTraveler",
- "originalRef": "OrderTraveler"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«OrderTraveler»»"
- },
- "统一响应结果«List«管理员基本信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理员基本信息",
- "originalRef": "管理员基本信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«管理员基本信息»»"
- },
- "统一响应结果«List«订单待办VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/订单待办VO",
- "originalRef": "订单待办VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«订单待办VO»»"
- },
- "统一响应结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,object»»"
- },
- "统一响应结果«OrderDiscount»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/OrderDiscount",
- "originalRef": "OrderDiscount"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«OrderDiscount»"
- },
- "统一响应结果«OrderItineraryEdit»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/OrderItineraryEdit",
- "originalRef": "OrderItineraryEdit"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«OrderItineraryEdit»"
- },
- "统一响应结果«OrderSurcharge»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/OrderSurcharge",
- "originalRef": "OrderSurcharge"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«OrderSurcharge»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«WorkOrderVO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/WorkOrderVO",
- "originalRef": "WorkOrderVO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«WorkOrderVO»"
- },
- "统一响应结果«int»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "integer",
- "format": "int32",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«int»"
- },
- "统一响应结果«long»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "integer",
- "format": "int64",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«long»"
- },
- "统一响应结果«string»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "string",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«string»"
- },
- "统一响应结果«分页结果«AlbumFileVO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«AlbumFileVO»",
- "originalRef": "分页结果«AlbumFileVO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«AlbumFileVO»»"
- },
- "统一响应结果«分页结果«WorkOrderVO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«WorkOrderVO»",
- "originalRef": "分页结果«WorkOrderVO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«WorkOrderVO»»"
- },
- "统一响应结果«分页结果«早鸟优惠计划VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«早鸟优惠计划VO»",
- "originalRef": "分页结果«早鸟优惠计划VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«早鸟优惠计划VO»»"
- },
- "统一响应结果«分页结果«管理员订单列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«管理员订单列表VO»",
- "originalRef": "分页结果«管理员订单列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«管理员订单列表VO»»"
- },
- "统一响应结果«差价计算结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/差价计算结果",
- "originalRef": "差价计算结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«差价计算结果»"
- },
- "统一响应结果«早鸟优惠计划VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/早鸟优惠计划VO",
- "originalRef": "早鸟优惠计划VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«早鸟优惠计划VO»"
- },
- "统一响应结果«订单详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/订单详情VO",
- "originalRef": "订单详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«订单详情VO»"
- },
- "统一响应结果«配房升级差价预览»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/配房升级差价预览",
- "originalRef": "配房升级差价预览"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«配房升级差价预览»"
- },
- "订单待办VO": {
- "type": "object",
- "properties": {
- "assigneeAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "负责管理员ID"
- },
- "assigneeRoleKey": {
- "type": "string",
- "description": "负责角色标识"
- },
- "blocked": {
- "type": "boolean",
- "description": "是否阻塞"
- },
- "blockedReason": {
- "type": "string",
- "description": "阻塞原因"
- },
- "completedAt": {
- "type": "string",
- "format": "date-time",
- "description": "完成时间"
- },
- "completedBy": {
- "type": "integer",
- "format": "int64",
- "description": "完成人ID"
- },
- "contactName": {
- "type": "string",
- "description": "联系人姓名(关联查询)"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期(关联查询)"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "orderStatus": {
- "type": "string",
- "description": "订单状态(关联查询)"
- },
- "productName": {
- "type": "string",
- "description": "产品名称(关联查询)"
- },
- "sequence": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "status": {
- "type": "string",
- "description": "待办状态"
- },
- "todoId": {
- "type": "integer",
- "format": "int64",
- "description": "待办ID"
- },
- "todoLabel": {
- "type": "string",
- "description": "待办名称"
- },
- "todoType": {
- "type": "string",
- "description": "待办类型"
- }
- },
- "title": "订单待办VO"
- },
- "订单详情VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "balanceAmount": {
- "type": "number",
- "description": "尾款金额(总售价-定金)"
- },
- "balancePayMethod": {
- "type": "string",
- "description": "尾款支付方式: ONLINE=线上微信支付 OFFLINE=线下转账"
- },
- "balanceProofUrl": {
- "type": "string",
- "description": "尾款凭证URL"
- },
- "cancelReason": {
- "type": "string",
- "description": "取消原因"
- },
- "cancelledAt": {
- "type": "string",
- "format": "date-time",
- "description": "取消时间"
- },
- "checklistConfirmed": {
- "type": "boolean",
- "description": "清单确认状态"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "completedAt": {
- "type": "string",
- "format": "date-time",
- "description": "完成时间"
- },
- "confirmedAt": {
- "type": "string",
- "format": "date-time",
- "description": "确认时间"
- },
- "contactName": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "contracts": {
- "type": "array",
- "description": "合同列表(含signUrl/fileUrl/status等)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "creatorAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "创建人管理员ID"
- },
- "creatorName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "customizerId": {
- "type": "integer",
- "format": "int64",
- "description": "定制师ID"
- },
- "customizerName": {
- "type": "string",
- "description": "定制师姓名"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "description": "定金比例"
- },
- "discountAmount": {
- "type": "number",
- "description": "优惠金额"
- },
- "discountReason": {
- "type": "string",
- "description": "优惠原因"
- },
- "discounts": {
- "type": "array",
- "description": "优惠列表",
- "items": {
- "$ref": "#/definitions/OrderDiscount",
- "originalRef": "OrderDiscount"
- }
- },
- "displayStatus": {
- "type": "string",
- "description": "前端显示状态(字典:order_display_status)"
- },
- "displayStatusLabel": {
- "type": "string",
- "description": "前端显示状态标签(字典:order_display_status 翻译)"
- },
- "expiryMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "支付时限(分钟)"
- },
- "expiryTime": {
- "type": "string",
- "format": "date-time",
- "description": "支付截止时间"
- },
- "hotelAssignmentDetails": {
- "type": "array",
- "description": "酒店分配详情(按家庭分组,含封面图)",
- "items": {
- "$ref": "#/definitions/酒店分配详情(按家庭分组)",
- "originalRef": "酒店分配详情(按家庭分组)"
- }
- },
- "hotelAssignments": {
- "type": "string",
- "description": "酒店分配信息JSON(原始数据)"
- },
- "insurances": {
- "type": "array",
- "description": "保险订单列表(含productName/extPolicyNo/status/startDate/endDate等)",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "mchId": {
- "type": "string",
- "description": "商户号"
- },
- "mchName": {
- "type": "string",
- "description": "商户名称"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "paidAt": {
- "type": "string",
- "format": "date-time",
- "description": "支付时间"
- },
- "payMethodLabel": {
- "type": "string",
- "description": "支付方式标签(如:微信支付、定金微信+尾款线下)"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式(字典:payment_mode)"
- },
- "paymentModeLabel": {
- "type": "string",
- "description": "支付模式中文标签(DEPOSIT=定金+尾款, FULL=全款)"
- },
- "pendingUpgradeAmount": {
- "type": "number",
- "description": "待确认差价总额(配房/配车升级未确认的差价)"
- },
- "processStatus": {
- "type": "string",
- "description": "内部流程状态(字典:order_process_status)"
- },
- "processStatusLabel": {
- "type": "string",
- "description": "内部流程状态标签(字典:order_process_status 翻译)"
- },
- "productCoverUrl": {
- "type": "string",
- "description": "产品封面图URL"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "productSnapshot": {
- "type": "string",
- "description": "产品快照JSON"
- },
- "productType": {
- "type": "string",
- "description": "产品类型(字典:product_type)"
- },
- "productTypeLabel": {
- "type": "string",
- "description": "产品类型中文标签(CORE=核心产品, CUSTOM=私人定制, GROUP=小蒙马, ROUTE=路书产品)"
- },
- "readyAt": {
- "type": "string",
- "format": "date-time",
- "description": "就绪时间"
- },
- "refundAmount": {
- "type": "number",
- "description": "退款金额(实退金额)"
- },
- "refundPolicy": {
- "description": "退款政策(含政策名称和退款规则列表)",
- "$ref": "#/definitions/退款政策VO",
- "originalRef": "退款政策VO"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "returnDate": {
- "type": "string",
- "format": "date",
- "description": "返程日期(出发日期 + 行程天数 - 1)"
- },
- "reviewed": {
- "type": "boolean",
- "description": "是否已评价"
- },
- "roomInfo": {
- "type": "string",
- "description": "房间信息"
- },
- "sharerOpenid": {
- "type": "string",
- "description": "分享人微信openid"
- },
- "status": {
- "type": "string",
- "description": "订单状态(字典:order_status)"
- },
- "statusLabel": {
- "type": "string",
- "description": "订单状态标签(字典:order_status 翻译)"
- },
- "surchargeAmount": {
- "type": "number",
- "description": "费用增加总额"
- },
- "surcharges": {
- "type": "array",
- "description": "费用增加项列表",
- "items": {
- "$ref": "#/definitions/OrderSurcharge",
- "originalRef": "OrderSurcharge"
- }
- },
- "timeline": {
- "type": "array",
- "description": "时间线列表",
- "items": {
- "$ref": "#/definitions/OrderTimeline",
- "originalRef": "OrderTimeline"
- }
- },
- "todos": {
- "type": "array",
- "description": "待办列表",
- "items": {
- "$ref": "#/definitions/OrderTodo",
- "originalRef": "OrderTodo"
- }
- },
- "totalCost": {
- "type": "number",
- "description": "总成本(仅管理员可见)"
- },
- "totalPrice": {
- "type": "number",
- "description": "总售价"
- },
- "transportSegments": {
- "type": "array",
- "description": "交通信息列表(航班/车次,含transportType/transportNo/departStation/arriveStation/departTime/arriveTime等)",
- "items": {
- "$ref": "#/definitions/OrderTransportSegment",
- "originalRef": "OrderTransportSegment"
- }
- },
- "travelers": {
- "type": "array",
- "description": "出行人列表",
- "items": {
- "$ref": "#/definitions/OrderTraveler",
- "originalRef": "OrderTraveler"
- }
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "unlockRequestedAt": {
- "type": "string",
- "format": "date-time",
- "description": "解锁请求时间"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- },
- "vehicleInfo": {
- "type": "string",
- "description": "车辆信息"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "订单详情VO"
- },
- "记录尾款请求": {
- "type": "object",
- "properties": {
- "proofUrl": {
- "type": "string",
- "description": "支付凭证URL"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- }
- },
- "title": "记录尾款请求"
- },
- "费用增加项请求": {
- "type": "object",
- "required": [
- "surchargeAmount",
- "surchargeName"
- ],
- "properties": {
- "surchargeAmount": {
- "type": "number",
- "example": 200.0,
- "description": "费用增加金额"
- },
- "surchargeName": {
- "type": "string",
- "example": "升级房型补差价",
- "description": "费用增加项名称"
- }
- },
- "title": "费用增加项请求"
- },
- "跳过行程节点请求": {
- "type": "object",
- "required": [
- "dayNumber",
- "nodeId",
- "reason"
- ],
- "properties": {
- "balanceAdjustment": {
- "type": "number",
- "example": -120.0,
- "description": "尾款调整金额(正数=增加尾款,负数=减少尾款)"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "行程天数编号"
- },
- "nodeId": {
- "type": "string",
- "description": "节点ID"
- },
- "nodeName": {
- "type": "string",
- "example": "蒙古族小型冰雪那达慕",
- "description": "节点名称"
- },
- "reason": {
- "type": "string",
- "example": "客户不想去该景点",
- "description": "修改原因"
- }
- },
- "title": "跳过行程节点请求"
- },
- "车型变更请求": {
- "type": "object",
- "required": [
- "newVehicleId",
- "originalVehicleId",
- "reason"
- ],
- "properties": {
- "balanceAdjustment": {
- "type": "number",
- "example": 300.0,
- "description": "尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款)"
- },
- "changeReasonCode": {
- "type": "string",
- "description": "变更原因代码(字典项 order_change_reason)"
- },
- "newVehicleId": {
- "type": "integer",
- "format": "int64",
- "description": "新车辆ID"
- },
- "originalVehicleId": {
- "type": "integer",
- "format": "int64",
- "description": "原车辆ID"
- },
- "reason": {
- "type": "string",
- "example": "原车辆已被预订",
- "description": "变更原因"
- }
- },
- "title": "车型变更请求"
- },
- "车辆信息请求": {
- "type": "object",
- "required": [
- "vehicleInfo"
- ],
- "properties": {
- "vehicleInfo": {
- "type": "string",
- "example": "7座商务车1辆,司机张师傅",
- "description": "车辆信息"
- }
- },
- "title": "车辆信息请求"
- },
- "车辆分配请求": {
- "type": "object",
- "required": [
- "vehicleModel"
- ],
- "properties": {
- "driverName": {
- "type": "string",
- "description": "司机姓名"
- },
- "driverPhone": {
- "type": "string",
- "description": "司机电话"
- },
- "plateNumber": {
- "type": "string",
- "description": "车牌号"
- },
- "vehicleBrand": {
- "type": "string",
- "description": "品牌(选填,不传则从车型名称中提取)"
- },
- "vehicleModel": {
- "type": "string",
- "description": "车型"
- }
- },
- "title": "车辆分配请求"
- },
- "退款政策VO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "enabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "policyId": {
- "type": "integer",
- "format": "int64",
- "description": "政策ID"
- },
- "policyName": {
- "type": "string",
- "description": "政策名称"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "rules": {
- "type": "array",
- "description": "退款规则列表",
- "items": {
- "$ref": "#/definitions/退款规则VO",
- "originalRef": "退款规则VO"
- }
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "退款政策VO"
- },
- "退款规则VO": {
- "type": "object",
- "properties": {
- "minDays": {
- "type": "integer",
- "format": "int32",
- "description": "距出发最少天数"
- },
- "refundRatio": {
- "type": "integer",
- "format": "int32",
- "description": "退款比例(百分比)"
- },
- "ruleId": {
- "type": "integer",
- "format": "int64",
- "description": "规则ID"
- }
- },
- "title": "退款规则VO"
- },
- "配房升级差价预览": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "描述"
- },
- "details": {
- "type": "array",
- "description": "各天差价明细",
- "items": {
- "$ref": "#/definitions/单天升级差价明细",
- "originalRef": "单天升级差价明细"
- }
- },
- "direction": {
- "type": "string",
- "description": "差价方向:UPGRADE=升级加价, DOWNGRADE=降级减价, SAME=价格不变, MIXED=部分升级部分降级"
- },
- "totalDiff": {
- "type": "number",
- "description": "差价合计(正数=需补款,负数=可退款)"
- }
- },
- "title": "配房升级差价预览"
- },
- "酒店分配详情(按家庭分组)": {
- "type": "object",
- "properties": {
- "days": {
- "type": "array",
- "description": "每天的住宿分配列表",
- "items": {
- "$ref": "#/definitions/单天住宿分配",
- "originalRef": "单天住宿分配"
- }
- },
- "familyIndex": {
- "type": "integer",
- "format": "int32",
- "description": "家庭序号(从1开始)"
- },
- "familyLabel": {
- "type": "string",
- "description": "家庭标签(如:家庭1、家庭2)"
- }
- },
- "title": "酒店分配详情(按家庭分组)"
- },
- "酒店分配请求": {
- "type": "object",
- "required": [
- "assignments"
- ],
- "properties": {
- "assignments": {
- "type": "array",
- "description": "酒店分配列表(按天粒度,每天每个家庭一条记录)",
- "items": {
- "$ref": "#/definitions/单天单家庭酒店分配",
- "originalRef": "单天单家庭酒店分配"
- }
- }
- },
- "title": "酒店分配请求"
- },
- "修改退款原因请求": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "example": "用户原因",
- "description": "分类"
- },
- "reasonText": {
- "type": "string",
- "example": "行程有变",
- "description": "退款原因文本"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- }
- },
- "title": "修改退款原因请求"
- },
- "分页结果«退款申请VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/退款申请VO",
- "originalRef": "退款申请VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«退款申请VO»"
- },
- "创建退款原因请求": {
- "type": "object",
- "required": [
- "reasonText"
- ],
- "properties": {
- "category": {
- "type": "string",
- "example": "用户原因",
- "description": "分类"
- },
- "reasonText": {
- "type": "string",
- "example": "行程有变",
- "description": "退款原因文本"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- }
- },
- "title": "创建退款原因请求"
- },
- "申诉退款执行请求": {
- "type": "object",
- "required": [
- "actualAmount"
- ],
- "properties": {
- "actualAmount": {
- "type": "number",
- "example": 1500.0,
- "description": "实际退款金额"
- },
- "remark": {
- "type": "string",
- "example": "申诉通过,按协商金额退款",
- "description": "备注"
- }
- },
- "title": "申诉退款执行请求"
- },
- "管理员退款审批请求": {
- "type": "object",
- "required": [
- "action"
- ],
- "properties": {
- "action": {
- "type": "string",
- "example": "APPROVE",
- "description": "审批结果:APPROVE=通过(自动调起微信退款)、REJECT=拒绝(用户可发起申诉)"
- },
- "actualAmount": {
- "type": "number",
- "example": 1500.0,
- "description": "实际退款金额(审批通过时可调整,不传则使用申请金额)。不能超过订单已付金额"
- },
- "remark": {
- "type": "string",
- "example": "同意全额退款",
- "description": "审批备注"
- }
- },
- "title": "管理员退款审批请求"
- },
- "统一响应结果«List«退款原因VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/退款原因VO",
- "originalRef": "退款原因VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«退款原因VO»»"
- },
- "统一响应结果«List«退款政策VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/退款政策VO",
- "originalRef": "退款政策VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«退款政策VO»»"
- },
- "统一响应结果«分页结果«退款申请VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«退款申请VO»",
- "originalRef": "分页结果«退款申请VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«退款申请VO»»"
- },
- "统一响应结果«退款原因VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/退款原因VO",
- "originalRef": "退款原因VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«退款原因VO»"
- },
- "统一响应结果«退款政策VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/退款政策VO",
- "originalRef": "退款政策VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«退款政策VO»"
- },
- "统一响应结果«退款申请VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/退款申请VO",
- "originalRef": "退款申请VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«退款申请VO»"
- },
- "退款原因VO": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "原因分类"
- },
- "enabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "reasonId": {
- "type": "integer",
- "format": "int64",
- "description": "原因ID"
- },
- "reasonText": {
- "type": "string",
- "description": "原因描述"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "退款原因VO"
- },
- "退款政策请求": {
- "type": "object",
- "required": [
- "policyName",
- "rules"
- ],
- "properties": {
- "policyName": {
- "type": "string",
- "example": "国内游退款政策",
- "description": "政策名称"
- },
- "remark": {
- "type": "string",
- "example": "适用于所有国内游产品",
- "description": "备注"
- },
- "rules": {
- "type": "array",
- "description": "退款规则列表",
- "items": {
- "$ref": "#/definitions/退款规则项",
- "originalRef": "退款规则项"
- }
- }
- },
- "title": "退款政策请求"
- },
- "退款申请VO": {
- "type": "object",
- "properties": {
- "actualAmount": {
- "type": "number",
- "description": "实际退款金额"
- },
- "appealAmount": {
- "type": "number",
- "description": "申诉退款金额"
- },
- "appealReason": {
- "type": "string",
- "description": "申诉原因"
- },
- "appealStatus": {
- "type": "integer",
- "format": "int32",
- "description": "申诉状态: 1-处理中 2-通过 3-驳回"
- },
- "appealStatusLabel": {
- "type": "string",
- "description": "申诉状态标签"
- },
- "appealedAt": {
- "type": "string",
- "format": "date-time",
- "description": "申诉时间"
- },
- "applicantId": {
- "type": "integer",
- "format": "int64",
- "description": "申请人ID"
- },
- "applicantName": {
- "type": "string",
- "description": "申请人姓名"
- },
- "applicantType": {
- "type": "string",
- "description": "申请人类型(USER/ADMIN)"
- },
- "applicationId": {
- "type": "integer",
- "format": "int64",
- "description": "申请ID"
- },
- "approvalNo": {
- "type": "string",
- "description": "审批编号"
- },
- "calculatedAmount": {
- "type": "number",
- "description": "计算退款金额"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "daysBeforeDept": {
- "type": "integer",
- "format": "int32",
- "description": "距出发天数"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "orderId": {
- "type": "integer",
- "format": "int64",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "paidAmount": {
- "type": "number",
- "description": "已付金额"
- },
- "policyId": {
- "type": "integer",
- "format": "int64",
- "description": "退款政策ID"
- },
- "policyName": {
- "type": "string",
- "description": "退款政策名称"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "reasonDetail": {
- "type": "string",
- "description": "补充说明"
- },
- "reasonId": {
- "type": "integer",
- "format": "int64",
- "description": "退款原因ID"
- },
- "reasonText": {
- "type": "string",
- "description": "退款原因"
- },
- "refundRatio": {
- "type": "integer",
- "format": "int32",
- "description": "退款比例(百分比)"
- },
- "refundType": {
- "type": "string",
- "description": "退款类型(字典:refund_type)"
- },
- "refundTypeLabel": {
- "type": "string",
- "description": "退款类型标签(字典:refund_type 翻译)"
- },
- "refundedAt": {
- "type": "string",
- "format": "date-time",
- "description": "退款完成时间"
- },
- "reviewAdminId": {
- "type": "integer",
- "format": "int64",
- "description": "审批管理员ID"
- },
- "reviewAdminName": {
- "type": "string",
- "description": "审批管理员姓名"
- },
- "reviewRemark": {
- "type": "string",
- "description": "审批备注"
- },
- "reviewedAt": {
- "type": "string",
- "format": "date-time",
- "description": "审批时间"
- },
- "status": {
- "type": "string",
- "description": "退款状态(字典:refund_status)"
- },
- "statusLabel": {
- "type": "string",
- "description": "退款状态标签(字典:refund_status 翻译)"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "退款申请VO"
- },
- "退款规则项": {
- "type": "object",
- "required": [
- "minDays",
- "refundRatio"
- ],
- "properties": {
- "minDays": {
- "type": "integer",
- "format": "int32",
- "example": 7,
- "description": "距出发最少天数(含当天)。例如:minDays=7表示出发前7天及以上适用此规则"
- },
- "refundRatio": {
- "type": "integer",
- "format": "int32",
- "example": 80,
- "description": "退款比例(百分比,0-100)。例如:80表示退已付金额的80%"
- }
- },
- "title": "退款规则项"
- },
- "Map«string,string»": {
- "type": "object",
- "title": "Map«string,string»",
- "additionalProperties": {
- "type": "string"
- }
- },
- "分页结果«发票VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/发票VO",
- "originalRef": "发票VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«发票VO»"
- },
- "发票VO": {
- "type": "object",
- "properties": {
- "amount": {
- "type": "string",
- "description": "金额"
- },
- "bankAccount": {
- "type": "string",
- "description": "银行账号(企业发票)"
- },
- "bankName": {
- "type": "string",
- "description": "开户行(企业发票)"
- },
- "companyAddress": {
- "type": "string",
- "description": "企业地址(企业发票)"
- },
- "companyPhone": {
- "type": "string",
- "description": "企业电话(企业发票)"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "email": {
- "type": "string",
- "description": "接收邮箱"
- },
- "failReason": {
- "type": "string",
- "description": "失败原因"
- },
- "fileUrl": {
- "type": "string",
- "description": "发票文件URL"
- },
- "id": {
- "type": "string",
- "description": "发票ID"
- },
- "invoiceContent": {
- "type": "string",
- "description": "发票内容"
- },
- "invoiceNo": {
- "type": "string",
- "description": "发票号码"
- },
- "invoiceTitle": {
- "type": "string",
- "description": "发票抬头"
- },
- "invoiceType": {
- "type": "string",
- "description": "发票类型"
- },
- "issuedAt": {
- "type": "string",
- "format": "date-time",
- "description": "开票时间"
- },
- "issuedBy": {
- "type": "string",
- "description": "开票操作人ID"
- },
- "orderId": {
- "type": "string",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单号"
- },
- "originalInvoiceId": {
- "type": "string",
- "description": "原发票ID(换开时关联)"
- },
- "reissueCount": {
- "type": "integer",
- "format": "int32",
- "description": "换开次数"
- },
- "remark": {
- "type": "string",
- "description": "备注信息"
- },
- "status": {
- "type": "string",
- "description": "发票状态"
- },
- "taxNumber": {
- "type": "string",
- "description": "税号"
- },
- "titleType": {
- "type": "string",
- "description": "抬头类型(personal=个人/company=企业)"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "userId": {
- "type": "string",
- "description": "用户ID"
- }
- },
- "title": "发票VO"
- },
- "管理员开票失败请求": {
- "type": "object",
- "required": [
- "failReason"
- ],
- "properties": {
- "failReason": {
- "type": "string",
- "example": "发票信息有误,请核实后重新申请",
- "description": "失败原因"
- }
- },
- "title": "管理员开票失败请求"
- },
- "管理员开票请求": {
- "type": "object",
- "required": [
- "fileUrl",
- "invoiceNo"
- ],
- "properties": {
- "fileUrl": {
- "type": "string",
- "example": "https://oss.example.com/invoice/xxx.pdf",
- "description": "发票文件URL"
- },
- "invoiceNo": {
- "type": "string",
- "example": "012345678901",
- "description": "发票号码"
- }
- },
- "title": "管理员开票请求"
- },
- "统一响应结果«Map«string,string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据",
- "additionalProperties": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,string»»"
- },
- "统一响应结果«分页结果«发票VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«发票VO»",
- "originalRef": "分页结果«发票VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«发票VO»»"
- },
- "统一响应结果«发票VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/发票VO",
- "originalRef": "发票VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«发票VO»"
- },
- "分页结果«定制请求列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/定制请求列表VO",
- "originalRef": "定制请求列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«定制请求列表VO»"
- },
- "定制师回复/报价请求": {
- "type": "object",
- "required": [
- "reply"
- ],
- "properties": {
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 1234567890,
- "description": "关联产品ID(定制产品已创建时传入)"
- },
- "reply": {
- "type": "string",
- "example": "已为您设计3天2晚大理深度游方案",
- "description": "回复内容"
- }
- },
- "title": "定制师回复/报价请求"
- },
- "定制请求列表VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "budget": {
- "type": "string",
- "description": "预算范围(字典:customize_budget)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "description": "期望天数"
- },
- "designerAvatar": {
- "type": "string",
- "description": "定制师头像"
- },
- "designerName": {
- "type": "string",
- "description": "定制师姓名"
- },
- "destination": {
- "type": "string",
- "description": "目标地区"
- },
- "requestId": {
- "type": "integer",
- "format": "int64",
- "description": "请求ID"
- },
- "requestType": {
- "type": "string",
- "description": "需求类型(字典:customize_request_type)"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "期望出发日期"
- },
- "status": {
- "type": "string",
- "description": "状态(字典:customize_request_status)"
- },
- "statusLabel": {
- "type": "string",
- "description": "状态标签"
- },
- "travelPurpose": {
- "type": "string",
- "description": "旅游目的(字典:travel_purpose)"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "定制请求列表VO"
- },
- "定制请求详情VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "budget": {
- "type": "string",
- "description": "预算范围(字典:customize_budget)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "contactName": {
- "type": "string",
- "description": "联系人"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "description": "期望天数"
- },
- "designerAvatar": {
- "type": "string",
- "description": "定制师头像"
- },
- "designerId": {
- "type": "integer",
- "format": "int64",
- "description": "指定定制师ID"
- },
- "designerName": {
- "type": "string",
- "description": "定制师姓名"
- },
- "destination": {
- "type": "string",
- "description": "目标地区"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "description": "期望结束日期"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "关联产品ID"
- },
- "repliedAt": {
- "type": "string",
- "format": "date-time",
- "description": "回复时间"
- },
- "reply": {
- "type": "string",
- "description": "定制师回复"
- },
- "requestId": {
- "type": "integer",
- "format": "int64",
- "description": "请求ID"
- },
- "requestType": {
- "type": "string",
- "description": "需求类型(字典:customize_request_type)"
- },
- "requirements": {
- "type": "string",
- "description": "详细需求描述"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "期望出发日期"
- },
- "status": {
- "type": "string",
- "description": "状态(字典:customize_request_status)"
- },
- "statusLabel": {
- "type": "string",
- "description": "状态标签"
- },
- "travelPurpose": {
- "type": "string",
- "description": "旅游目的(字典:travel_purpose)"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "定制请求详情VO"
- },
- "统一响应结果«分页结果«定制请求列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«定制请求列表VO»",
- "originalRef": "分页结果«定制请求列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«定制请求列表VO»»"
- },
- "统一响应结果«定制请求详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/定制请求详情VO",
- "originalRef": "定制请求详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«定制请求详情VO»"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-payment-service.json b/.swagger/hl-payment-service.json
deleted file mode 100644
index ccb67bc..0000000
--- a/.swagger/hl-payment-service.json
+++ /dev/null
@@ -1,6386 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "支付服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/product/item/basic": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step1 基础信息保存",
- "description": "创建+更新合一接口。\n\n**创建**:productId不传,productType必传,返回新产品ID。\n**更新**:productId传已有ID,返回原产品ID。\n\n**涉及字典:**\n- product_type: CORE=核心产品, GROUP=小蒙马跟团游, CUSTOM=私人定制\n- product_season: spring=春, summer=夏, autumn=秋, winter=冬\n- product_tag: 亲子/研学/自驾/摄影/草原/高原 等\n- payment_type: FULL=全款支付, DEPOSIT=订金+尾款",
- "operationId": "saveBasicUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - Step1 基础信息保存",
- "originalRef": "管理端 - Step1 基础信息保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/list": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "产品分页列表",
- "description": "支持按名称关键词/产品类型/产品线/状态筛选。\n\n**涉及字典:**\n- product_type: CORE/GROUP/CUSTOM\n- product_status: DRAFT/PENDING_REVIEW/PUBLISHED/UNPUBLISHED/REJECTED/COMPLETED/ORDERED",
- "operationId": "listProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词(名称/编号)",
- "required": false,
- "type": "string"
- },
- {
- "name": "lineId",
- "in": "query",
- "description": "产品线ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型(CORE/GROUP/CUSTOM)",
- "required": false,
- "type": "string"
- },
- {
- "name": "status",
- "in": "query",
- "description": "产品状态",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«管理端 - 产品列表项»»",
- "originalRef": "统一响应结果«分页结果«管理端 - 产品列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«管理端 - 产品列表项»»",
- "originalRef": "统一响应结果«分页结果«管理端 - 产品列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "产品详情",
- "description": "聚合全部5步数据(主表+基础+行程+路线+价格+补充),用于编辑页回显。",
- "operationId": "getDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 产品详情»",
- "originalRef": "统一响应结果«管理端 - 产品详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 产品详情»",
- "originalRef": "统一响应结果«管理端 - 产品详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "删除产品",
- "description": "级联删除产品+全部子表。仅草稿/已驳回/已下架/已完成状态可删,已上架/待审核需先下架。",
- "operationId": "deleteProductUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/action": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "产品状态变更",
- "description": "通过COLA状态机驱动状态流转。\n\n**涉及字典:**\n- product_action: SUBMIT_PUBLISH=提交上架, WITHDRAW=撤回, DIRECT_PUBLISH=直接上架, UNPUBLISH=申请下架, FORCE_UNPUBLISH=强制下架, COMPLETE=完成设计\n- product_status: DRAFT→PENDING_REVIEW→PUBLISHED→UNPUBLISHED(详见状态流转图)",
- "operationId": "changeStatusUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 产品状态变更",
- "originalRef": "管理端 - 产品状态变更"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/copy": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "复制产品",
- "description": "深拷贝产品+全部子表(主表+6张1:1/1:N子表+行程数据),新产品为草稿状态。返回新产品ID。",
- "operationId": "copyProductUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/fee-deduction-preview": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "费用推导预览",
- "description": "根据行程节点类型自动推导费用包含项(景区→门票,酒店→住宿等),排除已忽略类型。",
- "operationId": "feeDeductionPreviewUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 费用推导预览»»",
- "originalRef": "统一响应结果«List«管理端 - 费用推导预览»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 费用推导预览»»",
- "originalRef": "统一响应结果«List«管理端 - 费用推导预览»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/itinerary": {
- "put": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step2 行程整体保存",
- "description": "整体保存行程天+节点+住宿+路线点。支持新增/更新/删除(EntityDiffUtil对比)。\n\n**涉及字典:**\n- product_node_type: SCENIC=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, TRANSPORT=交通, SERVICE=服务, FREE=自由活动, CUSTOM=自定义, NOTE=备注\n- meal_option: HOTEL=酒店餐, CAMP=营地餐, SPECIAL=特色餐, SELF=自理",
- "operationId": "saveItineraryUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - Step2 行程保存",
- "originalRef": "管理端 - Step2 行程保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/itinerary/day": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step2 增加一天",
- "description": "在行程末尾追加一天,自动编号。返回新天的dayId。",
- "operationId": "addDayUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/itinerary/day/{dayNumber}": {
- "delete": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step2 删除一天",
- "description": "删除指定天序号的行程天,级联删除节点+住宿+路线点,后续天序号自动-1。",
- "operationId": "deleteDayUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "dayNumber",
- "required": true,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/operation-logs": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "产品操作记录",
- "description": "查询产品的全部操作记录(按时间倒序),审计保留不随产品删除。",
- "operationId": "getOperationLogsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 产品操作记录»»",
- "originalRef": "统一响应结果«List«管理端 - 产品操作记录»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 产品操作记录»»",
- "originalRef": "统一响应结果«List«管理端 - 产品操作记录»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/price-calendar": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 查询价格日历",
- "description": "按月份查询价格日历。\n\n**涉及字典:**\n- price_type: NORMAL=平日, PEAK=旺季, HOLIDAY=节假日, SPECIAL=特价\n- accommodation_spec: 档位序号(1=标准,2=舒适,3=豪华)",
- "operationId": "getPriceCalendarUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份(yyyy-MM)",
- "required": true,
- "type": "string"
- },
- {
- "name": "tierSeq",
- "in": "query",
- "description": "档位序号(默认1)",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«ProductPriceCalendarDO»»",
- "originalRef": "统一响应结果«List«ProductPriceCalendarDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«ProductPriceCalendarDO»»",
- "originalRef": "统一响应结果«List«ProductPriceCalendarDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 价格日历删除",
- "description": "按日期范围+档位删除价格日历(物理删除)。",
- "operationId": "deletePriceCalendarUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 价格日历批量设置",
- "originalRef": "管理端 - 价格日历批量设置"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/price-calendar/batch": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 价格日历批量设置",
- "description": "按日期范围+档位批量设置价格(UPSERT)。已上架产品用priceVersion,草稿用version。\n\n**涉及字典:**\n- price_type: NORMAL=平日, PEAK=旺季, HOLIDAY=节假日, SPECIAL=特价",
- "operationId": "batchSetPriceCalendarUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 价格日历批量设置",
- "originalRef": "管理端 - 价格日历批量设置"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/quote": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "报价计算",
- "description": "根据出发日期+人数+档位计算总价,返回每日明细。",
- "operationId": "calculateQuoteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 报价计算",
- "originalRef": "管理端 - 报价计算"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 报价结果»",
- "originalRef": "统一响应结果«管理端 - 报价结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 报价结果»",
- "originalRef": "统一响应结果«管理端 - 报价结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/route": {
- "put": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step3 路线与备品保存",
- "description": "保存路线总览(1:1)+备品清单(1:N)+额外成本项(1:N)。备品和成本项支持增删改。\n\n**涉及字典:**\n- supply_billing: PER_PERSON=按人头, PER_QUANTITY=按数量",
- "operationId": "saveRouteUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - Step3 路线与备品保存",
- "originalRef": "管理端 - Step3 路线与备品保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/schedule": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 创建班期",
- "description": "创建新班期,batchId不传。自动生成班期编号、计算结束日期和报名截止日。",
- "operationId": "saveScheduleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 班期保存",
- "originalRef": "管理端 - 班期保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 修改班期",
- "description": "修改已有班期,batchId在body中传。",
- "operationId": "updateScheduleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 班期保存",
- "originalRef": "管理端 - 班期保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/schedule/batch-create": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 班期批量创建",
- "description": "按重复模式批量创建班期(最多52个,跨度≤12个月)。\n\n**涉及字典:**\n- repeat_mode: WEEKLY=每周, BIWEEKLY=隔周, MONTHLY=每月",
- "operationId": "batchCreateScheduleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 班期批量创建",
- "originalRef": "管理端 - 班期批量创建"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«int»",
- "originalRef": "统一响应结果«int»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/schedule/list": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 班期列表",
- "description": "查询产品下所有班期。\n\n**涉及字典:**\n- schedule_status: ENROLLING=报名中, NEARLY_FULL=即将满员, FULL=已满, FINISHED=已结束, CANCELLING=取消中, CANCELLED=已取消",
- "operationId": "getScheduleListUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»",
- "originalRef": "统一响应结果«List«GroupTourBatchDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»",
- "originalRef": "统一响应结果«List«GroupTourBatchDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/schedule/team": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "班期团队查询",
- "description": "查询指定班期的团队成员列表。\n\n**涉及字典:**\n- staff_role: LEADER=领队, PHOTOGRAPHER=摄影师, DRIVER=司机, OTHER=其他",
- "operationId": "getScheduleTeamUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«GroupBatchStaffDO»»",
- "originalRef": "统一响应结果«List«GroupBatchStaffDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«GroupBatchStaffDO»»",
- "originalRef": "统一响应结果«List«GroupBatchStaffDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "班期团队保存",
- "description": "全量保存班期团队成员(全删全插策略,每次传完整列表)。\n\n**涉及字典:**\n- staff_role: LEADER=领队, PHOTOGRAPHER=摄影师, DRIVER=司机, OTHER=其他",
- "operationId": "saveScheduleTeamUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 班期团队保存",
- "originalRef": "管理端 - 班期团队保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/schedule/{scheduleId}": {
- "delete": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 删除班期",
- "description": "删除班期(已有报名订单不允许删除)。",
- "operationId": "deleteScheduleUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "scheduleId",
- "in": "path",
- "description": "scheduleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/schedule/{scheduleId}/cancel": {
- "post": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step4 取消班期",
- "description": "取消班期(有报名订单则标记为CANCELLING触发退款,无订单直接CANCELLED)。",
- "operationId": "cancelScheduleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "scheduleId",
- "in": "path",
- "description": "scheduleId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/supplement": {
- "put": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "Step5 补充信息保存",
- "description": "保存费用包含/不含/自定义项+人群优惠+补充配置(退改/车辆/保险/卖点等)。\n\n**涉及字典:**\n- fee_include_type: TICKET=门票, HOTEL=住宿, TRANSPORT=交通, MEAL=餐饮, INSURANCE=保险\n- fee_source: AUTO=自动推导, MANUAL=手动添加",
- "operationId": "saveSupplementUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - Step5 补充信息保存",
- "originalRef": "管理端 - Step5 补充信息保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/transfer": {
- "put": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "转让产品",
- "description": "更换产品创建人(仅超管可操作)。",
- "operationId": "transferProductUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 产品转让",
- "originalRef": "管理端 - 产品转让"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{id}/validate-publish": {
- "get": {
- "tags": [
- "管理端 - 产品管理"
- ],
- "summary": "上架预检",
- "description": "5级校验:L1基础字段→L2内容完整→L3定价→L4条款→L5资源。返回问题列表,空=全部通过。",
- "operationId": "validatePublishUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«string»»",
- "originalRef": "统一响应结果«List«string»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«string»»",
- "originalRef": "统一响应结果«List«string»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line": {
- "post": {
- "tags": [
- "管理端 - 产品线管理"
- ],
- "summary": "创建/修改产品线",
- "operationId": "saveLineUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 产品线保存",
- "originalRef": "管理端 - 产品线保存"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«long»",
- "originalRef": "统一响应结果«long»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line/list": {
- "get": {
- "tags": [
- "管理端 - 产品线管理"
- ],
- "summary": "产品线分页列表",
- "operationId": "listLinesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态(ACTIVE/INACTIVE)",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«管理端 - 产品线详情/列表项»»",
- "originalRef": "统一响应结果«分页结果«管理端 - 产品线详情/列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«管理端 - 产品线详情/列表项»»",
- "originalRef": "统一响应结果«分页结果«管理端 - 产品线详情/列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line/simple-list": {
- "get": {
- "tags": [
- "管理端 - 产品线管理"
- ],
- "summary": "产品线下拉选项",
- "operationId": "simpleListUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 产品线下拉»»",
- "originalRef": "统一响应结果«List«管理端 - 产品线下拉»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 产品线下拉»»",
- "originalRef": "统一响应结果«List«管理端 - 产品线下拉»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line/{id}": {
- "get": {
- "tags": [
- "管理端 - 产品线管理"
- ],
- "summary": "产品线详情",
- "operationId": "getDetailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 产品线详情/列表项»",
- "originalRef": "统一响应结果«管理端 - 产品线详情/列表项»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 产品线详情/列表项»",
- "originalRef": "统一响应结果«管理端 - 产品线详情/列表项»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理端 - 产品线管理"
- ],
- "summary": "删除产品线",
- "operationId": "deleteLineUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/booking-terms/enabled": {
- "get": {
- "tags": [
- "管理端 - 模板管理"
- ],
- "summary": "预订条款下拉",
- "operationId": "bookingTermsEnabledUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 预订条款»»",
- "originalRef": "统一响应结果«List«管理端 - 预订条款»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 预订条款»»",
- "originalRef": "统一响应结果«List«管理端 - 预订条款»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/safety-template/enabled": {
- "get": {
- "tags": [
- "管理端 - 模板管理"
- ],
- "summary": "安全保障模板下拉",
- "operationId": "safetyTemplateEnabledUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 安全保障模板»»",
- "originalRef": "统一响应结果«List«管理端 - 安全保障模板»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 安全保障模板»»",
- "originalRef": "统一响应结果«List«管理端 - 安全保障模板»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/warm-tips/enabled": {
- "get": {
- "tags": [
- "管理端 - 模板管理"
- ],
- "summary": "温馨提示下拉",
- "operationId": "warmTipsEnabledUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 温馨提示»»",
- "originalRef": "统一响应结果«List«管理端 - 温馨提示»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 温馨提示»»",
- "originalRef": "统一响应结果«List«管理端 - 温馨提示»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/compare": {
- "get": {
- "tags": [
- "小程序端 - 产品查询"
- ],
- "summary": "产品对比",
- "operationId": "compareUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "ids",
- "in": "query",
- "description": "ids",
- "required": true,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«小程序端 - 产品详情»»",
- "originalRef": "统一响应结果«List«小程序端 - 产品详情»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«小程序端 - 产品详情»»",
- "originalRef": "统一响应结果«List«小程序端 - 产品详情»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{id}": {
- "get": {
- "tags": [
- "小程序端 - 产品查询"
- ],
- "summary": "产品详情",
- "operationId": "getDetailUsingGET_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«小程序端 - 产品详情»",
- "originalRef": "统一响应结果«小程序端 - 产品详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«小程序端 - 产品详情»",
- "originalRef": "统一响应结果«小程序端 - 产品详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{id}/price-calendar": {
- "get": {
- "tags": [
- "小程序端 - 产品查询"
- ],
- "summary": "价格日历",
- "operationId": "getPriceCalendarUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份(yyyy-MM)",
- "required": true,
- "type": "string"
- },
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«小程序端 - 价格日历»",
- "originalRef": "统一响应结果«小程序端 - 价格日历»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«小程序端 - 价格日历»",
- "originalRef": "统一响应结果«小程序端 - 价格日历»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{id}/quote": {
- "post": {
- "tags": [
- "小程序端 - 产品查询"
- ],
- "summary": "C端报价",
- "operationId": "quoteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "req",
- "required": true,
- "schema": {
- "$ref": "#/definitions/管理端 - 报价计算",
- "originalRef": "管理端 - 报价计算"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 报价结果»",
- "originalRef": "统一响应结果«管理端 - 报价结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«管理端 - 报价结果»",
- "originalRef": "统一响应结果«管理端 - 报价结果»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{id}/schedules": {
- "get": {
- "tags": [
- "小程序端 - 产品查询"
- ],
- "summary": "班期列表",
- "operationId": "getSchedulesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»",
- "originalRef": "统一响应结果«List«GroupTourBatchDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«GroupTourBatchDO»»",
- "originalRef": "统一响应结果«List«GroupTourBatchDO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{id}/tier-compare": {
- "get": {
- "tags": [
- "小程序端 - 产品查询"
- ],
- "summary": "档位对比",
- "operationId": "tierCompareUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "id",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«int,List«ProductDayHotelDO»»»",
- "originalRef": "统一响应结果«Map«int,List«ProductDayHotelDO»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«int,List«ProductDayHotelDO»»»",
- "originalRef": "统一响应结果«Map«int,List«ProductDayHotelDO»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product-line/list": {
- "get": {
- "tags": [
- "小程序端 - 产品线查询"
- ],
- "summary": "产品线列表",
- "operationId": "listLinesUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "season",
- "in": "query",
- "description": "season",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 产品线下拉»»",
- "originalRef": "统一响应结果«List«管理端 - 产品线下拉»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«管理端 - 产品线下拉»»",
- "originalRef": "统一响应结果«List«管理端 - 产品线下拉»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product-line/{lineId}/products": {
- "get": {
- "tags": [
- "小程序端 - 产品线查询"
- ],
- "summary": "产品线下产品列表",
- "operationId": "listProductsUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "lineId",
- "in": "query",
- "description": "产品线ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "tag",
- "in": "query",
- "description": "标签筛选(可选)",
- "required": false,
- "type": "string"
- },
- {
- "name": "lineId",
- "in": "path",
- "description": "lineId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«小程序端 - 产品列表项»»",
- "originalRef": "统一响应结果«List«小程序端 - 产品列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«小程序端 - 产品列表项»»",
- "originalRef": "统一响应结果«List«小程序端 - 产品列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "DailyDetail": {
- "type": "object",
- "properties": {
- "adultPrice": {
- "type": "number",
- "description": "成人价"
- },
- "childPrice": {
- "type": "number",
- "description": "儿童价"
- },
- "date": {
- "type": "string",
- "description": "日期"
- }
- },
- "title": "DailyDetail"
- },
- "GroupBatchStaffDO": {
- "type": "object",
- "properties": {
- "batchId": {
- "type": "integer",
- "format": "int64"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "id": {
- "type": "integer",
- "format": "int64"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "remark": {
- "type": "string"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "staffId": {
- "type": "integer",
- "format": "int64"
- },
- "staffName": {
- "type": "string"
- },
- "staffPhone": {
- "type": "string"
- },
- "staffRole": {
- "type": "string"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "GroupBatchStaffDO"
- },
- "GroupTourBatchDO": {
- "type": "object",
- "properties": {
- "adultPrice": {
- "type": "number"
- },
- "batchId": {
- "type": "integer",
- "format": "int64"
- },
- "batchLabel": {
- "type": "string"
- },
- "batchName": {
- "type": "string"
- },
- "batchNo": {
- "type": "string"
- },
- "batchStatus": {
- "type": "string"
- },
- "bookedRooms": {
- "type": "integer",
- "format": "int32"
- },
- "childPrice": {
- "type": "number"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "departureDate": {
- "type": "string",
- "format": "date"
- },
- "endDate": {
- "type": "string",
- "format": "date"
- },
- "enrolledCount": {
- "type": "integer",
- "format": "int32"
- },
- "enrollmentDeadline": {
- "type": "string",
- "format": "date"
- },
- "infantPrice": {
- "type": "number"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "productStockLimit": {
- "type": "integer",
- "format": "int32"
- },
- "remark": {
- "type": "string"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "toddlerDiscount": {
- "type": "number"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- },
- "version": {
- "type": "integer",
- "format": "int32"
- }
- },
- "title": "GroupTourBatchDO"
- },
- "ProductCrowdBenefitDO": {
- "type": "object",
- "properties": {
- "childAccommodation": {
- "type": "string"
- },
- "childMeal": {
- "type": "string"
- },
- "childTicket": {
- "type": "string"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "elderAccommodation": {
- "type": "string"
- },
- "elderTicket": {
- "type": "string"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "tips": {
- "type": "string"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductCrowdBenefitDO"
- },
- "ProductFeeItemDO": {
- "type": "object",
- "properties": {
- "costItemId": {
- "type": "integer",
- "format": "int64"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "daily": {
- "type": "boolean"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "description": {
- "type": "string"
- },
- "feeCategory": {
- "type": "string"
- },
- "feeType": {
- "type": "string"
- },
- "id": {
- "type": "integer",
- "format": "int64"
- },
- "name": {
- "type": "string"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "quantity": {
- "type": "integer",
- "format": "int32"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64"
- },
- "resourceType": {
- "type": "string"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "source": {
- "type": "string"
- },
- "unit": {
- "type": "string"
- },
- "unitPrice": {
- "type": "number"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductFeeItemDO"
- },
- "ProductPriceCalendarDO": {
- "type": "object",
- "properties": {
- "adultSellPrice": {
- "type": "number"
- },
- "childSellPrice": {
- "type": "number"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "dailyStock": {
- "type": "integer",
- "format": "int32"
- },
- "date": {
- "type": "string",
- "format": "date"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "id": {
- "type": "integer",
- "format": "int64"
- },
- "infantPrice": {
- "type": "number"
- },
- "priceType": {
- "type": "string"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "rangeId": {
- "type": "integer",
- "format": "int64"
- },
- "sold": {
- "type": "integer",
- "format": "int32"
- },
- "tierSeq": {
- "type": "integer",
- "format": "int32"
- },
- "toddlerDiscount": {
- "type": "number"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductPriceCalendarDO"
- },
- "ProductRouteInfoDO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "routeDescription": {
- "type": "string"
- },
- "routeMapUrl": {
- "type": "string"
- },
- "routeName": {
- "type": "string"
- },
- "staffCostIds": {
- "type": "string"
- },
- "totalMileage": {
- "type": "number"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- },
- "vehicleModelId": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductRouteInfoDO"
- },
- "ProductSupplementDO": {
- "type": "object",
- "properties": {
- "bookingTermsId": {
- "type": "integer",
- "format": "int64"
- },
- "childExperience": {
- "type": "string"
- },
- "contractSchemeId": {
- "type": "integer",
- "format": "int64"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "equipmentAdvice": {
- "type": "string"
- },
- "feeIgnoredTypes": {
- "type": "string"
- },
- "growthGains": {
- "type": "string"
- },
- "insuranceNotice": {
- "type": "string"
- },
- "insuranceSchemeId": {
- "type": "integer",
- "format": "int64"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "quickUnderstand": {
- "type": "string"
- },
- "refundPolicyIds": {
- "type": "string"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- },
- "vehicleModelIds": {
- "type": "string"
- },
- "vehicleRuleText": {
- "type": "string"
- },
- "warmTipsId": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductSupplementDO"
- },
- "ProductSuppliesDO": {
- "type": "object",
- "properties": {
- "billingType": {
- "type": "string"
- },
- "category": {
- "type": "string"
- },
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "hasCost": {
- "type": "boolean"
- },
- "id": {
- "type": "integer",
- "format": "int64"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "quantity": {
- "type": "integer",
- "format": "int32"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "suppliesName": {
- "type": "string"
- },
- "suppliesResourceId": {
- "type": "integer",
- "format": "int64"
- },
- "unitPrice": {
- "type": "number"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductSuppliesDO"
- },
- "StaffItem": {
- "type": "object",
- "properties": {
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "staffId": {
- "type": "integer",
- "format": "int64",
- "description": "员工ID"
- },
- "staffName": {
- "type": "string",
- "description": "员工名称"
- },
- "staffPhone": {
- "type": "string",
- "description": "员工电话"
- },
- "staffRole": {
- "type": "string",
- "description": "员工角色"
- }
- },
- "title": "StaffItem"
- },
- "住宿项": {
- "type": "object",
- "properties": {
- "hotelId": {
- "type": "integer",
- "format": "int64",
- "description": "酒店ID"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "住宿ID(已有则传,新增不传)"
- },
- "isDefault": {
- "type": "boolean",
- "description": "是否默认推荐"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "description": "房间数(私人定制用)"
- },
- "roomTypeId": {
- "type": "integer",
- "format": "int64",
- "description": "房型ID(私人定制用)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "tierSeq": {
- "type": "integer",
- "format": "int32",
- "description": "档位序号(无档位=1)"
- }
- },
- "title": "住宿项"
- },
- "分页结果«管理端 - 产品列表项»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/管理端 - 产品列表项",
- "originalRef": "管理端 - 产品列表项"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«管理端 - 产品列表项»"
- },
- "备品项": {
- "type": "object",
- "properties": {
- "billingType": {
- "type": "string",
- "description": "计费方式(PER_PERSON/PER_QUANTITY)"
- },
- "category": {
- "type": "string",
- "description": "分类"
- },
- "hasCost": {
- "type": "boolean",
- "description": "是否涉及成本"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "备品ID(已有则传,新增不传)"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "suppliesName": {
- "type": "string",
- "description": "备品名称"
- },
- "suppliesResourceId": {
- "type": "integer",
- "format": "int64",
- "description": "备品资源ID(可空=自定义)"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价"
- }
- },
- "title": "备品项"
- },
- "活动节点": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "描述"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "时长(分钟)"
- },
- "emojiIcon": {
- "type": "string",
- "description": "图标"
- },
- "extraData": {
- "type": "object",
- "description": "扩展数据"
- },
- "images": {
- "type": "array",
- "description": "图片列表",
- "items": {
- "type": "string"
- }
- },
- "nodeId": {
- "type": "integer",
- "format": "int64",
- "description": "节点ID(已有则传,新增不传)"
- },
- "nodeName": {
- "type": "string",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "description": "节点类型(SCENIC/ACTIVITY/RESTAURANT/SERVICE/CUSTOM等)"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "startTime": {
- "type": "string",
- "description": "开始时间(如10:00)"
- }
- },
- "title": "活动节点"
- },
- "管理端 - Step1 基础信息保存": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "category": {
- "type": "string",
- "example": "family",
- "description": "产品分类(字典product_category: family=亲子游, honeymoon=蜜月旅行, photography=摄影之旅, experience=深度体验, driving=自驾越野)"
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "introduction": {
- "type": "string",
- "description": "产品简介(富文本HTML)"
- },
- "lineId": {
- "type": "integer",
- "format": "int64",
- "example": 100,
- "description": "产品线ID(主题ID,CORE/GROUP必传,CUSTOM可空)"
- },
- "name": {
- "type": "string",
- "example": "额吉的故乡·亲子版",
- "description": "产品名称(≤30字)"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 2043246204711550977,
- "description": "产品ID(不传=创建,传了=更新)"
- },
- "productType": {
- "type": "string",
- "example": "CORE",
- "description": "产品类型(创建时必传,更新时忽略。CORE=核心产品, GROUP=小蒙马, CUSTOM=私人定制)"
- },
- "subtitle": {
- "type": "string",
- "example": "6天5晚草原环线",
- "description": "副标题(≤128字)"
- },
- "tags": {
- "type": "array",
- "example": [
- "亲子",
- "研学"
- ],
- "description": "产品标签(亲子/研学/露营/城记/摄影)",
- "items": {
- "type": "string"
- }
- },
- "tiers": {
- "type": "array",
- "description": "规格列表(单一档不传或传1个,多档传多个)",
- "items": {
- "$ref": "#/definitions/规格项",
- "originalRef": "规格项"
- }
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "example": 6,
- "description": "行程天数(≥1)"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "行程晚数(不传自动=天数-1)"
- }
- },
- "title": "管理端 - Step1 基础信息保存"
- },
- "管理端 - Step2 行程保存": {
- "type": "object",
- "properties": {
- "days": {
- "type": "array",
- "description": "行程天列表",
- "items": {
- "$ref": "#/definitions/行程天",
- "originalRef": "行程天"
- }
- }
- },
- "title": "管理端 - Step2 行程保存"
- },
- "管理端 - Step3 路线与备品保存": {
- "type": "object",
- "properties": {
- "extraCosts": {
- "type": "array",
- "description": "额外成本项列表",
- "items": {
- "$ref": "#/definitions/额外成本项",
- "originalRef": "额外成本项"
- }
- },
- "routeDescription": {
- "type": "string",
- "description": "线路描述"
- },
- "routeMapUrl": {
- "type": "string",
- "description": "路线图URL(手动上传)"
- },
- "supplies": {
- "type": "array",
- "description": "备品列表",
- "items": {
- "$ref": "#/definitions/备品项",
- "originalRef": "备品项"
- }
- },
- "totalMileage": {
- "type": "number",
- "description": "总里程(km)"
- }
- },
- "title": "管理端 - Step3 路线与备品保存"
- },
- "管理端 - Step5 补充信息保存": {
- "type": "object",
- "properties": {
- "bookingTermsId": {
- "type": "integer",
- "format": "int64",
- "description": "预订条款ID"
- },
- "childAccommodation": {
- "type": "string",
- "description": "儿童住宿(BED/NO_BED)"
- },
- "childExperience": {
- "type": "object",
- "description": "孩子经历"
- },
- "childMeal": {
- "type": "string",
- "description": "儿童餐饮(FULL/HALF)"
- },
- "childTicket": {
- "type": "string",
- "description": "儿童门票优惠(FREE/HALF_PRICE/FULL_PRICE)"
- },
- "contractSchemeId": {
- "type": "integer",
- "format": "int64",
- "description": "合同方案ID"
- },
- "crowdBenefitTips": {
- "type": "string",
- "description": "人群优惠温馨提示"
- },
- "customFees": {
- "type": "array",
- "description": "自定义费用列表",
- "items": {
- "$ref": "#/definitions/费用项",
- "originalRef": "费用项"
- }
- },
- "elderAccommodation": {
- "type": "string",
- "description": "老人住宿"
- },
- "elderTicket": {
- "type": "string",
- "description": "老人门票优惠"
- },
- "equipmentAdvice": {
- "type": "string",
- "description": "装备建议(富文本)"
- },
- "excludedFees": {
- "type": "array",
- "description": "费用不含列表",
- "items": {
- "$ref": "#/definitions/费用项",
- "originalRef": "费用项"
- }
- },
- "feeIgnoredTypes": {
- "type": "array",
- "description": "费用推导已忽略类型",
- "items": {
- "type": "string"
- }
- },
- "growthGains": {
- "type": "array",
- "description": "成长收获",
- "items": {
- "type": "object"
- }
- },
- "includedFees": {
- "type": "array",
- "description": "费用包含列表",
- "items": {
- "$ref": "#/definitions/费用项",
- "originalRef": "费用项"
- }
- },
- "insuranceNotice": {
- "type": "string",
- "description": "保险告知(INCLUDED/EXCLUDED/OPTIONAL)"
- },
- "insuranceSchemeId": {
- "type": "integer",
- "format": "int64",
- "description": "保险方案ID"
- },
- "quickUnderstand": {
- "type": "object",
- "description": "快速理解"
- },
- "refundPolicyIds": {
- "type": "object",
- "description": "退改政策映射"
- },
- "vehicleModelIds": {
- "type": "array",
- "description": "展示车型ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "vehicleRuleText": {
- "type": "string",
- "description": "用车规则说明"
- },
- "warmTipsId": {
- "type": "integer",
- "format": "int64",
- "description": "温馨提示ID"
- }
- },
- "title": "管理端 - Step5 补充信息保存"
- },
- "管理端 - 产品列表项": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "产品分类(字典product_category)"
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人名称"
- },
- "lineId": {
- "type": "integer",
- "format": "int64",
- "description": "产品线ID(前端叫「主题」)"
- },
- "lineName": {
- "type": "string",
- "description": "产品线名称(前端叫「主题名」,从产品线表关联查出)"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productNo": {
- "type": "string",
- "description": "产品编号(如C260409001)"
- },
- "productType": {
- "type": "string",
- "description": "产品类型(字典product_type: CORE=核心产品, GROUP=小蒙马, CUSTOM=私人定制)"
- },
- "publishedAt": {
- "type": "string",
- "format": "date-time",
- "description": "上架时间"
- },
- "seasons": {
- "type": "array",
- "description": "产品季节(JSON数组,如[\"summer\",\"autumn\"])",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "startPrice": {
- "type": "number",
- "description": "起步价(已上架产品的最低成人售价,草稿为null)"
- },
- "status": {
- "type": "string",
- "description": "产品状态(字典product_status)"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "产品标签(JSON数组,如[\"亲子\",\"研学\"])",
- "items": {
- "type": "string"
- }
- },
- "tierCount": {
- "type": "integer",
- "format": "int32",
- "description": "档位数量(前端叫「规格数」,单一=1,多档=N,未配置=0)"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "管理端 - 产品列表项"
- },
- "管理端 - 产品操作记录": {
- "type": "object",
- "properties": {
- "action": {
- "type": "string",
- "description": "操作类型"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "操作时间"
- },
- "detail": {
- "type": "string",
- "description": "详情/驳回原因"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "记录ID"
- },
- "operatorId": {
- "type": "integer",
- "format": "int64",
- "description": "操作人ID"
- },
- "operatorName": {
- "type": "string",
- "description": "操作人名称"
- },
- "step": {
- "type": "string",
- "description": "步骤号"
- }
- },
- "title": "管理端 - 产品操作记录"
- },
- "管理端 - 产品状态变更": {
- "type": "object",
- "required": [
- "action"
- ],
- "properties": {
- "action": {
- "type": "string",
- "description": "操作动作(SUBMIT_PUBLISH/WITHDRAW/DIRECT_PUBLISH/UNPUBLISH/FORCE_UNPUBLISH/COMPLETE)"
- },
- "remark": {
- "type": "string",
- "description": "备注/驳回原因(可选)"
- }
- },
- "title": "管理端 - 产品状态变更"
- },
- "管理端 - 产品详情": {
- "type": "object",
- "properties": {
- "carouselImages": {
- "type": "object",
- "description": "轮播图"
- },
- "category": {
- "type": "string",
- "description": "产品分类(字典product_category)"
- },
- "childAgeMax": {
- "type": "integer",
- "format": "int32",
- "description": "儿童年龄上限"
- },
- "childAgeMin": {
- "type": "integer",
- "format": "int32",
- "description": "儿童年龄下限"
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "crowdBenefit": {
- "description": "人群优惠",
- "$ref": "#/definitions/ProductCrowdBenefitDO",
- "originalRef": "ProductCrowdBenefitDO"
- },
- "currentStep": {
- "type": "integer",
- "format": "int32",
- "description": "当前步骤进度(1=基础信息, 2=行程编排, 3=路线与备品, 4=定价管理, 5=补充信息)"
- },
- "customFees": {
- "type": "array",
- "description": "自定义费用",
- "items": {
- "$ref": "#/definitions/ProductFeeItemDO",
- "originalRef": "ProductFeeItemDO"
- }
- },
- "depositAmount": {
- "type": "number",
- "description": "订金固定额"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "description": "订金比例"
- },
- "excludedFees": {
- "type": "array",
- "description": "费用不含",
- "items": {
- "$ref": "#/definitions/ProductFeeItemDO",
- "originalRef": "ProductFeeItemDO"
- }
- },
- "extraCosts": {
- "type": "array",
- "description": "额外成本项",
- "items": {
- "$ref": "#/definitions/ProductFeeItemDO",
- "originalRef": "ProductFeeItemDO"
- }
- },
- "includedFees": {
- "type": "array",
- "description": "费用包含",
- "items": {
- "$ref": "#/definitions/ProductFeeItemDO",
- "originalRef": "ProductFeeItemDO"
- }
- },
- "infantAgeMax": {
- "type": "integer",
- "format": "int32",
- "description": "幼童年龄上限"
- },
- "introduction": {
- "type": "string",
- "description": "产品简介"
- },
- "isBooking": {
- "type": "boolean",
- "description": "是否预约产品"
- },
- "itinerary": {
- "type": "array",
- "description": "行程天列表",
- "items": {
- "type": "object"
- }
- },
- "lineId": {
- "type": "integer",
- "format": "int64",
- "description": "产品线ID"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "paymentType": {
- "type": "string",
- "description": "支付方式"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productNo": {
- "type": "string",
- "description": "产品编号"
- },
- "productType": {
- "type": "string",
- "description": "产品类型"
- },
- "publishedAt": {
- "type": "string",
- "format": "date-time",
- "description": "上架时间"
- },
- "routeInfo": {
- "description": "路线信息",
- "$ref": "#/definitions/ProductRouteInfoDO",
- "originalRef": "ProductRouteInfoDO"
- },
- "schedules": {
- "type": "array",
- "description": "班期列表",
- "items": {
- "$ref": "#/definitions/GroupTourBatchDO",
- "originalRef": "GroupTourBatchDO"
- }
- },
- "seasons": {
- "type": "object",
- "description": "产品季节"
- },
- "showReview": {
- "type": "boolean",
- "description": "展示评价"
- },
- "status": {
- "type": "string",
- "description": "产品状态"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "supplement": {
- "description": "补充配置",
- "$ref": "#/definitions/ProductSupplementDO",
- "originalRef": "ProductSupplementDO"
- },
- "supplies": {
- "type": "array",
- "description": "备品列表",
- "items": {
- "$ref": "#/definitions/ProductSuppliesDO",
- "originalRef": "ProductSuppliesDO"
- }
- },
- "tags": {
- "type": "object",
- "description": "产品标签"
- },
- "tiers": {
- "type": "object",
- "description": "档位列表"
- },
- "toddlerAgeMax": {
- "type": "integer",
- "format": "int32",
- "description": "小童年龄上限"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- }
- },
- "title": "管理端 - 产品详情"
- },
- "管理端 - 产品转让": {
- "type": "object",
- "required": [
- "newCreatorId"
- ],
- "properties": {
- "newCreatorId": {
- "type": "integer",
- "format": "int64",
- "description": "新创建人ID"
- }
- },
- "title": "管理端 - 产品转让"
- },
- "管理端 - 价格日历批量设置": {
- "type": "object",
- "required": [
- "adultSellPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "adultSellPrice": {
- "type": "number",
- "description": "成人售价"
- },
- "childSellPrice": {
- "type": "number",
- "description": "儿童售价"
- },
- "dailyStock": {
- "type": "integer",
- "format": "int32",
- "description": "每日库存上限(NULL=不限量)"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "description": "结束日期"
- },
- "infantPrice": {
- "type": "number",
- "description": "幼童售价(0=免费)"
- },
- "priceType": {
- "type": "string",
- "description": "价格类型(NORMAL/PEAK/HOLIDAY/SPECIAL)"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "开始日期"
- },
- "tierSeq": {
- "type": "integer",
- "format": "int32",
- "description": "档位序号(默认1)"
- },
- "toddlerDiscount": {
- "type": "number",
- "description": "小童优惠额(负数)"
- }
- },
- "title": "管理端 - 价格日历批量设置"
- },
- "管理端 - 报价结果": {
- "type": "object",
- "properties": {
- "dailyDetails": {
- "type": "array",
- "description": "每日价格明细",
- "items": {
- "$ref": "#/definitions/DailyDetail",
- "originalRef": "DailyDetail"
- }
- },
- "grandTotal": {
- "type": "number",
- "description": "总价合计"
- },
- "totalAdultPrice": {
- "type": "number",
- "description": "成人总价"
- },
- "totalChildPrice": {
- "type": "number",
- "description": "儿童总价"
- }
- },
- "title": "管理端 - 报价结果"
- },
- "管理端 - 报价计算": {
- "type": "object",
- "required": [
- "adultCount",
- "departureDate"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "batchId": {
- "type": "integer",
- "format": "int64",
- "description": "班期ID(小蒙马用)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "infantCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "tierSeq": {
- "type": "integer",
- "format": "int32",
- "description": "档位序号(默认1)"
- },
- "toddlerCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "管理端 - 报价计算"
- },
- "管理端 - 班期保存": {
- "type": "object",
- "required": [
- "departureDate"
- ],
- "properties": {
- "adultPrice": {
- "type": "number",
- "description": "成人价"
- },
- "batchId": {
- "type": "integer",
- "format": "int64",
- "description": "班期ID(修改时传)"
- },
- "batchName": {
- "type": "string",
- "description": "班期名称"
- },
- "childPrice": {
- "type": "number",
- "description": "儿童价"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期"
- },
- "enrollmentDeadline": {
- "type": "string",
- "format": "date",
- "description": "报名截止日(默认出发前1天)"
- },
- "infantPrice": {
- "type": "number",
- "description": "幼童价"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32",
- "description": "最大参与人数"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32",
- "description": "总房间数(0=不限)"
- },
- "productStockLimit": {
- "type": "integer",
- "format": "int32",
- "description": "产品库存上限"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "toddlerDiscount": {
- "type": "number",
- "description": "小童优惠额(负数)"
- }
- },
- "title": "管理端 - 班期保存"
- },
- "管理端 - 班期团队保存": {
- "type": "object",
- "properties": {
- "staffList": {
- "type": "array",
- "description": "团队成员列表",
- "items": {
- "$ref": "#/definitions/StaffItem",
- "originalRef": "StaffItem"
- }
- }
- },
- "title": "管理端 - 班期团队保存"
- },
- "管理端 - 班期批量创建": {
- "type": "object",
- "required": [
- "endDate",
- "repeatMode",
- "startDate"
- ],
- "properties": {
- "adultPrice": {
- "type": "number",
- "description": "成人价"
- },
- "childPrice": {
- "type": "number",
- "description": "儿童价"
- },
- "dayOfWeek": {
- "type": "integer",
- "format": "int32",
- "description": "星期几(1=周一...7=周日)"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "description": "结束日期"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32",
- "description": "最大参与人数"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32",
- "description": "总房间数"
- },
- "repeatMode": {
- "type": "string",
- "description": "重复模式(WEEKLY/BIWEEKLY/MONTHLY)"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "description": "开始日期"
- }
- },
- "title": "管理端 - 班期批量创建"
- },
- "管理端 - 费用推导预览": {
- "type": "object",
- "properties": {
- "feeType": {
- "type": "string",
- "description": "费用类型标签"
- },
- "name": {
- "type": "string",
- "description": "费用名称"
- },
- "source": {
- "type": "string",
- "description": "来源(AUTO=自动推导)"
- },
- "sourceNodeName": {
- "type": "string",
- "description": "来源节点名称"
- }
- },
- "title": "管理端 - 费用推导预览"
- },
- "统一响应结果«List«GroupBatchStaffDO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/GroupBatchStaffDO",
- "originalRef": "GroupBatchStaffDO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«GroupBatchStaffDO»»"
- },
- "统一响应结果«List«GroupTourBatchDO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/GroupTourBatchDO",
- "originalRef": "GroupTourBatchDO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«GroupTourBatchDO»»"
- },
- "统一响应结果«List«ProductPriceCalendarDO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/ProductPriceCalendarDO",
- "originalRef": "ProductPriceCalendarDO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«ProductPriceCalendarDO»»"
- },
- "统一响应结果«List«string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«string»»"
- },
- "统一响应结果«List«管理端 - 产品操作记录»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理端 - 产品操作记录",
- "originalRef": "管理端 - 产品操作记录"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«管理端 - 产品操作记录»»"
- },
- "统一响应结果«List«管理端 - 费用推导预览»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理端 - 费用推导预览",
- "originalRef": "管理端 - 费用推导预览"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«管理端 - 费用推导预览»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«int»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "integer",
- "format": "int32",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«int»"
- },
- "统一响应结果«long»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "integer",
- "format": "int64",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«long»"
- },
- "统一响应结果«分页结果«管理端 - 产品列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«管理端 - 产品列表项»",
- "originalRef": "分页结果«管理端 - 产品列表项»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«管理端 - 产品列表项»»"
- },
- "统一响应结果«管理端 - 产品详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/管理端 - 产品详情",
- "originalRef": "管理端 - 产品详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«管理端 - 产品详情»"
- },
- "统一响应结果«管理端 - 报价结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/管理端 - 报价结果",
- "originalRef": "管理端 - 报价结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«管理端 - 报价结果»"
- },
- "行程天": {
- "type": "object",
- "properties": {
- "breakfast": {
- "type": "string",
- "description": "早餐(HOTEL/CAMP/SPECIAL/SELF)"
- },
- "coverImageUrl": {
- "type": "string",
- "description": "当日封面图"
- },
- "customFields": {
- "type": "object",
- "description": "自定义概况"
- },
- "dailyMileage": {
- "type": "number",
- "description": "当日里程(km)"
- },
- "dayId": {
- "type": "integer",
- "format": "int64",
- "description": "行程天ID(已有则传,新增不传)"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天序号"
- },
- "dayTitle": {
- "type": "string",
- "description": "当日标题"
- },
- "description": {
- "type": "string",
- "description": "行程描述"
- },
- "diningRemark": {
- "type": "string",
- "description": "餐饮备注"
- },
- "dinner": {
- "type": "string",
- "description": "晚餐"
- },
- "hotels": {
- "type": "array",
- "description": "住宿列表",
- "items": {
- "$ref": "#/definitions/住宿项",
- "originalRef": "住宿项"
- }
- },
- "lunch": {
- "type": "string",
- "description": "午餐"
- },
- "mileageManualOverride": {
- "type": "boolean",
- "description": "里程是否手动覆盖"
- },
- "nodes": {
- "type": "array",
- "description": "活动节点列表",
- "items": {
- "$ref": "#/definitions/活动节点",
- "originalRef": "活动节点"
- }
- },
- "photoUrls": {
- "type": "array",
- "description": "照片集",
- "items": {
- "type": "string"
- }
- },
- "quoteText": {
- "type": "string",
- "description": "当日金句"
- },
- "routePoints": {
- "type": "array",
- "description": "途经路线点列表",
- "items": {
- "$ref": "#/definitions/途经路线点",
- "originalRef": "途经路线点"
- }
- }
- },
- "title": "行程天"
- },
- "规格项": {
- "type": "object",
- "required": [
- "tierName",
- "tierSeq"
- ],
- "properties": {
- "tierName": {
- "type": "string",
- "example": "舒适",
- "description": "规格名称"
- },
- "tierSeq": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "规格序号(1开始递增)"
- }
- },
- "title": "规格项"
- },
- "费用项": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "说明"
- },
- "feeType": {
- "type": "string",
- "description": "费用类型"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "费用项ID(已有则传)"
- },
- "name": {
- "type": "string",
- "description": "名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "source": {
- "type": "string",
- "description": "来源(AUTO/MANUAL)"
- },
- "unit": {
- "type": "string",
- "description": "单位(自定义费用)"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价(自定义费用)"
- }
- },
- "title": "费用项"
- },
- "途经路线点": {
- "type": "object",
- "properties": {
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "地点名称"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID(可空=自定义地点)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- }
- },
- "title": "途经路线点"
- },
- "额外成本项": {
- "type": "object",
- "properties": {
- "costItemId": {
- "type": "integer",
- "format": "int64",
- "description": "费用项ID"
- },
- "daily": {
- "type": "boolean",
- "description": "是否按天计费"
- },
- "description": {
- "type": "string",
- "description": "说明"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "费用项ID(已有则传,新增不传)"
- },
- "name": {
- "type": "string",
- "description": "名称"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价"
- }
- },
- "title": "额外成本项"
- },
- "分页结果«管理端 - 产品线详情/列表项»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/管理端 - 产品线详情/列表项",
- "originalRef": "管理端 - 产品线详情/列表项"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«管理端 - 产品线详情/列表项»"
- },
- "管理端 - 产品线下拉": {
- "type": "object",
- "properties": {
- "lineId": {
- "type": "integer",
- "format": "int64",
- "description": "产品线ID"
- },
- "name": {
- "type": "string",
- "description": "产品线名称"
- }
- },
- "title": "管理端 - 产品线下拉"
- },
- "管理端 - 产品线保存": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "description": "封面图"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "lineId": {
- "type": "integer",
- "format": "int64",
- "description": "产品线ID(修改时传)"
- },
- "name": {
- "type": "string",
- "description": "名称"
- },
- "productType": {
- "type": "string",
- "description": "绑定产品类型"
- },
- "seasons": {
- "type": "array",
- "description": "适用季节",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "status": {
- "type": "string",
- "description": "状态(ACTIVE/INACTIVE)"
- },
- "tags": {
- "type": "array",
- "description": "标签",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "管理端 - 产品线保存"
- },
- "管理端 - 产品线详情/列表项": {
- "type": "object",
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "description": "封面图"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "lineId": {
- "type": "integer",
- "format": "int64",
- "description": "产品线ID"
- },
- "name": {
- "type": "string",
- "description": "产品线名称"
- },
- "productCount": {
- "type": "integer",
- "format": "int64",
- "example": 12,
- "description": "产品数量"
- },
- "productType": {
- "type": "string",
- "description": "绑定产品类型"
- },
- "seasons": {
- "type": "array",
- "description": "适用季节",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序"
- },
- "status": {
- "type": "string",
- "description": "状态"
- },
- "tags": {
- "type": "array",
- "description": "产品线标签",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "管理端 - 产品线详情/列表项"
- },
- "统一响应结果«List«管理端 - 产品线下拉»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理端 - 产品线下拉",
- "originalRef": "管理端 - 产品线下拉"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«管理端 - 产品线下拉»»"
- },
- "统一响应结果«分页结果«管理端 - 产品线详情/列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«管理端 - 产品线详情/列表项»",
- "originalRef": "分页结果«管理端 - 产品线详情/列表项»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«管理端 - 产品线详情/列表项»»"
- },
- "统一响应结果«管理端 - 产品线详情/列表项»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/管理端 - 产品线详情/列表项",
- "originalRef": "管理端 - 产品线详情/列表项"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«管理端 - 产品线详情/列表项»"
- },
- "管理端 - 安全保障模板": {
- "type": "object",
- "properties": {
- "items": {
- "type": "string",
- "description": "具体条目(JSON)"
- },
- "name": {
- "type": "string",
- "description": "模板名称"
- },
- "templateId": {
- "type": "integer",
- "format": "int64",
- "description": "模板ID"
- }
- },
- "title": "管理端 - 安全保障模板"
- },
- "管理端 - 温馨提示": {
- "type": "object",
- "properties": {
- "tipsId": {
- "type": "integer",
- "format": "int64",
- "description": "提示ID"
- },
- "tipsName": {
- "type": "string",
- "description": "提示名称"
- }
- },
- "title": "管理端 - 温馨提示"
- },
- "管理端 - 预订条款": {
- "type": "object",
- "properties": {
- "termsId": {
- "type": "integer",
- "format": "int64",
- "description": "条款ID"
- },
- "termsName": {
- "type": "string",
- "description": "条款名称"
- }
- },
- "title": "管理端 - 预订条款"
- },
- "统一响应结果«List«管理端 - 安全保障模板»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理端 - 安全保障模板",
- "originalRef": "管理端 - 安全保障模板"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«管理端 - 安全保障模板»»"
- },
- "统一响应结果«List«管理端 - 温馨提示»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理端 - 温馨提示",
- "originalRef": "管理端 - 温馨提示"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«管理端 - 温馨提示»»"
- },
- "统一响应结果«List«管理端 - 预订条款»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/管理端 - 预订条款",
- "originalRef": "管理端 - 预订条款"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«管理端 - 预订条款»»"
- },
- "C端人群优惠": {
- "type": "object",
- "properties": {
- "childAccommodation": {
- "type": "string",
- "description": "儿童住宿"
- },
- "childMeal": {
- "type": "string",
- "description": "儿童餐饮"
- },
- "childTicket": {
- "type": "string",
- "description": "儿童门票"
- },
- "elderTicket": {
- "type": "string",
- "description": "老人门票"
- },
- "tips": {
- "type": "string",
- "description": "温馨提示"
- }
- },
- "title": "C端人群优惠"
- },
- "C端活动节点": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "描述"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "时长(分钟)"
- },
- "nodeName": {
- "type": "string",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "description": "节点类型"
- },
- "startTime": {
- "type": "string",
- "description": "开始时间"
- }
- },
- "title": "C端活动节点"
- },
- "C端行程天": {
- "type": "object",
- "properties": {
- "breakfast": {
- "type": "string",
- "description": "早餐"
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天序号"
- },
- "dayTitle": {
- "type": "string",
- "description": "标题"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "dinner": {
- "type": "string",
- "description": "晚餐"
- },
- "lunch": {
- "type": "string",
- "description": "午餐"
- },
- "nodes": {
- "type": "array",
- "description": "节点列表",
- "items": {
- "$ref": "#/definitions/C端活动节点",
- "originalRef": "C端活动节点"
- }
- }
- },
- "title": "C端行程天"
- },
- "C端费用说明": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "说明"
- },
- "name": {
- "type": "string",
- "description": "名称"
- }
- },
- "title": "C端费用说明"
- },
- "Map«int,List«ProductDayHotelDO»»": {
- "type": "object",
- "title": "Map«int,List«ProductDayHotelDO»»",
- "additionalProperties": {
- "$ref": "#/definitions/List",
- "originalRef": "List"
- }
- },
- "ProductDayHotelDO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64"
- },
- "dayId": {
- "type": "integer",
- "format": "int64"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "hotelId": {
- "type": "integer",
- "format": "int64"
- },
- "hotelName": {
- "type": "string"
- },
- "id": {
- "type": "integer",
- "format": "int64"
- },
- "isDefault": {
- "type": "boolean"
- },
- "productId": {
- "type": "integer",
- "format": "int64"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32"
- },
- "roomTypeId": {
- "type": "integer",
- "format": "int64"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "tierSeq": {
- "type": "integer",
- "format": "int32"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time"
- },
- "updatedBy": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "ProductDayHotelDO"
- },
- "小程序端 - 产品详情": {
- "type": "object",
- "properties": {
- "carouselImages": {
- "type": "array",
- "description": "轮播图",
- "items": {
- "type": "string"
- }
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图"
- },
- "crowdBenefit": {
- "description": "人群优惠",
- "$ref": "#/definitions/C端人群优惠",
- "originalRef": "C端人群优惠"
- },
- "excludedFees": {
- "type": "array",
- "description": "费用不含",
- "items": {
- "$ref": "#/definitions/C端费用说明",
- "originalRef": "C端费用说明"
- }
- },
- "includedFees": {
- "type": "array",
- "description": "费用包含",
- "items": {
- "$ref": "#/definitions/C端费用说明",
- "originalRef": "C端费用说明"
- }
- },
- "introduction": {
- "type": "string",
- "description": "产品简介"
- },
- "itinerary": {
- "type": "array",
- "description": "行程天列表",
- "items": {
- "$ref": "#/definitions/C端行程天",
- "originalRef": "C端行程天"
- }
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productType": {
- "type": "string",
- "description": "产品类型"
- },
- "routeMapUrl": {
- "type": "string",
- "description": "路线图URL"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- }
- },
- "title": "小程序端 - 产品详情"
- },
- "小程序端 - 价格日历": {
- "type": "object",
- "properties": {
- "days": {
- "type": "array",
- "description": "日历列表",
- "items": {
- "$ref": "#/definitions/日历日期项",
- "originalRef": "日历日期项"
- }
- }
- },
- "title": "小程序端 - 价格日历"
- },
- "日历日期项": {
- "type": "object",
- "properties": {
- "adultPrice": {
- "type": "number",
- "description": "成人售价"
- },
- "childPrice": {
- "type": "number",
- "description": "儿童售价"
- },
- "date": {
- "type": "string",
- "description": "日期(yyyy-MM-dd)"
- },
- "isSelectable": {
- "type": "boolean",
- "description": "是否可选(有库存且未过期)"
- },
- "priceType": {
- "type": "string",
- "description": "价格类型"
- },
- "remainStock": {
- "type": "integer",
- "format": "int32",
- "description": "剩余库存(NULL=不限量)"
- }
- },
- "title": "日历日期项"
- },
- "统一响应结果«List«小程序端 - 产品详情»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/小程序端 - 产品详情",
- "originalRef": "小程序端 - 产品详情"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«小程序端 - 产品详情»»"
- },
- "统一响应结果«Map«int,List«ProductDayHotelDO»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据",
- "additionalProperties": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProductDayHotelDO",
- "originalRef": "ProductDayHotelDO"
- }
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Map«int,List«ProductDayHotelDO»»»"
- },
- "统一响应结果«小程序端 - 产品详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/小程序端 - 产品详情",
- "originalRef": "小程序端 - 产品详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«小程序端 - 产品详情»"
- },
- "统一响应结果«小程序端 - 价格日历»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/小程序端 - 价格日历",
- "originalRef": "小程序端 - 价格日历"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«小程序端 - 价格日历»"
- },
- "小程序端 - 产品列表项": {
- "type": "object",
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "lineName": {
- "type": "string",
- "description": "产品线名称(前端叫「主题名」)"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "paymentType": {
- "type": "string",
- "description": "支付方式(FULL=全款, DEPOSIT=订金)"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productType": {
- "type": "string",
- "description": "产品类型(CORE/GROUP/CUSTOM)"
- },
- "seasons": {
- "type": "array",
- "description": "产品季节(如[\"summer\",\"autumn\"])",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "startPrice": {
- "type": "number",
- "description": "起步价(¥X起,最低成人售价)"
- },
- "startPriceLabel": {
- "type": "string",
- "description": "起步价展示文案(如\"¥3980起/人\")"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题(一句话卖点)"
- },
- "tags": {
- "type": "array",
- "description": "产品标签(如[\"亲子\",\"研学\"])",
- "items": {
- "type": "string"
- }
- },
- "tierCount": {
- "type": "integer",
- "format": "int32",
- "description": "规格数量(前端叫「规格数」,单一=1,多档=N)"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- }
- },
- "title": "小程序端 - 产品列表项"
- },
- "统一响应结果«List«小程序端 - 产品列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/小程序端 - 产品列表项",
- "originalRef": "小程序端 - 产品列表项"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«小程序端 - 产品列表项»»"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-product-service.json b/.swagger/hl-product-service.json
deleted file mode 100644
index 0983816..0000000
--- a/.swagger/hl-product-service.json
+++ /dev/null
@@ -1,15056 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "产品服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/product/booking-terms": {
- "post": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "创建预订条款",
- "description": "创建后默认启用",
- "operationId": "createUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "termsRequest",
- "description": "termsRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/预订条款请求",
- "originalRef": "预订条款请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«预订条款VO»",
- "originalRef": "统一响应结果«预订条款VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«预订条款VO»",
- "originalRef": "统一响应结果«预订条款VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/booking-terms/enabled": {
- "get": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "启用的预订条款列表",
- "description": "仅返回启用状态的条款,供产品设计时选择",
- "operationId": "listEnabledUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«预订条款VO»»",
- "originalRef": "统一响应结果«List«预订条款VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«预订条款VO»»",
- "originalRef": "统一响应结果«List«预订条款VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/booking-terms/list": {
- "get": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "预订条款列表",
- "description": "返回所有预订条款(含禁用),按创建时间倒序",
- "operationId": "listUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«预订条款VO»»",
- "originalRef": "统一响应结果«List«预订条款VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«预订条款VO»»",
- "originalRef": "统一响应结果«List«预订条款VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/booking-terms/{termsId}": {
- "get": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "预订条款详情",
- "operationId": "detailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "termsId",
- "in": "path",
- "description": "预订条款ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«预订条款VO»",
- "originalRef": "统一响应结果«预订条款VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«预订条款VO»",
- "originalRef": "统一响应结果«预订条款VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "修改预订条款",
- "operationId": "updateUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "termsId",
- "in": "path",
- "description": "预订条款ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "termsRequest",
- "description": "termsRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/预订条款请求",
- "originalRef": "预订条款请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«预订条款VO»",
- "originalRef": "统一响应结果«预订条款VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«预订条款VO»",
- "originalRef": "统一响应结果«预订条款VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "删除预订条款",
- "description": "软删除,已绑定的产品不受影响(产品详情会显示为空)",
- "operationId": "deleteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "termsId",
- "in": "path",
- "description": "预订条款ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/booking-terms/{termsId}/toggle": {
- "put": {
- "tags": [
- "预订条款管理"
- ],
- "summary": "启用/禁用预订条款",
- "description": "禁用后不再出现在产品设计的可选列表中,已绑定的产品不受影响",
- "operationId": "toggleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "enabled",
- "in": "query",
- "description": "是否启用",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "termsId",
- "in": "path",
- "description": "预订条款ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/dining/{id}": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "更新餐饮推荐",
- "description": "更新餐饮推荐的餐厅、用餐类型(早/午/晚)、描述等信息。",
- "operationId": "updateDiningOptionUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "餐饮推荐ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "餐饮推荐请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/用餐选项请求",
- "originalRef": "用餐选项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«用餐选项VO»",
- "originalRef": "统一响应结果«用餐选项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«用餐选项VO»",
- "originalRef": "统一响应结果«用餐选项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "行程管理"
- ],
- "summary": "删除餐饮推荐",
- "description": "删除指定的餐饮推荐记录。",
- "operationId": "deleteDiningOptionUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "餐饮推荐ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/district/search": {
- "get": {
- "tags": [
- "行政区划搜索"
- ],
- "summary": "搜索行政区划(城市/区县/镇)",
- "description": "通过高德地图 API 搜索行政区划,用于产品的出发城市和目的地城市选择。\n输入关键词(如\"丽江\"、\"黑山头\"),返回匹配的城市/区县/镇列表,包含行政区划编码。\n\n**关联字典**:\n- cities(城市):搜索结果可用于产品行程中的城市预览\n- city(城市筛选):搜索结果可用于资源面板城市筛选",
- "operationId": "searchUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keywords",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«行政区划搜索结果»»",
- "originalRef": "统一响应结果«List«行政区划搜索结果»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«行政区划搜索结果»»",
- "originalRef": "统一响应结果«List«行政区划搜索结果»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/folder": {
- "post": {
- "tags": [
- "产品文件夹管理"
- ],
- "summary": "创建文件夹",
- "description": "创建产品文件夹,用于组织管理产品。支持多级目录结构。\n文件夹归属于创建人,普通管理员只能看到自己的文件夹。",
- "operationId": "createFolderUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建文件夹请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建文件夹请求",
- "originalRef": "创建文件夹请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品文件夹VO»",
- "originalRef": "统一响应结果«产品文件夹VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品文件夹VO»",
- "originalRef": "统一响应结果«产品文件夹VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/folder/tree": {
- "get": {
- "tags": [
- "产品文件夹管理"
- ],
- "summary": "获取文件夹树",
- "description": "获取当前用户可见的文件夹树形结构。\n普通管理员只能看到自己创建的文件夹,SUPER_ADMIN 可看到所有文件夹。\n返回结构为嵌套的树形列表,包含每个文件夹的子文件夹。",
- "operationId": "getFolderTreeUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品文件夹VO»»",
- "originalRef": "统一响应结果«List«产品文件夹VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品文件夹VO»»",
- "originalRef": "统一响应结果«List«产品文件夹VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/folder/{folderId}": {
- "put": {
- "tags": [
- "产品文件夹管理"
- ],
- "summary": "更新文件夹",
- "description": "更新文件夹名称等信息。\n**权限说明**:普通管理员只能更新自己创建的文件夹,SUPER_ADMIN 可更新任何文件夹。",
- "operationId": "updateFolderUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新文件夹请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新文件夹请求",
- "originalRef": "更新文件夹请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品文件夹VO»",
- "originalRef": "统一响应结果«产品文件夹VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品文件夹VO»",
- "originalRef": "统一响应结果«产品文件夹VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "产品文件夹管理"
- ],
- "summary": "删除文件夹",
- "description": "删除文件夹。如果文件夹下有产品,产品会自动移到根目录(folderId 置空)。\n普通管理员只能删除自己的文件夹,SUPER_ADMIN 可删除任何文件夹。",
- "operationId": "deleteFolderUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "path",
- "description": "文件夹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/group": {
- "post": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "创建公式组",
- "description": "创建一个新的定价公式组。创建后默认为未激活状态。\n\n公式组编码(groupCode)在同一产品类型下必须唯一。\n建议命名规范:{产品类型}_PRICING_V{版本号},如 CORE_PRICING_V2。\n\n**关联字典**:\n- product_type(产品类型,公式组所属类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "createGroupUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式组请求",
- "originalRef": "公式组请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式组VO»",
- "originalRef": "统一响应结果«公式组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式组VO»",
- "originalRef": "统一响应结果«公式组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/group/list": {
- "get": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "公式组列表",
- "description": "获取定价公式组列表,可按产品类型筛选。\n\n**公式引擎说明**:定价公式用于自动计算产品的成本价和售价。\n每种产品类型可以有多个公式组,但同一时间只能有一个激活的公式组。\n公式组包含多个步骤,按顺序执行,每步计算一个中间变量或最终结果。\n\n**关联字典**:\n- product_type(产品类型,筛选条件):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "listGroupsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productType",
- "in": "query",
- "description": "productType",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式组VO»»",
- "originalRef": "统一响应结果«List«公式组VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式组VO»»",
- "originalRef": "统一响应结果«List«公式组VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/group/{groupId}": {
- "get": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "公式组详情",
- "description": "获取公式组完整信息。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "getGroupUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "groupId",
- "in": "path",
- "description": "groupId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式组VO»",
- "originalRef": "统一响应结果«公式组VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式组VO»",
- "originalRef": "统一响应结果«公式组VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "更新公式组",
- "description": "更新公式组信息。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "updateGroupUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "groupId",
- "in": "path",
- "description": "groupId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式组请求",
- "originalRef": "公式组请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式组VO»",
- "originalRef": "统一响应结果«公式组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式组VO»",
- "originalRef": "统一响应结果«公式组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "删除公式组",
- "description": "删除公式组及其下所有步骤。\n**限制**:已激活的公式组不能删除,需先激活其他公式组。",
- "operationId": "deleteGroupUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "groupId",
- "in": "path",
- "description": "groupId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/group/{groupId}/activate": {
- "put": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "激活公式组",
- "description": "激活指定公式组,同时自动停用同产品类型下的其他公式组。\n\n同一产品类型下只能有一个激活的公式组,激活操作具有排他性。\n激活后,该产品类型的自动成本计算将使用此公式组。\n\n**关联字典**:\n- product_type(产品类型,同类型排他激活):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "activateGroupUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "groupId",
- "in": "path",
- "description": "groupId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/group/{groupId}/steps": {
- "get": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "公式步骤列表",
- "description": "获取公式组下所有步骤,按执行顺序(executionOrder)升序排列。\n步骤按顺序依次执行,前一步的输出变量可作为后续步骤的输入。",
- "operationId": "listStepsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "groupId",
- "in": "path",
- "description": "groupId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式步骤VO»»",
- "originalRef": "统一响应结果«List«公式步骤VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式步骤VO»»",
- "originalRef": "统一响应结果«List«公式步骤VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/step": {
- "post": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "创建公式步骤",
- "description": "在公式组中创建一个计算步骤。\n\n**表达式语法**:使用 Aviator 表达式引擎,支持数学运算、条件判断、内置函数等。\n示例:`baseCost = adultCount * adultUnitCost + childCount * childUnitCost`\n\n**输入变量**:可引用公式变量表中定义的变量,或前置步骤的输出变量。\n**输出变量**:每个步骤必须指定一个输出变量名,供后续步骤引用。",
- "operationId": "createStepUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式步骤请求",
- "originalRef": "公式步骤请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/step/{formulaId}": {
- "get": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "公式步骤详情",
- "description": "获取单个公式步骤的完整信息,包含表达式、输入/输出变量、执行顺序等。",
- "operationId": "getStepUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "formulaId",
- "in": "path",
- "description": "formulaId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "更新公式步骤",
- "description": "更新公式步骤的表达式、输入/输出变量等。\n每次更新会自动保存一个版本快照,可通过版本历史接口查看和回滚。",
- "operationId": "updateStepUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "formulaId",
- "in": "path",
- "description": "formulaId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式步骤请求",
- "originalRef": "公式步骤请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "删除公式步骤",
- "description": "删除指定的公式步骤。删除后其他步骤的执行顺序不会自动调整。\n**注意**:如果后续步骤引用了被删步骤的输出变量,执行时会报错。",
- "operationId": "deleteStepUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "formulaId",
- "in": "path",
- "description": "formulaId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/step/{formulaId}/rollback/{versionNum}": {
- "put": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "回滚公式步骤到指定版本",
- "description": "将公式步骤回滚到历史版本。\n回滚操作会用历史版本的表达式、变量等覆盖当前内容,并创建一个新的版本记录。",
- "operationId": "rollbackStepUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "formulaId",
- "in": "path",
- "description": "formulaId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "versionNum",
- "in": "path",
- "description": "versionNum",
- "required": true,
- "type": "integer",
- "format": "int32"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式步骤VO»",
- "originalRef": "统一响应结果«公式步骤VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/step/{formulaId}/toggle": {
- "put": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "启用/禁用公式步骤",
- "description": "切换公式步骤的启用状态。\n禁用的步骤在公式执行时会被跳过,不影响其他步骤的执行。\n适用场景:临时跳过某个计算步骤进行调试或测试。",
- "operationId": "toggleStepUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "formulaId",
- "in": "path",
- "description": "formulaId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/step/{formulaId}/versions": {
- "get": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "公式步骤版本历史",
- "description": "获取公式步骤的所有历史版本列表,按版本号倒序。\n每次更新步骤表达式会自动创建新版本,方便追溯和回滚。",
- "operationId": "listVersionsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "formulaId",
- "in": "path",
- "description": "formulaId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式版本历史VO»»",
- "originalRef": "统一响应结果«List«公式版本历史VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式版本历史VO»»",
- "originalRef": "统一响应结果«List«公式版本历史VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/test": {
- "post": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "测试公式执行",
- "description": "使用自定义变量值测试公式组的执行结果,不影响任何业务数据。\n\n传入公式组ID和测试变量(变量名→值的映射),返回每个步骤的执行结果。\n适用于公式调试:验证表达式是否正确、计算结果是否符合预期。\n如果某步骤执行出错,会在结果中标明错误信息。",
- "operationId": "testFormulasUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式测试请求",
- "originalRef": "公式测试请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式测试结果VO»",
- "originalRef": "统一响应结果«公式测试结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式测试结果VO»",
- "originalRef": "统一响应结果«公式测试结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/var": {
- "post": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "创建公式变量",
- "description": "创建公式变量定义。变量名(varName)全局唯一,建议使用驼峰命名。\n可指定适用的产品类型列表(productTypes),为空则适用于所有类型。\n\n**关联字典**:\n- product_type(产品类型,变量适用范围):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "createVarUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式变量请求",
- "originalRef": "公式变量请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式变量VO»",
- "originalRef": "统一响应结果«公式变量VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式变量VO»",
- "originalRef": "统一响应结果«公式变量VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/var/list": {
- "get": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "公式变量列表",
- "description": "获取公式变量列表,可按变量分类筛选。\n\n**变量分类**:\n- INPUT:输入变量,从业务数据获取(如成人人数、资源单价)\n- INTERMEDIATE:中间变量,由公式步骤计算得出\n- OUTPUT:输出变量,最终报价结果(如总成本、售价)",
- "operationId": "listVarsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "category",
- "in": "query",
- "description": "category",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式变量VO»»",
- "originalRef": "统一响应结果«List«公式变量VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«公式变量VO»»",
- "originalRef": "统一响应结果«List«公式变量VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/formula/var/{varId}": {
- "put": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "更新公式变量",
- "description": "更新公式变量定义。\n\n**关联字典**:\n- product_type(产品类型,变量适用范围):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "updateVarUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/公式变量请求",
- "originalRef": "公式变量请求"
- }
- },
- {
- "name": "varId",
- "in": "path",
- "description": "varId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式变量VO»",
- "originalRef": "统一响应结果«公式变量VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«公式变量VO»",
- "originalRef": "统一响应结果«公式变量VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定价公式管理"
- ],
- "summary": "删除公式变量",
- "description": "删除公式变量定义。\n**注意**:如果有公式步骤引用了该变量,删除后步骤执行时会报错。建议先确认无引用再删除。",
- "operationId": "deleteVarUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "varId",
- "in": "path",
- "description": "varId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/hotel/{id}": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "更新每日住宿",
- "description": "更新住宿记录的酒店、房型、数量等信息。",
- "operationId": "updateHotelUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "住宿记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "每日住宿请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/每日酒店配置请求",
- "originalRef": "每日酒店配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«每日酒店VO»",
- "originalRef": "统一响应结果«每日酒店VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«每日酒店VO»",
- "originalRef": "统一响应结果«每日酒店VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "行程管理"
- ],
- "summary": "删除每日住宿",
- "description": "删除指定住宿记录。删除后该天的住宿成本会从报价中移除。",
- "operationId": "deleteHotelUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "住宿记录ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item": {
- "post": {
- "tags": [
- "产品管理"
- ],
- "summary": "创建产品(草稿)",
- "description": "创建一个新产品,初始状态为 DRAFT(草稿)。\n\n**产品类型说明**:\n- CORE:核心产品,标准旅游产品,支持上架/下架审批流程\n- GROUP:小蒙马拼团,需配合团期批次管理,按人头计价\n- CUSTOM:定制产品,由定制师为客户量身定制,按单计价\n- ROUTE:线路产品,预设线路模板,按单计价\n\n**注意事项**:\n- 创建后需依次完善行程、定价、价格日历等信息\n- CUSTOM/ROUTE 产品的价格日历存储的是整单总价,不按人头乘算\n- GROUP 产品需额外创建团期批次才能报名\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾",
- "operationId": "createProductUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建产品请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建产品请求",
- "originalRef": "创建产品请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/list": {
- "get": {
- "tags": [
- "产品管理"
- ],
- "summary": "产品列表",
- "description": "分页查询产品列表,支持多维度筛选和排序。\n\n**权限说明**:\n- 普通管理员只能看到自己创建的产品\n- SUPER_ADMIN 可看到所有产品\n\n**筛选条件**:关键词(名称/副标题模糊匹配)、产品类型、状态、文件夹、产品线、季节、行程天数。\n支持多状态筛选(statuses 字段,逗号分隔)。\n\n**关联字典**:\n- product_type(产品类型,筛选条件):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,筛选条件+返回字段):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单",
- "operationId": "listProductsUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "folderId",
- "in": "query",
- "description": "文件夹ID",
- "required": false,
- "type": "string",
- "x-example": "1893012345678901234"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "x-example": "丽江"
- },
- {
- "name": "lineId",
- "in": "query",
- "description": "产品线ID",
- "required": false,
- "type": "string",
- "x-example": "1893012345678901234"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团",
- "required": false,
- "type": "string",
- "x-example": "CORE"
- },
- {
- "name": "season",
- "in": "query",
- "description": "季节筛选",
- "required": false,
- "type": "string",
- "x-example": "spring"
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段:name/tripDays/createTime/updateTime",
- "required": false,
- "type": "string",
- "x-example": "createTime"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED",
- "required": false,
- "type": "string",
- "x-example": "PUBLISHED"
- },
- {
- "name": "statuses",
- "in": "query",
- "description": "多状态筛选(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "PUBLISHED,COMPLETED"
- },
- {
- "name": "tripDays",
- "in": "query",
- "description": "行程天数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 5
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«产品列表VO»»",
- "originalRef": "统一响应结果«分页结果«产品列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«产品列表VO»»",
- "originalRef": "统一响应结果«分页结果«产品列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/save": {
- "post": {
- "tags": [
- "产品管理"
- ],
- "summary": "保存产品(统一创建/更新)",
- "description": "统一的产品保存接口,根据是否传入 productId 自动判断创建或更新:\n\n- **不传 productId**:创建新产品(草稿),此时 productType 必填\n- **传入 productId**:更新已有产品,仅修改传入的字段\n\n**包含字段**:产品基本信息(名称/副标题/行程天数/出发城市等)、标签列表(tags)、季节列表(seasons)、轮播图/视频、展示开关、政策文本、定制师信息等全部产品属性。\n\n**权限说明**:\n- 创建:任何管理员可创建\n- 更新:普通管理员只能编辑自己创建的产品,SUPER_ADMIN 可编辑所有产品\n\n**关联字典**:\n- product_type(产品类型,创建时必填):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,返回字段):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾",
- "operationId": "saveProductUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "保存产品请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/保存产品请求(创建或更新)",
- "originalRef": "保存产品请求(创建或更新)"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}": {
- "get": {
- "tags": [
- "产品管理"
- ],
- "summary": "获取产品详情",
- "description": "获取产品完整信息,包括基本信息、行程天列表、定价配置、费用项等。\n返回数据包含关联的行程节点资源详情,适用于产品编辑页面。\n不过滤产品状态,所有状态的产品都可查看。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾",
- "operationId": "getProductUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "产品管理"
- ],
- "summary": "更新产品",
- "description": "更新产品基本信息,仅传入需要修改的字段,未传字段不会被覆盖。\n\n**权限说明**:\n- 普通管理员只能编辑自己创建的产品\n- SUPER_ADMIN 可编辑所有产品\n\n**注意**:行程、定价、价格日历等通过各自独立的接口管理,不在此接口中处理。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾",
- "operationId": "updateProductUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新产品请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新产品请求",
- "originalRef": "更新产品请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "产品管理"
- ],
- "summary": "删除产品",
- "description": "软删除产品(设置 deleted_at 字段)。\n\n**权限说明**:普通管理员只能删除自己创建的产品,SUPER_ADMIN 可删除所有产品。\n**限制**:已上架(PUBLISHED)的产品不能直接删除,需先下架。",
- "operationId": "deleteProductUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch": {
- "post": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "创建主批次",
- "description": "为 GROUP(小蒙马拼团)产品创建一个团期主批次。\n\n**仅适用于 GROUP 产品类型**。\n每个批次有独立的出发日期、报名截止日期、人数上限。\n创建后状态为 PENDING(待开放),需手动开启报名。\n\n**批次状态流转**:PENDING → ENROLLING(报名中)→ CONFIRMED(已成团)→ CLOSED(已关闭)\n任意报名状态均可被解散(DISBANDED)。\n\n**关联字典**:\n- product_type(产品类型,仅限GROUP):GROUP=小蒙马拼团\n- batch_status(批次状态):PENDING=待开放, ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭, DISBANDED=已解散, IN_PROGRESS=进行中, FINISHED=已结束",
- "operationId": "createBatchUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/创建拼团批次请求",
- "originalRef": "创建拼团批次请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次VO»",
- "originalRef": "统一响应结果«团批次VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次VO»",
- "originalRef": "统一响应结果«团批次VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/list": {
- "get": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "批次列表(树形)",
- "description": "获取产品所有批次,以树形结构返回(主批次包含子批次列表)。\n按出发日期升序排列,包含每个批次的报名人数和剩余名额。\n\n**关联字典**:\n- batch_status(批次状态,返回字段):PENDING=待开放, ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭, DISBANDED=已解散, IN_PROGRESS=进行中, FINISHED=已结束",
- "operationId": "listBatchesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次VO»»",
- "originalRef": "统一响应结果«List«团批次VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次VO»»",
- "originalRef": "统一响应结果«List«团批次VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}": {
- "get": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "批次详情",
- "description": "获取单个批次的完整信息,包括批次基本信息、服务人员配置、套餐组合等。\n\n**关联字典**:\n- batch_status(批次状态):PENDING=待开放, ENROLLING=报名中, CONFIRMED=已成团, FULL=已满员, CLOSED=已关闭, DISBANDED=已解散, IN_PROGRESS=进行中, FINISHED=已结束\n- staff_type(人员类型,服务人员配置):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "getBatchDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次详情VO»",
- "originalRef": "统一响应结果«团批次详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次详情VO»",
- "originalRef": "统一响应结果«团批次详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "更新批次",
- "description": "更新批次基本信息。仅传入需要修改的字段。\n已有报名人员的批次修改人数上限时,不能低于已报名人数。",
- "operationId": "updateBatchUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/更新拼团批次请求",
- "originalRef": "更新拼团批次请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次VO»",
- "originalRef": "统一响应结果«团批次VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次VO»",
- "originalRef": "统一响应结果«团批次VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "删除批次",
- "description": "删除批次(软删除)。\n**限制**:已有报名人员的批次不能直接删除,需先解散批次。",
- "operationId": "deleteBatchUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}/close": {
- "put": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "关闭报名(ENROLLING/CONFIRMED->CLOSED)",
- "description": "关闭批次报名,不再接受新的报名。\n已报名的订单不受影响,仅阻止新增报名。\n适用于报名截止日期到达或手动提前关闭的场景。",
- "operationId": "closeEnrollmentUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}/disband": {
- "post": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "解散批次",
- "description": "解散批次并处理已报名的订单。\n\n**重要**:解散操作会触发以下流程:\n1. 批次状态变更为 DISBANDED\n2. 通过 MQ 消息通知订单服务,自动取消该批次下的所有未完成订单\n3. 已支付订单会触发退款流程\n\n必须填写解散原因(如:报名人数不足、行程调整等)。",
- "operationId": "disbandBatchUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/解散批次请求",
- "originalRef": "解散批次请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}/open": {
- "put": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "开启报名(PENDING->ENROLLING)",
- "description": "将批次从 PENDING 状态变更为 ENROLLING(报名中)。\n开启后用户可在小程序端看到该团期并报名。\n前提条件:产品必须已上架(PUBLISHED)。",
- "operationId": "openEnrollmentUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}/staff": {
- "get": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "服务人员列表",
- "description": "**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "listStaffUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»",
- "originalRef": "统一响应结果«List«团批次服务人员VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»",
- "originalRef": "统一响应结果«List«团批次服务人员VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "保存服务人员(全量替换)",
- "description": "保存批次的服务人员配置,采用全量替换模式(先删后增)。\n\n每次提交完整的人员列表,替换掉该批次原有的所有人员配置。\n人员来源于资源服务的人员库,通过 staffId 关联。\n**角色类型**:LEADER(领队)/PHOTOGRAPHER(摄影师)/DRIVER(司机)/OTHER(其他)\n\n**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "saveStaffUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "requests",
- "description": "requests",
- "required": true,
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/批次服务人员分配请求",
- "originalRef": "批次服务人员分配请求"
- }
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»",
- "originalRef": "统一响应结果«List«团批次服务人员VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»",
- "originalRef": "统一响应结果«List«团批次服务人员VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}/staff/copy-from/{sourceId}": {
- "post": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "从其他批次复制服务人员",
- "description": "将源批次的服务人员配置复制到当前批次(全量替换当前批次已有人员)。\n适用场景:多个团期使用相同的服务人员班底。",
- "operationId": "copyStaffUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "sourceId",
- "in": "path",
- "description": "sourceId",
- "required": true,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»",
- "originalRef": "统一响应结果«List«团批次服务人员VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«团批次服务人员VO»»",
- "originalRef": "统一响应结果«List«团批次服务人员VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/batch/{batchId}/sub-batch": {
- "post": {
- "tags": [
- "拼团批次管理"
- ],
- "summary": "创建子批次(溢出)",
- "description": "当主批次人数满员时,创建子批次接收溢出报名。\n\n子批次共享主批次的出发日期和行程,但有独立的人数上限和报名人数。\n适用场景:某团期特别火爆,需要扩容但希望分开管理。\n子批次在列表中显示为主批次的子级节点。",
- "operationId": "createSubBatchUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "batchId",
- "in": "path",
- "description": "batchId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "productId",
- "required": true,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "$ref": "#/definitions/创建拼团批次请求",
- "originalRef": "创建拼团批次请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次VO»",
- "originalRef": "统一响应结果«团批次VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«团批次VO»",
- "originalRef": "统一响应结果«团批次VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/copy": {
- "post": {
- "tags": [
- "产品管理"
- ],
- "summary": "复制产品",
- "description": "深度复制产品,包括行程天、行程节点、定价配置、住宿、餐饮、物资、人员配置等所有关联数据。\n\n复制后的产品状态为 DRAFT,名称自动添加\"(副本)\"后缀。\n适用场景:基于已有产品快速创建新产品。\n\n**关联字典**:\n- product_type(产品类型,返回字段):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,复制后固定为 DRAFT)",
- "operationId": "copyProductUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/cost-item": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "添加费用项",
- "description": "添加产品的费用包含/不包含说明项。\n\n用于在产品详情页展示\"费用包含\"和\"费用不包含\"信息。\n仅用于前端展示,不参与报价计算。",
- "operationId": "addCostItemUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "费用项请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/成本项请求",
- "originalRef": "成本项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品成本项VO»",
- "originalRef": "统一响应结果«产品成本项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品成本项VO»",
- "originalRef": "统一响应结果«产品成本项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/cost-item/{itemId}": {
- "put": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "更新费用项",
- "description": "更新费用包含/不包含说明项的内容。仅用于前端展示,不参与报价计算。",
- "operationId": "updateCostItemUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "itemId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "费用项请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/成本项请求",
- "originalRef": "成本项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品成本项VO»",
- "originalRef": "统一响应结果«产品成本项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品成本项VO»",
- "originalRef": "统一响应结果«产品成本项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "删除费用项",
- "description": "删除费用包含/不包含说明项。",
- "operationId": "deleteCostItemUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "itemId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/cost-items": {
- "get": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "获取费用项列表",
- "description": "获取产品的所有费用包含/不包含说明项列表。",
- "operationId": "listCostItemsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品成本项VO»»",
- "originalRef": "统一响应结果«List«产品成本项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品成本项VO»»",
- "originalRef": "统一响应结果«List«产品成本项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/custom-fee": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "添加自定义费用",
- "description": "添加产品级别的自定义费用项,直接设置金额,参与成本自动计算。\n\n与额外成本关联不同,自定义费用不关联资源服务的费用项,而是直接指定费用名称和金额。\n适用于临时性或一次性的费用。",
- "operationId": "addCustomFeeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "自定义费用请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/自定义费用项请求",
- "originalRef": "自定义费用项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»",
- "originalRef": "统一响应结果«产品自定义费用项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»",
- "originalRef": "统一响应结果«产品自定义费用项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/custom-fee/{feeId}": {
- "put": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "更新自定义费用",
- "description": "更新自定义费用项的名称、金额等信息。修改后会影响成本自动计算结果。",
- "operationId": "updateCustomFeeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "feeId",
- "in": "path",
- "description": "自定义费用ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "自定义费用请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/自定义费用项请求",
- "originalRef": "自定义费用项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»",
- "originalRef": "统一响应结果«产品自定义费用项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品自定义费用项VO»",
- "originalRef": "统一响应结果«产品自定义费用项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "删除自定义费用",
- "description": "删除自定义费用项。删除后该费用不再计入成本自动计算。",
- "operationId": "deleteCustomFeeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "feeId",
- "in": "path",
- "description": "自定义费用ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/custom-fees": {
- "get": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "获取自定义费用列表",
- "description": "获取产品的所有自定义费用项列表。",
- "operationId": "listCustomFeesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品自定义费用项VO»»",
- "originalRef": "统一响应结果«List«产品自定义费用项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品自定义费用项VO»»",
- "originalRef": "统一响应结果«List«产品自定义费用项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "更新行程天",
- "description": "更新指定天的行程信息,如当天主题、概述等。\n行程天在创建产品时根据 tripDays 自动生成,不支持单独增删,只能更新。\ndayNumber 从 1 开始,对应第几天的行程。",
- "operationId": "updateDayUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "行程天请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/行程天请求",
- "originalRef": "行程天请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程天VO»",
- "originalRef": "统一响应结果«行程天VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程天VO»",
- "originalRef": "统一响应结果«行程天VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}/dining": {
- "get": {
- "tags": [
- "行程管理"
- ],
- "summary": "获取某天的餐厅推荐列表",
- "description": "获取指定天的所有餐饮推荐,包含餐厅名称、用餐类型、描述等信息。",
- "operationId": "listDiningUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«用餐选项VO»»",
- "originalRef": "统一响应结果«List«用餐选项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«用餐选项VO»»",
- "originalRef": "统一响应结果«List«用餐选项VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "行程管理"
- ],
- "summary": "添加每日餐厅推荐",
- "description": "为指定天添加餐饮推荐,关联资源服务中的餐厅。\n用于展示当天的用餐安排,可按早/午/晚分类。",
- "operationId": "addDiningOptionUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "餐饮推荐请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/用餐选项请求",
- "originalRef": "用餐选项请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«用餐选项VO»",
- "originalRef": "统一响应结果«用餐选项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«用餐选项VO»",
- "originalRef": "统一响应结果«用餐选项VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}/hotel": {
- "post": {
- "tags": [
- "行程管理"
- ],
- "summary": "添加每日住宿",
- "description": "为指定天添加住宿安排,关联资源服务中的酒店和房型。\n每天可以有多个住宿选项(如不同档次),参与成本自动计算。\n住宿费用会体现在价格日历的成本计算中。",
- "operationId": "addHotelUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "每日住宿请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/每日酒店配置请求",
- "originalRef": "每日酒店配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«每日酒店VO»",
- "originalRef": "统一响应结果«每日酒店VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«每日酒店VO»",
- "originalRef": "统一响应结果«每日酒店VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}/hotels": {
- "get": {
- "tags": [
- "行程管理"
- ],
- "summary": "获取某天的住宿列表",
- "description": "获取指定天的所有住宿安排,包含酒店名称、房型、数量等信息。",
- "operationId": "listHotelsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«每日酒店VO»»",
- "originalRef": "统一响应结果«List«每日酒店VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«每日酒店VO»»",
- "originalRef": "统一响应结果«List«每日酒店VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}/node": {
- "post": {
- "tags": [
- "行程管理"
- ],
- "summary": "添加行程节点",
- "description": "在指定天添加一个行程节点。节点是行程的最小单元,可关联资源服务中的景区、酒店、活动等。\n\n**节点类型**:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)\n\n**CUSTOM 定制产品特有**:可通过 familyIds 指定节点所属的家庭分组,实现按家庭分配行程。\n新建节点自动追加到当天最后位置,可通过排序接口调整顺序。\n\n**关联字典**:\n- city(城市,资源面板筛选用):用于在添加节点时按城市筛选可选资源",
- "operationId": "createNodeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "创建节点请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建行程节点请求",
- "originalRef": "创建行程节点请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}/nodes": {
- "get": {
- "tags": [
- "行程管理"
- ],
- "summary": "获取某天的节点列表",
- "description": "获取指定天的所有行程节点,按排序顺序返回。\n每个节点包含类型、名称、时间、关联资源信息、图片等完整数据。\n\n**关联字典**:\n- city(城市):资源面板城市筛选\n- cities(城市ID映射):城市名称预览",
- "operationId": "listNodesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«行程节点VO»»",
- "originalRef": "统一响应结果«List«行程节点VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«行程节点VO»»",
- "originalRef": "统一响应结果«List«行程节点VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/day/{dayNumber}/nodes/sort": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "行程节点拖拽排序",
- "description": "重新排列指定天的所有行程节点顺序。前端拖拽排序后,将新的节点ID顺序全量提交。\nnodeIds 列表中的顺序即为新的排序顺序(从上到下)。",
- "operationId": "sortNodesUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dayNumber",
- "in": "path",
- "description": "天数编号",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "节点排序请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/节点排序请求",
- "originalRef": "节点排序请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/days": {
- "get": {
- "tags": [
- "行程管理"
- ],
- "summary": "获取行程天列表",
- "description": "获取产品所有行程天的信息,按 dayNumber 升序排列。\n每一天包含当天主题、概述等信息,不包含节点详情(节点通过单独接口获取)。",
- "operationId": "listDaysUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«行程天VO»»",
- "originalRef": "统一响应结果«List«行程天VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«行程天VO»»",
- "originalRef": "统一响应结果«List«行程天VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/extra-cost": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "添加额外成本关联",
- "description": "关联资源服务中的费用项(cost_item)到产品,参与成本自动计算。\n\n额外成本是指不包含在行程节点中、但需要计入总成本的费用。\n例如:导游服务费、保险费、通讯费等固定运营开支。",
- "operationId": "addExtraCostUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "额外成本请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/额外成本请求",
- "originalRef": "额外成本请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品额外成本VO»",
- "originalRef": "统一响应结果«产品额外成本VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品额外成本VO»",
- "originalRef": "统一响应结果«产品额外成本VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/extra-cost/{ecId}": {
- "put": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "更新额外成本关联",
- "description": "更新额外成本关联的费用项、数量等信息。修改后会影响成本自动计算结果。",
- "operationId": "updateExtraCostUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "ecId",
- "in": "path",
- "description": "额外成本ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "额外成本请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/额外成本请求",
- "originalRef": "额外成本请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品额外成本VO»",
- "originalRef": "统一响应结果«产品额外成本VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品额外成本VO»",
- "originalRef": "统一响应结果«产品额外成本VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "删除额外成本关联",
- "description": "删除额外成本关联记录。删除后该费用项不再计入成本自动计算。",
- "operationId": "removeExtraCostUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "ecId",
- "in": "path",
- "description": "额外成本ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/extra-costs": {
- "get": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "获取额外成本关联列表",
- "description": "获取产品关联的所有额外成本项列表,包含费用项名称、金额等信息。",
- "operationId": "listExtraCostsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品额外成本VO»»",
- "originalRef": "统一响应结果«List«产品额外成本VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品额外成本VO»»",
- "originalRef": "统一响应结果«List«产品额外成本VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/families": {
- "get": {
- "tags": [
- "家庭分组管理"
- ],
- "summary": "获取家庭分组列表",
- "description": "获取产品的家庭分组列表,按排序序号升序。\n\n**仅适用于 CUSTOM(定制)产品**。\n家庭分组用于将定制产品的行程按家庭单位分配,每个家庭可以有不同的人数和行程安排。\n行程节点通过 familyIds 字段关联到具体的家庭分组。",
- "operationId": "listFamiliesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«家庭分组VO»»",
- "originalRef": "统一响应结果«List«家庭分组VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«家庭分组VO»»",
- "originalRef": "统一响应结果«List«家庭分组VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/family": {
- "post": {
- "tags": [
- "家庭分组管理"
- ],
- "summary": "添加家庭分组",
- "description": "为 CUSTOM 定制产品添加一个家庭分组,指定家庭名称和各类型人数。\n添加后可在行程节点中关联此家庭,实现按家庭分配行程。",
- "operationId": "addFamilyUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "家庭分组请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/家庭分组保存请求",
- "originalRef": "家庭分组保存请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«家庭分组VO»",
- "originalRef": "统一响应结果«家庭分组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«家庭分组VO»",
- "originalRef": "统一响应结果«家庭分组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/family/{familyId}": {
- "put": {
- "tags": [
- "家庭分组管理"
- ],
- "summary": "更新家庭分组",
- "description": "更新家庭分组的名称、各类型人数等信息。\n**仅适用于 CUSTOM(定制)产品**。",
- "operationId": "updateFamilyUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "familyId",
- "in": "path",
- "description": "家庭ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "家庭分组请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/家庭分组保存请求",
- "originalRef": "家庭分组保存请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«家庭分组VO»",
- "originalRef": "统一响应结果«家庭分组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«家庭分组VO»",
- "originalRef": "统一响应结果«家庭分组VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "家庭分组管理"
- ],
- "summary": "删除家庭分组",
- "description": "删除家庭分组。如果有行程节点通过 familyIds 关联了该分组,需要手动移除关联。\n**仅适用于 CUSTOM(定制)产品**。",
- "operationId": "deleteFamilyUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "familyId",
- "in": "path",
- "description": "家庭ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/generate-route-map": {
- "post": {
- "tags": [
- "产品管理"
- ],
- "summary": "手动生成路径图",
- "description": "根据产品行程节点的经纬度信息,调用地图API生成行程路径图。\n\n通常在行程编辑完成后手动触发,生成结果为 OSS 图片 URL。\n如果行程节点没有经纬度信息,则无法生成路径图。",
- "operationId": "generateRouteMapUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«string»",
- "originalRef": "统一响应结果«string»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/group-quote": {
- "get": {
- "tags": [
- "报价计算"
- ],
- "summary": "GROUP产品报价(按套餐组合)",
- "description": "为 GROUP(小蒙马拼团)产品按团期批次计算报价。\n\n**算价逻辑**:\n- 单房差 = 酒店总成本 ÷ 每房成人数(团期配置)\n- 成人价 = 单房差 + 人均成本 + 利润\n- 儿童价 = 人均成本 + 利润(不含酒店)\n- 空床补差 = (房间数×每房成人数 - 成人数) × 单房差\n- 总售价 = 成人价×成人数 + 儿童价×儿童数 + 空床补差\n\n**关联字典**:\n- product_type(产品类型,仅限GROUP):GROUP=小蒙马拼团",
- "operationId": "calculateGroupQuoteUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adultCount",
- "in": "query",
- "description": "成人人数",
- "required": false,
- "type": "integer",
- "default": 2,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "batchId",
- "in": "query",
- "description": "团期ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "childCount",
- "in": "query",
- "description": "儿童人数",
- "required": false,
- "type": "integer",
- "default": 0,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "roomCount",
- "in": "query",
- "description": "房间数",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«GROUP产品报价结果»",
- "originalRef": "统一响应结果«GROUP产品报价结果»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«GROUP产品报价结果»",
- "originalRef": "统一响应结果«GROUP产品报价结果»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/move": {
- "put": {
- "tags": [
- "产品管理"
- ],
- "summary": "移动产品到文件夹",
- "description": "将产品移动到指定文件夹,或移出文件夹(folderId 传空字符串或 null)。\n文件夹用于组织管理产品,不影响产品的业务逻辑。",
- "operationId": "moveProductUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "移动产品请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/产品移动请求",
- "originalRef": "产品移动请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/price-calendar": {
- "get": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "获取月度价格日历",
- "description": "获取指定月份的价格日历数据列表。\n\n每条数据包含:日期、成人售价/成本价、儿童售价/成本价、库存、状态(OPEN/CLOSED)等。\n**CORE/GROUP 产品**:价格为单人价格,按人头 × 价格计算总价。\n**CUSTOM/ROUTE 产品**:价格为整单总价,不乘以人头数。",
- "operationId": "getMonthCalendarUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»",
- "originalRef": "统一响应结果«List«产品价格日历VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»",
- "originalRef": "统一响应结果«List«产品价格日历VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "设置单日价格",
- "description": "设置或更新指定日期的价格和库存。如果该日期已有记录则更新,否则新建。\n\n可设置成人售价/成本价、儿童售价/成本价、库存数量、状态(OPEN/CLOSED)。\n状态为 CLOSED 的日期不会出现在小程序端的可选日期中。",
- "operationId": "setDayPriceUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "价格日历请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/价格日历请求",
- "originalRef": "价格日历请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品价格日历VO»",
- "originalRef": "统一响应结果«产品价格日历VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品价格日历VO»",
- "originalRef": "统一响应结果«产品价格日历VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/price-calendar/auto-calc": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "自动计算成本并同步到价格日历",
- "description": "根据出发日期和人数,自动计算成本并将结果写入价格日历。\n\n与测算预览不同,此接口会实际更新价格日历数据。\n计算逻辑:查询各资源的价格日历 → 汇总成本 → 应用公式和利润规则 → 写入结果。\n\n**关联字典**:\n- vehicle_type(车型):车辆费用成本计算",
- "operationId": "autoCalcCostUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "报价请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/报价请求",
- "originalRef": "报价请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«报价结果VO»",
- "originalRef": "统一响应结果«报价结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«报价结果VO»",
- "originalRef": "统一响应结果«报价结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/price-calendar/batch": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "批量设置价格",
- "description": "批量设置日期范围内的价格和库存,支持按星期筛选。\n\n指定 startDate 和 endDate 日期范围,可选 selectedWeekdays 过滤星期几。\n示例:设置5月1日-5月31日的工作日(周一到周五=[1,2,3,4,5])价格。\nselectedWeekdays 为空时,范围内所有日期都会被设置。",
- "operationId": "batchSetPricesUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "批量价格请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/批量设置价格日历请求",
- "originalRef": "批量设置价格日历请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»",
- "originalRef": "统一响应结果«List«产品价格日历VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品价格日历VO»»",
- "originalRef": "统一响应结果«List«产品价格日历VO»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/price-calendar/calc-preview": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "测算预览(不写入数据库)",
- "description": "根据行程中的资源价格日历,自动计算指定日期的成本价和售价,仅预览不保存。\n\n用于在设置价格日历前预览自动计算的结果。\n计算逻辑:汇总当天所有行程节点关联资源的价格 → 应用公式引擎 → 加上利润。\nGROUP 产品需要传 adultCount 参数(影响均摊计算)。\n\n**关联字典**:\n- vehicle_type(车型):车辆费用成本测算",
- "operationId": "calcPreviewUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "测算预览请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/成本预览请求",
- "originalRef": "成本预览请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«成本预览VO»",
- "originalRef": "统一响应结果«成本预览VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«成本预览VO»",
- "originalRef": "统一响应结果«成本预览VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/price-calendar/recalculate": {
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "重新测算所有自动测算日期的价格",
- "description": "重新计算价格日历中所有 costAutoCalc=true 的日期的成本价和售价。\n\n适用场景:资源价格调整后,批量刷新所有自动计算的价格日历。\n返回更新的日期数量和详情。手动设置的价格(costAutoCalc=false)不受影响。",
- "operationId": "recalculateUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,object»»",
- "originalRef": "统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/pricing": {
- "get": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "获取定价规则",
- "description": "获取产品的定价配置,包括定价模式、利润设置、儿童/婴儿价格、支付方式等。\n如果产品尚未设置定价规则,返回 null。\n\n**关联字典**:\n- vehicle_type(车型):费用配置中车辆相关成本显示",
- "operationId": "getPricingUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品定价配置VO»",
- "originalRef": "统一响应结果«产品定价配置VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品定价配置VO»",
- "originalRef": "统一响应结果«产品定价配置VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "定价与费用管理"
- ],
- "summary": "保存定价规则",
- "description": "保存或更新产品的定价配置(一个产品仅一条定价记录,重复调用为覆盖更新)。\n\n**定价模式**:\n- AUTO:自动计算,通过公式引擎根据行程资源价格自动测算成本和售价\n- MANUAL:手动定价,直接在价格日历中手动设置每日价格\n- CUSTOM:定制定价,设置整单总价(customTotalPrice),不按人头\n\n**利润模式**(AUTO 模式下生效):\n- FIXED:固定金额加价,售价 = 成本 + profitAmount\n- PERCENT:百分比加价,售价 = 成本 × (1 + markupPercent/100)\n\n**支付方式**:FULL=全款支付,DEPOSIT=定金+尾款(需设置 depositRatio 或 depositAmount)\n\n**关联字典**:\n- vehicle_type(车型):费用配置中车辆相关成本计算",
- "operationId": "savePricingUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "定价规则请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/定价配置请求",
- "originalRef": "定价配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品定价配置VO»",
- "originalRef": "统一响应结果«产品定价配置VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品定价配置VO»",
- "originalRef": "统一响应结果«产品定价配置VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/quote": {
- "post": {
- "tags": [
- "报价计算"
- ],
- "summary": "计算报价",
- "description": "根据出发日期和人数组合,计算产品的完整报价。\n\n**计算流程**:\n1. 从价格日历获取指定日期的单价\n2. 按人数类型分别计算:成人 × 成人价、儿童 × 儿童价\n3. 小童按儿童价 × 折扣比例(childDiscountPercent)计算\n4. 婴儿使用固定价格(babyPrice)\n5. 儿童加床(childNeedBed=true)额外加收 childWithBed 费用\n\n**CUSTOM/ROUTE 产品**:价格日历存的是整单总价,不按人头乘算。\n**GROUP 产品**:建议使用 group-quote 接口,支持套餐组合报价。\n\n**关联字典**:\n- product_type(产品类型,影响计算逻辑):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "calculateQuoteUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "报价请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/报价请求",
- "originalRef": "报价请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«报价结果VO»",
- "originalRef": "统一响应结果«报价结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«报价结果VO»",
- "originalRef": "统一响应结果«报价结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/share-link": {
- "post": {
- "tags": [
- "产品管理"
- ],
- "summary": "生成定制产品分享链接",
- "description": "为 CUSTOM(定制)产品生成小程序分享链接,用于定制师发送给客户查看方案。\n\n**限制**:仅 CUSTOM 类型且状态为 COMPLETED 的产品可生成。\n**权限**:普通管理员只能为自己创建的产品生成链接,SUPER_ADMIN 不受限制。",
- "operationId": "generateShareLinkUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分享链接响应»",
- "originalRef": "统一响应结果«分享链接响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分享链接响应»",
- "originalRef": "统一响应结果«分享链接响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/staff-config": {
- "post": {
- "tags": [
- "行程管理"
- ],
- "summary": "添加人员配置",
- "description": "为产品添加服务人员配置(如领队、摄影师、司机等),关联资源服务中的人员。\n人员配置是产品级别的模板,GROUP 产品的实际人员在团期批次中单独分配。\n人员费用参与成本自动计算。\n\n**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "addStaffConfigUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "人员配置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员配置请求",
- "originalRef": "人员配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品人员配置VO»",
- "originalRef": "统一响应结果«产品人员配置VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品人员配置VO»",
- "originalRef": "统一响应结果«产品人员配置VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/staff-configs": {
- "get": {
- "tags": [
- "行程管理"
- ],
- "summary": "获取产品人员配置列表",
- "description": "**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "listStaffConfigsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品人员配置VO»»",
- "originalRef": "统一响应结果«List«产品人员配置VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品人员配置VO»»",
- "originalRef": "统一响应结果«List«产品人员配置VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/status": {
- "put": {
- "tags": [
- "产品管理"
- ],
- "summary": "产品状态变更(上架/下架/完成)",
- "description": "根据产品类型,状态流转规则不同:\n\n**核心产品(CORE) / 小蒙马(GROUP)**:支持上架/下架,需企微审批\n- DRAFT → PENDING_REVIEW → REVIEWED → PUBLISHED(上架)\n- PUBLISHED → UNPUBLISHED(下架)\n- UNPUBLISHED → PUBLISHED(重新上架)\n- REJECTED → DRAFT(驳回后重新编辑)\n\n**定制产品(CUSTOM)**:仅支持完成,无上架/下架概念\n- DRAFT → COMPLETED(定制师完成设计)\n- COMPLETED → ORDERED(客户下单,系统自动变更)\n- ORDERED → COMPLETED(订单取消/退款后回退)\n\n**关联字典**:\n- product_type(产品类型,影响状态流转规则):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_status(产品状态,请求+返回字段):DRAFT=草稿, PENDING_REVIEW=待审核, REVIEWED=已审核, REJECTED=已驳回, PUBLISHED=已上架, UNPUBLISHED=已下架, COMPLETED=已完成, ORDERED=已下单",
- "operationId": "changeStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "状态变更请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/产品状态变更请求",
- "originalRef": "产品状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/item/{productId}/supplies": {
- "get": {
- "tags": [
- "行程管理"
- ],
- "summary": "获取产品物资列表",
- "description": "获取产品关联的所有物资配品,包含物资名称、数量、单价等信息。",
- "operationId": "listSuppliesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品物资VO»»",
- "originalRef": "统一响应结果«List«产品物资VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品物资VO»»",
- "originalRef": "统一响应结果«List«产品物资VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "行程管理"
- ],
- "summary": "添加物资配品",
- "description": "为产品添加物资配品(如帐篷、睡袋、登山杖等),关联资源服务中的物资。\n物资配品是产品级别的,不区分具体哪一天,参与成本计算。",
- "operationId": "addSuppliesUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "物资配品请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/物资配置请求",
- "originalRef": "物资配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品物资VO»",
- "originalRef": "统一响应结果«产品物资VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品物资VO»",
- "originalRef": "统一响应结果«产品物资VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line": {
- "post": {
- "tags": [
- "产品线管理"
- ],
- "summary": "创建产品线",
- "description": "创建产品线,用于对产品进行业务分类(如:亲子游、蜜月游、探险游等)。\n产品线在小程序端可作为筛选条件,帮助用户快速找到感兴趣的产品类别。",
- "operationId": "createLineUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建产品线请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建产品线请求",
- "originalRef": "创建产品线请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品线VO»",
- "originalRef": "统一响应结果«产品线VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品线VO»",
- "originalRef": "统一响应结果«产品线VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line/active": {
- "get": {
- "tags": [
- "产品线管理"
- ],
- "summary": "所有启用的产品线",
- "description": "获取所有启用状态的产品线,不分页。\n适用于产品编辑时的产品线下拉选择,以及小程序端的筛选项。",
- "operationId": "listAllActiveUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品线VO»»",
- "originalRef": "统一响应结果«List«产品线VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«产品线VO»»",
- "originalRef": "统一响应结果«List«产品线VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line/list": {
- "get": {
- "tags": [
- "产品线管理"
- ],
- "summary": "产品线列表(分页)",
- "description": "分页查询产品线列表,支持按名称关键词筛选。",
- "operationId": "listLinesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "x-example": "丽江"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "status",
- "in": "query",
- "description": "产品线状态:ACTIVE=启用 INACTIVE=停用",
- "required": false,
- "type": "string",
- "x-example": "ACTIVE"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«产品线VO»»",
- "originalRef": "统一响应结果«分页结果«产品线VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«产品线VO»»",
- "originalRef": "统一响应结果«分页结果«产品线VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/line/{lineId}": {
- "get": {
- "tags": [
- "产品线管理"
- ],
- "summary": "产品线详情",
- "description": "获取指定产品线的完整信息。",
- "operationId": "getLineUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "lineId",
- "in": "path",
- "description": "产品线ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品线VO»",
- "originalRef": "统一响应结果«产品线VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品线VO»",
- "originalRef": "统一响应结果«产品线VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "产品线管理"
- ],
- "summary": "更新产品线",
- "description": "更新产品线名称、描述、状态等信息。",
- "operationId": "updateLineUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "lineId",
- "in": "path",
- "description": "产品线ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新产品线请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新产品线请求",
- "originalRef": "更新产品线请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品线VO»",
- "originalRef": "统一响应结果«产品线VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品线VO»",
- "originalRef": "统一响应结果«产品线VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "产品线管理"
- ],
- "summary": "删除产品线",
- "description": "删除产品线(软删除)。已关联产品的产品线仍可删除,但关联产品的产品线字段不会被清空。",
- "operationId": "deleteLineUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "lineId",
- "in": "path",
- "description": "产品线ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/node/{nodeId}": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "更新行程节点",
- "description": "更新行程节点信息,仅传入需要修改的字段。\n可修改节点名称、时间、关联资源、图片、描述等。\n\n**关联字典**:\n- city(城市):资源面板城市筛选\n- cities(城市ID映射):城市名称预览",
- "operationId": "updateNodeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "nodeId",
- "in": "path",
- "description": "行程节点ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新节点请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新行程节点请求",
- "originalRef": "更新行程节点请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "行程管理"
- ],
- "summary": "删除行程节点",
- "description": "删除指定行程节点,同天其他节点的排序自动调整。",
- "operationId": "deleteNodeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "nodeId",
- "in": "path",
- "description": "行程节点ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/node/{nodeId}/copy": {
- "post": {
- "tags": [
- "行程管理"
- ],
- "summary": "复制行程节点",
- "description": "复制指定节点到同一天的末尾位置,包括节点的所有属性(名称、资源关联、图片等)。\n适用场景:同一天有相似的行程安排时快速复制。",
- "operationId": "copyNodeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "nodeId",
- "in": "path",
- "description": "行程节点ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/node/{nodeId}/move": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "移动行程节点到其他天",
- "description": "将节点从当前天移动到目标天的末尾位置。\n移动后原天和目标天的节点排序自动调整。",
- "operationId": "moveNodeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "nodeId",
- "in": "path",
- "description": "行程节点ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "节点移动请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/节点移动请求",
- "originalRef": "节点移动请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«行程节点VO»",
- "originalRef": "统一响应结果«行程节点VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/staff-config/{id}": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "更新人员配置",
- "description": "**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "updateStaffConfigUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "人员配置ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "人员配置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员配置请求",
- "originalRef": "人员配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品人员配置VO»",
- "originalRef": "统一响应结果«产品人员配置VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品人员配置VO»",
- "originalRef": "统一响应结果«产品人员配置VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "行程管理"
- ],
- "summary": "删除人员配置",
- "description": "删除指定的人员配置记录。删除后该人员费用不再计入成本。\n\n**关联字典**:\n- staff_type(人员类型):GUIDE=领队, DRIVER=司机, PHOTOGRAPHER=摄影师, ASSISTANT=助理, OTHER=其他",
- "operationId": "deleteStaffConfigUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "人员配置ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/supplies/{id}": {
- "put": {
- "tags": [
- "行程管理"
- ],
- "summary": "更新物资配品",
- "description": "更新物资配品的关联物资、数量等信息。修改后会影响成本自动计算结果。",
- "operationId": "updateSuppliesUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "物资配品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "物资配品请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/物资配置请求",
- "originalRef": "物资配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品物资VO»",
- "originalRef": "统一响应结果«产品物资VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品物资VO»",
- "originalRef": "统一响应结果«产品物资VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "行程管理"
- ],
- "summary": "删除物资配品",
- "description": "删除指定的物资配品记录。删除后该物资费用不再计入成本。",
- "operationId": "deleteSuppliesUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "物资配品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/warm-tips": {
- "post": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "创建温馨提示",
- "description": "创建后默认启用",
- "operationId": "createUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "tipsRequest",
- "description": "tipsRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/温馨提示请求",
- "originalRef": "温馨提示请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«温馨提示VO»",
- "originalRef": "统一响应结果«温馨提示VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«温馨提示VO»",
- "originalRef": "统一响应结果«温馨提示VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/warm-tips/enabled": {
- "get": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "启用的温馨提示列表",
- "description": "仅返回启用状态的提示,供产品设计时选择",
- "operationId": "listEnabledUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«温馨提示VO»»",
- "originalRef": "统一响应结果«List«温馨提示VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«温馨提示VO»»",
- "originalRef": "统一响应结果«List«温馨提示VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/warm-tips/list": {
- "get": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "温馨提示列表",
- "description": "返回所有温馨提示(含禁用),按创建时间倒序",
- "operationId": "listUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«温馨提示VO»»",
- "originalRef": "统一响应结果«List«温馨提示VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«温馨提示VO»»",
- "originalRef": "统一响应结果«List«温馨提示VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/warm-tips/{tipsId}": {
- "get": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "温馨提示详情",
- "operationId": "detailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tipsId",
- "in": "path",
- "description": "温馨提示ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«温馨提示VO»",
- "originalRef": "统一响应结果«温馨提示VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«温馨提示VO»",
- "originalRef": "统一响应结果«温馨提示VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "修改温馨提示",
- "operationId": "updateUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tipsId",
- "in": "path",
- "description": "温馨提示ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "tipsRequest",
- "description": "tipsRequest",
- "required": true,
- "schema": {
- "$ref": "#/definitions/温馨提示请求",
- "originalRef": "温馨提示请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«温馨提示VO»",
- "originalRef": "统一响应结果«温馨提示VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«温馨提示VO»",
- "originalRef": "统一响应结果«温馨提示VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "删除温馨提示",
- "description": "软删除,已绑定的产品不受影响(产品详情会显示为空)",
- "operationId": "deleteUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tipsId",
- "in": "path",
- "description": "温馨提示ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/product/warm-tips/{tipsId}/toggle": {
- "put": {
- "tags": [
- "温馨提示管理"
- ],
- "summary": "启用/禁用温馨提示",
- "description": "禁用后不再出现在产品设计的可选列表中,已绑定的产品不受影响",
- "operationId": "toggleUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "enabled",
- "in": "query",
- "description": "是否启用",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- },
- {
- "name": "tipsId",
- "in": "path",
- "description": "温馨提示ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/list": {
- "get": {
- "tags": [
- "小程序-产品"
- ],
- "summary": "产品列表(C端)",
- "description": "小程序端产品列表接口,仅返回已上架(PUBLISHED)的产品。\n\n支持按产品类型、季节、行程天数、目的地、产品线、支付模式、定制师等筛选。\n默认按 sortOrder 排序,也可按价格或行程天数排序。\n\n**关联字典**:\n- product_type(产品类型,筛选条件):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品",
- "operationId": "listProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "designerId",
- "in": "query",
- "description": "定制师ID(创建者ID)筛选",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 1893012345678901234
- },
- {
- "name": "destination",
- "in": "query",
- "description": "目的地筛选",
- "required": false,
- "type": "string",
- "x-example": "丽江"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(产品名称)",
- "required": false,
- "type": "string",
- "x-example": "丽江"
- },
- {
- "name": "lineId",
- "in": "query",
- "description": "产品线ID筛选",
- "required": false,
- "type": "string",
- "x-example": "1893012345678901234"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 10
- },
- {
- "name": "paymentMode",
- "in": "query",
- "description": "支付模式筛选:FULL=全款 DEPOSIT=定金+尾款 null=全部",
- "required": false,
- "type": "string",
- "x-example": "DEPOSIT"
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团",
- "required": false,
- "type": "string",
- "x-example": "CORE"
- },
- {
- "name": "season",
- "in": "query",
- "description": "季节筛选",
- "required": false,
- "type": "string",
- "x-example": "spring"
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段:price/tripDays/default(默认按sortOrder)",
- "required": false,
- "type": "string",
- "x-example": "price"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "asc"
- },
- {
- "name": "tripDays",
- "in": "query",
- "description": "行程天数筛选",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 5
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«C端产品列表VO»»",
- "originalRef": "统一响应结果«分页结果«C端产品列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«C端产品列表VO»»",
- "originalRef": "统一响应结果«分页结果«C端产品列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{productId}": {
- "get": {
- "tags": [
- "小程序-产品"
- ],
- "summary": "产品详情(C端)",
- "description": "小程序端产品详情接口,仅返回已上架(PUBLISHED)的产品。\n包含完整的行程信息、定价配置、费用说明、创作者寄语等。\n未上架的产品会返回 404 错误。\n\n**关联字典**:\n- product_type(产品类型):CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品\n- product_category(产品分类):family=亲子游, honeymoon=蜜月游, photography=旅拍, experience=体验, driving=自驾",
- "operationId": "getProductUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«产品详情VO»",
- "originalRef": "统一响应结果«产品详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/mp/product/{productId}/quote": {
- "post": {
- "tags": [
- "小程序-产品"
- ],
- "summary": "报价计算(C端)",
- "description": "小程序端报价计算接口,根据用户选择的日期和人数计算总价。\n内部会校验产品是否存在且已上架。\n详细计算逻辑参见管理后台的报价计算接口说明。",
- "operationId": "calculateQuoteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "productId",
- "in": "path",
- "description": "产品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "报价请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/报价请求",
- "originalRef": "报价请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«报价结果VO»",
- "originalRef": "统一响应结果«报价结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«报价结果VO»",
- "originalRef": "统一响应结果«报价结果VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "C端产品列表VO": {
- "type": "object",
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "description": "定制师头像URL"
- },
- "departureCity": {
- "type": "string",
- "description": "出发城市"
- },
- "destinationCity": {
- "type": "string",
- "description": "目的地城市"
- },
- "lineName": {
- "type": "string",
- "description": "产品线名称"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式:FULL=全款 DEPOSIT=定金+尾款"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "productType": {
- "type": "string",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团"
- },
- "routeMapUrl": {
- "type": "string",
- "description": "路径图URL"
- },
- "seasonLabels": {
- "type": "array",
- "description": "适用季节列表(中文)",
- "items": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "description": "适用季节列表(编码)",
- "items": {
- "type": "string"
- }
- },
- "startPrice": {
- "type": "number",
- "description": "起步价(来自定价配置)"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "产品标签列表",
- "items": {
- "type": "string"
- }
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- }
- },
- "title": "C端产品列表VO"
- },
- "GROUP产品报价结果": {
- "type": "object",
- "properties": {
- "adultCostPrice": {
- "type": "number",
- "description": "成人成本价(单房差+每人费用)"
- },
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "adultSellPrice": {
- "type": "number",
- "description": "成人售价"
- },
- "adultsPerRoom": {
- "type": "integer",
- "format": "int32",
- "description": "每间房入住成人数"
- },
- "childCostPrice": {
- "type": "number",
- "description": "儿童成本价(每人费用,不含酒店)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "childSellPrice": {
- "type": "number",
- "description": "儿童售价"
- },
- "code": {
- "type": "integer",
- "format": "int32",
- "description": "返回码: 0=成功, 1=非GROUP产品, 2=错误"
- },
- "dayCosts": {
- "type": "array",
- "description": "每日成本明细",
- "items": {
- "$ref": "#/definitions/每日成本明细",
- "originalRef": "每日成本明细"
- }
- },
- "emptyBedSupplement": {
- "type": "number",
- "description": "空床补差 = (房间数×每房成人数 - 成人数) × 单房差"
- },
- "extraCostItems": {
- "type": "array",
- "description": "额外成本明细列表",
- "items": {
- "$ref": "#/definitions/额外成本明细项",
- "originalRef": "额外成本明细项"
- }
- },
- "extraCostPerPerson": {
- "type": "number",
- "description": "额外成本(人均)"
- },
- "extraCostTotal": {
- "type": "number",
- "description": "额外成本总额(团队)"
- },
- "hotelCostTotal": {
- "type": "number",
- "description": "酒店总成本"
- },
- "message": {
- "type": "string",
- "description": "错误信息(code!=0时)"
- },
- "perPersonCost": {
- "type": "number",
- "description": "每人成本(不含酒店)"
- },
- "profitMode": {
- "type": "string",
- "description": "利润模式"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "description": "选择的房间数"
- },
- "singleRoomSupplement": {
- "type": "number",
- "description": "单房差 = 成人售价 - 儿童售价"
- },
- "totalSellPrice": {
- "type": "number",
- "description": "总售价 = 成人价×成人数 + 儿童价×儿童数 + 空床补差"
- },
- "warnings": {
- "type": "array",
- "description": "警告信息",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "GROUP产品报价结果"
- },
- "产品人员配置VO": {
- "type": "object",
- "properties": {
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "staffType": {
- "type": "string",
- "description": "人员类型:GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER"
- },
- "staffTypeName": {
- "type": "string",
- "description": "人员类型名称"
- }
- },
- "title": "产品人员配置VO"
- },
- "产品价格日历VO": {
- "type": "object",
- "properties": {
- "adultCostPrice": {
- "type": "number",
- "description": "成人成本价"
- },
- "adultProfit": {
- "type": "number",
- "description": "成人利润"
- },
- "adultSellPrice": {
- "type": "number",
- "description": "成人售价"
- },
- "childCostPrice": {
- "type": "number",
- "description": "儿童成本价"
- },
- "childProfit": {
- "type": "number",
- "description": "儿童利润"
- },
- "childSellPrice": {
- "type": "number",
- "description": "儿童售价"
- },
- "costAutoCalc": {
- "type": "boolean",
- "description": "是否自动计算成本"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "id": {
- "type": "string",
- "description": "价格日历ID"
- },
- "profitRate": {
- "type": "number",
- "description": "利润率(百分比)"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sold": {
- "type": "integer",
- "format": "int32",
- "description": "已售数量"
- },
- "status": {
- "type": "string",
- "description": "状态:OPEN=开放 CLOSED=关闭"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "库存数量"
- }
- },
- "title": "产品价格日历VO"
- },
- "产品列表VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数(私人定制/路书)"
- },
- "approvalNo": {
- "type": "string",
- "description": "审批编号"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数(私人定制/路书)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数(私人定制/路书)"
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureCity": {
- "type": "string",
- "description": "出发城市"
- },
- "destinationCity": {
- "type": "string",
- "description": "目的地城市"
- },
- "folderId": {
- "type": "string",
- "description": "所属文件夹ID"
- },
- "groupRoomId": {
- "type": "string",
- "description": "企微群聊ID(用于会话存档展示群消息)"
- },
- "isBooking": {
- "type": "boolean",
- "description": "是否预约产品"
- },
- "lineId": {
- "type": "string",
- "description": "产品线ID"
- },
- "lineName": {
- "type": "string",
- "description": "产品线名称"
- },
- "maxAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最大成人数(null=不限)"
- },
- "maxChildPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最大儿童数(null=不限)"
- },
- "mchId": {
- "type": "string",
- "description": "商户号"
- },
- "minAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最少成人数(null=默认1)"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "pendingStatus": {
- "type": "string",
- "description": "待审批目标状态"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "productNo": {
- "type": "string",
- "description": "产品编号"
- },
- "productType": {
- "type": "string",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团"
- },
- "seasonLabels": {
- "type": "array",
- "description": "适用季节列表(中文)",
- "items": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "description": "适用季节列表(编码)",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "status": {
- "type": "string",
- "description": "产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数(私人定制/路书)"
- }
- },
- "title": "产品列表VO"
- },
- "产品定价配置VO": {
- "type": "object",
- "properties": {
- "adultExtraBed": {
- "type": "number",
- "description": "成人加床费"
- },
- "babyPrice": {
- "type": "number",
- "description": "婴儿价"
- },
- "balanceDueDays": {
- "type": "integer",
- "format": "int32",
- "description": "尾款支付截止天数(出发前N天)"
- },
- "childDiscountPercent": {
- "type": "number",
- "description": "儿童折扣百分比"
- },
- "childNoBed": {
- "type": "number",
- "description": "儿童不占床价"
- },
- "childWithBed": {
- "type": "number",
- "description": "儿童占床价"
- },
- "companionPrice": {
- "type": "number",
- "description": "陪同人员价格"
- },
- "customTotalPrice": {
- "type": "number",
- "description": "定制产品总价(CUSTOM模式下使用)"
- },
- "depositAmount": {
- "type": "number",
- "description": "定金金额"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "description": "定金比例(百分比)"
- },
- "extraCostPerPerson": {
- "type": "number",
- "description": "每人额外成本"
- },
- "insuranceFee": {
- "type": "number",
- "description": "保险费用"
- },
- "markupPercent": {
- "type": "number",
- "description": "加价百分比(PERCENT模式下使用)"
- },
- "maxGroupSize": {
- "type": "integer",
- "format": "int32",
- "description": "最大成团人数"
- },
- "mealBudget": {
- "type": "number",
- "description": "餐费预算"
- },
- "minGroupSize": {
- "type": "integer",
- "format": "int32",
- "description": "最小成团人数"
- },
- "paymentType": {
- "type": "string",
- "description": "支付方式:FULL=全款 DEPOSIT=定金+尾款"
- },
- "pricingId": {
- "type": "string",
- "description": "定价配置ID"
- },
- "pricingMode": {
- "type": "string",
- "description": "定价模式:AUTO=自动计算 MANUAL=手动定价 CUSTOM=定制定价"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "profitAmount": {
- "type": "number",
- "description": "利润金额(FIXED模式下使用)"
- },
- "profitMode": {
- "type": "string",
- "description": "利润模式:FIXED=固定金额 PERCENT=百分比"
- },
- "singleRoomDiff": {
- "type": "number",
- "description": "单房差"
- },
- "vehicleModelIds": {
- "type": "array",
- "description": "车型ID列表",
- "items": {
- "type": "string"
- }
- },
- "vehicleWarning": {
- "type": "string",
- "description": "车辆绑定警告信息(为空表示绑定成功)"
- }
- },
- "title": "产品定价配置VO"
- },
- "产品成本项VO": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "成本项类别:HOTEL/SCENIC/VEHICLE/ACTIVITY/SERVICE/DINING/OTHER"
- },
- "description": {
- "type": "string",
- "description": "成本项描述"
- },
- "id": {
- "type": "string",
- "description": "成本项ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "title": {
- "type": "string",
- "description": "成本项标题"
- },
- "type": {
- "type": "string",
- "description": "成本项类型:INCLUDED=费用包含 EXCLUDED=费用不含 SELF_PAY=自理费用"
- }
- },
- "title": "产品成本项VO"
- },
- "产品文件夹VO": {
- "type": "object",
- "properties": {
- "children": {
- "type": "array",
- "description": "子文件夹列表",
- "items": {
- "$ref": "#/definitions/产品文件夹VO",
- "originalRef": "产品文件夹VO"
- }
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "folderId": {
- "type": "string",
- "description": "文件夹ID"
- },
- "name": {
- "type": "string",
- "description": "文件夹名称"
- },
- "ownerId": {
- "type": "string",
- "description": "拥有者ID"
- },
- "ownerName": {
- "type": "string",
- "description": "拥有者姓名"
- },
- "parentId": {
- "type": "string",
- "description": "父文件夹ID"
- },
- "productCount": {
- "type": "integer",
- "format": "int32",
- "description": "文件夹内产品数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "产品文件夹VO"
- },
- "产品物资VO": {
- "type": "object",
- "properties": {
- "billingType": {
- "type": "string",
- "description": "计费方式:BY_PERSON=按人头 BY_COUNT=按次/按件"
- },
- "costPerPerson": {
- "type": "number",
- "description": "每人成本"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号(scope=DAY时生效)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "scope": {
- "type": "string",
- "description": "适用范围:ALL=整个行程 DAY=指定天"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "suppliesId": {
- "type": "string",
- "description": "物资ID"
- },
- "suppliesName": {
- "type": "string",
- "description": "物资名称"
- }
- },
- "title": "产品物资VO"
- },
- "产品状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "行程信息不完整,请补充",
- "description": "状态变更原因(驳回时必填;上架/下架审批时可填)"
- },
- "status": {
- "type": "string",
- "example": "PUBLISHED",
- "description": "目标状态。核心/小蒙马:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED;定制产品:COMPLETED"
- }
- },
- "title": "产品状态变更请求"
- },
- "产品移动请求": {
- "type": "object",
- "properties": {
- "folderId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "目标文件夹ID,为空则移动到根目录"
- }
- },
- "title": "产品移动请求"
- },
- "产品线VO": {
- "type": "object",
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "产品线描述"
- },
- "lineId": {
- "type": "string",
- "description": "产品线ID"
- },
- "name": {
- "type": "string",
- "description": "产品线名称"
- },
- "productCount": {
- "type": "integer",
- "format": "int32",
- "description": "关联产品数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "status": {
- "type": "string",
- "description": "状态:ACTIVE=启用 INACTIVE=停用"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "产品线VO"
- },
- "产品自定义费用项VO": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "description": "费用说明"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "feeAmount": {
- "type": "number",
- "description": "费用金额"
- },
- "feeName": {
- "type": "string",
- "description": "费用项名称"
- },
- "feeUnit": {
- "type": "string",
- "description": "费用单位"
- },
- "id": {
- "type": "string",
- "description": "费用项ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "产品自定义费用项VO"
- },
- "产品详情VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "婴儿人数"
- },
- "benefitsDescription": {
- "type": "array",
- "description": "权益说明(静态,所有产品相同)",
- "items": {
- "$ref": "#/definitions/权益分组",
- "originalRef": "权益分组"
- }
- },
- "bookingTermsContent": {
- "type": "string",
- "description": "预订条款内容"
- },
- "bookingTermsId": {
- "type": "string",
- "description": "预订条款ID"
- },
- "bookingTermsName": {
- "type": "string",
- "description": "预订条款名称"
- },
- "carouselImages": {
- "type": "array",
- "description": "轮播图列表",
- "items": {
- "type": "string"
- }
- },
- "carouselVideoUrl": {
- "type": "string",
- "description": "轮播视频URL"
- },
- "chatMessages": {
- "type": "array",
- "description": "群聊消息列表",
- "items": {
- "$ref": "#/definitions/群聊消息VO",
- "originalRef": "群聊消息VO"
- }
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童人数"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话(定制产品)"
- },
- "costItems": {
- "type": "array",
- "description": "成本项列表",
- "items": {
- "$ref": "#/definitions/产品成本项VO",
- "originalRef": "产品成本项VO"
- }
- },
- "coverImageUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "description": "定制师头像URL"
- },
- "creatorIntro": {
- "type": "string",
- "description": "创作者寄语"
- },
- "customFees": {
- "type": "array",
- "description": "自定义费用项列表",
- "items": {
- "$ref": "#/definitions/产品自定义费用项VO",
- "originalRef": "产品自定义费用项VO"
- }
- },
- "customerName": {
- "type": "string",
- "description": "客户姓名(定制产品)"
- },
- "customizerId": {
- "type": "string",
- "description": "定制师ID"
- },
- "departureCity": {
- "type": "string",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期(定制产品)"
- },
- "destinationCities": {
- "type": "array",
- "description": "途经城市列表(从行程节点资源去重提取)",
- "items": {
- "type": "string"
- }
- },
- "destinationCity": {
- "type": "string",
- "description": "目的地城市"
- },
- "families": {
- "type": "array",
- "description": "家庭分组列表(定制产品)",
- "items": {
- "$ref": "#/definitions/家庭分组VO",
- "originalRef": "家庭分组VO"
- }
- },
- "folderId": {
- "type": "string",
- "description": "所属文件夹ID"
- },
- "groupChatQrUrl": {
- "type": "string",
- "description": "群聊二维码URL"
- },
- "groupRoomId": {
- "type": "string",
- "description": "企微群聊ID(用于会话存档展示群消息)"
- },
- "isBooking": {
- "type": "boolean",
- "description": "是否预约产品"
- },
- "itineraryDays": {
- "type": "array",
- "description": "行程天列表",
- "items": {
- "$ref": "#/definitions/行程天VO",
- "originalRef": "行程天VO"
- }
- },
- "lineId": {
- "type": "string",
- "description": "产品线ID"
- },
- "lineName": {
- "type": "string",
- "description": "产品线名称"
- },
- "lineSubtitle": {
- "type": "string",
- "description": "产品线副标题"
- },
- "maxAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最大成人数(null=不限)"
- },
- "maxChildPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最大儿童数(null=不限)"
- },
- "mchId": {
- "type": "string",
- "description": "商户号"
- },
- "minAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "description": "每单最少成人数(null=默认1)"
- },
- "name": {
- "type": "string",
- "description": "产品名称"
- },
- "paymentMode": {
- "type": "string",
- "description": "支付模式:FULL=全款 DEPOSIT=定金+尾款"
- },
- "pricing": {
- "description": "定价配置",
- "$ref": "#/definitions/产品定价配置VO",
- "originalRef": "产品定价配置VO"
- },
- "productId": {
- "type": "string",
- "description": "产品ID"
- },
- "productNo": {
- "type": "string",
- "description": "产品编号"
- },
- "productType": {
- "type": "string",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团"
- },
- "publishedAt": {
- "type": "string",
- "format": "date-time",
- "description": "发布时间"
- },
- "refundPolicyId": {
- "type": "string",
- "description": "退款政策ID(已废弃,用refundPolicyIds替代)"
- },
- "refundPolicyIds": {
- "type": "object",
- "description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
- "additionalProperties": {
- "type": "string"
- }
- },
- "refundPolicyName": {
- "type": "string",
- "description": "退款政策名称(已废弃)"
- },
- "routeMapUrl": {
- "type": "string",
- "description": "路径图URL(后端自动生成)"
- },
- "seasonLabels": {
- "type": "array",
- "description": "适用季节列表(中文)",
- "items": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "description": "适用季节列表(编码)",
- "items": {
- "type": "string"
- }
- },
- "showChatGroup": {
- "type": "boolean",
- "description": "是否显示群聊入口"
- },
- "showReview": {
- "type": "boolean",
- "description": "是否显示评价"
- },
- "showTripDistance": {
- "type": "boolean",
- "description": "是否显示行程距离"
- },
- "showTripTime": {
- "type": "boolean",
- "description": "是否显示行程时间"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "staffConfigs": {
- "type": "array",
- "description": "人员配置列表(定制产品)",
- "items": {
- "$ref": "#/definitions/产品人员配置VO",
- "originalRef": "产品人员配置VO"
- }
- },
- "startPrice": {
- "type": "number",
- "description": "起步价:未来一年价格日历中最低成人售价"
- },
- "status": {
- "type": "string",
- "description": "产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "suppliesList": {
- "type": "array",
- "description": "物资列表",
- "items": {
- "$ref": "#/definitions/产品物资VO",
- "originalRef": "产品物资VO"
- }
- },
- "tags": {
- "type": "array",
- "description": "产品标签列表",
- "items": {
- "type": "string"
- }
- },
- "teamExperienceYears": {
- "type": "integer",
- "format": "int32",
- "description": "团队经验年数"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "description": "行程天数"
- },
- "tripNights": {
- "type": "integer",
- "format": "int32",
- "description": "行程晚数"
- },
- "updateBy": {
- "type": "string",
- "description": "更新人ID"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "warmTipsContent": {
- "type": "string",
- "description": "温馨提示内容"
- },
- "warmTipsId": {
- "type": "string",
- "description": "温馨提示ID"
- },
- "warmTipsName": {
- "type": "string",
- "description": "温馨提示名称"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童人数"
- }
- },
- "title": "产品详情VO"
- },
- "产品额外成本VO": {
- "type": "object",
- "properties": {
- "applyRole": {
- "type": "string",
- "description": "适用角色"
- },
- "categoryCode": {
- "type": "string",
- "description": "费用类别编码"
- },
- "costItemId": {
- "type": "string",
- "description": "费用项ID"
- },
- "costItemName": {
- "type": "string",
- "description": "费用项名称"
- },
- "daily": {
- "type": "boolean",
- "description": "是否按天计算:true=按天计算(乘以天数) false=整个行程一次"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "unit": {
- "type": "string",
- "description": "单位"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价"
- }
- },
- "title": "产品额外成本VO"
- },
- "人员配置请求": {
- "type": "object",
- "required": [
- "quantity",
- "staffType"
- ],
- "properties": {
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序序号"
- },
- "staffType": {
- "type": "string",
- "example": "GUIDE",
- "description": "人员类型:GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER"
- }
- },
- "title": "人员配置请求"
- },
- "价格日历请求": {
- "type": "object",
- "required": [
- "date"
- ],
- "properties": {
- "adultCostPrice": {
- "type": "number",
- "example": 2800.0,
- "description": "成人成本价"
- },
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人人数(GROUP产品自动测算用)"
- },
- "adultSellPrice": {
- "type": "number",
- "example": 3980.0,
- "description": "成人售价"
- },
- "childCostPrice": {
- "type": "number",
- "example": 1800.0,
- "description": "儿童成本价"
- },
- "childSellPrice": {
- "type": "number",
- "example": 2680.0,
- "description": "儿童售价"
- },
- "costAutoCalc": {
- "type": "boolean",
- "example": true,
- "description": "是否自动计算成本(true时重新测算会自动更新此日期的价格)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "example": "五一黄金周特价",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "example": "OPEN",
- "description": "状态:OPEN=开放预订 CLOSED=关闭(不可预订)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "库存数量(CORE/GROUP按人头扣减,CUSTOM/ROUTE按单扣减)"
- }
- },
- "title": "价格日历请求"
- },
- "保存产品请求(创建或更新)": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "婴儿人数"
- },
- "bookingTermsId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "预订条款ID(关联预订条款模板)"
- },
- "carouselImages": {
- "type": "array",
- "description": "轮播图列表",
- "items": {
- "type": "string"
- }
- },
- "carouselVideoUrl": {
- "type": "string",
- "example": "https://oss.example.com/video.mp4",
- "description": "轮播视频URL"
- },
- "chatMessages": {
- "type": "array",
- "description": "群聊消息列表",
- "items": {
- "$ref": "#/definitions/群聊消息VO",
- "originalRef": "群聊消息VO"
- }
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "儿童人数"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话(定制产品)"
- },
- "coverImageUrl": {
- "type": "string",
- "example": "https://oss.example.com/cover.jpg",
- "description": "封面图URL"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "example": "https://oss.example.com/avatar.jpg",
- "description": "定制师头像URL"
- },
- "creatorIntro": {
- "type": "string",
- "example": "带你体验最地道的丽江风情",
- "description": "创作者寄语"
- },
- "customerName": {
- "type": "string",
- "example": "张三",
- "description": "客户姓名(定制产品)"
- },
- "customizerId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "定制师ID"
- },
- "departureCity": {
- "type": "string",
- "example": "昆明",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-01",
- "description": "出发日期(定制产品)"
- },
- "destinationCity": {
- "type": "string",
- "example": "丽江",
- "description": "目的地城市"
- },
- "folderId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "所属文件夹ID"
- },
- "groupChatQrUrl": {
- "type": "string",
- "example": "https://oss.example.com/qr.jpg",
- "description": "群聊二维码URL"
- },
- "groupRoomId": {
- "type": "string",
- "description": "企微群聊ID(用于会话存档展示群消息)"
- },
- "isBooking": {
- "type": "boolean",
- "example": false,
- "description": "是否预约产品"
- },
- "lineId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "产品线ID"
- },
- "lineSubtitle": {
- "type": "string",
- "example": "亲子游",
- "description": "产品线副标题"
- },
- "maxAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每单最大成人数(不填则不限制)"
- },
- "maxChildPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每单最大儿童数(不填则不限制)"
- },
- "mchId": {
- "type": "string",
- "example": "shanhe",
- "description": "商户号:shanhe/wenlu"
- },
- "minAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "每单最少成人数(不填默认1)"
- },
- "name": {
- "type": "string",
- "example": "丽江5日深度游",
- "description": "产品名称"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "example": 1893012345678901234,
- "description": "产品ID(传入则更新,不传则创建)"
- },
- "productType": {
- "type": "string",
- "example": "CORE",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团(创建时必填,更新时忽略)"
- },
- "refundPolicyId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "退款政策ID(已废弃,用refundPolicyIds替代)"
- },
- "refundPolicyIds": {
- "type": "object",
- "example": {
- "FULL": "1893012345678901234",
- "DEPOSIT": "1893012345678901235"
- },
- "description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
- "additionalProperties": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "example": [
- "春",
- "夏"
- ],
- "description": "适用季节列表,如 [\"春\",\"夏\",\"秋\",\"冬\"]",
- "items": {
- "type": "string"
- }
- },
- "showChatGroup": {
- "type": "boolean",
- "example": true,
- "description": "是否显示群聊入口"
- },
- "showReview": {
- "type": "boolean",
- "example": true,
- "description": "是否显示评价"
- },
- "showTripDistance": {
- "type": "boolean",
- "example": true,
- "description": "是否显示行程距离"
- },
- "showTripTime": {
- "type": "boolean",
- "example": true,
- "description": "是否显示行程时间"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- },
- "subtitle": {
- "type": "string",
- "example": "探访纳西文化,邂逅玉龙雪山",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "example": [
- "亲子游",
- "摄影"
- ],
- "description": "产品标签列表,如 [\"亲子游\",\"摄影\"]",
- "items": {
- "type": "string"
- }
- },
- "teamExperienceYears": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "团队经验年数"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "行程天数"
- },
- "warmTipsId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "温馨提示ID(关联温馨提示模板)"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童人数"
- }
- },
- "title": "保存产品请求(创建或更新)"
- },
- "公式变量VO": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "变量分类:INPUT/INTERMEDIATE/OUTPUT"
- },
- "defaultValue": {
- "type": "string",
- "description": "默认值"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "productTypes": {
- "type": "array",
- "description": "适用产品类型列表",
- "items": {
- "type": "string"
- }
- },
- "varId": {
- "type": "string",
- "description": "变量ID"
- },
- "varName": {
- "type": "string",
- "description": "变量名"
- },
- "varType": {
- "type": "string",
- "description": "变量类型:DECIMAL/INTEGER/BOOLEAN/STRING"
- }
- },
- "title": "公式变量VO"
- },
- "公式变量请求": {
- "type": "object",
- "required": [
- "category",
- "varName",
- "varType"
- ],
- "properties": {
- "category": {
- "type": "string",
- "example": "INPUT",
- "description": "变量分类:INPUT/INTERMEDIATE/OUTPUT"
- },
- "defaultValue": {
- "type": "string",
- "example": 0,
- "description": "默认值"
- },
- "description": {
- "type": "string",
- "example": "成人单价成本",
- "description": "描述"
- },
- "productTypes": {
- "type": "array",
- "example": [
- "CORE",
- "ROUTE"
- ],
- "description": "适用产品类型列表",
- "items": {
- "type": "string"
- }
- },
- "varName": {
- "type": "string",
- "example": "adultUnitCost",
- "description": "变量名"
- },
- "varType": {
- "type": "string",
- "example": "DECIMAL",
- "description": "变量类型:DECIMAL/INTEGER/BOOLEAN/STRING"
- }
- },
- "title": "公式变量请求"
- },
- "公式步骤VO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "executionOrder": {
- "type": "integer",
- "format": "int32",
- "description": "执行顺序"
- },
- "expression": {
- "type": "string",
- "description": "表达式"
- },
- "formulaId": {
- "type": "string",
- "description": "公式ID"
- },
- "groupId": {
- "type": "string",
- "description": "公式组ID"
- },
- "inputVars": {
- "type": "string",
- "description": "输入变量(逗号分隔)"
- },
- "isEnabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "outputVar": {
- "type": "string",
- "description": "输出变量名"
- },
- "stepCode": {
- "type": "string",
- "description": "步骤编码"
- },
- "stepName": {
- "type": "string",
- "description": "步骤名称"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "公式步骤VO"
- },
- "公式步骤请求": {
- "type": "object",
- "required": [
- "expression",
- "groupId",
- "outputVar",
- "stepCode",
- "stepName"
- ],
- "properties": {
- "changeNote": {
- "type": "string",
- "example": "初始创建",
- "description": "变更说明"
- },
- "description": {
- "type": "string",
- "example": "根据人数和单价计算基础成本",
- "description": "描述"
- },
- "executionOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "执行顺序"
- },
- "expression": {
- "type": "string",
- "example": "baseCost = adultCount * adultUnitCost + childCount * childUnitCost",
- "description": "Aviator表达式(支持数学运算、条件判断、内置函数;可引用前置步骤的输出变量和公式变量表中的变量)"
- },
- "groupId": {
- "type": "integer",
- "format": "int64",
- "example": 1893012345678901234,
- "description": "公式组ID"
- },
- "inputVars": {
- "type": "string",
- "example": "adultCount,adultUnitCost,childCount,childUnitCost",
- "description": "输入变量(逗号分隔)"
- },
- "outputVar": {
- "type": "string",
- "example": "baseCost",
- "description": "输出变量名"
- },
- "stepCode": {
- "type": "string",
- "example": "CALC_BASE_COST",
- "description": "步骤编码"
- },
- "stepName": {
- "type": "string",
- "example": "计算基础成本",
- "description": "步骤名称"
- }
- },
- "title": "公式步骤请求"
- },
- "公式测试结果VO": {
- "type": "object",
- "properties": {
- "errorMessage": {
- "type": "string",
- "description": "错误信息"
- },
- "finalVariables": {
- "type": "object",
- "description": "最终变量表"
- },
- "stepResults": {
- "type": "array",
- "description": "各步骤执行结果",
- "items": {
- "$ref": "#/definitions/步骤执行结果",
- "originalRef": "步骤执行结果"
- }
- },
- "success": {
- "type": "boolean",
- "description": "是否成功"
- },
- "totalTimeMs": {
- "type": "integer",
- "format": "int64",
- "description": "总耗时(毫秒)"
- }
- },
- "title": "公式测试结果VO"
- },
- "公式测试请求": {
- "type": "object",
- "required": [
- "groupId",
- "variables"
- ],
- "properties": {
- "groupId": {
- "type": "integer",
- "format": "int64",
- "example": 1893012345678901234,
- "description": "公式组ID"
- },
- "variables": {
- "type": "object",
- "description": "测试变量(变量名→值)"
- }
- },
- "title": "公式测试请求"
- },
- "公式版本历史VO": {
- "type": "object",
- "properties": {
- "changeNote": {
- "type": "string",
- "description": "变更说明"
- },
- "changedBy": {
- "type": "string",
- "description": "变更人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "expression": {
- "type": "string",
- "description": "表达式"
- },
- "formulaId": {
- "type": "string",
- "description": "公式ID"
- },
- "versionId": {
- "type": "string",
- "description": "版本ID"
- },
- "versionNum": {
- "type": "integer",
- "format": "int32",
- "description": "版本号"
- }
- },
- "title": "公式版本历史VO"
- },
- "公式组VO": {
- "type": "object",
- "properties": {
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "描述"
- },
- "groupCode": {
- "type": "string",
- "description": "公式组编码"
- },
- "groupId": {
- "type": "string",
- "description": "公式组ID"
- },
- "groupName": {
- "type": "string",
- "description": "公式组名称"
- },
- "isActive": {
- "type": "boolean",
- "description": "是否激活"
- },
- "productType": {
- "type": "string",
- "description": "适用产品类型"
- },
- "stepCount": {
- "type": "integer",
- "format": "int32",
- "description": "步骤数量"
- },
- "version": {
- "type": "integer",
- "format": "int32",
- "description": "版本号"
- }
- },
- "title": "公式组VO"
- },
- "公式组请求": {
- "type": "object",
- "required": [
- "groupCode",
- "groupName",
- "productType"
- ],
- "properties": {
- "description": {
- "type": "string",
- "example": "核心产品标准报价公式",
- "description": "描述"
- },
- "groupCode": {
- "type": "string",
- "example": "CORE_PRICING_V1",
- "description": "公式组编码"
- },
- "groupName": {
- "type": "string",
- "example": "核心产品定价公式",
- "description": "公式组名称"
- },
- "productType": {
- "type": "string",
- "example": "CORE",
- "description": "适用产品类型:CORE/ROUTE/CUSTOM/GROUP"
- }
- },
- "title": "公式组请求"
- },
- "分享链接响应": {
- "type": "object",
- "properties": {
- "expireTime": {
- "type": "object",
- "description": "链接过期时间(Unix时间戳)"
- },
- "productId": {
- "type": "integer",
- "format": "int64",
- "description": "产品ID"
- },
- "productName": {
- "type": "string",
- "description": "产品名称"
- },
- "urlLink": {
- "type": "string",
- "description": "微信URL Link"
- }
- },
- "title": "分享链接响应"
- },
- "分页结果«C端产品列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/C端产品列表VO",
- "originalRef": "C端产品列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«C端产品列表VO»"
- },
- "分页结果«产品列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/产品列表VO",
- "originalRef": "产品列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«产品列表VO»"
- },
- "分页结果«产品线VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/产品线VO",
- "originalRef": "产品线VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«产品线VO»"
- },
- "创建产品线请求": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "example": "https://oss.example.com/cover.jpg",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "example": "丽江古城及周边精品旅游线路",
- "description": "产品线描述"
- },
- "name": {
- "type": "string",
- "example": "丽江精品线路",
- "description": "产品线名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- }
- },
- "title": "创建产品线请求"
- },
- "创建产品请求": {
- "type": "object",
- "required": [
- "name",
- "productType"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "婴儿人数"
- },
- "bookingTermsId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "预订条款ID(关联预订条款模板)"
- },
- "carouselImages": {
- "type": "array",
- "description": "轮播图列表",
- "items": {
- "type": "string"
- }
- },
- "carouselVideoUrl": {
- "type": "string",
- "example": "https://oss.example.com/video.mp4",
- "description": "轮播视频URL"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "儿童人数"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话(定制产品)"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "example": "https://oss.example.com/avatar.jpg",
- "description": "定制师头像URL"
- },
- "creatorIntro": {
- "type": "string",
- "example": "带你体验最地道的丽江风情",
- "description": "创作者寄语"
- },
- "customerName": {
- "type": "string",
- "example": "张三",
- "description": "客户姓名(定制产品)"
- },
- "customizerId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "定制师ID"
- },
- "departureCity": {
- "type": "string",
- "example": "昆明",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-01",
- "description": "出发日期(定制产品)"
- },
- "destinationCity": {
- "type": "string",
- "example": "丽江",
- "description": "目的地城市"
- },
- "folderId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "所属文件夹ID"
- },
- "groupChatQrUrl": {
- "type": "string",
- "example": "https://oss.example.com/qr.jpg",
- "description": "群聊二维码URL"
- },
- "groupRoomId": {
- "type": "string",
- "description": "企微群聊ID(用于会话存档展示群消息)"
- },
- "isBooking": {
- "type": "boolean",
- "example": false,
- "description": "是否预约产品"
- },
- "lineId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "产品线ID"
- },
- "maxAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每单最大成人数(不填则不限制)"
- },
- "maxChildPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每单最大儿童数(不填则不限制)"
- },
- "mchId": {
- "type": "string",
- "example": "shanhe",
- "description": "商户号:shanhe/wenlu"
- },
- "minAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "每单最少成人数(不填默认1)"
- },
- "name": {
- "type": "string",
- "example": "丽江5日深度游",
- "description": "产品名称"
- },
- "productType": {
- "type": "string",
- "example": "CORE",
- "description": "产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团"
- },
- "refundPolicyId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "退款政策ID(已废弃,用refundPolicyIds替代)"
- },
- "refundPolicyIds": {
- "type": "object",
- "example": {
- "FULL": "1893012345678901234",
- "DEPOSIT": "1893012345678901235"
- },
- "description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
- "additionalProperties": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "description": "适用季节列表",
- "items": {
- "type": "string"
- }
- },
- "showChatGroup": {
- "type": "boolean",
- "example": true,
- "description": "是否显示群聊入口"
- },
- "showReview": {
- "type": "boolean",
- "example": true,
- "description": "是否显示评价"
- },
- "showTripDistance": {
- "type": "boolean",
- "example": true,
- "description": "是否显示行程距离"
- },
- "showTripTime": {
- "type": "boolean",
- "example": true,
- "description": "是否显示行程时间"
- },
- "subtitle": {
- "type": "string",
- "example": "探访纳西文化,邂逅玉龙雪山",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "产品标签列表",
- "items": {
- "type": "string"
- }
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "行程天数"
- },
- "warmTipsId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "温馨提示ID(关联温馨提示模板)"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童人数"
- }
- },
- "title": "创建产品请求"
- },
- "创建拼团批次请求": {
- "type": "object",
- "required": [
- "batchName",
- "departureDate",
- "enrollmentDeadline",
- "maxParticipants",
- "maxRooms"
- ],
- "properties": {
- "adultsPerRoom": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每间房入住成人数(默认2,用于计算单房差:酒店总成本÷此值)"
- },
- "batchName": {
- "type": "string",
- "example": "7月20日第1批",
- "description": "批次名称"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-20",
- "description": "出发日期"
- },
- "enrollmentDeadline": {
- "type": "string",
- "format": "date",
- "example": "2026-07-15",
- "description": "报名截止日期,必须早于出发日期"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "最大参团人数(报名人数达到上限后自动关闭报名)"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "总房间数(下单时扣减房间库存)"
- },
- "minParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "最低成团人数(0=不限制,达到此人数自动变为CONFIRMED状态)"
- },
- "remark": {
- "type": "string",
- "example": "暑期特别批次",
- "description": "备注说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序序号(越小越靠前)"
- }
- },
- "title": "创建拼团批次请求"
- },
- "创建文件夹请求": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "国内线路",
- "description": "文件夹名称"
- },
- "parentId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "父文件夹ID,为空则为根文件夹"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- }
- },
- "title": "创建文件夹请求"
- },
- "创建行程节点请求": {
- "type": "object",
- "required": [
- "nodeName",
- "nodeType"
- ],
- "properties": {
- "description": {
- "type": "string",
- "example": "漫步古城,感受纳西文化",
- "description": "节点描述"
- },
- "distanceKm": {
- "type": "number",
- "example": 15.5,
- "description": "距离(公里)"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "example": 120,
- "description": "时长(分钟)"
- },
- "emojiIcon": {
- "type": "string",
- "example": "city_sunset",
- "description": "表情图标"
- },
- "extraData": {
- "type": "string",
- "description": "扩展数据(JSON格式)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(仅CUSTOM定制产品使用,实现按家庭分配行程节点)",
- "items": {
- "type": "string"
- }
- },
- "images": {
- "type": "array",
- "description": "节点图片列表",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "example": 26.872108,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 100.233026,
- "description": "经度"
- },
- "nodeName": {
- "type": "string",
- "example": "丽江古城游览",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "example": "SCENIC",
- "description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "数量"
- },
- "resourceId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "关联资源ID(来自资源服务,关联后节点名称和图片可自动同步)"
- },
- "resourceType": {
- "type": "string",
- "example": "SCENIC",
- "description": "关联资源类型(关联后可从资源服务获取价格参与成本计算):SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE"
- },
- "startTime": {
- "type": "string",
- "example": "09:00",
- "description": "开始时间"
- }
- },
- "title": "创建行程节点请求"
- },
- "团批次VO": {
- "type": "object",
- "properties": {
- "adultsPerRoom": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每间房入住成人数(用于计算单房差)"
- },
- "batchId": {
- "type": "string",
- "example": 2026280000000000001,
- "description": "批次ID"
- },
- "batchLabel": {
- "type": "string",
- "example": "五一团",
- "description": "批次标签(简称)"
- },
- "batchName": {
- "type": "string",
- "example": "2026年五一黄金周第一批",
- "description": "批次名称"
- },
- "batchNo": {
- "type": "string",
- "example": "B20260501-01",
- "description": "批次编号"
- },
- "batchStatus": {
- "type": "string",
- "example": "ENROLLING",
- "description": "批次状态: PENDING/ENROLLING/CONFIRMED/FULL/CLOSED/IN_PROGRESS/FINISHED/DISBANDED"
- },
- "bookedRooms": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "已预订房间数"
- },
- "createBy": {
- "type": "string",
- "example": 2026260000000000001,
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-05",
- "description": "结束日期"
- },
- "enrolledCount": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "已报名人数"
- },
- "enrollmentDeadline": {
- "type": "string",
- "format": "date",
- "example": "2026-04-25",
- "description": "报名截止日期"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "最大人数"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "总房间数"
- },
- "minParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "最少成团人数"
- },
- "parentBatchId": {
- "type": "string",
- "example": 2026280000000000001,
- "description": "父批次ID(子批次时有值)"
- },
- "productId": {
- "type": "string",
- "example": 2026270000000000001,
- "description": "产品ID"
- },
- "remainingRooms": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "剩余房间数"
- },
- "remainingSlots": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "剩余名额"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序"
- },
- "subBatches": {
- "type": "array",
- "description": "子批次列表(树形)",
- "items": {
- "$ref": "#/definitions/团批次VO",
- "originalRef": "团批次VO"
- }
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "团批次VO"
- },
- "团批次服务人员VO": {
- "type": "object",
- "properties": {
- "batchId": {
- "type": "string",
- "example": 2026280000000000001,
- "description": "批次ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "id": {
- "type": "string",
- "example": 2026280000000000020,
- "description": "记录ID"
- },
- "productId": {
- "type": "string",
- "example": 2026270000000000001,
- "description": "产品ID"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序"
- },
- "staffId": {
- "type": "string",
- "example": 2026250000000000001,
- "description": "服务人员ID"
- },
- "staffName": {
- "type": "string",
- "example": "张导",
- "description": "姓名"
- },
- "staffPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- },
- "staffRole": {
- "type": "string",
- "example": "GUIDE",
- "description": "角色: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER"
- }
- },
- "title": "团批次服务人员VO"
- },
- "团批次详情VO": {
- "type": "object",
- "properties": {
- "adultsPerRoom": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每间房入住成人数(用于计算单房差)"
- },
- "batchId": {
- "type": "string",
- "example": 2026280000000000001,
- "description": "批次ID"
- },
- "batchLabel": {
- "type": "string",
- "example": "五一团",
- "description": "批次标签(简称)"
- },
- "batchName": {
- "type": "string",
- "example": "2026年五一黄金周第一批",
- "description": "批次名称"
- },
- "batchNo": {
- "type": "string",
- "example": "B20260501-01",
- "description": "批次编号"
- },
- "batchStatus": {
- "type": "string",
- "example": "ENROLLING",
- "description": "批次状态: PENDING/ENROLLING/CONFIRMED/FULL/CLOSED/IN_PROGRESS/FINISHED/DISBANDED"
- },
- "bookedRooms": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "已预订房间数"
- },
- "createBy": {
- "type": "string",
- "example": 2026260000000000001,
- "description": "创建人ID"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-05",
- "description": "结束日期"
- },
- "enrolledCount": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "已报名人数"
- },
- "enrollmentDeadline": {
- "type": "string",
- "format": "date",
- "example": "2026-04-25",
- "description": "报名截止日期"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "最大人数"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "总房间数"
- },
- "minParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "最少成团人数"
- },
- "parentBatchId": {
- "type": "string",
- "example": 2026280000000000001,
- "description": "父批次ID(子批次时有值)"
- },
- "productId": {
- "type": "string",
- "example": 2026270000000000001,
- "description": "产品ID"
- },
- "remainingRooms": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "剩余房间数"
- },
- "remainingSlots": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "剩余名额"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序"
- },
- "staff": {
- "type": "array",
- "description": "服务人员列表",
- "items": {
- "$ref": "#/definitions/团批次服务人员VO",
- "originalRef": "团批次服务人员VO"
- }
- },
- "subBatches": {
- "type": "array",
- "description": "子批次列表(树形)",
- "items": {
- "$ref": "#/definitions/团批次VO",
- "originalRef": "团批次VO"
- }
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "团批次详情VO"
- },
- "定价配置请求": {
- "type": "object",
- "properties": {
- "adultExtraBed": {
- "type": "number",
- "example": 200.0,
- "description": "成人加床费"
- },
- "babyPrice": {
- "type": "number",
- "example": 300.0,
- "description": "婴儿固定价格(不随日期变化)"
- },
- "balanceDueDays": {
- "type": "integer",
- "format": "int32",
- "example": 7,
- "description": "尾款支付截止天数(出发前N天必须支付尾款,超时可能取消订单)"
- },
- "childDiscountPercent": {
- "type": "number",
- "example": 70.0,
- "description": "小童折扣百分比(小童价=儿童价×此百分比/100,如70表示打7折)"
- },
- "childNoBed": {
- "type": "number",
- "example": 1200.0,
- "description": "儿童不占床价(暂未使用,预留字段)"
- },
- "childWithBed": {
- "type": "number",
- "example": 1800.0,
- "description": "儿童加床费(childNeedBed=true时额外加收的费用)"
- },
- "companionPrice": {
- "type": "number",
- "example": 0.0,
- "description": "陪同人员价格"
- },
- "customTotalPrice": {
- "type": "number",
- "example": 28800.0,
- "description": "定制产品总价(CUSTOM定价模式下使用,代表整单总价)"
- },
- "depositAmount": {
- "type": "number",
- "example": 1000.0,
- "description": "定金金额(固定金额,与depositRatio二选一)"
- },
- "depositRatio": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "定金比例(百分比,如30代表30%。与depositAmount二选一,优先使用比例)"
- },
- "extraCostPerPerson": {
- "type": "number",
- "example": 50.0,
- "description": "每人额外成本"
- },
- "insuranceFee": {
- "type": "number",
- "example": 50.0,
- "description": "保险费用"
- },
- "markupPercent": {
- "type": "number",
- "example": 20.0,
- "description": "加价百分比(PERCENT模式下使用)"
- },
- "maxGroupSize": {
- "type": "integer",
- "format": "int32",
- "example": 16,
- "description": "最大成团人数(CORE/GROUP产品用)"
- },
- "mealBudget": {
- "type": "number",
- "example": 100.0,
- "description": "餐费预算"
- },
- "minGroupSize": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最小成团人数(CORE/GROUP产品用,影响均摊成本计算)"
- },
- "paymentType": {
- "type": "string",
- "example": "FULL",
- "description": "支付方式:FULL=全款支付 DEPOSIT=定金+尾款分期支付"
- },
- "pricingMode": {
- "type": "string",
- "example": "AUTO",
- "description": "定价模式:AUTO=根据行程资源价格自动计算 MANUAL=手动在价格日历设置每日价格 CUSTOM=定制产品整单定价"
- },
- "profitAmount": {
- "type": "number",
- "example": 500.0,
- "description": "利润金额(FIXED模式下使用)"
- },
- "profitMode": {
- "type": "string",
- "example": "FIXED",
- "description": "利润模式(AUTO模式下生效):FIXED=在成本基础上加固定金额 PERCENT=在成本基础上按百分比加价"
- },
- "singleRoomDiff": {
- "type": "number",
- "example": 300.0,
- "description": "单房差"
- },
- "vehicleModelIds": {
- "type": "array",
- "description": "车型ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "定价配置请求"
- },
- "家庭分组VO": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "familyId": {
- "type": "string",
- "description": "家庭ID"
- },
- "familyName": {
- "type": "string",
- "description": "家庭名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "家庭分组VO"
- },
- "家庭分组保存请求": {
- "type": "object",
- "required": [
- "familyName"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "儿童数"
- },
- "familyName": {
- "type": "string",
- "example": "家庭1",
- "description": "家庭名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序序号"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童数"
- }
- },
- "title": "家庭分组保存请求",
- "description": "仅适用于CUSTOM定制产品,用于将行程按家庭单位分配"
- },
- "家庭成本明细": {
- "type": "object",
- "properties": {
- "activityCost": {
- "type": "number",
- "description": "活动成本"
- },
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "description": "成人数"
- },
- "babyCost": {
- "type": "number",
- "description": "婴儿固定成本"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "description": "幼童数"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "description": "儿童数"
- },
- "costPerPerson": {
- "type": "number",
- "description": "人均成本(家庭成本/付费人头)"
- },
- "customFeeCost": {
- "type": "number",
- "description": "自定义费用成本"
- },
- "extraCost": {
- "type": "number",
- "description": "额外成本"
- },
- "familyId": {
- "type": "string",
- "description": "家庭ID"
- },
- "familyName": {
- "type": "string",
- "description": "家庭名称"
- },
- "headcount": {
- "type": "integer",
- "format": "int32",
- "description": "人头数"
- },
- "hotelCost": {
- "type": "number",
- "description": "酒店成本"
- },
- "insuranceCost": {
- "type": "number",
- "description": "保险成本"
- },
- "payingHeadcount": {
- "type": "integer",
- "format": "int32",
- "description": "付费人头数(不含幼童)"
- },
- "personCosts": {
- "type": "array",
- "description": "每人分项成本列表",
- "items": {
- "$ref": "#/definitions/每人成本明细",
- "originalRef": "每人成本明细"
- }
- },
- "scenicCost": {
- "type": "number",
- "description": "景区成本"
- },
- "sellPricePerPerson": {
- "type": "number",
- "description": "人均售价(家庭售价/付费人头)"
- },
- "serviceCost": {
- "type": "number",
- "description": "服务成本"
- },
- "staffCost": {
- "type": "number",
- "description": "人员成本"
- },
- "suppliesCost": {
- "type": "number",
- "description": "物资成本"
- },
- "totalCost": {
- "type": "number",
- "description": "家庭成本合计"
- },
- "totalProfit": {
- "type": "number",
- "description": "家庭利润合计"
- },
- "totalSellPrice": {
- "type": "number",
- "description": "家庭售价合计"
- },
- "vehicleCost": {
- "type": "number",
- "description": "车辆成本"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "description": "小童数"
- }
- },
- "title": "家庭成本明细"
- },
- "成本项请求": {
- "type": "object",
- "required": [
- "category",
- "title",
- "type"
- ],
- "properties": {
- "category": {
- "type": "string",
- "example": "HOTEL",
- "description": "成本项类别:HOTEL/SCENIC/VEHICLE/ACTIVITY/SERVICE/DINING/OTHER"
- },
- "description": {
- "type": "string",
- "example": "含早餐,标准双人间",
- "description": "成本项描述"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- },
- "title": {
- "type": "string",
- "example": "丽江古城酒店住宿",
- "description": "成本项标题"
- },
- "type": {
- "type": "string",
- "example": "INCLUDED",
- "description": "成本项类型:INCLUDED=费用包含 EXCLUDED=费用不含 SELF_PAY=自理费用"
- }
- },
- "title": "成本项请求"
- },
- "成本预览VO": {
- "type": "object",
- "properties": {
- "adultCostPrice": {
- "type": "number",
- "description": "成人成本价"
- },
- "adultSellPrice": {
- "type": "number",
- "description": "成人售价"
- },
- "childCostPrice": {
- "type": "number",
- "description": "儿童成本价"
- },
- "childSellPrice": {
- "type": "number",
- "description": "儿童售价"
- },
- "warnings": {
- "type": "array",
- "description": "警告信息列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "成本预览VO"
- },
- "成本预览请求": {
- "type": "object",
- "required": [
- "date"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人人数(GROUP产品用)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "日期"
- }
- },
- "title": "成本预览请求"
- },
- "批次服务人员分配请求": {
- "type": "object",
- "required": [
- "staffId",
- "staffRole"
- ],
- "properties": {
- "remark": {
- "type": "string",
- "example": "主导游",
- "description": "备注(如:主导游、备用摄影师等)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序序号(越小越靠前)"
- },
- "staffId": {
- "type": "integer",
- "format": "int64",
- "example": 1760000000000001,
- "description": "人员ID(来自资源服务的人员库)"
- },
- "staffRole": {
- "type": "string",
- "example": "LEADER",
- "description": "在该批次中的角色:LEADER(领队)/PHOTOGRAPHER(摄影师)/DRIVER(司机)/OTHER(其他)"
- }
- },
- "title": "批次服务人员分配请求"
- },
- "批量设置价格日历请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate"
- ],
- "properties": {
- "adultCostPrice": {
- "type": "number",
- "example": 2800.0,
- "description": "成人成本价"
- },
- "adultSellPrice": {
- "type": "number",
- "example": 3980.0,
- "description": "成人售价"
- },
- "childCostPrice": {
- "type": "number",
- "example": 1800.0,
- "description": "儿童成本价"
- },
- "childSellPrice": {
- "type": "number",
- "example": 2680.0,
- "description": "儿童售价"
- },
- "costAutoCalc": {
- "type": "boolean",
- "example": true,
- "description": "是否自动计算成本"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-07",
- "description": "结束日期"
- },
- "remark": {
- "type": "string",
- "example": "五一黄金周特价",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "选中的星期(1=周一...7=周日),为空或包含全部则不过滤",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "OPEN",
- "description": "状态:OPEN=开放 CLOSED=关闭"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "库存数量"
- }
- },
- "title": "批量设置价格日历请求"
- },
- "报价结果VO": {
- "type": "object",
- "properties": {
- "customFeeCost": {
- "type": "number",
- "description": "自定义费用合计(定制产品)"
- },
- "dayCosts": {
- "type": "array",
- "description": "每日成本明细列表",
- "items": {
- "$ref": "#/definitions/每日成本明细",
- "originalRef": "每日成本明细"
- }
- },
- "extraCostItems": {
- "type": "array",
- "description": "额外成本明细列表",
- "items": {
- "$ref": "#/definitions/额外成本明细项",
- "originalRef": "额外成本明细项"
- }
- },
- "extraCostPerPerson": {
- "type": "number",
- "description": "每人额外成本"
- },
- "extraCostTotal": {
- "type": "number",
- "description": "额外成本合计"
- },
- "familyCosts": {
- "type": "array",
- "description": "家庭分组成本明细(定制产品,有分组时返回)",
- "items": {
- "$ref": "#/definitions/家庭成本明细",
- "originalRef": "家庭成本明细"
- }
- },
- "grandTotalCost": {
- "type": "number",
- "description": "总成本合计"
- },
- "grandTotalProfit": {
- "type": "number",
- "description": "总利润合计"
- },
- "grandTotalSellPrice": {
- "type": "number",
- "description": "总售价合计"
- },
- "insuranceFee": {
- "type": "number",
- "description": "保险费用"
- },
- "profitRate": {
- "type": "number",
- "description": "利润率(百分比)"
- },
- "staffCost": {
- "type": "number",
- "description": "人员成本"
- },
- "suppliesCost": {
- "type": "number",
- "description": "物资成本"
- },
- "totalAdultCost": {
- "type": "number",
- "description": "成人总成本"
- },
- "totalAdultProfit": {
- "type": "number",
- "description": "成人总利润"
- },
- "totalAdultSellPrice": {
- "type": "number",
- "description": "成人总售价"
- },
- "totalBabyCost": {
- "type": "number",
- "description": "婴儿总成本"
- },
- "totalBabySellPrice": {
- "type": "number",
- "description": "婴儿总售价"
- },
- "totalChildCost": {
- "type": "number",
- "description": "儿童总成本"
- },
- "totalChildSellPrice": {
- "type": "number",
- "description": "儿童总售价"
- },
- "totalYoungChildCost": {
- "type": "number",
- "description": "小童总成本"
- },
- "totalYoungChildSellPrice": {
- "type": "number",
- "description": "小童总售价"
- },
- "warnings": {
- "type": "array",
- "description": "警告信息列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "报价结果VO"
- },
- "报价请求": {
- "type": "object",
- "required": [
- "adultCount",
- "departureDate"
- ],
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "婴儿人数(按固定 babyPrice 计算)"
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "儿童人数(占床,按儿童价计算)"
- },
- "childNeedBed": {
- "type": "boolean",
- "example": false,
- "description": "儿童是否加床(true 时额外加收 childWithBed 费用)"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-05-01",
- "description": "出发日期"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童人数(不占床,按儿童价 × childDiscountPercent 折扣比例计算)"
- }
- },
- "title": "报价请求"
- },
- "更新产品线请求": {
- "type": "object",
- "properties": {
- "coverImageUrl": {
- "type": "string",
- "example": "https://oss.example.com/cover.jpg",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "example": "丽江古城及周边精品旅游线路",
- "description": "产品线描述"
- },
- "name": {
- "type": "string",
- "example": "丽江精品线路",
- "description": "产品线名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "产品线状态:ACTIVE=启用 INACTIVE=停用"
- }
- },
- "title": "更新产品线请求"
- },
- "更新产品请求": {
- "type": "object",
- "properties": {
- "adultCount": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "成人人数"
- },
- "babyCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "婴儿人数"
- },
- "bookingTermsId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "预订条款ID(关联预订条款模板)"
- },
- "carouselImages": {
- "type": "array",
- "description": "轮播图列表",
- "items": {
- "type": "string"
- }
- },
- "carouselVideoUrl": {
- "type": "string",
- "example": "https://oss.example.com/video.mp4",
- "description": "轮播视频URL"
- },
- "chatMessages": {
- "type": "array",
- "description": "群聊消息列表",
- "items": {
- "$ref": "#/definitions/群聊消息VO",
- "originalRef": "群聊消息VO"
- }
- },
- "childCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "儿童人数"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话(定制产品)"
- },
- "creatorAvatarUrl": {
- "type": "string",
- "example": "https://oss.example.com/avatar.jpg",
- "description": "定制师头像URL"
- },
- "creatorIntro": {
- "type": "string",
- "example": "带你体验最地道的丽江风情",
- "description": "创作者寄语"
- },
- "customerName": {
- "type": "string",
- "example": "张三",
- "description": "客户姓名(定制产品)"
- },
- "customizerId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "定制师ID"
- },
- "departureCity": {
- "type": "string",
- "example": "昆明",
- "description": "出发城市"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-01",
- "description": "出发日期(定制产品)"
- },
- "destinationCity": {
- "type": "string",
- "example": "丽江",
- "description": "目的地城市"
- },
- "folderId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "所属文件夹ID"
- },
- "groupChatQrUrl": {
- "type": "string",
- "example": "https://oss.example.com/qr.jpg",
- "description": "群聊二维码URL"
- },
- "groupRoomId": {
- "type": "string",
- "description": "企微群聊ID(用于会话存档展示群消息)"
- },
- "isBooking": {
- "type": "boolean",
- "example": false,
- "description": "是否预约产品"
- },
- "lineId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "产品线ID"
- },
- "lineSubtitle": {
- "type": "string",
- "example": "亲子游",
- "description": "产品线副标题"
- },
- "maxAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每单最大成人数(不填则不限制)"
- },
- "maxChildPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每单最大儿童数(不填则不限制)"
- },
- "mchId": {
- "type": "string",
- "example": "shanhe",
- "description": "商户号:shanhe/wenlu"
- },
- "minAdultPerOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "每单最少成人数(不填默认1)"
- },
- "name": {
- "type": "string",
- "example": "丽江5日深度游",
- "description": "产品名称"
- },
- "refundPolicyId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "退款政策ID(已废弃,用refundPolicyIds替代)"
- },
- "refundPolicyIds": {
- "type": "object",
- "example": {
- "FULL": "1893012345678901234",
- "DEPOSIT": "1893012345678901235"
- },
- "description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
- "additionalProperties": {
- "type": "string"
- }
- },
- "seasons": {
- "type": "array",
- "description": "适用季节列表",
- "items": {
- "type": "string"
- }
- },
- "showChatGroup": {
- "type": "boolean",
- "example": true,
- "description": "是否显示群聊入口"
- },
- "showReview": {
- "type": "boolean",
- "example": true,
- "description": "是否显示评价"
- },
- "showTripDistance": {
- "type": "boolean",
- "example": true,
- "description": "是否显示行程距离"
- },
- "showTripTime": {
- "type": "boolean",
- "example": true,
- "description": "是否显示行程时间"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- },
- "subtitle": {
- "type": "string",
- "example": "探访纳西文化,邂逅玉龙雪山",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "产品标签列表",
- "items": {
- "type": "string"
- }
- },
- "teamExperienceYears": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "团队经验年数"
- },
- "tripDays": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "行程天数"
- },
- "warmTipsId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "温馨提示ID(关联温馨提示模板)"
- },
- "youngChildCount": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "小童人数"
- }
- },
- "title": "更新产品请求"
- },
- "更新拼团批次请求": {
- "type": "object",
- "properties": {
- "adultsPerRoom": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "每间房入住成人数(默认2,用于计算单房差)"
- },
- "batchName": {
- "type": "string",
- "example": "7月20日第1批",
- "description": "批次名称"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "example": "2026-07-20",
- "description": "出发日期"
- },
- "enrollmentDeadline": {
- "type": "string",
- "format": "date",
- "example": "2026-07-15",
- "description": "报名截止日期"
- },
- "maxParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 30,
- "description": "最大参团人数(不能低于已报名人数)"
- },
- "maxRooms": {
- "type": "integer",
- "format": "int32",
- "example": 15,
- "description": "总房间数(不能低于已预订房间数)"
- },
- "minParticipants": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "最低成团人数(0=不限制)"
- },
- "remark": {
- "type": "string",
- "description": "备注说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "更新拼团批次请求"
- },
- "更新文件夹请求": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "example": "国内线路",
- "description": "文件夹名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "排序序号"
- }
- },
- "title": "更新文件夹请求"
- },
- "更新行程节点请求": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string",
- "example": "漫步古城,感受纳西文化",
- "description": "节点描述"
- },
- "distanceKm": {
- "type": "number",
- "example": 15.5,
- "description": "距离(公里)"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "example": 120,
- "description": "时长(分钟)"
- },
- "emojiIcon": {
- "type": "string",
- "example": "city_sunset",
- "description": "表情图标"
- },
- "extraData": {
- "type": "string",
- "description": "扩展数据(JSON格式)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "images": {
- "type": "array",
- "description": "节点图片列表",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "example": 26.872108,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 100.233026,
- "description": "经度"
- },
- "nodeName": {
- "type": "string",
- "example": "丽江古城游览",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "example": "SCENIC",
- "description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "数量"
- },
- "resourceId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "关联资源ID"
- },
- "resourceType": {
- "type": "string",
- "example": "SCENIC",
- "description": "关联资源类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/STAFF"
- },
- "startTime": {
- "type": "string",
- "example": "09:00",
- "description": "开始时间"
- }
- },
- "title": "更新行程节点请求"
- },
- "权益分组": {
- "type": "object",
- "properties": {
- "items": {
- "type": "array",
- "description": "权益项列表",
- "items": {
- "$ref": "#/definitions/权益项",
- "originalRef": "权益项"
- }
- },
- "title": {
- "type": "string",
- "description": "分组标题,如:儿童权益 (1.2m以下)"
- }
- },
- "title": "权益分组"
- },
- "权益项": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string",
- "description": "类别,如:门票、住宿、餐饮"
- },
- "description": {
- "type": "string",
- "description": "说明,如:含全部景点儿童票"
- }
- },
- "title": "权益项"
- },
- "步骤执行结果": {
- "type": "object",
- "properties": {
- "errorMessage": {
- "type": "string",
- "description": "错误信息"
- },
- "executionTimeMs": {
- "type": "integer",
- "format": "int64",
- "description": "执行耗时(毫秒)"
- },
- "expression": {
- "type": "string",
- "description": "表达式"
- },
- "outputValue": {
- "type": "object",
- "description": "输出值"
- },
- "outputVar": {
- "type": "string",
- "description": "输出变量名"
- },
- "stepCode": {
- "type": "string",
- "description": "步骤编码"
- },
- "stepName": {
- "type": "string",
- "description": "步骤名称"
- },
- "success": {
- "type": "boolean",
- "description": "是否成功"
- }
- },
- "title": "步骤执行结果"
- },
- "每人成本明细": {
- "type": "object",
- "properties": {
- "activityCost": {
- "type": "number",
- "description": "活动成本"
- },
- "babyCost": {
- "type": "number",
- "description": "婴儿固定成本"
- },
- "customFeeCost": {
- "type": "number",
- "description": "自定义费用成本"
- },
- "extraCost": {
- "type": "number",
- "description": "额外成本"
- },
- "hotelCost": {
- "type": "number",
- "description": "酒店成本"
- },
- "insuranceCost": {
- "type": "number",
- "description": "保险成本"
- },
- "label": {
- "type": "string",
- "description": "人员标签(如 成人1、儿童1、婴儿1)"
- },
- "personType": {
- "type": "string",
- "description": "人员类型:ADULT/CHILD/YOUNG_CHILD/BABY"
- },
- "scenicCost": {
- "type": "number",
- "description": "景区成本"
- },
- "serviceCost": {
- "type": "number",
- "description": "服务成本"
- },
- "staffCost": {
- "type": "number",
- "description": "人员成本"
- },
- "suppliesCost": {
- "type": "number",
- "description": "物资成本"
- },
- "totalCost": {
- "type": "number",
- "description": "个人成本合计"
- },
- "vehicleCost": {
- "type": "number",
- "description": "车辆成本"
- }
- },
- "title": "每人成本明细"
- },
- "每日成本明细": {
- "type": "object",
- "properties": {
- "activityCost": {
- "type": "number",
- "description": "活动成本"
- },
- "dayCostTotal": {
- "type": "number",
- "description": "当日成本合计"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "diningCost": {
- "type": "number",
- "description": "餐饮成本"
- },
- "extraCost": {
- "type": "number",
- "description": "额外成本"
- },
- "hotelCost": {
- "type": "number",
- "description": "酒店成本(整间价)"
- },
- "scenicCost": {
- "type": "number",
- "description": "景区成本"
- },
- "serviceCost": {
- "type": "number",
- "description": "服务成本"
- },
- "singleRoomSupplement": {
- "type": "number",
- "description": "单房差(当日酒店成本÷每房成人数,GROUP产品专用)"
- },
- "staffCost": {
- "type": "number",
- "description": "人员成本"
- },
- "vehicleCost": {
- "type": "number",
- "description": "车辆成本"
- }
- },
- "title": "每日成本明细"
- },
- "每日酒店VO": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(NULL=所有家庭共享)",
- "items": {
- "type": "string"
- }
- },
- "familyRoomConfig": {
- "type": "object",
- "description": "家庭房间分配:{familyId: roomCount}",
- "additionalProperties": {
- "type": "integer",
- "format": "int32"
- }
- },
- "hotelId": {
- "type": "string",
- "description": "酒店ID"
- },
- "hotelName": {
- "type": "string",
- "description": "酒店名称"
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "isDefault": {
- "type": "boolean",
- "description": "是否默认酒店"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "description": "房间数量"
- },
- "roomTypeId": {
- "type": "string",
- "description": "房型ID"
- },
- "roomTypeName": {
- "type": "string",
- "description": "房型名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "每日酒店VO"
- },
- "每日酒店配置请求": {
- "type": "object",
- "required": [
- "hotelId"
- ],
- "properties": {
- "coverUrl": {
- "type": "string",
- "example": "https://oss.example.com/hotel-cover.jpg",
- "description": "封面图URL"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品,不传=所有家庭共享)",
- "items": {
- "type": "string"
- }
- },
- "familyRoomConfig": {
- "type": "object",
- "description": "家庭房间分配(定制产品):{familyId: roomCount},如 {\"123\": 2, \"456\": 1}",
- "additionalProperties": {
- "type": "integer",
- "format": "int32"
- }
- },
- "hotelId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "酒店ID"
- },
- "hotelName": {
- "type": "string",
- "example": "丽江和府洲际度假酒店",
- "description": "酒店名称"
- },
- "isDefault": {
- "type": "boolean",
- "example": true,
- "description": "是否默认酒店"
- },
- "roomCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "房间数量"
- },
- "roomTypeId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "关联房型ID(定制产品必填,核心产品为空)"
- },
- "roomTypeName": {
- "type": "string",
- "example": "豪华山景大床房",
- "description": "房型名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- }
- },
- "title": "每日酒店配置请求"
- },
- "温馨提示VO": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string",
- "description": "提示内容(富文本)"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "enabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "tipsId": {
- "type": "integer",
- "format": "int64",
- "description": "温馨提示ID"
- },
- "tipsName": {
- "type": "string",
- "description": "提示名称"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "温馨提示VO"
- },
- "温馨提示请求": {
- "type": "object",
- "required": [
- "content",
- "tipsName"
- ],
- "properties": {
- "content": {
- "type": "string",
- "description": "提示内容(富文本)"
- },
- "remark": {
- "type": "string",
- "example": "适用于草原类产品",
- "description": "备注"
- },
- "tipsName": {
- "type": "string",
- "example": "草原游温馨提示",
- "description": "提示名称"
- }
- },
- "title": "温馨提示请求"
- },
- "物资配置请求": {
- "type": "object",
- "required": [
- "suppliesId"
- ],
- "properties": {
- "billingType": {
- "type": "string",
- "example": "BY_PERSON",
- "description": "计费方式:BY_PERSON=按人头 BY_COUNT=按次/按件"
- },
- "costPerPerson": {
- "type": "number",
- "example": 30.0,
- "description": "每人成本"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "天数编号(scope=DAY时生效)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "数量"
- },
- "scope": {
- "type": "string",
- "example": "ALL",
- "description": "适用范围:ALL=整个行程 DAY=指定天"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- },
- "suppliesId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "物资ID"
- },
- "suppliesName": {
- "type": "string",
- "example": "登山杖",
- "description": "物资名称"
- }
- },
- "title": "物资配置请求"
- },
- "用餐选项VO": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "餐食封面图URL"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "id": {
- "type": "string",
- "description": "记录ID"
- },
- "mealTypes": {
- "type": "string",
- "description": "餐次:早餐/午餐/晚餐"
- },
- "priceInfo": {
- "type": "string",
- "description": "价格信息"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "restaurantId": {
- "type": "string",
- "description": "餐厅ID"
- },
- "restaurantName": {
- "type": "string",
- "description": "餐厅/餐食名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "unitPrice": {
- "type": "number",
- "description": "餐食单价(元)"
- }
- },
- "title": "用餐选项VO"
- },
- "用餐选项请求": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "example": "https://oss.example.com/meal.jpg",
- "description": "餐食封面图URL"
- },
- "mealTypes": {
- "type": "string",
- "example": "午餐",
- "description": "餐次:早餐/午餐/晚餐"
- },
- "priceInfo": {
- "type": "string",
- "example": "人均80元",
- "description": "价格信息"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "数量"
- },
- "restaurantId": {
- "type": "string",
- "example": 1893012345678901234,
- "description": "餐厅ID(GROUP产品可不传)"
- },
- "restaurantName": {
- "type": "string",
- "example": "纳西风味餐厅",
- "description": "餐厅/餐食名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- },
- "unitPrice": {
- "type": "number",
- "example": 80.0,
- "description": "餐食单价(元,GROUP产品用于成本计算)"
- }
- },
- "title": "用餐选项请求"
- },
- "统一响应结果«GROUP产品报价结果»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/GROUP产品报价结果",
- "originalRef": "GROUP产品报价结果"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«GROUP产品报价结果»"
- },
- "统一响应结果«List«产品人员配置VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品人员配置VO",
- "originalRef": "产品人员配置VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品人员配置VO»»"
- },
- "统一响应结果«List«产品价格日历VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品价格日历VO",
- "originalRef": "产品价格日历VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品价格日历VO»»"
- },
- "统一响应结果«List«产品成本项VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品成本项VO",
- "originalRef": "产品成本项VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品成本项VO»»"
- },
- "统一响应结果«List«产品文件夹VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品文件夹VO",
- "originalRef": "产品文件夹VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品文件夹VO»»"
- },
- "统一响应结果«List«产品物资VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品物资VO",
- "originalRef": "产品物资VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品物资VO»»"
- },
- "统一响应结果«List«产品线VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品线VO",
- "originalRef": "产品线VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品线VO»»"
- },
- "统一响应结果«List«产品自定义费用项VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品自定义费用项VO",
- "originalRef": "产品自定义费用项VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品自定义费用项VO»»"
- },
- "统一响应结果«List«产品额外成本VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/产品额外成本VO",
- "originalRef": "产品额外成本VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«产品额外成本VO»»"
- },
- "统一响应结果«List«公式变量VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/公式变量VO",
- "originalRef": "公式变量VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«公式变量VO»»"
- },
- "统一响应结果«List«公式步骤VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/公式步骤VO",
- "originalRef": "公式步骤VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«公式步骤VO»»"
- },
- "统一响应结果«List«公式版本历史VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/公式版本历史VO",
- "originalRef": "公式版本历史VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«公式版本历史VO»»"
- },
- "统一响应结果«List«公式组VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/公式组VO",
- "originalRef": "公式组VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«公式组VO»»"
- },
- "统一响应结果«List«团批次VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/团批次VO",
- "originalRef": "团批次VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«团批次VO»»"
- },
- "统一响应结果«List«团批次服务人员VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/团批次服务人员VO",
- "originalRef": "团批次服务人员VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«团批次服务人员VO»»"
- },
- "统一响应结果«List«家庭分组VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/家庭分组VO",
- "originalRef": "家庭分组VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«家庭分组VO»»"
- },
- "统一响应结果«List«每日酒店VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/每日酒店VO",
- "originalRef": "每日酒店VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«每日酒店VO»»"
- },
- "统一响应结果«List«温馨提示VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/温馨提示VO",
- "originalRef": "温馨提示VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«温馨提示VO»»"
- },
- "统一响应结果«List«用餐选项VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/用餐选项VO",
- "originalRef": "用餐选项VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«用餐选项VO»»"
- },
- "统一响应结果«List«行政区划搜索结果»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/行政区划搜索结果",
- "originalRef": "行政区划搜索结果"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«行政区划搜索结果»»"
- },
- "统一响应结果«List«行程天VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/行程天VO",
- "originalRef": "行程天VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«行程天VO»»"
- },
- "统一响应结果«List«行程节点VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/行程节点VO",
- "originalRef": "行程节点VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«行程节点VO»»"
- },
- "统一响应结果«List«预订条款VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/预订条款VO",
- "originalRef": "预订条款VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«预订条款VO»»"
- },
- "统一响应结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,object»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«string»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "string",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«string»"
- },
- "统一响应结果«产品人员配置VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品人员配置VO",
- "originalRef": "产品人员配置VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品人员配置VO»"
- },
- "统一响应结果«产品价格日历VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品价格日历VO",
- "originalRef": "产品价格日历VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品价格日历VO»"
- },
- "统一响应结果«产品定价配置VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品定价配置VO",
- "originalRef": "产品定价配置VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品定价配置VO»"
- },
- "统一响应结果«产品成本项VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品成本项VO",
- "originalRef": "产品成本项VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品成本项VO»"
- },
- "统一响应结果«产品文件夹VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品文件夹VO",
- "originalRef": "产品文件夹VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品文件夹VO»"
- },
- "统一响应结果«产品物资VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品物资VO",
- "originalRef": "产品物资VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品物资VO»"
- },
- "统一响应结果«产品线VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品线VO",
- "originalRef": "产品线VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品线VO»"
- },
- "统一响应结果«产品自定义费用项VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品自定义费用项VO",
- "originalRef": "产品自定义费用项VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品自定义费用项VO»"
- },
- "统一响应结果«产品详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品详情VO",
- "originalRef": "产品详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品详情VO»"
- },
- "统一响应结果«产品额外成本VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/产品额外成本VO",
- "originalRef": "产品额外成本VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«产品额外成本VO»"
- },
- "统一响应结果«公式变量VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/公式变量VO",
- "originalRef": "公式变量VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«公式变量VO»"
- },
- "统一响应结果«公式步骤VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/公式步骤VO",
- "originalRef": "公式步骤VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«公式步骤VO»"
- },
- "统一响应结果«公式测试结果VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/公式测试结果VO",
- "originalRef": "公式测试结果VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«公式测试结果VO»"
- },
- "统一响应结果«公式组VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/公式组VO",
- "originalRef": "公式组VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«公式组VO»"
- },
- "统一响应结果«分享链接响应»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分享链接响应",
- "originalRef": "分享链接响应"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分享链接响应»"
- },
- "统一响应结果«分页结果«C端产品列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«C端产品列表VO»",
- "originalRef": "分页结果«C端产品列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«C端产品列表VO»»"
- },
- "统一响应结果«分页结果«产品列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«产品列表VO»",
- "originalRef": "分页结果«产品列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«产品列表VO»»"
- },
- "统一响应结果«分页结果«产品线VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«产品线VO»",
- "originalRef": "分页结果«产品线VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«产品线VO»»"
- },
- "统一响应结果«团批次VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/团批次VO",
- "originalRef": "团批次VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«团批次VO»"
- },
- "统一响应结果«团批次详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/团批次详情VO",
- "originalRef": "团批次详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«团批次详情VO»"
- },
- "统一响应结果«家庭分组VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/家庭分组VO",
- "originalRef": "家庭分组VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«家庭分组VO»"
- },
- "统一响应结果«成本预览VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/成本预览VO",
- "originalRef": "成本预览VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«成本预览VO»"
- },
- "统一响应结果«报价结果VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/报价结果VO",
- "originalRef": "报价结果VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«报价结果VO»"
- },
- "统一响应结果«每日酒店VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/每日酒店VO",
- "originalRef": "每日酒店VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«每日酒店VO»"
- },
- "统一响应结果«温馨提示VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/温馨提示VO",
- "originalRef": "温馨提示VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«温馨提示VO»"
- },
- "统一响应结果«用餐选项VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/用餐选项VO",
- "originalRef": "用餐选项VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«用餐选项VO»"
- },
- "统一响应结果«行程天VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/行程天VO",
- "originalRef": "行程天VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«行程天VO»"
- },
- "统一响应结果«行程节点VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/行程节点VO",
- "originalRef": "行程节点VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«行程节点VO»"
- },
- "统一响应结果«预订条款VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/预订条款VO",
- "originalRef": "预订条款VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«预订条款VO»"
- },
- "群聊消息VO": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "description": "用户头像URL(type=user时有效)"
- },
- "text": {
- "type": "string",
- "description": "消息内容"
- },
- "type": {
- "type": "string",
- "description": "消息类型: user/creator"
- }
- },
- "title": "群聊消息VO"
- },
- "自定义费用项请求": {
- "type": "object",
- "required": [
- "feeName"
- ],
- "properties": {
- "description": {
- "type": "string",
- "example": "含专车接机及导游服务",
- "description": "费用说明"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "feeAmount": {
- "type": "number",
- "example": 200.0,
- "description": "费用金额"
- },
- "feeName": {
- "type": "string",
- "example": "接机服务费",
- "description": "费用项名称"
- },
- "feeUnit": {
- "type": "string",
- "example": "元/人",
- "description": "费用单位"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- }
- },
- "title": "自定义费用项请求"
- },
- "节点排序请求": {
- "type": "object",
- "required": [
- "nodeIds"
- ],
- "properties": {
- "nodeIds": {
- "type": "array",
- "description": "节点ID有序列表,按期望排序顺序排列",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "节点排序请求"
- },
- "节点移动请求": {
- "type": "object",
- "required": [
- "targetDayNumber"
- ],
- "properties": {
- "targetDayNumber": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "目标天数编号"
- }
- },
- "title": "节点移动请求"
- },
- "行政区划搜索结果": {
- "type": "object",
- "properties": {
- "adcode": {
- "type": "string",
- "description": "行政区编码"
- },
- "fullPath": {
- "type": "string",
- "description": "全路径(省/市/区/镇,用于显示区分重名)"
- },
- "level": {
- "type": "string",
- "description": "级别: city/district/street"
- },
- "levelName": {
- "type": "string",
- "description": "级别中文名: 市/区/县/镇/乡/街道"
- },
- "name": {
- "type": "string",
- "description": "行政区名称(最后一级,用于保存)"
- }
- },
- "title": "行政区划搜索结果"
- },
- "行程天VO": {
- "type": "object",
- "properties": {
- "dayId": {
- "type": "string",
- "description": "行程天ID"
- },
- "dayNumber": {
- "type": "integer",
- "format": "int32",
- "description": "天数编号"
- },
- "dayTitle": {
- "type": "string",
- "description": "天标题"
- },
- "hotels": {
- "type": "array",
- "description": "当日酒店列表",
- "items": {
- "$ref": "#/definitions/每日酒店VO",
- "originalRef": "每日酒店VO"
- }
- },
- "nodes": {
- "type": "array",
- "description": "行程节点列表",
- "items": {
- "$ref": "#/definitions/行程节点VO",
- "originalRef": "行程节点VO"
- }
- },
- "restaurants": {
- "type": "array",
- "description": "当日用餐列表",
- "items": {
- "$ref": "#/definitions/用餐选项VO",
- "originalRef": "用餐选项VO"
- }
- },
- "routeSummary": {
- "type": "string",
- "description": "路线概览"
- }
- },
- "title": "行程天VO"
- },
- "行程天请求": {
- "type": "object",
- "properties": {
- "dayTitle": {
- "type": "string",
- "example": "Day1 丽江古城漫步",
- "description": "天标题"
- },
- "routeSummary": {
- "type": "string",
- "example": "丽江古城 → 束河古镇 → 白沙古镇",
- "description": "路线概览"
- }
- },
- "title": "行程天请求"
- },
- "行程节点VO": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "资源成本价(来自资源价格日历)"
- },
- "dayId": {
- "type": "string",
- "description": "所属行程天ID"
- },
- "description": {
- "type": "string",
- "description": "节点描述"
- },
- "distanceKm": {
- "type": "number",
- "description": "距离(公里)"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "时长(分钟)"
- },
- "emojiIcon": {
- "type": "string",
- "description": "表情图标"
- },
- "extraData": {
- "type": "string",
- "description": "扩展数据(JSON格式)"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "images": {
- "type": "array",
- "description": "节点图片列表",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "nodeId": {
- "type": "string",
- "description": "节点ID"
- },
- "nodeName": {
- "type": "string",
- "description": "节点名称"
- },
- "nodeType": {
- "type": "string",
- "description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "resourceDetail": {
- "description": "绑定资源的详细信息(含图片、地址等)",
- "$ref": "#/definitions/资源详情",
- "originalRef": "资源详情"
- },
- "resourceId": {
- "type": "string",
- "description": "关联资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "关联资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "关联资源类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/STAFF"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "startTime": {
- "type": "string",
- "description": "开始时间"
- }
- },
- "title": "行程节点VO"
- },
- "解散批次请求": {
- "type": "object",
- "required": [
- "reason"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "报名人数不足",
- "description": "解散原因(如:报名人数不足、行程调整等)"
- }
- },
- "title": "解散批次请求"
- },
- "资源详情": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "地址"
- },
- "city": {
- "type": "string",
- "description": "所在城市"
- },
- "cover": {
- "type": "string",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "description": "简介/描述"
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(featureIntro JSON)"
- },
- "images": {
- "type": "array",
- "description": "图片URL列表(轮播图)",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "资源名称"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "resourceId": {
- "type": "string",
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型: SCENIC_SPOT/HOTEL/RESTAURANT/ACTIVITY"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "资源详情"
- },
- "预订条款VO": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string",
- "description": "条款内容(富文本)"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "enabled": {
- "type": "boolean",
- "description": "是否启用"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "termsId": {
- "type": "integer",
- "format": "int64",
- "description": "预订条款ID"
- },
- "termsName": {
- "type": "string",
- "description": "条款名称"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "预订条款VO"
- },
- "预订条款请求": {
- "type": "object",
- "required": [
- "content",
- "termsName"
- ],
- "properties": {
- "content": {
- "type": "string",
- "description": "条款内容(富文本)"
- },
- "remark": {
- "type": "string",
- "example": "适用于所有国内游产品",
- "description": "备注"
- },
- "termsName": {
- "type": "string",
- "example": "国内游预订条款",
- "description": "条款名称"
- }
- },
- "title": "预订条款请求"
- },
- "额外成本明细项": {
- "type": "object",
- "properties": {
- "costItemName": {
- "type": "string",
- "description": "成本项名称"
- },
- "daily": {
- "type": "boolean",
- "description": "是否按天计算"
- },
- "days": {
- "type": "integer",
- "format": "int32",
- "description": "天数(按天计算时)"
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "description": "数量"
- },
- "subtotal": {
- "type": "number",
- "description": "小计金额"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价"
- }
- },
- "title": "额外成本明细项"
- },
- "额外成本请求": {
- "type": "object",
- "required": [
- "costItemId"
- ],
- "properties": {
- "costItemId": {
- "type": "integer",
- "format": "int64",
- "example": 1893012345678901234,
- "description": "额外成本项ID(关联费用项资源)"
- },
- "daily": {
- "type": "boolean",
- "example": true,
- "description": "是否按天计算:true=按天计算(乘以天数) false=整个行程一次"
- },
- "familyIds": {
- "type": "array",
- "description": "所属家庭ID列表(定制产品按家庭分配)",
- "items": {
- "type": "string"
- }
- },
- "quantity": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序序号"
- }
- },
- "title": "额外成本请求"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-resource-service.json b/.swagger/hl-resource-service.json
deleted file mode 100644
index 7beaa0f..0000000
--- a/.swagger/hl-resource-service.json
+++ /dev/null
@@ -1,24455 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "资源服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/scenic/spot": {
- "post": {
- "tags": [
- "景区管理"
- ],
- "summary": "创建景区",
- "description": "新建一个景区资源,初始状态为下架(status=0)。创建后需通过「提交启用审批」接口走企微OA审批流程才能上架。支持富文本字段(featureIntro/detailContent等),素材ID从素材库获取。\n\n**关联字典**:\n- scenic_facility:景区设施(表单多选)\n- scenic_honor:景区荣誉(表单多选)",
- "operationId": "createSpotUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "景区创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区创建请求",
- "originalRef": "景区创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区详情»",
- "originalRef": "统一响应结果«景区详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区详情»",
- "originalRef": "统一响应结果«景区详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}": {
- "get": {
- "tags": [
- "景区管理"
- ],
- "summary": "景区详情",
- "description": "获取景区完整信息,包含富文本内容、素材URL、标签列表、季节内容等。素材ID会自动解析为OSS访问地址。\n\n**关联字典**:\n- scenic_facility:景区设施(详情显示)\n- scenic_honor:景区荣誉(详情显示)",
- "operationId": "getSpotUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区详情»",
- "originalRef": "统一响应结果«景区详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区详情»",
- "originalRef": "统一响应结果«景区详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "景区管理"
- ],
- "summary": "更新景区",
- "description": "更新景区基本信息和富文本内容。更新不会改变当前状态。如果景区已上架,修改后仍保持上架状态,无需重新审批。\n\n**关联字典**:\n- scenic_facility:景区设施(表单多选)\n- scenic_honor:景区荣誉(表单多选)",
- "operationId": "updateSpotUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "景区更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区更新请求",
- "originalRef": "景区更新请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区详情»",
- "originalRef": "统一响应结果«景区详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区详情»",
- "originalRef": "统一响应结果«景区详情»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "景区管理"
- ],
- "summary": "删除景区",
- "description": "软删除景区(设置deleted_at)。仅SUPER_ADMIN角色或创建者本人可删除。已上架的景区需先下架再删除。删除后会同时清理关联的素材引用。",
- "operationId": "deleteSpotUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/prices": {
- "get": {
- "tags": [
- "景区价格日历"
- ],
- "summary": "查询价格日历",
- "description": "按月查询景区的每日价格和可售状态。返回指定年月中所有已设置价格的日期,未设置的日期不返回。用于前端日历组件渲染。",
- "operationId": "getPriceCalendarUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«价格日历月视图»",
- "originalRef": "统一响应结果«价格日历月视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«价格日历月视图»",
- "originalRef": "统一响应结果«价格日历月视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "景区价格日历"
- ],
- "summary": "批量设置价格",
- "description": "在指定日期范围内批量设置成本价、库存和可售状态。支持weekdayOnly/weekendOnly/selectedWeekdays过滤特定星期,支持excludeDates排除特定日期。已有价格的日期会被覆盖更新。",
- "operationId": "batchSetPricesUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/价格日历批量设置请求",
- "originalRef": "价格日历批量设置请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "景区价格日历"
- ],
- "summary": "批量清除价格",
- "description": "删除指定日期范围内的所有价格记录。删除后该日期范围将显示为未设置状态。日期格式:yyyy-MM-dd。",
- "operationId": "deletePricesUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/prices/status": {
- "put": {
- "tags": [
- "景区价格日历"
- ],
- "summary": "批量修改可售状态",
- "description": "批量修改指定日期范围内的可售状态,不影响价格和库存。status=0不可售,status=1可售。用于临时关闭/开放某些日期的售卖。",
- "operationId": "batchUpdateStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/价格日历状态变更请求",
- "originalRef": "价格日历状态变更请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/season/{seasonType}": {
- "put": {
- "tags": [
- "景区季节内容"
- ],
- "summary": "保存/更新季节内容",
- "description": "创建或更新指定景区的季节内容。seasonType为季节标识(如spring/summer/autumn/winter)。如果该季节已存在则更新,不存在则创建。支持设置季节别名(如「樱花季」)、月份范围、独立封面和轮播图。",
- "operationId": "saveSeasonUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "季节内容保存请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区季节保存请求",
- "originalRef": "景区季节保存请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "seasonType",
- "in": "path",
- "description": "季节类型",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区季节内容»",
- "originalRef": "统一响应结果«景区季节内容»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区季节内容»",
- "originalRef": "统一响应结果«景区季节内容»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "景区季节内容"
- ],
- "summary": "删除季节内容",
- "description": "删除指定景区的某个季节内容,同时清理关联的素材引用。",
- "operationId": "deleteSeasonUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "seasonType",
- "in": "path",
- "description": "季节类型",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/seasons": {
- "get": {
- "tags": [
- "景区季节内容"
- ],
- "summary": "获取景区全部季节内容",
- "description": "返回景区的所有季节内容列表(春/夏/秋/冬)。季节内容是景区独有功能,其他资源类型没有此概念。每个季节可设置独立的封面、轮播图、亮点描述和游玩攻略。",
- "operationId": "getSeasonsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«景区季节内容»»",
- "originalRef": "统一响应结果«List«景区季节内容»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«景区季节内容»»",
- "originalRef": "统一响应结果«List«景区季节内容»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/status": {
- "put": {
- "tags": [
- "景区管理"
- ],
- "summary": "上下架切换",
- "description": "直接修改景区状态(跳过审批流程),仅限SUPER_ADMIN使用。普通管理员应使用「提交启用/禁用审批」接口。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "景区状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区状态变更请求",
- "originalRef": "景区状态变更请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/submit-approval": {
- "post": {
- "tags": [
- "景区管理"
- ],
- "summary": "提交启用/禁用审批",
- "description": "向企微OA提交审批申请。targetStatus=1表示申请上架,targetStatus=2表示申请下架。提交后景区进入PENDING_APPROVAL状态,企微审批通过/拒绝后通过回调自动更新状态。返回企微审批单号spNo。同一景区不可重复提交未完成的审批。",
- "operationId": "submitApprovalUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/审批提交请求",
- "originalRef": "审批提交请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spot/{scenicId}/tags": {
- "put": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "更新景区标签",
- "description": "全量替换指定景区的标签列表。传入tagIds为该景区最终要关联的标签ID列表,为空则清除所有标签。",
- "operationId": "updateScenicTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "景区标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区标签更新请求",
- "originalRef": "景区标签更新请求"
- }
- },
- {
- "name": "scenicId",
- "in": "path",
- "description": "景区ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spots": {
- "get": {
- "tags": [
- "景区管理"
- ],
- "summary": "景区列表",
- "description": "分页查询景区列表,支持按名称关键词、状态(0下架/1上架)、城市等条件筛选。返回列表摘要信息(不含富文本详情),按sortOrder倒序+创建时间倒序排列。\n\n**关联字典**:\n- scenic_facility:景区设施(列表显示)\n- scenic_honor:景区荣誉(列表显示)",
- "operationId": "listSpotsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "city",
- "in": "query",
- "description": "城市筛选(行政区划)",
- "required": false,
- "type": "string",
- "x-example": "杭州市"
- },
- {
- "name": "cityKeyword",
- "in": "query",
- "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)",
- "required": false,
- "type": "string",
- "x-example": "海拉尔"
- },
- {
- "name": "cityName",
- "in": "query",
- "description": "城市名称筛选(展示用)",
- "required": false,
- "type": "string",
- "x-example": "杭州"
- },
- {
- "name": "facility",
- "in": "query",
- "description": "设施编码筛选",
- "required": false,
- "type": "string",
- "x-example": "parking"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称/地址模糊匹配)",
- "required": false,
- "type": "string",
- "x-example": "西湖"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "province",
- "in": "query",
- "description": "省份筛选",
- "required": false,
- "type": "string",
- "x-example": "浙江省"
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段:name/rating/viewCount/sortOrder/createdAt",
- "required": false,
- "type": "string",
- "x-example": "sortOrder"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID筛选(单个)",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID筛选(多个,逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "1,2,3"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«景区列表项»»",
- "originalRef": "统一响应结果«分页结果«景区列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«景区列表项»»",
- "originalRef": "统一响应结果«分页结果«景区列表项»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spots/batch": {
- "delete": {
- "tags": [
- "景区管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个景区。权限校验同单个删除:仅SUPER_ADMIN或创建者可操作。部分失败不影响其他景区的删除。",
- "operationId": "batchDeleteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区批量删除请求",
- "originalRef": "景区批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spots/batch/status": {
- "put": {
- "tags": [
- "景区管理"
- ],
- "summary": "批量上下架",
- "description": "批量修改多个景区的状态。scenicIds为景区ID列表(字符串格式),status为目标状态。跳过审批流程,适用于批量管理场景。",
- "operationId": "batchUpdateStatusUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "景区状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区状态变更请求",
- "originalRef": "景区状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/spots/batch/tags": {
- "put": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "批量打标签",
- "description": "对多个景区批量添加或移除标签。addTagIds为要添加的标签,removeTagIds为要移除的标签,两者可同时使用。增量操作,不影响未指定的标签。",
- "operationId": "batchUpdateTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/景区批量标签操作请求",
- "originalRef": "景区批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/tag": {
- "post": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "创建管理标签",
- "description": "创建预设标签,标签名不可重复。可指定颜色(tagColor),默认为#409EFF。预设标签在标签管理页面展示和维护。",
- "operationId": "createTagUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/标签创建请求",
- "originalRef": "标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区标签»",
- "originalRef": "统一响应结果«景区标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区标签»",
- "originalRef": "统一响应结果«景区标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/tag/adhoc": {
- "post": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "输入标签名称,如果已存在则直接返回,不存在则自动创建。用于景区编辑时快速输入新标签,避免先到标签管理页面创建。",
- "operationId": "resolveAdHocTagUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/标签创建请求",
- "originalRef": "标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区标签»",
- "originalRef": "统一响应结果«景区标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区标签»",
- "originalRef": "统一响应结果«景区标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/tag/{tagId}": {
- "put": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "编辑标签",
- "description": "修改标签名称或颜色。修改后所有关联此标签的景区会自动生效。",
- "operationId": "updateTagUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/标签更新请求",
- "originalRef": "标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区标签»",
- "originalRef": "统一响应结果«景区标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«景区标签»",
- "originalRef": "统一响应结果«景区标签»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并自动解除所有景区与该标签的关联关系。",
- "operationId": "deleteTagUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/tags": {
- "get": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "获取管理标签列表(分页)",
- "description": "分页查询景区标签库中的所有标签,支持按关键词搜索。标签分为预设标签(管理员创建)和自定义标签(adhoc接口创建),此接口返回全部类型。",
- "operationId": "listManagedTagsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«景区标签»»",
- "originalRef": "统一响应结果«分页结果«景区标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«景区标签»»",
- "originalRef": "统一响应结果«分页结果«景区标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/scenic/tags/all": {
- "get": {
- "tags": [
- "景区标签管理"
- ],
- "summary": "获取全部标签",
- "description": "不分页返回所有标签,用于景区编辑时的标签选择下拉列表。",
- "operationId": "listAllTagsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«景区标签»»",
- "originalRef": "统一响应结果«List«景区标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«景区标签»»",
- "originalRef": "统一响应结果«List«景区标签»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/item": {
- "post": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "创建餐厅",
- "description": "新建餐厅资源,初始状态为下架(status=0)。餐厅没有价格日历,费用通过产品报价中的费用项管理。需走企微审批流程上架。\n\n**关联字典**:\n- restaurant_category:餐厅分类(表单选择)\n- cuisine_type:菜系类型(表单多选)\n- environment_type:环境类型(表单多选)\n- restaurant_facility:餐厅设施(表单多选)\n\n**纯文本字段**:\n- cityName:城市名称(手动输入,如「拉萨」「海拉尔」,非字典)",
- "operationId": "createRestaurantUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "餐厅创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅创建请求",
- "originalRef": "餐厅创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅详情视图»",
- "originalRef": "统一响应结果«餐厅详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅详情视图»",
- "originalRef": "统一响应结果«餐厅详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/item/{restaurantId}": {
- "get": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "餐厅详情",
- "description": "获取餐厅完整信息,包含素材URL、标签、富文本介绍等。\n\n**关联字典**:\n- restaurant_category:餐厅分类(详情显示)\n- cuisine_type:菜系类型(详情显示)\n- environment_type:环境类型(详情显示)\n- restaurant_facility:餐厅设施(详情显示)",
- "operationId": "getRestaurantUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅详情视图»",
- "originalRef": "统一响应结果«餐厅详情视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅详情视图»",
- "originalRef": "统一响应结果«餐厅详情视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "更新餐厅",
- "description": "更新餐厅基本信息,不改变当前状态。\n\n**关联字典**:\n- restaurant_category:餐厅分类(表单选择)\n- cuisine_type:菜系类型(表单多选)\n- environment_type:环境类型(表单多选)\n- restaurant_facility:餐厅设施(表单多选)\n\n**纯文本字段**:\n- cityName:城市名称(手动输入,非字典)",
- "operationId": "updateRestaurantUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "餐厅更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅更新请求",
- "originalRef": "餐厅更新请求"
- }
- },
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅详情视图»",
- "originalRef": "统一响应结果«餐厅详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅详情视图»",
- "originalRef": "统一响应结果«餐厅详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "删除餐厅",
- "description": "软删除餐厅。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "deleteRestaurantUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/item/{restaurantId}/status": {
- "put": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "上下架切换",
- "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "餐厅状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅状态变更请求",
- "originalRef": "餐厅状态变更请求"
- }
- },
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/item/{restaurantId}/submit-approval": {
- "post": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "提交启用/禁用审批",
- "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅审批提交请求",
- "originalRef": "餐厅审批提交请求"
- }
- },
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/item/{restaurantId}/tags": {
- "put": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "更新餐厅标签",
- "description": "全量替换指定餐厅的标签列表。传入tagIds为最终关联的标签ID列表,为空则清除所有标签。",
- "operationId": "updateRestaurantTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "餐厅标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅标签更新请求_1",
- "originalRef": "餐厅标签更新请求_1"
- }
- },
- {
- "name": "restaurantId",
- "in": "path",
- "description": "餐厅ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/items": {
- "get": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "餐厅列表",
- "description": "分页查询餐厅列表,支持按名称、状态、分类、城市等条件筛选。\n\n**关联字典**:\n- restaurant_category:餐厅分类(筛选+列表显示)\n- cuisine_type:菜系类型(列表显示)\n- environment_type:环境类型(列表显示)\n- restaurant_facility:餐厅设施(列表显示)",
- "operationId": "listRestaurantsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryCode",
- "in": "query",
- "description": "分类编码",
- "required": false,
- "type": "string",
- "x-example": "TIBETAN"
- },
- {
- "name": "city",
- "in": "query",
- "description": "城市",
- "required": false,
- "type": "string",
- "x-example": "拉萨市"
- },
- {
- "name": "cityName",
- "in": "query",
- "description": "城市名称筛选(纯文本)",
- "required": false,
- "type": "string",
- "x-example": "拉萨"
- },
- {
- "name": "cuisineType",
- "in": "query",
- "description": "菜系类型",
- "required": false,
- "type": "string",
- "x-example": "TIBETAN"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称/副标题模糊搜索)",
- "required": false,
- "type": "string",
- "x-example": "藏餐"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "province",
- "in": "query",
- "description": "省份",
- "required": false,
- "type": "string",
- "x-example": "西藏自治区"
- },
- {
- "name": "recommended",
- "in": "query",
- "description": "是否推荐:0=否 1=是",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc=升序 desc=降序",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 100
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "100,101,102"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«餐厅列表视图»»",
- "originalRef": "统一响应结果«分页结果«餐厅列表视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«餐厅列表视图»»",
- "originalRef": "统一响应结果«分页结果«餐厅列表视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/items/batch": {
- "delete": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个餐厅。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "batchDeleteUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅批量删除请求",
- "originalRef": "餐厅批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/items/batch/status": {
- "put": {
- "tags": [
- "餐厅管理"
- ],
- "summary": "批量上下架",
- "description": "批量修改多个餐厅的状态,跳过审批流程。",
- "operationId": "batchUpdateStatusUsingPUT_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "餐厅状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅状态变更请求",
- "originalRef": "餐厅状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/items/batch/tags": {
- "put": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "批量打标签",
- "description": "对多个餐厅批量添加/移除标签。增量操作,不影响未指定的标签。",
- "operationId": "batchUpdateTagsUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅批量标签操作请求",
- "originalRef": "餐厅批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/tag": {
- "post": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "创建管理标签",
- "description": "创建预设标签,标签名不可重复。可指定颜色(tagColor),默认#409EFF。",
- "operationId": "createTagUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅标签创建请求",
- "originalRef": "餐厅标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅标签视图»",
- "originalRef": "统一响应结果«餐厅标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅标签视图»",
- "originalRef": "统一响应结果«餐厅标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/tag/adhoc": {
- "post": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "按名称查找或自动创建标签。用于餐厅编辑时快速输入新标签。",
- "operationId": "resolveAdHocTagUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅标签创建请求",
- "originalRef": "餐厅标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅标签视图»",
- "originalRef": "统一响应结果«餐厅标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅标签视图»",
- "originalRef": "统一响应结果«餐厅标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/tag/{tagId}": {
- "put": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "编辑标签",
- "description": "修改标签名称或颜色,所有关联餐厅自动生效。",
- "operationId": "updateTagUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/餐厅标签更新请求",
- "originalRef": "餐厅标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅标签视图»",
- "originalRef": "统一响应结果«餐厅标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«餐厅标签视图»",
- "originalRef": "统一响应结果«餐厅标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并解除所有餐厅与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/tags": {
- "get": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "获取管理标签列表(分页)",
- "description": "分页查询餐厅标签库,支持按关键词搜索。包含预设标签和自定义标签。",
- "operationId": "listManagedTagsUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«餐厅标签视图»»",
- "originalRef": "统一响应结果«分页结果«餐厅标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«餐厅标签视图»»",
- "originalRef": "统一响应结果«分页结果«餐厅标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/restaurant/tags/all": {
- "get": {
- "tags": [
- "餐厅标签管理"
- ],
- "summary": "获取全部标签",
- "description": "不分页返回所有标签,用于餐厅编辑时的标签选择下拉。",
- "operationId": "listAllTagsUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«餐厅标签视图»»",
- "originalRef": "统一响应结果«List«餐厅标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«餐厅标签视图»»",
- "originalRef": "统一响应结果«List«餐厅标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/item": {
- "post": {
- "tags": [
- "备品管理"
- ],
- "summary": "创建备品",
- "description": "新建备品资源(帐篷、睡袋、炊具等物资),初始状态为下架(status=0)。需走企微审批上架。支持按件(PER_ITEM)和按人(PER_PERSON)计费。\n\n**关联字典**:\n- supplies_category:备品分类(表单选择)\n- billing_type:计费方式(表单选择)",
- "operationId": "createSuppliesUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "备品创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品创建请求",
- "originalRef": "备品创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品详情视图»",
- "originalRef": "统一响应结果«备品详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品详情视图»",
- "originalRef": "统一响应结果«备品详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/item/{suppliesId}": {
- "get": {
- "tags": [
- "备品管理"
- ],
- "summary": "备品详情",
- "description": "获取备品完整信息,包含素材URL、标签等。\n\n**关联字典**:\n- supplies_category:备品分类(详情显示)\n- billing_type:计费方式(详情显示)",
- "operationId": "getSuppliesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "suppliesId",
- "in": "path",
- "description": "备品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品详情视图»",
- "originalRef": "统一响应结果«备品详情视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品详情视图»",
- "originalRef": "统一响应结果«备品详情视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "备品管理"
- ],
- "summary": "更新备品",
- "description": "更新备品基本信息,不改变当前状态。\n\n**关联字典**:\n- supplies_category:备品分类(表单选择)\n- billing_type:计费方式(表单选择)",
- "operationId": "updateSuppliesUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "备品更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品更新请求",
- "originalRef": "备品更新请求"
- }
- },
- {
- "name": "suppliesId",
- "in": "path",
- "description": "备品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品详情视图»",
- "originalRef": "统一响应结果«备品详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品详情视图»",
- "originalRef": "统一响应结果«备品详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "备品管理"
- ],
- "summary": "删除备品",
- "description": "软删除备品。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "deleteSuppliesUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "suppliesId",
- "in": "path",
- "description": "备品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/item/{suppliesId}/status": {
- "put": {
- "tags": [
- "备品管理"
- ],
- "summary": "上下架切换",
- "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "备品状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品状态变更请求",
- "originalRef": "备品状态变更请求"
- }
- },
- {
- "name": "suppliesId",
- "in": "path",
- "description": "备品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/item/{suppliesId}/submit-approval": {
- "post": {
- "tags": [
- "备品管理"
- ],
- "summary": "提交启用/禁用审批",
- "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品审批提交请求",
- "originalRef": "备品审批提交请求"
- }
- },
- {
- "name": "suppliesId",
- "in": "path",
- "description": "备品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/item/{suppliesId}/tags": {
- "put": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "更新备品标签",
- "description": "全量替换指定备品的标签列表。",
- "operationId": "updateSuppliesTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "备品标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品标签更新请求_1",
- "originalRef": "备品标签更新请求_1"
- }
- },
- {
- "name": "suppliesId",
- "in": "path",
- "description": "备品ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/items": {
- "get": {
- "tags": [
- "备品管理"
- ],
- "summary": "备品列表",
- "description": "分页查询备品列表,支持按名称、状态、分类等条件筛选。\n\n**关联字典**:\n- supplies_category:备品分类(筛选+列表显示)\n- billing_type:计费方式(列表显示)",
- "operationId": "listSuppliesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "billingType",
- "in": "query",
- "description": "计费方式:PER_ITEM=按件 PER_DAY=按天",
- "required": false,
- "type": "string",
- "x-example": "PER_ITEM"
- },
- {
- "name": "categoryCode",
- "in": "query",
- "description": "分类编码",
- "required": false,
- "type": "string",
- "x-example": "OUTDOOR_GEAR"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称/副标题模糊搜索)",
- "required": false,
- "type": "string",
- "x-example": "登山杖"
- },
- {
- "name": "maxPrice",
- "in": "query",
- "description": "最高价格",
- "required": false,
- "type": "number",
- "x-example": 500.0
- },
- {
- "name": "minPrice",
- "in": "query",
- "description": "最低价格",
- "required": false,
- "type": "number",
- "x-example": 10.0
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "recommended",
- "in": "query",
- "description": "是否推荐:0=否 1=是",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc=升序 desc=降序",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 100
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "100,101,102"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«备品列表视图»»",
- "originalRef": "统一响应结果«分页结果«备品列表视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«备品列表视图»»",
- "originalRef": "统一响应结果«分页结果«备品列表视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/items/batch": {
- "delete": {
- "tags": [
- "备品管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个备品。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "batchDeleteUsingDELETE_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品批量删除请求",
- "originalRef": "备品批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/items/batch/status": {
- "put": {
- "tags": [
- "备品管理"
- ],
- "summary": "批量上下架",
- "description": "批量修改多个备品的状态,跳过审批流程。",
- "operationId": "batchUpdateStatusUsingPUT_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "备品状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品状态变更请求",
- "originalRef": "备品状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/items/batch/tags": {
- "put": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "批量打标签",
- "description": "对多个备品批量添加/移除标签。增量操作。",
- "operationId": "batchUpdateTagsUsingPUT_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品批量标签操作请求",
- "originalRef": "备品批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/tag": {
- "post": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "创建管理标签",
- "description": "创建预设标签,标签名不可重复。",
- "operationId": "createTagUsingPOST_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品标签创建请求",
- "originalRef": "备品标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品标签视图»",
- "originalRef": "统一响应结果«备品标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品标签视图»",
- "originalRef": "统一响应结果«备品标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/tag/adhoc": {
- "post": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "按名称查找或自动创建标签。",
- "operationId": "resolveAdHocTagUsingPOST_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品标签创建请求",
- "originalRef": "备品标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品标签视图»",
- "originalRef": "统一响应结果«备品标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品标签视图»",
- "originalRef": "统一响应结果«备品标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/tag/{tagId}": {
- "put": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "编辑标签",
- "description": "修改标签名称或颜色,所有关联备品自动生效。",
- "operationId": "updateTagUsingPUT_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/备品标签更新请求",
- "originalRef": "备品标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品标签视图»",
- "originalRef": "统一响应结果«备品标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«备品标签视图»",
- "originalRef": "统一响应结果«备品标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并解除所有备品与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/tags": {
- "get": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "获取管理标签列表(分页)",
- "description": "分页查询备品标签库,支持按关键词搜索。",
- "operationId": "listManagedTagsUsingGET_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«备品标签视图»»",
- "originalRef": "统一响应结果«分页结果«备品标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«备品标签视图»»",
- "originalRef": "统一响应结果«分页结果«备品标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/supplies/tags/all": {
- "get": {
- "tags": [
- "备品标签管理"
- ],
- "summary": "获取全部标签",
- "description": "不分页返回所有标签,用于备品编辑时的标签选择下拉。",
- "operationId": "listAllTagsUsingGET_2",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«备品标签视图»»",
- "originalRef": "统一响应结果«List«备品标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«备品标签视图»»",
- "originalRef": "统一响应结果«List«备品标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item": {
- "post": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "创建游玩项目",
- "description": "新建游玩项目资源(如漂流、骑行、篝火晚会等),初始状态为下架(status=0)。需通过「提交启用/禁用审批」走企微审批后上架。支持按项收费(PER_ITEM)和按人收费(PER_PERSON)两种计费方式。\n\n**关联字典**:\n- activity_category:活动分类(表单选择)\n- activity_billing_type:计费方式(表单选择)",
- "operationId": "createActivityUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "游玩项目创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目创建请求",
- "originalRef": "活动项目创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动项目详情视图»",
- "originalRef": "统一响应结果«活动项目详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动项目详情视图»",
- "originalRef": "统一响应结果«活动项目详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item/{activityId}": {
- "get": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "游玩项目详情",
- "description": "获取游玩项目完整信息,包含富文本内容、素材URL、标签、价格日历等。\n\n**关联字典**:\n- activity_category:活动分类(详情显示)\n- activity_billing_type:计费方式(详情显示)",
- "operationId": "getActivityUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动项目详情视图»",
- "originalRef": "统一响应结果«活动项目详情视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动项目详情视图»",
- "originalRef": "统一响应结果«活动项目详情视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "更新游玩项目",
- "description": "更新游玩项目基本信息,不改变当前状态。已上架的项目修改后仍保持上架。\n\n**关联字典**:\n- activity_category:活动分类(表单选择)\n- activity_billing_type:计费方式(表单选择)",
- "operationId": "updateActivityUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "游玩项目更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目更新请求",
- "originalRef": "活动项目更新请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动项目详情视图»",
- "originalRef": "统一响应结果«活动项目详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动项目详情视图»",
- "originalRef": "统一响应结果«活动项目详情视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "删除游玩项目",
- "description": "软删除游玩项目。仅SUPER_ADMIN或创建者可操作。删除后关联的素材引用会被清理。",
- "operationId": "deleteActivityUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item/{activityId}/prices": {
- "get": {
- "tags": [
- "游玩项目价格日历"
- ],
- "summary": "查询价格日历",
- "description": "按月查询游玩项目的每日价格和可接待状态。",
- "operationId": "getPriceCalendarUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动价格日历视图»",
- "originalRef": "统一响应结果«活动价格日历视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动价格日历视图»",
- "originalRef": "统一响应结果«活动价格日历视图»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "游玩项目价格日历"
- ],
- "summary": "批量设置价格",
- "description": "在指定日期范围内批量设置成本价和可接待状态。支持按星期过滤和排除特定日期。",
- "operationId": "batchSetPricesUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动价格日历设置请求",
- "originalRef": "活动价格日历设置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "游玩项目价格日历"
- ],
- "summary": "批量清除价格",
- "description": "删除指定日期范围内的所有价格记录。日期格式:yyyy-MM-dd。",
- "operationId": "deletePricesUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item/{activityId}/prices/batch-status": {
- "put": {
- "tags": [
- "游玩项目价格日历"
- ],
- "summary": "批量修改可接待状态",
- "description": "批量修改指定日期范围内的可接待状态,不影响价格。",
- "operationId": "batchUpdateStatusUsingPUT_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "价格日历状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动价格日历状态变更请求",
- "originalRef": "活动价格日历状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item/{activityId}/status": {
- "put": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "启用/禁用切换",
- "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "游玩项目状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目状态变更请求",
- "originalRef": "活动项目状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item/{activityId}/submit-approval": {
- "post": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "提交启用/禁用审批",
- "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。审批通过后自动更新状态,返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目审批提交请求",
- "originalRef": "活动项目审批提交请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/item/{activityId}/tags": {
- "put": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "更新项目标签",
- "description": "全量替换指定项目的标签列表。传入tagIds为最终关联的标签ID列表,为空则清除所有标签。",
- "operationId": "updateActivityTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "activityId",
- "in": "path",
- "description": "游玩项目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "游玩项目标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目标签更新请求",
- "originalRef": "活动项目标签更新请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/items": {
- "get": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "游玩项目列表",
- "description": "分页查询游玩项目列表,支持按名称、状态、分类等条件筛选。返回摘要信息,按sortOrder倒序+创建时间倒序排列。\n\n**关联字典**:\n- activity_category:活动分类(筛选+列表显示)\n- activity_billing_type:计费方式(列表显示)",
- "operationId": "listActivitiesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "billingType",
- "in": "query",
- "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时",
- "required": false,
- "type": "string",
- "x-example": "PER_PERSON"
- },
- {
- "name": "categoryCode",
- "in": "query",
- "description": "分类编码",
- "required": false,
- "type": "string",
- "x-example": "OUTDOOR"
- },
- {
- "name": "city",
- "in": "query",
- "description": "城市",
- "required": false,
- "type": "string",
- "x-example": "拉萨市"
- },
- {
- "name": "cityKeyword",
- "in": "query",
- "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)",
- "required": false,
- "type": "string",
- "x-example": "海拉尔"
- },
- {
- "name": "environmentType",
- "in": "query",
- "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外",
- "required": false,
- "type": "string",
- "x-example": "OUTDOOR"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称/副标题模糊搜索)",
- "required": false,
- "type": "string",
- "x-example": "骑马"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "physicalLevel",
- "in": "query",
- "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高",
- "required": false,
- "type": "string",
- "x-example": "MEDIUM"
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc=升序 desc=降序",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 100
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "100,101,102"
- },
- {
- "name": "weatherDependent",
- "in": "query",
- "description": "是否受天气影响:0=否 1=是",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«活动项目列表视图»»",
- "originalRef": "统一响应结果«分页结果«活动项目列表视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«活动项目列表视图»»",
- "originalRef": "统一响应结果«分页结果«活动项目列表视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/items/batch": {
- "delete": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个游玩项目。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "batchDeleteUsingDELETE_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目批量删除请求",
- "originalRef": "活动项目批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/items/batch/status": {
- "put": {
- "tags": [
- "游玩项目管理"
- ],
- "summary": "批量启用/禁用",
- "description": "批量修改多个游玩项目的状态,跳过审批流程。",
- "operationId": "batchUpdateStatusUsingPUT_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "游玩项目状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目状态变更请求",
- "originalRef": "活动项目状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/items/batch/tags": {
- "put": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "批量打标签",
- "description": "对多个项目批量添加/移除标签。增量操作,不影响未指定的标签。",
- "operationId": "batchUpdateTagsUsingPUT_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动项目批量标签操作请求",
- "originalRef": "活动项目批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/tag": {
- "post": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "创建管理标签",
- "description": "创建预设标签,标签名不可重复。可指定颜色(tagColor),默认#409EFF。",
- "operationId": "createTagUsingPOST_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动标签创建请求",
- "originalRef": "活动标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动标签视图»",
- "originalRef": "统一响应结果«活动标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动标签视图»",
- "originalRef": "统一响应结果«活动标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/tag/adhoc": {
- "post": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "按名称查找或自动创建标签。用于项目编辑时快速输入新标签。",
- "operationId": "resolveAdHocTagUsingPOST_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动标签创建请求",
- "originalRef": "活动标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动标签视图»",
- "originalRef": "统一响应结果«活动标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动标签视图»",
- "originalRef": "统一响应结果«活动标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/tag/{tagId}": {
- "put": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "编辑标签",
- "description": "修改标签名称或颜色,所有关联项目自动生效。",
- "operationId": "updateTagUsingPUT_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/活动标签更新请求",
- "originalRef": "活动标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动标签视图»",
- "originalRef": "统一响应结果«活动标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«活动标签视图»",
- "originalRef": "统一响应结果«活动标签视图»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并自动解除所有项目与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/tags": {
- "get": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "获取管理标签列表(分页)",
- "description": "分页查询游玩项目标签库,支持按关键词搜索。包含预设标签和自定义标签。",
- "operationId": "listManagedTagsUsingGET_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«活动标签视图»»",
- "originalRef": "统一响应结果«分页结果«活动标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«活动标签视图»»",
- "originalRef": "统一响应结果«分页结果«活动标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/activity/tags/all": {
- "get": {
- "tags": [
- "游玩项目标签管理"
- ],
- "summary": "获取全部标签",
- "description": "不分页返回所有标签,用于项目编辑时的标签选择下拉。",
- "operationId": "listAllTagsUsingGET_3",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«活动标签视图»»",
- "originalRef": "统一响应结果«List«活动标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«活动标签视图»»",
- "originalRef": "统一响应结果«List«活动标签视图»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/item": {
- "post": {
- "tags": [
- "住宿管理"
- ],
- "summary": "创建住宿",
- "description": "新建住宿资源(酒店/民宿/营地等),初始状态为下架(status=0)。创建后需通过「提交启用/禁用审批」走企微OA审批流程才能上架。住宿下可继续创建房型(RoomType),房型有独立的价格日历。\n\n**关联字典**:\n- hotel_type:住宿类型(表单选择)\n- hotel_star_level:酒店星级(表单选择)\n- hotel_facility:酒店设施(表单多选)",
- "operationId": "createHotelUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "住宿创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店创建请求",
- "originalRef": "酒店创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店详情VO»",
- "originalRef": "统一响应结果«酒店详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店详情VO»",
- "originalRef": "统一响应结果«酒店详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/item/{hotelId}": {
- "get": {
- "tags": [
- "住宿管理"
- ],
- "summary": "住宿详情",
- "description": "获取住宿完整信息,包含素材URL、标签列表、房型列表等。素材ID会自动解析为OSS访问地址。\n\n**关联字典**:\n- hotel_type:住宿类型(详情显示)\n- hotel_star_level:酒店星级(详情显示)\n- hotel_facility:酒店设施(详情显示)",
- "operationId": "getHotelUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店详情VO»",
- "originalRef": "统一响应结果«酒店详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店详情VO»",
- "originalRef": "统一响应结果«酒店详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "住宿管理"
- ],
- "summary": "更新住宿",
- "description": "更新住宿基本信息。更新不会改变当前状态,已上架的住宿修改后仍保持上架状态。\n\n**关联字典**:\n- hotel_type:住宿类型(表单选择)\n- hotel_star_level:酒店星级(表单选择)\n- hotel_facility:酒店设施(表单多选)",
- "operationId": "updateHotelUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "住宿更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店更新请求",
- "originalRef": "酒店更新请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店详情VO»",
- "originalRef": "统一响应结果«酒店详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店详情VO»",
- "originalRef": "统一响应结果«酒店详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "住宿管理"
- ],
- "summary": "删除住宿",
- "description": "软删除住宿。仅房务管理员(ROOM_MANAGER)或超级管理员可操作,且只能删除未启用(下架)的住宿。删除住宿会同时删除其下所有房型和价格日历数据。",
- "operationId": "deleteHotelUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/item/{hotelId}/status": {
- "put": {
- "tags": [
- "住宿管理"
- ],
- "summary": "启用/禁用切换",
- "description": "直接修改住宿状态(跳过审批),仅限SUPER_ADMIN使用。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "住宿状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店状态变更请求",
- "originalRef": "酒店状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/item/{hotelId}/submit-approval": {
- "post": {
- "tags": [
- "住宿管理"
- ],
- "summary": "提交启用/禁用审批",
- "description": "向企微OA提交住宿启用/禁用审批。targetStatus=1申请上架,targetStatus=2申请下架。审批通过后自动更新状态。返回企微审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店审批提交请求",
- "originalRef": "酒店审批提交请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/item/{hotelId}/tags": {
- "put": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "设置住宿标签",
- "description": "全量替换指定住宿的标签列表。",
- "operationId": "updateHotelTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "住宿标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店标签更新请求_1",
- "originalRef": "酒店标签更新请求_1"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/items": {
- "get": {
- "tags": [
- "住宿管理"
- ],
- "summary": "住宿列表",
- "description": "分页查询住宿列表,支持按名称关键词、状态、住宿类型等条件筛选。返回列表摘要信息,按sortOrder倒序+创建时间倒序排列。\n\n**关联字典**:\n- hotel_type:住宿类型(筛选+列表显示)\n- hotel_star_level:酒店星级(筛选+列表显示)\n- hotel_facility:酒店设施(列表显示)",
- "operationId": "listHotelsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "city",
- "in": "query",
- "description": "城市筛选",
- "required": false,
- "type": "string",
- "x-example": "丽江市"
- },
- {
- "name": "cityKeyword",
- "in": "query",
- "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)",
- "required": false,
- "type": "string",
- "x-example": "海拉尔"
- },
- {
- "name": "hotelType",
- "in": "query",
- "description": "住宿类型筛选",
- "required": false,
- "type": "string",
- "x-example": "HOTEL"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称/地址模糊匹配)",
- "required": false,
- "type": "string",
- "x-example": "丽江"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "starLevel",
- "in": "query",
- "description": "星级筛选(字典: hotel_star_level)",
- "required": false,
- "type": "string",
- "x-example": "FIVE_STAR"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID(单个)",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "1,2,3"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«酒店列表VO»»",
- "originalRef": "统一响应结果«分页结果«酒店列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«酒店列表VO»»",
- "originalRef": "统一响应结果«分页结果«酒店列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/items/all-simple": {
- "get": {
- "tags": [
- "住宿管理"
- ],
- "summary": "所有启用的住宿(不分页,仅ID和名称)",
- "description": "返回所有已上架(status=1)的住宿简要信息,用于下拉选择框。每项只含hotelId和name字段。适用于房型管理时选择所属住宿、产品编排时绑定住宿资源等场景。",
- "operationId": "listAllSimpleUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/items/batch": {
- "delete": {
- "tags": [
- "住宿管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个住宿及其关联的房型和价格日历。仅房务管理员(ROOM_MANAGER)或超级管理员可操作,且只能删除未启用(下架)的住宿。",
- "operationId": "batchDeleteUsingDELETE_4",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店批量删除请求",
- "originalRef": "酒店批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/items/batch/status": {
- "put": {
- "tags": [
- "住宿管理"
- ],
- "summary": "批量启用/禁用",
- "description": "批量修改多个住宿的状态,跳过审批流程。hotelIds为住宿ID列表(字符串格式)。",
- "operationId": "batchUpdateStatusUsingPUT_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "住宿状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店状态变更请求",
- "originalRef": "酒店状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/items/batch/tags": {
- "put": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "批量添加/移除标签",
- "description": "对多个住宿批量添加/移除标签。增量操作,不影响未指定的标签。",
- "operationId": "batchUpdateTagsUsingPUT_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店批量标签操作请求",
- "originalRef": "酒店批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/room-type/{roomTypeId}": {
- "get": {
- "tags": [
- "房型管理"
- ],
- "summary": "房型详情",
- "description": "获取房型完整信息,包含价格、入住人数、素材等。\n\n**关联字典**:\n- room_category:房型分类(列表/详情显示)\n- bed_type:床型(列表/详情显示)\n- window_type:窗户类型(列表/详情显示)\n- bathroom_type:卫浴类型(列表/详情显示)\n- room_facility:房间设施(列表/详情显示)",
- "operationId": "getRoomTypeUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«房型详情VO»",
- "originalRef": "统一响应结果«房型详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«房型详情VO»",
- "originalRef": "统一响应结果«房型详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "房型管理"
- ],
- "summary": "更新房型",
- "description": "更新房型基本信息,不改变当前状态。\n\n**关联字典**:\n- room_category:房型分类(表单选择)\n- bed_type:床型(表单选择)\n- window_type:窗户类型(表单选择)\n- bathroom_type:卫浴类型(表单选择)\n- room_facility:房间设施(表单多选)",
- "operationId": "updateRoomTypeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "房型更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/房型更新请求",
- "originalRef": "房型更新请求"
- }
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«房型详情VO»",
- "originalRef": "统一响应结果«房型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«房型详情VO»",
- "originalRef": "统一响应结果«房型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "房型管理"
- ],
- "summary": "删除房型",
- "description": "软删除房型及其价格日历数据。",
- "operationId": "deleteRoomTypeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/room-type/{roomTypeId}/prices": {
- "get": {
- "tags": [
- "房型价格日历"
- ],
- "summary": "查询价格日历",
- "description": "按月查询房型的每日价格和可售状态。每个房型有独立的价格日历。",
- "operationId": "getPriceCalendarUsingGET_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店房型价格日历VO»",
- "originalRef": "统一响应结果«酒店房型价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店房型价格日历VO»",
- "originalRef": "统一响应结果«酒店房型价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "房型价格日历"
- ],
- "summary": "批量设置价格日历",
- "description": "在指定日期范围内批量设置房型的成本价和可售状态。支持按星期过滤和排除特定日期。",
- "operationId": "batchSetPricesUsingPUT_2",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店房型价格日历设置请求",
- "originalRef": "酒店房型价格日历设置请求"
- }
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "房型价格日历"
- ],
- "summary": "删除价格日历",
- "description": "删除指定日期范围内房型的所有价格记录。日期格式:yyyy-MM-dd。",
- "operationId": "deletePricesUsingDELETE_2",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/room-type/{roomTypeId}/prices/batch-status": {
- "put": {
- "tags": [
- "房型价格日历"
- ],
- "summary": "批量修改日期可售状态",
- "description": "批量修改指定日期范围内房型的可售状态,不影响价格。",
- "operationId": "batchUpdateStatusUsingPUT_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店房型价格日历状态变更请求",
- "originalRef": "酒店房型价格日历状态变更请求"
- }
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/room-type/{roomTypeId}/status": {
- "put": {
- "tags": [
- "房型管理"
- ],
- "summary": "启用/禁用房型",
- "description": "直接修改房型状态(跳过审批)。status=0禁用,status=1启用。禁用后该房型不会出现在C端展示中。",
- "operationId": "updateRoomTypeStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "房型状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/房型状态变更请求",
- "originalRef": "房型状态变更请求"
- }
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/room-type/{roomTypeId}/submit-approval": {
- "post": {
- "tags": [
- "房型管理"
- ],
- "summary": "提交房型启用/禁用审批",
- "description": "向企微OA提交房型启用/禁用审批。审批流程与住宿共享同一模板。返回审批单号spNo。",
- "operationId": "submitRoomTypeApprovalUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店审批提交请求",
- "originalRef": "酒店审批提交请求"
- }
- },
- {
- "name": "roomTypeId",
- "in": "path",
- "description": "房型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/tag": {
- "post": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "创建标签",
- "description": "创建预设标签,标签名不可重复。",
- "operationId": "createTagUsingPOST_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店标签创建请求",
- "originalRef": "酒店标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店标签VO»",
- "originalRef": "统一响应结果«酒店标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店标签VO»",
- "originalRef": "统一响应结果«酒店标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/tag/adhoc": {
- "post": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "查找或创建自定义标签",
- "description": "按名称查找标签,不存在则自动创建。用于住宿编辑时快速输入新标签。",
- "operationId": "resolveAdHocTagUsingPOST_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店标签创建请求",
- "originalRef": "酒店标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店标签VO»",
- "originalRef": "统一响应结果«酒店标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店标签VO»",
- "originalRef": "统一响应结果«酒店标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/tag/{tagId}": {
- "put": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "更新标签",
- "description": "修改标签名称或颜色,所有关联住宿自动生效。",
- "operationId": "updateTagUsingPUT_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/酒店标签更新请求",
- "originalRef": "酒店标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店标签VO»",
- "originalRef": "统一响应结果«酒店标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«酒店标签VO»",
- "originalRef": "统一响应结果«酒店标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并解除所有住宿与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_4",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/tags": {
- "get": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "预设标签列表(分页)",
- "description": "分页查询住宿标签库,支持按关键词搜索。",
- "operationId": "listManagedTagsUsingGET_4",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«酒店标签VO»»",
- "originalRef": "统一响应结果«分页结果«酒店标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«酒店标签VO»»",
- "originalRef": "统一响应结果«分页结果«酒店标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/tags/all": {
- "get": {
- "tags": [
- "住宿标签管理"
- ],
- "summary": "所有标签列表",
- "description": "不分页返回所有标签,用于住宿编辑时的标签选择。",
- "operationId": "listAllTagsUsingGET_4",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«酒店标签VO»»",
- "originalRef": "统一响应结果«List«酒店标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«酒店标签VO»»",
- "originalRef": "统一响应结果«List«酒店标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/{hotelId}/room-type": {
- "post": {
- "tags": [
- "房型管理"
- ],
- "summary": "创建房型",
- "description": "在指定住宿下创建房型(如标准间、大床房、套房等)。每个房型有独立的价格日历、最大入住人数(maxOccupancy)和基础价格(basePrice)。房型初始状态为下架(status=0),需独立审批后才能启用。创建后可通过「提交房型启用审批」接口提交企微OA审批。\n\n**关联字典**:\n- room_category:房型分类(表单选择)\n- bed_type:床型(表单选择)\n- window_type:窗户类型(表单选择)\n- bathroom_type:卫浴类型(表单选择)\n- room_facility:房间设施(表单多选)",
- "operationId": "createRoomTypeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "房型创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/房型创建请求",
- "originalRef": "房型创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«房型详情VO»",
- "originalRef": "统一响应结果«房型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«房型详情VO»",
- "originalRef": "统一响应结果«房型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/hotel/{hotelId}/room-types": {
- "get": {
- "tags": [
- "房型管理"
- ],
- "summary": "房型列表",
- "description": "获取指定住宿下的所有房型列表(不分页),按sortOrder排序。\n\n**关联字典**:\n- room_category:房型分类(列表/详情显示)\n- bed_type:床型(列表/详情显示)\n- window_type:窗户类型(列表/详情显示)\n- bathroom_type:卫浴类型(列表/详情显示)\n- room_facility:房间设施(列表/详情显示)",
- "operationId": "listRoomTypesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hotelId",
- "in": "path",
- "description": "住宿ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«房型详情VO»»",
- "originalRef": "统一响应结果«List«房型详情VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«房型详情VO»»",
- "originalRef": "统一响应结果«List«房型详情VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item": {
- "post": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "创建增值服务",
- "description": "新建增值服务项目(如保险、签证代办、接送机等),初始状态为下架(status=0)。支持免费(isPaid=false)和付费两种模式,付费服务有独立的价格日历。需走企微审批上架。\n\n**关联字典**:\n- service_category:服务分类(表单选择)\n- billing_type_service:服务计费方式(表单选择)\n- service_unit:服务计量单位(表单选择)",
- "operationId": "createServiceItemUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项创建请求",
- "originalRef": "服务项创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项详情VO»",
- "originalRef": "统一响应结果«服务项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项详情VO»",
- "originalRef": "统一响应结果«服务项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item/{serviceId}": {
- "get": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "增值服务详情",
- "description": "获取增值服务完整信息,包含素材URL、标签、计费方式等。\n\n**关联字典**:\n- service_category:服务分类(详情显示)\n- billing_type_service:服务计费方式(详情显示)\n- service_unit:服务计量单位(详情显示)",
- "operationId": "getServiceItemUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项详情VO»",
- "originalRef": "统一响应结果«服务项详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项详情VO»",
- "originalRef": "统一响应结果«服务项详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "更新增值服务",
- "description": "更新增值服务基本信息,不改变当前状态。\n\n**关联字典**:\n- service_category:服务分类(表单选择)\n- billing_type_service:服务计费方式(表单选择)\n- service_unit:服务计量单位(表单选择)",
- "operationId": "updateServiceItemUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项更新请求",
- "originalRef": "服务项更新请求"
- }
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项详情VO»",
- "originalRef": "统一响应结果«服务项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项详情VO»",
- "originalRef": "统一响应结果«服务项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "删除增值服务",
- "description": "软删除增值服务。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "deleteServiceItemUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item/{serviceId}/prices": {
- "get": {
- "tags": [
- "服务价格日历"
- ],
- "summary": "查询价格日历",
- "description": "按月查询增值服务的每日价格和可售状态。仅付费服务(isPaid=true)需要设置价格日历。",
- "operationId": "getPriceCalendarUsingGET_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项价格日历VO»",
- "originalRef": "统一响应结果«服务项价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务项价格日历VO»",
- "originalRef": "统一响应结果«服务项价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "服务价格日历"
- ],
- "summary": "批量设置价格",
- "description": "在指定日期范围内批量设置服务的成本价和可售状态。",
- "operationId": "batchSetPricesUsingPUT_3",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项价格日历设置请求",
- "originalRef": "服务项价格日历设置请求"
- }
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "服务价格日历"
- ],
- "summary": "批量清除价格",
- "description": "删除指定日期范围内的价格记录。日期格式:yyyy-MM-dd。",
- "operationId": "deletePricesUsingDELETE_3",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item/{serviceId}/prices/batch-status": {
- "put": {
- "tags": [
- "服务价格日历"
- ],
- "summary": "批量修改可售状态",
- "description": "批量修改日期范围内的可售状态,不影响价格。",
- "operationId": "batchUpdateStatusUsingPUT_9",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项价格日历状态变更请求",
- "originalRef": "服务项价格日历状态变更请求"
- }
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item/{serviceId}/status": {
- "put": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "启用/禁用切换",
- "description": "直接修改状态(跳过审批),仅限SUPER_ADMIN。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项状态变更请求",
- "originalRef": "服务项状态变更请求"
- }
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item/{serviceId}/submit-approval": {
- "post": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "提交启用/禁用审批",
- "description": "向企微OA提交审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项审批提交请求",
- "originalRef": "服务项审批提交请求"
- }
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/item/{serviceId}/tags": {
- "put": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "更新服务标签",
- "description": "全量替换指定服务的标签列表。",
- "operationId": "updateServiceTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项标签更新请求",
- "originalRef": "服务项标签更新请求"
- }
- },
- {
- "name": "serviceId",
- "in": "path",
- "description": "服务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/items": {
- "get": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "增值服务列表",
- "description": "分页查询增值服务列表,支持按名称、状态、分类等条件筛选。\n\n**关联字典**:\n- service_category:服务分类(筛选+列表显示)\n- billing_type_service:服务计费方式(列表显示)\n- service_unit:服务计量单位(列表显示)",
- "operationId": "listServiceItemsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "billingType",
- "in": "query",
- "description": "计费方式筛选",
- "required": false,
- "type": "string",
- "x-example": "PER_DAY"
- },
- {
- "name": "categoryCode",
- "in": "query",
- "description": "分类编码筛选",
- "required": false,
- "type": "string",
- "x-example": "GUIDE"
- },
- {
- "name": "city",
- "in": "query",
- "description": "城市筛选",
- "required": false,
- "type": "string",
- "x-example": "丽江市"
- },
- {
- "name": "cityKeyword",
- "in": "query",
- "description": "城市/区域关键词模糊搜索(匹配城市名、省份、地址)",
- "required": false,
- "type": "string",
- "x-example": "海拉尔"
- },
- {
- "name": "instantConfirm",
- "in": "query",
- "description": "是否即时确认筛选:0=否 1=是",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "isPaid",
- "in": "query",
- "description": "是否收费筛选:0=免费 1=收费",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称模糊匹配)",
- "required": false,
- "type": "string",
- "x-example": "导游"
- },
- {
- "name": "maxPrice",
- "in": "query",
- "description": "最高价格筛选",
- "required": false,
- "type": "number",
- "x-example": 1000.0
- },
- {
- "name": "minPrice",
- "in": "query",
- "description": "最低价格筛选",
- "required": false,
- "type": "number",
- "x-example": 100.0
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID(单个)",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "1,2,3"
- },
- {
- "name": "vehicleType",
- "in": "query",
- "description": "配套车型筛选",
- "required": false,
- "type": "string",
- "x-example": "商务车"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务项列表VO»»",
- "originalRef": "统一响应结果«分页结果«服务项列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务项列表VO»»",
- "originalRef": "统一响应结果«分页结果«服务项列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/items/batch": {
- "delete": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个增值服务。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "batchDeleteUsingDELETE_5",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项批量删除请求",
- "originalRef": "服务项批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/items/batch/status": {
- "put": {
- "tags": [
- "增值服务管理"
- ],
- "summary": "批量启用/禁用",
- "description": "批量修改多个增值服务的状态,跳过审批流程。",
- "operationId": "batchUpdateStatusUsingPUT_8",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项状态变更请求",
- "originalRef": "服务项状态变更请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/items/batch/tags": {
- "put": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "批量打标签",
- "description": "对多个服务批量添加/移除标签。增量操作。",
- "operationId": "batchUpdateTagsUsingPUT_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务项批量标签操作请求",
- "originalRef": "服务项批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/tag": {
- "post": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "创建管理标签",
- "description": "创建预设标签,标签名不可重复。",
- "operationId": "createTagUsingPOST_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务标签创建请求",
- "originalRef": "服务标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务标签VO»",
- "originalRef": "统一响应结果«服务标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务标签VO»",
- "originalRef": "统一响应结果«服务标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/tag/adhoc": {
- "post": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "按名称查找或自动创建标签。",
- "operationId": "resolveAdHocTagUsingPOST_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务标签创建请求",
- "originalRef": "服务标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务标签VO»",
- "originalRef": "统一响应结果«服务标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务标签VO»",
- "originalRef": "统一响应结果«服务标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/tag/{tagId}": {
- "put": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "编辑标签",
- "description": "修改标签名称或颜色,所有关联服务自动生效。",
- "operationId": "updateTagUsingPUT_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务标签更新请求",
- "originalRef": "服务标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务标签VO»",
- "originalRef": "统一响应结果«服务标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务标签VO»",
- "originalRef": "统一响应结果«服务标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并解除所有服务与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_5",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/tags": {
- "get": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "获取管理标签列表(分页)",
- "description": "分页查询增值服务标签库,支持按关键词搜索。",
- "operationId": "listManagedTagsUsingGET_5",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务标签VO»»",
- "originalRef": "统一响应结果«分页结果«服务标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务标签VO»»",
- "originalRef": "统一响应结果«分页结果«服务标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/service/tags/all": {
- "get": {
- "tags": [
- "服务标签管理"
- ],
- "summary": "获取全部标签",
- "description": "不分页返回所有标签,用于服务编辑时的标签选择。",
- "operationId": "listAllTagsUsingGET_5",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«服务标签VO»»",
- "originalRef": "统一响应结果«List«服务标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«服务标签VO»»",
- "originalRef": "统一响应结果«List«服务标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model": {
- "post": {
- "tags": [
- "车型管理"
- ],
- "summary": "创建车型",
- "description": "新建车型资源(如7座商务车、14座中巴等),初始状态为下架(status=0)。车型有独立的价格日历用于报价计算。需走企微审批上架。\n\n**关联字典**:\n- vehicle_type:车辆类型(表单选择)",
- "operationId": "createVehicleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "车型创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型创建请求",
- "originalRef": "车型创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型详情VO»",
- "originalRef": "统一响应结果«车型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型详情VO»",
- "originalRef": "统一响应结果«车型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model/{vehicleId}": {
- "get": {
- "tags": [
- "车型管理"
- ],
- "summary": "车型详情",
- "description": "获取车型完整信息,包含座位数、品牌、素材URL、标签等。\n\n**关联字典**:\n- vehicle_type:车辆类型(详情显示)",
- "operationId": "getVehicleUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型详情VO»",
- "originalRef": "统一响应结果«车型详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型详情VO»",
- "originalRef": "统一响应结果«车型详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "车型管理"
- ],
- "summary": "更新车型",
- "description": "更新车型基本信息,不改变当前状态。\n\n**关联字典**:\n- vehicle_type:车辆类型(表单选择)",
- "operationId": "updateVehicleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "车型更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型更新请求",
- "originalRef": "车型更新请求"
- }
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型详情VO»",
- "originalRef": "统一响应结果«车型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型详情VO»",
- "originalRef": "统一响应结果«车型详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "车型管理"
- ],
- "summary": "删除车型",
- "description": "软删除车型。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "deleteVehicleUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model/{vehicleId}/prices": {
- "get": {
- "tags": [
- "车型价格日历"
- ],
- "summary": "查询价格日历",
- "description": "按月查询车型的每日租赁价格和可调度状态。",
- "operationId": "getPriceCalendarUsingGET_4",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型价格日历VO»",
- "originalRef": "统一响应结果«车型价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车型价格日历VO»",
- "originalRef": "统一响应结果«车型价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "车型价格日历"
- ],
- "summary": "批量设置价格",
- "description": "在指定日期范围内批量设置车型的租赁成本价和可调度状态。",
- "operationId": "batchSetPricesUsingPUT_4",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型价格日历设置请求",
- "originalRef": "车型价格日历设置请求"
- }
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "车型价格日历"
- ],
- "summary": "清除价格日历",
- "description": "删除指定日期范围内车型的价格记录。日期格式:yyyy-MM-dd。",
- "operationId": "deletePricesUsingDELETE_4",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "format": "date",
- "allowEmptyValue": false
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "format": "date",
- "allowEmptyValue": false
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model/{vehicleId}/prices/batch-status": {
- "put": {
- "tags": [
- "车型价格日历"
- ],
- "summary": "批量修改调度状态",
- "description": "批量修改日期范围内车型的可调度状态,不影响价格。",
- "operationId": "batchUpdateStatusUsingPUT_11",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型价格日历状态变更请求",
- "originalRef": "车型价格日历状态变更请求"
- }
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model/{vehicleId}/status": {
- "put": {
- "tags": [
- "车型管理"
- ],
- "summary": "更新状态",
- "description": "直接修改车型状态(跳过审批),仅限SUPER_ADMIN。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "状态请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型状态请求",
- "originalRef": "车型状态请求"
- }
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model/{vehicleId}/submit-approval": {
- "post": {
- "tags": [
- "车型管理"
- ],
- "summary": "提交审批",
- "description": "向企微OA提交车型启用/禁用审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型审批提交请求",
- "originalRef": "车型审批提交请求"
- }
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/model/{vehicleId}/tags": {
- "put": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "设置车型标签",
- "description": "全量替换指定车型的标签列表。",
- "operationId": "updateVehicleTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签ID列表请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/设置车型标签请求",
- "originalRef": "设置车型标签请求"
- }
- },
- {
- "name": "vehicleId",
- "in": "path",
- "description": "车型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/models": {
- "get": {
- "tags": [
- "车型管理"
- ],
- "summary": "车型列表",
- "description": "分页查询车型列表,支持按名称、状态、车辆类型等条件筛选。\n\n**关联字典**:\n- vehicle_type:车辆类型(筛选+列表显示)",
- "operationId": "listVehiclesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "brand",
- "in": "query",
- "description": "品牌筛选",
- "required": false,
- "type": "string",
- "x-example": "别克"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称/品牌模糊匹配)",
- "required": false,
- "type": "string",
- "x-example": "别克"
- },
- {
- "name": "maxPrice",
- "in": "query",
- "description": "最高价格筛选",
- "required": false,
- "type": "number",
- "x-example": 2000.0
- },
- {
- "name": "maxSeatCount",
- "in": "query",
- "description": "最多座位数筛选",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 15
- },
- {
- "name": "minPrice",
- "in": "query",
- "description": "最低价格筛选",
- "required": false,
- "type": "number",
- "x-example": 500.0
- },
- {
- "name": "minSeatCount",
- "in": "query",
- "description": "最少座位数筛选",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 5
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID(单个)",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "1,2,3"
- },
- {
- "name": "vehicleType",
- "in": "query",
- "description": "车型分类筛选",
- "required": false,
- "type": "string",
- "x-example": "MPV"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«车型列表VO»»",
- "originalRef": "统一响应结果«分页结果«车型列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«车型列表VO»»",
- "originalRef": "统一响应结果«分页结果«车型列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/models/all": {
- "get": {
- "tags": [
- "车型管理"
- ],
- "summary": "车型全量列表(不分页,用于下拉选择)",
- "description": "返回所有车型列表,可选按状态筛选。适用于产品编排时选择车型的下拉选择框。不分页返回全部数据。\n\n**关联字典**:\n- vehicle_type:车辆类型(列表显示)",
- "operationId": "listAllVehiclesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«车型列表VO»»",
- "originalRef": "统一响应结果«List«车型列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«车型列表VO»»",
- "originalRef": "统一响应结果«List«车型列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/models/batch": {
- "delete": {
- "tags": [
- "车型管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个车型。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "batchDeleteUsingDELETE_6",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型批量删除请求",
- "originalRef": "车型批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/models/batch/status": {
- "put": {
- "tags": [
- "车型管理"
- ],
- "summary": "批量更新状态",
- "description": "批量修改多个车型的状态,跳过审批流程。",
- "operationId": "batchUpdateStatusUsingPUT_10",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量状态请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型状态请求",
- "originalRef": "车型状态请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/models/batch/tags": {
- "put": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "批量添加/移除标签",
- "description": "对多个车型批量添加/移除标签。增量操作。",
- "operationId": "batchUpdateTagsUsingPUT_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车型批量标签操作请求",
- "originalRef": "车型批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/tag": {
- "post": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "创建标签",
- "description": "创建预设标签,标签名不可重复。",
- "operationId": "createTagUsingPOST_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车辆标签创建请求",
- "originalRef": "车辆标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车辆标签VO»",
- "originalRef": "统一响应结果«车辆标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车辆标签VO»",
- "originalRef": "统一响应结果«车辆标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/tag/adhoc": {
- "post": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "按名称查找或自动创建标签。",
- "operationId": "resolveAdHocTagUsingPOST_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签名称请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车辆标签创建请求",
- "originalRef": "车辆标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车辆标签VO»",
- "originalRef": "统一响应结果«车辆标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车辆标签VO»",
- "originalRef": "统一响应结果«车辆标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/tag/{tagId}": {
- "put": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "更新标签",
- "description": "修改标签名称或颜色。",
- "operationId": "updateTagUsingPUT_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/车辆标签更新请求",
- "originalRef": "车辆标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车辆标签VO»",
- "originalRef": "统一响应结果«车辆标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«车辆标签VO»",
- "originalRef": "统一响应结果«车辆标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并解除所有车型与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_6",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/tags": {
- "get": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "预设标签列表(分页)",
- "description": "分页查询车型标签库,支持按关键词搜索。",
- "operationId": "listManagedTagsUsingGET_6",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«车辆标签VO»»",
- "originalRef": "统一响应结果«分页结果«车辆标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«车辆标签VO»»",
- "originalRef": "统一响应结果«分页结果«车辆标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/vehicle/tags/all": {
- "get": {
- "tags": [
- "车型标签管理"
- ],
- "summary": "全部标签列表",
- "description": "不分页返回所有标签,用于车型编辑时的标签选择。",
- "operationId": "listAllTagsUsingGET_6",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«车辆标签VO»»",
- "originalRef": "统一响应结果«List«车辆标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«车辆标签VO»»",
- "originalRef": "统一响应结果«List«车辆标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/item": {
- "post": {
- "tags": [
- "费用项管理"
- ],
- "summary": "创建费用项",
- "description": "新建费用项(如门票成本、餐费、保险费等),用于产品报价计算。费用项有独立的价格日历,价格变更会记录变更日志。创建后需走企微审批上架。\n\n**关联字典**:\n- cost_category:费用分类(表单选择)\n- cost_apply_role:适用角色(表单选择)\n- cost_unit:计量单位(表单选择)",
- "operationId": "createCostItemUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "费用项创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/费用项创建请求",
- "originalRef": "费用项创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项详情VO»",
- "originalRef": "统一响应结果«费用项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项详情VO»",
- "originalRef": "统一响应结果«费用项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/item/{costId}": {
- "get": {
- "tags": [
- "费用项管理"
- ],
- "summary": "费用项详情",
- "description": "获取费用项完整信息,包含当前价格、引用计数等。\n\n**关联字典**:\n- cost_category:费用分类(详情显示)\n- cost_apply_role:适用角色(详情显示)\n- cost_unit:计量单位(详情显示)",
- "operationId": "getCostItemUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项详情VO»",
- "originalRef": "统一响应结果«费用项详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项详情VO»",
- "originalRef": "统一响应结果«费用项详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "费用项管理"
- ],
- "summary": "更新费用项",
- "description": "更新费用项信息。如果修改了价格,会自动记录价格变更日志。\n\n**关联字典**:\n- cost_category:费用分类(表单选择)\n- cost_apply_role:适用角色(表单选择)\n- cost_unit:计量单位(表单选择)",
- "operationId": "updateCostItemUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "费用项更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/费用项更新请求",
- "originalRef": "费用项更新请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项详情VO»",
- "originalRef": "统一响应结果«费用项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项详情VO»",
- "originalRef": "统一响应结果«费用项详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "费用项管理"
- ],
- "summary": "删除费用项",
- "description": "软删除费用项。仅SUPER_ADMIN或创建者可操作。被产品引用(refCount>0)的费用项不建议删除。",
- "operationId": "deleteCostItemUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/item/{costId}/price-logs": {
- "get": {
- "tags": [
- "费用项管理"
- ],
- "summary": "费用项价格变更记录",
- "description": "查询费用项的历史价格变更记录,按时间倒序排列。用于追溯价格调整历史。",
- "operationId": "getPriceLogsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«费用项价格变更日志VO»»",
- "originalRef": "统一响应结果«List«费用项价格变更日志VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«费用项价格变更日志VO»»",
- "originalRef": "统一响应结果«List«费用项价格变更日志VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/item/{costId}/prices": {
- "get": {
- "tags": [
- "费用项价格日历"
- ],
- "summary": "查询价格日历",
- "description": "按月查询费用项的每日价格。费用项价格日历用于产品报价计算时按日期获取成本价。",
- "operationId": "getPriceCalendarUsingGET_5",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项价格日历VO»",
- "originalRef": "统一响应结果«费用项价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«费用项价格日历VO»",
- "originalRef": "统一响应结果«费用项价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "费用项价格日历"
- ],
- "summary": "批量设置价格",
- "description": "在指定日期范围内批量设置费用项的成本价。",
- "operationId": "batchSetPricesUsingPUT_5",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/费用项价格日历设置请求",
- "originalRef": "费用项价格日历设置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "费用项价格日历"
- ],
- "summary": "清除价格日历",
- "description": "删除指定日期范围内费用项的价格记录。日期格式:yyyy-MM-dd。",
- "operationId": "deletePricesUsingDELETE_5",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "format": "date",
- "allowEmptyValue": false
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "format": "date",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/item/{costId}/submit-approval": {
- "post": {
- "tags": [
- "费用项管理"
- ],
- "summary": "提交审批",
- "description": "向企微OA提交费用项启用/禁用审批。targetStatus=1申请上架,targetStatus=2申请下架。返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "costId",
- "in": "path",
- "description": "费用项ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/费用项审批提交请求",
- "originalRef": "费用项审批提交请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/items": {
- "get": {
- "tags": [
- "费用项管理"
- ],
- "summary": "费用项列表",
- "description": "分页查询费用项列表,支持按名称、状态等条件筛选。\n\n**关联字典**:\n- cost_category:费用分类(筛选+列表显示)\n- cost_apply_role:适用角色(筛选+列表显示)\n- cost_unit:计量单位(列表显示)",
- "operationId": "listCostItemsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "applyRole",
- "in": "query",
- "description": "适用角色筛选",
- "required": false,
- "type": "string",
- "x-example": "ADULT"
- },
- {
- "name": "categoryCode",
- "in": "query",
- "description": "费用分类编码筛选",
- "required": false,
- "type": "string",
- "x-example": "GUIDE"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(名称模糊匹配)",
- "required": false,
- "type": "string",
- "x-example": "导游"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«费用项列表VO»»",
- "originalRef": "统一响应结果«分页结果«费用项列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«费用项列表VO»»",
- "originalRef": "统一响应结果«分页结果«费用项列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/cost/items/enabled": {
- "get": {
- "tags": [
- "费用项管理"
- ],
- "summary": "启用的费用项列表",
- "description": "查询所有已启用(status=1)的费用项,不分页。用于产品编排时选择费用项的下拉列表。\n\n**关联字典**:\n- cost_category:费用分类(列表显示)\n- cost_apply_role:适用角色(列表显示)\n- cost_unit:计量单位(列表显示)",
- "operationId": "listEnabledCostItemsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«费用项详情VO»»",
- "originalRef": "统一响应结果«List«费用项详情VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«费用项详情VO»»",
- "originalRef": "统一响应结果«List«费用项详情VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff": {
- "post": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "创建服务人员",
- "description": "新建服务人员(导游/领队/摄影师/助理等)。人员类型(staffType)决定了其在价格日历中的归类。需走企微审批上架后才能被产品引用。\n\n**关联字典**:\n- staff_type:人员类型(表单选择)\n- guide_level:导游等级(表单选择)\n- driver_license_type:驾照类型(表单选择)\n- language:语言能力(表单多选)\n- guide_specialty:导游专长(表单多选)\n- guide_service_area:服务区域(表单多选)",
- "operationId": "createStaffUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务人员创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员创建请求",
- "originalRef": "服务人员创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员详情VO»",
- "originalRef": "统一响应结果«服务人员详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员详情VO»",
- "originalRef": "统一响应结果«服务人员详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/batch": {
- "delete": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "批量删除",
- "description": "批量软删除多个服务人员。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "batchDeleteUsingDELETE_7",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量删除请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员批量删除请求",
- "originalRef": "人员批量删除请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/batch-basic": {
- "get": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "批量查人员简要信息",
- "description": "根据ID列表批量查人员简要信息(ID+姓名+类型),用于备选人员回显。",
- "operationId": "batchBriefUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "staffIds",
- "in": "query",
- "description": "人员ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/batch-brief": {
- "get": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "批量查人员简要信息",
- "description": "根据ID列表批量查人员简要信息(ID+姓名+类型),用于备选人员回显。",
- "operationId": "batchBriefUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "staffIds",
- "in": "query",
- "description": "人员ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»",
- "originalRef": "统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/batch/status": {
- "put": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "批量更新状态",
- "description": "批量修改多个服务人员的状态,跳过审批流程。",
- "operationId": "batchUpdateStatusUsingPUT_12",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量状态请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员状态请求",
- "originalRef": "人员状态请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/batch/tags": {
- "put": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "批量添加/移除标签",
- "description": "对多个人员批量添加/移除标签。增量操作。",
- "operationId": "batchUpdateTagsUsingPUT_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "批量标签请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员批量标签操作请求",
- "originalRef": "人员批量标签操作请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/list": {
- "get": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "服务人员列表",
- "description": "分页查询服务人员列表,支持按姓名、状态、人员类型等条件筛选。\n\n**关联字典**:\n- staff_type:人员类型(筛选+列表显示)\n- guide_level:导游等级(列表显示)\n- driver_license_type:驾照类型(列表显示)\n- language:语言能力(列表显示)\n- guide_specialty:导游专长(列表显示)\n- guide_service_area:服务区域(列表显示)",
- "operationId": "listStaffUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(姓名/描述模糊匹配)",
- "required": false,
- "type": "string",
- "x-example": "张导"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "sortBy",
- "in": "query",
- "description": "排序字段",
- "required": false,
- "type": "string",
- "x-example": "createdAt"
- },
- {
- "name": "sortDir",
- "in": "query",
- "description": "排序方向:asc/desc",
- "required": false,
- "type": "string",
- "x-example": "desc"
- },
- {
- "name": "staffType",
- "in": "query",
- "description": "人员类型筛选",
- "required": false,
- "type": "string",
- "x-example": "GUIDE"
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选:0=下架 1=上架",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "tagId",
- "in": "query",
- "description": "标签ID(单个)",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "tagIds",
- "in": "query",
- "description": "标签ID列表(逗号分隔)",
- "required": false,
- "type": "string",
- "x-example": "1,2,3"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务人员列表VO»»",
- "originalRef": "统一响应结果«分页结果«服务人员列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务人员列表VO»»",
- "originalRef": "统一响应结果«分页结果«服务人员列表VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/tag": {
- "post": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "创建标签",
- "description": "创建预设标签,标签名不可重复。",
- "operationId": "createTagUsingPOST_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签创建请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员标签创建请求",
- "originalRef": "服务人员标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员标签VO»",
- "originalRef": "统一响应结果«服务人员标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员标签VO»",
- "originalRef": "统一响应结果«服务人员标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/tag/adhoc": {
- "post": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "解析自定义标签",
- "description": "按名称查找或自动创建标签。",
- "operationId": "resolveAdHocTagUsingPOST_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签名称请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员标签创建请求",
- "originalRef": "服务人员标签创建请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员标签VO»",
- "originalRef": "统一响应结果«服务人员标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员标签VO»",
- "originalRef": "统一响应结果«服务人员标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/tag/{tagId}": {
- "put": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "更新标签",
- "description": "修改标签名称或颜色。",
- "operationId": "updateTagUsingPUT_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员标签更新请求",
- "originalRef": "服务人员标签更新请求"
- }
- },
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员标签VO»",
- "originalRef": "统一响应结果«服务人员标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员标签VO»",
- "originalRef": "统一响应结果«服务人员标签VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "删除标签",
- "description": "删除标签并解除所有人员与该标签的关联。",
- "operationId": "deleteTagUsingDELETE_7",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "tagId",
- "in": "path",
- "description": "标签ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/tags": {
- "get": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "预设标签列表(分页)",
- "description": "分页查询服务人员标签库,支持按关键词搜索。",
- "operationId": "listManagedTagsUsingGET_7",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务人员标签VO»»",
- "originalRef": "统一响应结果«分页结果«服务人员标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«服务人员标签VO»»",
- "originalRef": "统一响应结果«分页结果«服务人员标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/tags/all": {
- "get": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "全部标签列表",
- "description": "不分页返回所有标签,用于人员编辑时的标签选择。",
- "operationId": "listAllTagsUsingGET_7",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«服务人员标签VO»»",
- "originalRef": "统一响应结果«List«服务人员标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«服务人员标签VO»»",
- "originalRef": "统一响应结果«List«服务人员标签VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/type/{staffType}/prices": {
- "get": {
- "tags": [
- "服务人员价格日历"
- ],
- "summary": "查询价格日历(按人员类型)",
- "description": "按月查询指定人员类型的每日服务费用和可调度状态。注意:价格日历按人员类型维度管理,非按个人维度。同一类型的所有人员共享同一套价格。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数",
- "operationId": "getPriceCalendarUsingGET_6",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "month",
- "in": "query",
- "description": "月份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "staffType",
- "in": "path",
- "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER",
- "required": false,
- "type": "string"
- },
- {
- "name": "year",
- "in": "query",
- "description": "年份",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员价格日历VO»",
- "originalRef": "统一响应结果«服务人员价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员价格日历VO»",
- "originalRef": "统一响应结果«服务人员价格日历VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "服务人员价格日历"
- ],
- "summary": "批量设置价格(按人员类型)",
- "description": "在指定日期范围内批量设置该类型人员的服务成本价和可调度状态。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数",
- "operationId": "batchSetPricesUsingPUT_6",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历设置请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员价格日历设置请求",
- "originalRef": "服务人员价格日历设置请求"
- }
- },
- {
- "name": "staffType",
- "in": "path",
- "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "服务人员价格日历"
- ],
- "summary": "清除价格日历(按人员类型)",
- "description": "删除指定日期范围内该类型人员的价格记录。日期格式:yyyy-MM-dd。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数",
- "operationId": "deletePricesUsingDELETE_6",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "endDate",
- "in": "query",
- "description": "结束日期",
- "required": false,
- "type": "string",
- "format": "date",
- "allowEmptyValue": false
- },
- {
- "name": "staffType",
- "in": "path",
- "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER",
- "required": false,
- "type": "string"
- },
- {
- "name": "startDate",
- "in": "query",
- "description": "开始日期",
- "required": false,
- "type": "string",
- "format": "date",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/type/{staffType}/prices/batch-status": {
- "put": {
- "tags": [
- "服务人员价格日历"
- ],
- "summary": "批量修改调度状态(按人员类型)",
- "description": "批量修改日期范围内的可调度状态,不影响价格。\n\n**关联字典**:\n- staff_type(人员类型)→ staffType路径参数",
- "operationId": "batchUpdateStatusUsingPUT_13",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "价格日历状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员价格日历状态变更请求",
- "originalRef": "服务人员价格日历状态变更请求"
- }
- },
- {
- "name": "staffType",
- "in": "path",
- "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/{staffId}": {
- "get": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "服务人员详情",
- "description": "获取服务人员完整信息,包含素材URL、标签、技能描述等。\n\n**关联字典**:\n- staff_type:人员类型(详情显示)\n- guide_level:导游等级(详情显示)\n- driver_license_type:驾照类型(详情显示)\n- language:语言能力(详情显示)\n- guide_specialty:导游专长(详情显示)\n- guide_service_area:服务区域(详情显示)",
- "operationId": "getStaffUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "staffId",
- "in": "path",
- "description": "人员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员详情VO»",
- "originalRef": "统一响应结果«服务人员详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员详情VO»",
- "originalRef": "统一响应结果«服务人员详情VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "更新服务人员",
- "description": "更新服务人员基本信息,不改变当前状态。\n\n**关联字典**:\n- staff_type:人员类型(表单选择)\n- guide_level:导游等级(表单选择)\n- driver_license_type:驾照类型(表单选择)\n- language:语言能力(表单多选)\n- guide_specialty:导游专长(表单多选)\n- guide_service_area:服务区域(表单多选)",
- "operationId": "updateStaffUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "服务人员更新请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/服务人员更新请求",
- "originalRef": "服务人员更新请求"
- }
- },
- {
- "name": "staffId",
- "in": "path",
- "description": "人员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员详情VO»",
- "originalRef": "统一响应结果«服务人员详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«服务人员详情VO»",
- "originalRef": "统一响应结果«服务人员详情VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "删除服务人员",
- "description": "软删除服务人员。仅SUPER_ADMIN或创建者可操作。",
- "operationId": "deleteStaffUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "staffId",
- "in": "path",
- "description": "人员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/{staffId}/status": {
- "put": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "更新状态",
- "description": "直接修改人员状态(跳过审批),仅限SUPER_ADMIN。状态值:0=下架,1=上架。",
- "operationId": "updateStatusUsingPUT_7",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "状态请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员状态请求",
- "originalRef": "人员状态请求"
- }
- },
- {
- "name": "staffId",
- "in": "path",
- "description": "人员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/{staffId}/submit-approval": {
- "post": {
- "tags": [
- "服务人员管理"
- ],
- "summary": "提交审批",
- "description": "向企微OA提交人员启用/禁用审批。targetStatus=1申请启用,targetStatus=2申请禁用。返回审批单号spNo。",
- "operationId": "submitApprovalUsingPOST_8",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "审批提交请求体",
- "required": false,
- "schema": {
- "$ref": "#/definitions/人员审批提交请求",
- "originalRef": "人员审批提交请求"
- }
- },
- {
- "name": "staffId",
- "in": "path",
- "description": "人员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Map«string,string»»",
- "originalRef": "统一响应结果«Map«string,string»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/staff/{staffId}/tags": {
- "put": {
- "tags": [
- "服务人员标签管理"
- ],
- "summary": "设置人员标签",
- "description": "全量替换指定人员的标签列表。",
- "operationId": "updateStaffTagsUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "标签ID列表请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/设置人员标签请求",
- "originalRef": "设置人员标签请求"
- }
- },
- {
- "name": "staffId",
- "in": "path",
- "description": "人员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "Map«string,string»": {
- "type": "object",
- "title": "Map«string,string»",
- "additionalProperties": {
- "type": "string"
- }
- },
- "价格日历批量设置请求": {
- "type": "object",
- "required": [
- "costPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "costPrice": {
- "type": "number",
- "example": 150.0,
- "description": "成本价(元)"
- },
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "excludeDates": {
- "type": "array",
- "example": [
- "2026-03-08",
- "2026-03-15"
- ],
- "description": "排除的日期列表",
- "items": {
- "type": "string"
- }
- },
- "remark": {
- "type": "string",
- "example": "春季特价",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "选中的星期(1=周一...7=周日),为空时不做过滤",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "AVAILABLE",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "库存数量"
- },
- "weekdayOnly": {
- "type": "boolean",
- "example": false,
- "description": "仅工作日"
- },
- "weekendOnly": {
- "type": "boolean",
- "example": false,
- "description": "仅周末"
- }
- },
- "title": "价格日历批量设置请求"
- },
- "价格日历日数据": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "成本价(元)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "总库存"
- },
- "stockUsed": {
- "type": "integer",
- "format": "int32",
- "description": "已用库存"
- }
- },
- "title": "价格日历日数据"
- },
- "价格日历月视图": {
- "type": "object",
- "properties": {
- "month": {
- "type": "integer",
- "format": "int32",
- "description": "月份"
- },
- "prices": {
- "type": "array",
- "description": "每日价格列表",
- "items": {
- "$ref": "#/definitions/价格日历日数据",
- "originalRef": "价格日历日数据"
- }
- },
- "scenicId": {
- "type": "string",
- "description": "景区ID"
- },
- "scenicName": {
- "type": "string",
- "description": "景区名称"
- },
- "stockEnabled": {
- "type": "boolean",
- "description": "是否启用库存管理"
- },
- "year": {
- "type": "integer",
- "format": "int32",
- "description": "年份"
- }
- },
- "title": "价格日历月视图"
- },
- "价格日历状态变更请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "status"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "CLOSED",
- "description": "目标状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- }
- },
- "title": "价格日历状态变更请求"
- },
- "分页结果«景区列表项»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/景区列表项",
- "originalRef": "景区列表项"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«景区列表项»"
- },
- "分页结果«景区标签»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/景区标签",
- "originalRef": "景区标签"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«景区标签»"
- },
- "审批提交请求": {
- "type": "object",
- "required": [
- "reason",
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "内容审核完毕,申请上架",
- "description": "审批理由"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "审批提交请求"
- },
- "景区列表项": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批编号(审批中时有值)"
- },
- "cityName": {
- "type": "string",
- "description": "所在城市"
- },
- "contactPerson": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "highlights": {
- "type": "string",
- "description": "亮点简介"
- },
- "honors": {
- "type": "array",
- "description": "荣誉称号列表",
- "items": {
- "type": "string"
- }
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "景区名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "reviewCount": {
- "type": "integer",
- "format": "int32",
- "description": "评论数"
- },
- "scenicId": {
- "type": "string",
- "description": "景区ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/景区标签",
- "originalRef": "景区标签"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "景区列表项"
- },
- "景区创建请求": {
- "type": "object",
- "required": [
- "city",
- "cityName",
- "latitude",
- "longitude",
- "name",
- "province"
- ],
- "properties": {
- "address": {
- "type": "string",
- "example": "西湖风景名胜区",
- "description": "详细地址"
- },
- "arrangement": {
- "type": "string",
- "description": "行程安排(富文本JSON)"
- },
- "backupContactPerson": {
- "type": "string",
- "description": "备用联系人姓名"
- },
- "backupContactPhone": {
- "type": "string",
- "description": "备用联系人电话"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "city": {
- "type": "string",
- "example": "杭州市",
- "description": "城市(行政区划)"
- },
- "cityName": {
- "type": "string",
- "example": "杭州",
- "description": "所在城市(展示用)"
- },
- "closedDay": {
- "type": "string",
- "example": "每周一",
- "description": "闭园日"
- },
- "contactPerson": {
- "type": "string",
- "example": "张三",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系人电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "cultureExperience": {
- "type": "string",
- "description": "文化体验(富文本JSON)"
- },
- "description": {
- "type": "string",
- "description": "景区描述"
- },
- "detailContent": {
- "type": "string",
- "description": "详情内容(富文本JSON)"
- },
- "district": {
- "type": "string",
- "example": "西湖区",
- "description": "区/县"
- },
- "facilities": {
- "type": "array",
- "example": [
- "parking",
- "wifi",
- "toilet"
- ],
- "description": "设施编码列表",
- "items": {
- "type": "string"
- }
- },
- "featureIntro": {
- "type": "string",
- "description": "特色介绍(富文本JSON)"
- },
- "highlightSpots": {
- "type": "string",
- "description": "亮点景点(富文本JSON)"
- },
- "highlights": {
- "type": "string",
- "example": "湖光山色,人间天堂",
- "description": "亮点简介"
- },
- "honors": {
- "type": "array",
- "example": [
- "5A级景区",
- "世界遗产"
- ],
- "description": "荣誉称号列表",
- "items": {
- "type": "string"
- }
- },
- "interactiveExperience": {
- "type": "string",
- "description": "互动体验(富文本JSON)"
- },
- "latitude": {
- "type": "number",
- "example": 30.2617,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 120.1536,
- "description": "经度"
- },
- "name": {
- "type": "string",
- "example": "杭州西湖",
- "description": "景区名称"
- },
- "openTime": {
- "type": "string",
- "example": "08:00-17:30",
- "description": "开放时间"
- },
- "photographyGuide": {
- "type": "string",
- "description": "摄影指南(富文本JSON)"
- },
- "province": {
- "type": "string",
- "example": "浙江省",
- "description": "省份"
- },
- "sceneryExperience": {
- "type": "string",
- "description": "风景体验(富文本JSON)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,越大越靠前"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "状态:0=下架 1=上架"
- },
- "travelPrep": {
- "type": "string",
- "description": "出行准备(富文本JSON)"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区创建请求"
- },
- "景区季节保存请求": {
- "type": "object",
- "required": [
- "monthEnd",
- "monthStart"
- ],
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "季节描述"
- },
- "highlights": {
- "type": "string",
- "description": "季节亮点"
- },
- "monthEnd": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "结束月份(1-12)"
- },
- "monthStart": {
- "type": "integer",
- "format": "int32",
- "example": 3,
- "description": "开始月份(1-12)"
- },
- "playGuide": {
- "type": "string",
- "description": "游玩攻略(富文本JSON)"
- },
- "seasonName": {
- "type": "string",
- "example": "樱花季",
- "description": "季节别名"
- },
- "tips": {
- "type": "string",
- "description": "温馨提示"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区季节保存请求"
- },
- "景区季节内容": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "轮播图URL列表",
- "items": {
- "type": "string"
- }
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "季节描述"
- },
- "highlights": {
- "type": "string",
- "description": "季节亮点"
- },
- "monthEnd": {
- "type": "integer",
- "format": "int32",
- "description": "结束月份"
- },
- "monthStart": {
- "type": "integer",
- "format": "int32",
- "description": "开始月份"
- },
- "playGuide": {
- "type": "string",
- "description": "游玩攻略(富文本JSON)"
- },
- "scenicId": {
- "type": "string",
- "description": "景区ID"
- },
- "seasonId": {
- "type": "string",
- "description": "季节ID"
- },
- "seasonName": {
- "type": "string",
- "description": "季节别名"
- },
- "seasonType": {
- "type": "string",
- "description": "季节类型:spring/summer/autumn/winter"
- },
- "tips": {
- "type": "string",
- "description": "温馨提示"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区季节内容"
- },
- "景区批量删除请求": {
- "type": "object",
- "required": [
- "scenicIds"
- ],
- "properties": {
- "scenicIds": {
- "type": "array",
- "description": "景区ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区批量删除请求"
- },
- "景区批量标签操作请求": {
- "type": "object",
- "required": [
- "scenicIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "scenicIds": {
- "type": "array",
- "description": "景区ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区批量标签操作请求"
- },
- "景区更新请求": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "详细地址"
- },
- "arrangement": {
- "type": "string",
- "description": "行程安排(富文本JSON)"
- },
- "backupContactPerson": {
- "type": "string",
- "description": "备用联系人姓名"
- },
- "backupContactPhone": {
- "type": "string",
- "description": "备用联系人电话"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "city": {
- "type": "string",
- "example": "杭州市",
- "description": "城市(行政区划)"
- },
- "cityName": {
- "type": "string",
- "example": "杭州",
- "description": "所在城市(展示用)"
- },
- "closedDay": {
- "type": "string",
- "example": "每周一",
- "description": "闭园日"
- },
- "contactPerson": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "cultureExperience": {
- "type": "string",
- "description": "文化体验(富文本JSON)"
- },
- "description": {
- "type": "string",
- "description": "景区描述"
- },
- "detailContent": {
- "type": "string",
- "description": "详情内容(富文本JSON)"
- },
- "district": {
- "type": "string",
- "example": "西湖区",
- "description": "区/县"
- },
- "facilities": {
- "type": "array",
- "description": "设施编码列表",
- "items": {
- "type": "string"
- }
- },
- "featureIntro": {
- "type": "string",
- "description": "特色介绍(富文本JSON)"
- },
- "highlightSpots": {
- "type": "string",
- "description": "亮点景点(富文本JSON)"
- },
- "highlights": {
- "type": "string",
- "description": "亮点简介"
- },
- "honors": {
- "type": "array",
- "description": "荣誉称号列表",
- "items": {
- "type": "string"
- }
- },
- "interactiveExperience": {
- "type": "string",
- "description": "互动体验(富文本JSON)"
- },
- "latitude": {
- "type": "number",
- "example": 30.2617,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 120.1536,
- "description": "经度"
- },
- "name": {
- "type": "string",
- "example": "杭州西湖",
- "description": "景区名称"
- },
- "openTime": {
- "type": "string",
- "example": "08:00-17:30",
- "description": "开放时间"
- },
- "photographyGuide": {
- "type": "string",
- "description": "摄影指南(富文本JSON)"
- },
- "province": {
- "type": "string",
- "example": "浙江省",
- "description": "省份"
- },
- "sceneryExperience": {
- "type": "string",
- "description": "风景体验(富文本JSON)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重,越大越靠前"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "travelPrep": {
- "type": "string",
- "description": "出行准备(富文本JSON)"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区更新请求"
- },
- "景区标签": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=自定义 1=系统预设"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "景区标签"
- },
- "景区标签更新请求": {
- "type": "object",
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表(全量替换)",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "景区标签更新请求"
- },
- "景区状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "scenicIds": {
- "type": "array",
- "description": "景区ID列表",
- "items": {
- "type": "string"
- }
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "景区状态变更请求"
- },
- "景区详情": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "详细地址"
- },
- "arrangement": {
- "type": "string",
- "description": "行程安排(富文本JSON)"
- },
- "backupContactPerson": {
- "type": "string",
- "description": "备用联系人姓名"
- },
- "backupContactPhone": {
- "type": "string",
- "description": "备用联系人电话"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "轮播图URL列表",
- "items": {
- "type": "string"
- }
- },
- "city": {
- "type": "string",
- "description": "城市(行政区划)"
- },
- "cityName": {
- "type": "string",
- "description": "所在城市(展示用)"
- },
- "closedDay": {
- "type": "string",
- "description": "闭园日"
- },
- "contactPerson": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系人电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "cultureExperience": {
- "type": "string",
- "description": "文化体验(富文本JSON)"
- },
- "description": {
- "type": "string",
- "description": "景区描述"
- },
- "detailContent": {
- "type": "string",
- "description": "详情内容(富文本JSON)"
- },
- "district": {
- "type": "string",
- "description": "区/县"
- },
- "facilities": {
- "type": "array",
- "description": "设施编码列表",
- "items": {
- "type": "string"
- }
- },
- "facilityNames": {
- "type": "array",
- "description": "设施名称列表",
- "items": {
- "type": "string"
- }
- },
- "featureIntro": {
- "type": "string",
- "description": "特色介绍(富文本JSON)"
- },
- "highlightSpots": {
- "type": "string",
- "description": "亮点景点(富文本JSON)"
- },
- "highlights": {
- "type": "string",
- "description": "亮点简介"
- },
- "honors": {
- "type": "array",
- "description": "荣誉称号列表",
- "items": {
- "type": "string"
- }
- },
- "interactiveExperience": {
- "type": "string",
- "description": "互动体验(富文本JSON)"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "景区名称"
- },
- "openTime": {
- "type": "string",
- "description": "开放时间"
- },
- "photographyGuide": {
- "type": "string",
- "description": "摄影指南(富文本JSON)"
- },
- "province": {
- "type": "string",
- "description": "省份"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "reviewCount": {
- "type": "integer",
- "format": "int32",
- "description": "评论数"
- },
- "sceneryExperience": {
- "type": "string",
- "description": "风景体验(富文本JSON)"
- },
- "scenicId": {
- "type": "string",
- "description": "景区ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/景区标签",
- "originalRef": "景区标签"
- }
- },
- "travelPrep": {
- "type": "string",
- "description": "出行准备(富文本JSON)"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "景区详情"
- },
- "标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#409EFF",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "热门",
- "description": "标签名称"
- }
- },
- "title": "标签创建请求"
- },
- "标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#409EFF",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "热门",
- "description": "标签名称"
- }
- },
- "title": "标签更新请求"
- },
- "统一响应结果«List«景区季节内容»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/景区季节内容",
- "originalRef": "景区季节内容"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«景区季节内容»»"
- },
- "统一响应结果«List«景区标签»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/景区标签",
- "originalRef": "景区标签"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«景区标签»»"
- },
- "统一响应结果«Map«string,string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据",
- "additionalProperties": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Map«string,string»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«价格日历月视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/价格日历月视图",
- "originalRef": "价格日历月视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«价格日历月视图»"
- },
- "统一响应结果«分页结果«景区列表项»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«景区列表项»",
- "originalRef": "分页结果«景区列表项»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«景区列表项»»"
- },
- "统一响应结果«分页结果«景区标签»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«景区标签»",
- "originalRef": "分页结果«景区标签»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«景区标签»»"
- },
- "统一响应结果«景区季节内容»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/景区季节内容",
- "originalRef": "景区季节内容"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«景区季节内容»"
- },
- "统一响应结果«景区标签»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/景区标签",
- "originalRef": "景区标签"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«景区标签»"
- },
- "统一响应结果«景区详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/景区详情",
- "originalRef": "景区详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«景区详情»"
- },
- "分页结果«餐厅列表视图»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/餐厅列表视图",
- "originalRef": "餐厅列表视图"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«餐厅列表视图»"
- },
- "分页结果«餐厅标签视图»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/餐厅标签视图",
- "originalRef": "餐厅标签视图"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«餐厅标签视图»"
- },
- "统一响应结果«List«餐厅标签视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/餐厅标签视图",
- "originalRef": "餐厅标签视图"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«餐厅标签视图»»"
- },
- "统一响应结果«分页结果«餐厅列表视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«餐厅列表视图»",
- "originalRef": "分页结果«餐厅列表视图»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«餐厅列表视图»»"
- },
- "统一响应结果«分页结果«餐厅标签视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«餐厅标签视图»",
- "originalRef": "分页结果«餐厅标签视图»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«餐厅标签视图»»"
- },
- "统一响应结果«餐厅标签视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/餐厅标签视图",
- "originalRef": "餐厅标签视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«餐厅标签视图»"
- },
- "统一响应结果«餐厅详情视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/餐厅详情视图",
- "originalRef": "餐厅详情视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«餐厅详情视图»"
- },
- "餐厅列表视图": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批编号"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "cityName": {
- "type": "string",
- "description": "城市名称(纯文本)"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "cuisineType": {
- "type": "string",
- "description": "菜系类型编码"
- },
- "cuisineTypeName": {
- "type": "string",
- "description": "菜系类型名称"
- },
- "highlights": {
- "type": "string",
- "description": "亮点摘要"
- },
- "name": {
- "type": "string",
- "description": "餐厅名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "pricePerPerson": {
- "type": "number",
- "description": "人均消费(元)"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否 1=是"
- },
- "restaurantId": {
- "type": "string",
- "description": "餐厅ID"
- },
- "reviewCount": {
- "type": "integer",
- "format": "int32",
- "description": "评论数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/餐厅标签视图",
- "originalRef": "餐厅标签视图"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "餐厅列表视图"
- },
- "餐厅创建请求": {
- "type": "object",
- "required": [
- "categoryCode",
- "city",
- "cityName",
- "latitude",
- "longitude",
- "name",
- "province"
- ],
- "properties": {
- "address": {
- "type": "string",
- "example": "北京中路100号",
- "description": "详细地址"
- },
- "arrangement": {
- "type": "string",
- "description": "座位布局说明"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "businessHours": {
- "type": "string",
- "example": "10:00-22:00",
- "description": "营业时间"
- },
- "capacity": {
- "type": "integer",
- "format": "int32",
- "example": 80,
- "description": "容纳人数"
- },
- "categoryCode": {
- "type": "string",
- "example": "TIBETAN",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "example": "拉萨市",
- "description": "城市"
- },
- "cityName": {
- "type": "string",
- "example": "拉萨",
- "description": "城市名称(纯文本输入)"
- },
- "closedDay": {
- "type": "string",
- "example": "每周一",
- "description": "休息日"
- },
- "coverMaterialId": {
- "type": "string",
- "example": 1001,
- "description": "封面素材ID"
- },
- "cuisineType": {
- "type": "string",
- "example": "TIBETAN",
- "description": "菜系类型"
- },
- "description": {
- "type": "string",
- "description": "餐厅描述"
- },
- "district": {
- "type": "string",
- "example": "城关区",
- "description": "区县"
- },
- "environmentType": {
- "type": "string",
- "example": "INDOOR",
- "description": "环境类型"
- },
- "facilities": {
- "type": "array",
- "description": "设施列表",
- "items": {
- "type": "string"
- }
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(JSON格式)"
- },
- "featuredMenu": {
- "type": "string",
- "description": "招牌菜单(JSON格式)"
- },
- "groupSizeMax": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "最多接待人数"
- },
- "groupSizeMin": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最少成行人数"
- },
- "hasPrivateRoom": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否有包间:0=无 1=有"
- },
- "highlights": {
- "type": "string",
- "example": "地道藏餐、酥油茶、糌粑",
- "description": "亮点摘要"
- },
- "latitude": {
- "type": "number",
- "example": 29.66,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 91.132,
- "description": "经度"
- },
- "minAdvanceHours": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最少提前预约小时数"
- },
- "name": {
- "type": "string",
- "example": "云端藏餐",
- "description": "餐厅名称"
- },
- "phone": {
- "type": "string",
- "example": "0891-6812345",
- "description": "联系电话"
- },
- "pricePerPerson": {
- "type": "number",
- "example": 88.0,
- "description": "人均消费(元)"
- },
- "province": {
- "type": "string",
- "example": "西藏自治区",
- "description": "省份"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "是否推荐:0=否 1=是"
- },
- "reservationRequired": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "是否需要预约:0=否 1=是"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重(数字越大越靠前)"
- },
- "subtitle": {
- "type": "string",
- "example": "正宗藏式风味体验",
- "description": "副标题"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "餐厅创建请求"
- },
- "餐厅审批提交请求": {
- "type": "object",
- "required": [
- "reason",
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "餐厅信息已完善,申请上架",
- "description": "审批理由"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "餐厅审批提交请求"
- },
- "餐厅批量删除请求": {
- "type": "object",
- "required": [
- "restaurantIds"
- ],
- "properties": {
- "restaurantIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "餐厅ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "餐厅批量删除请求"
- },
- "餐厅批量标签操作请求": {
- "type": "object",
- "required": [
- "restaurantIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "example": [
- "10",
- "11"
- ],
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "example": [
- "12"
- ],
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "restaurantIds": {
- "type": "array",
- "example": [
- "1",
- "2"
- ],
- "description": "餐厅ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "餐厅批量标签操作请求"
- },
- "餐厅更新请求": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "example": "北京中路100号",
- "description": "详细地址"
- },
- "arrangement": {
- "type": "string",
- "description": "座位布局说明"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "businessHours": {
- "type": "string",
- "example": "10:00-22:00",
- "description": "营业时间"
- },
- "capacity": {
- "type": "integer",
- "format": "int32",
- "example": 80,
- "description": "容纳人数"
- },
- "categoryCode": {
- "type": "string",
- "example": "TIBETAN",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "example": "拉萨市",
- "description": "城市"
- },
- "cityName": {
- "type": "string",
- "example": "拉萨",
- "description": "城市名称(纯文本输入)"
- },
- "closedDay": {
- "type": "string",
- "example": "每周一",
- "description": "休息日"
- },
- "coverMaterialId": {
- "type": "string",
- "example": 1001,
- "description": "封面素材ID"
- },
- "cuisineType": {
- "type": "string",
- "example": "TIBETAN",
- "description": "菜系类型"
- },
- "description": {
- "type": "string",
- "description": "餐厅描述"
- },
- "district": {
- "type": "string",
- "example": "城关区",
- "description": "区县"
- },
- "environmentType": {
- "type": "string",
- "example": "INDOOR",
- "description": "环境类型"
- },
- "facilities": {
- "type": "array",
- "description": "设施列表",
- "items": {
- "type": "string"
- }
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(JSON格式)"
- },
- "featuredMenu": {
- "type": "string",
- "description": "招牌菜单(JSON格式)"
- },
- "groupSizeMax": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "最多接待人数"
- },
- "groupSizeMin": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最少成行人数"
- },
- "hasPrivateRoom": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否有包间:0=无 1=有"
- },
- "highlights": {
- "type": "string",
- "example": "地道藏餐、酥油茶、糌粑",
- "description": "亮点摘要"
- },
- "latitude": {
- "type": "number",
- "example": 29.66,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 91.132,
- "description": "经度"
- },
- "minAdvanceHours": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最少提前预约小时数"
- },
- "name": {
- "type": "string",
- "example": "云端藏餐",
- "description": "餐厅名称"
- },
- "phone": {
- "type": "string",
- "example": "0891-6812345",
- "description": "联系电话"
- },
- "pricePerPerson": {
- "type": "number",
- "example": 88.0,
- "description": "人均消费(元)"
- },
- "province": {
- "type": "string",
- "example": "西藏自治区",
- "description": "省份"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "是否推荐:0=否 1=是"
- },
- "reservationRequired": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "是否需要预约:0=否 1=是"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重(数字越大越靠前)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "example": "正宗藏式风味体验",
- "description": "副标题"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "餐厅更新请求"
- },
- "餐厅标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF5733",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "藏餐",
- "description": "标签名称"
- }
- },
- "title": "餐厅标签创建请求"
- },
- "餐厅标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF5733",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "藏餐",
- "description": "标签名称"
- }
- },
- "title": "餐厅标签更新请求"
- },
- "餐厅标签更新请求_1": {
- "type": "object",
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "餐厅标签更新请求_1"
- },
- "餐厅标签视图": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:1=系统标签 2=自定义标签"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "餐厅标签视图"
- },
- "餐厅状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "restaurantIds": {
- "type": "array",
- "description": "餐厅ID列表(批量操作)",
- "items": {
- "type": "string"
- }
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "餐厅状态变更请求"
- },
- "餐厅详情视图": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "详细地址"
- },
- "arrangement": {
- "type": "string",
- "description": "座位布局说明"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "轮播图URL列表",
- "items": {
- "type": "string"
- }
- },
- "businessHours": {
- "type": "string",
- "description": "营业时间"
- },
- "capacity": {
- "type": "integer",
- "format": "int32",
- "description": "容纳人数"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "cityName": {
- "type": "string",
- "description": "城市名称(纯文本)"
- },
- "closedDay": {
- "type": "string",
- "description": "休息日"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "cuisineType": {
- "type": "string",
- "description": "菜系类型编码"
- },
- "cuisineTypeName": {
- "type": "string",
- "description": "菜系类型名称"
- },
- "description": {
- "type": "string",
- "description": "餐厅描述"
- },
- "district": {
- "type": "string",
- "description": "区县"
- },
- "environmentType": {
- "type": "string",
- "description": "环境类型"
- },
- "facilities": {
- "type": "array",
- "description": "设施编码列表",
- "items": {
- "type": "string"
- }
- },
- "facilityNames": {
- "type": "array",
- "description": "设施名称列表",
- "items": {
- "type": "string"
- }
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(JSON格式)"
- },
- "featuredMenu": {
- "type": "string",
- "description": "招牌菜单(JSON格式)"
- },
- "groupSizeMax": {
- "type": "integer",
- "format": "int32",
- "description": "最多接待人数"
- },
- "groupSizeMin": {
- "type": "integer",
- "format": "int32",
- "description": "最少成行人数"
- },
- "hasPrivateRoom": {
- "type": "integer",
- "format": "int32",
- "description": "是否有包间:0=无 1=有"
- },
- "highlights": {
- "type": "string",
- "description": "亮点摘要"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "minAdvanceHours": {
- "type": "integer",
- "format": "int32",
- "description": "最少提前预约小时数"
- },
- "name": {
- "type": "string",
- "description": "餐厅名称"
- },
- "phone": {
- "type": "string",
- "description": "联系电话"
- },
- "pricePerPerson": {
- "type": "number",
- "description": "人均消费(元)"
- },
- "province": {
- "type": "string",
- "description": "省份"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否 1=是"
- },
- "reservationRequired": {
- "type": "integer",
- "format": "int32",
- "description": "是否需要预约:0=否 1=是"
- },
- "restaurantId": {
- "type": "string",
- "description": "餐厅ID"
- },
- "reviewCount": {
- "type": "integer",
- "format": "int32",
- "description": "评论数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/餐厅标签视图",
- "originalRef": "餐厅标签视图"
- }
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "餐厅详情视图"
- },
- "分页结果«备品列表视图»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/备品列表视图",
- "originalRef": "备品列表视图"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«备品列表视图»"
- },
- "分页结果«备品标签视图»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/备品标签视图",
- "originalRef": "备品标签视图"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«备品标签视图»"
- },
- "备品列表视图": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批编号"
- },
- "basePrice": {
- "type": "number",
- "description": "基础单价(元)"
- },
- "billingType": {
- "type": "string",
- "description": "计费方式编码"
- },
- "billingTypeName": {
- "type": "string",
- "description": "计费方式名称"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "highlights": {
- "type": "string",
- "description": "亮点摘要"
- },
- "name": {
- "type": "string",
- "description": "备品名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否 1=是"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "suppliesId": {
- "type": "string",
- "description": "备品ID"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/备品标签视图",
- "originalRef": "备品标签视图"
- }
- },
- "unit": {
- "type": "string",
- "description": "计量单位"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "备品列表视图"
- },
- "备品创建请求": {
- "type": "object",
- "required": [
- "basePrice",
- "billingType",
- "categoryCode",
- "name"
- ],
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 25.0,
- "description": "基础单价(元)"
- },
- "billingType": {
- "type": "string",
- "example": "PER_ITEM",
- "description": "计费方式:PER_ITEM=按件 PER_DAY=按天"
- },
- "brand": {
- "type": "string",
- "example": "Black Diamond",
- "description": "品牌"
- },
- "categoryCode": {
- "type": "string",
- "example": "OUTDOOR_GEAR",
- "description": "分类编码"
- },
- "coverMaterialId": {
- "type": "string",
- "example": 1001,
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "备品描述"
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(JSON格式)"
- },
- "highlights": {
- "type": "string",
- "example": "超轻碳纤维材质,可折叠收纳",
- "description": "亮点摘要"
- },
- "includes": {
- "type": "array",
- "description": "包含物品清单",
- "items": {
- "type": "string"
- }
- },
- "model": {
- "type": "string",
- "example": "Trail Ergo Cork",
- "description": "型号"
- },
- "name": {
- "type": "string",
- "example": "登山杖",
- "description": "备品名称"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "是否推荐:0=否 1=是"
- },
- "sizeOptions": {
- "type": "array",
- "description": "可选尺码列表",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重(数字越大越靠前)"
- },
- "specifications": {
- "type": "string",
- "description": "规格参数(JSON格式)"
- },
- "subtitle": {
- "type": "string",
- "example": "碳纤维轻量登山杖",
- "description": "副标题"
- },
- "unit": {
- "type": "string",
- "example": "根",
- "description": "计量单位"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用注意事项"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "weight": {
- "type": "number",
- "example": 0.35,
- "description": "重量(kg)"
- }
- },
- "title": "备品创建请求"
- },
- "备品审批提交请求": {
- "type": "object",
- "required": [
- "reason",
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "备品信息已完善,申请上架",
- "description": "审批理由"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "备品审批提交请求"
- },
- "备品批量删除请求": {
- "type": "object",
- "required": [
- "suppliesIds"
- ],
- "properties": {
- "suppliesIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "备品ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "备品批量删除请求"
- },
- "备品批量标签操作请求": {
- "type": "object",
- "required": [
- "suppliesIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "example": [
- "10",
- "11"
- ],
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "example": [
- "12"
- ],
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "suppliesIds": {
- "type": "array",
- "example": [
- "1",
- "2"
- ],
- "description": "备品ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "备品批量标签操作请求"
- },
- "备品更新请求": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 25.0,
- "description": "基础单价(元)"
- },
- "billingType": {
- "type": "string",
- "example": "PER_ITEM",
- "description": "计费方式:PER_ITEM=按件 PER_DAY=按天"
- },
- "brand": {
- "type": "string",
- "example": "Black Diamond",
- "description": "品牌"
- },
- "categoryCode": {
- "type": "string",
- "example": "OUTDOOR_GEAR",
- "description": "分类编码"
- },
- "coverMaterialId": {
- "type": "string",
- "example": 1001,
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "备品描述"
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(JSON格式)"
- },
- "highlights": {
- "type": "string",
- "example": "超轻碳纤维材质,可折叠收纳",
- "description": "亮点摘要"
- },
- "includes": {
- "type": "array",
- "description": "包含物品清单",
- "items": {
- "type": "string"
- }
- },
- "model": {
- "type": "string",
- "example": "Trail Ergo Cork",
- "description": "型号"
- },
- "name": {
- "type": "string",
- "example": "登山杖",
- "description": "备品名称"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "是否推荐:0=否 1=是"
- },
- "sizeOptions": {
- "type": "array",
- "description": "可选尺码列表",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重(数字越大越靠前)"
- },
- "specifications": {
- "type": "string",
- "description": "规格参数(JSON格式)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "example": "碳纤维轻量登山杖",
- "description": "副标题"
- },
- "unit": {
- "type": "string",
- "example": "根",
- "description": "计量单位"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用注意事项"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "weight": {
- "type": "number",
- "example": 0.35,
- "description": "重量(kg)"
- }
- },
- "title": "备品更新请求"
- },
- "备品标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF5733",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "户外装备",
- "description": "标签名称"
- }
- },
- "title": "备品标签创建请求"
- },
- "备品标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF5733",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "户外装备",
- "description": "标签名称"
- }
- },
- "title": "备品标签更新请求"
- },
- "备品标签更新请求_1": {
- "type": "object",
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "备品标签更新请求_1"
- },
- "备品标签视图": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:1=系统标签 2=自定义标签"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "备品标签视图"
- },
- "备品状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- },
- "suppliesIds": {
- "type": "array",
- "description": "备品ID列表(批量操作)",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "备品状态变更请求"
- },
- "备品详情视图": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "轮播图URL列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "description": "基础单价(元)"
- },
- "billingType": {
- "type": "string",
- "description": "计费方式编码"
- },
- "billingTypeName": {
- "type": "string",
- "description": "计费方式名称"
- },
- "brand": {
- "type": "string",
- "description": "品牌"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "categoryName": {
- "type": "string",
- "description": "分类名称"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "createdByName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "description": {
- "type": "string",
- "description": "备品描述"
- },
- "featureIntro": {
- "type": "string",
- "description": "图文详情(JSON格式)"
- },
- "highlights": {
- "type": "string",
- "description": "亮点摘要"
- },
- "includes": {
- "type": "array",
- "description": "包含物品清单",
- "items": {
- "type": "string"
- }
- },
- "model": {
- "type": "string",
- "description": "型号"
- },
- "name": {
- "type": "string",
- "description": "备品名称"
- },
- "recommended": {
- "type": "integer",
- "format": "int32",
- "description": "是否推荐:0=否 1=是"
- },
- "sizeOptions": {
- "type": "array",
- "description": "可选尺码列表",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "specifications": {
- "type": "string",
- "description": "规格参数(JSON格式)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "suppliesId": {
- "type": "string",
- "description": "备品ID"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/备品标签视图",
- "originalRef": "备品标签视图"
- }
- },
- "unit": {
- "type": "string",
- "description": "计量单位"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用注意事项"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- },
- "weight": {
- "type": "number",
- "description": "重量(kg)"
- }
- },
- "title": "备品详情视图"
- },
- "统一响应结果«List«备品标签视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/备品标签视图",
- "originalRef": "备品标签视图"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«备品标签视图»»"
- },
- "统一响应结果«分页结果«备品列表视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«备品列表视图»",
- "originalRef": "分页结果«备品列表视图»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«备品列表视图»»"
- },
- "统一响应结果«分页结果«备品标签视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«备品标签视图»",
- "originalRef": "分页结果«备品标签视图»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«备品标签视图»»"
- },
- "统一响应结果«备品标签视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/备品标签视图",
- "originalRef": "备品标签视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«备品标签视图»"
- },
- "统一响应结果«备品详情视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/备品详情视图",
- "originalRef": "备品详情视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«备品详情视图»"
- },
- "分页结果«活动标签视图»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/活动标签视图",
- "originalRef": "活动标签视图"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«活动标签视图»"
- },
- "分页结果«活动项目列表视图»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/活动项目列表视图",
- "originalRef": "活动项目列表视图"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«活动项目列表视图»"
- },
- "活动价格日历日视图": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "成本价(元)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "库存数量"
- },
- "stockUsed": {
- "type": "integer",
- "format": "int32",
- "description": "已用库存"
- }
- },
- "title": "活动价格日历日视图"
- },
- "活动价格日历状态变更请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "status"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "remark": {
- "type": "string",
- "example": "临时关闭",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "CLOSED",
- "description": "目标状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- }
- },
- "title": "活动价格日历状态变更请求"
- },
- "活动价格日历视图": {
- "type": "object",
- "properties": {
- "activityId": {
- "type": "string",
- "description": "活动项目ID"
- },
- "activityName": {
- "type": "string",
- "description": "活动项目名称"
- },
- "month": {
- "type": "integer",
- "format": "int32",
- "description": "月份"
- },
- "prices": {
- "type": "array",
- "description": "价格日历每日数据列表",
- "items": {
- "$ref": "#/definitions/活动价格日历日视图",
- "originalRef": "活动价格日历日视图"
- }
- },
- "stockEnabled": {
- "type": "boolean",
- "description": "是否启用库存管理"
- },
- "year": {
- "type": "integer",
- "format": "int32",
- "description": "年份"
- }
- },
- "title": "活动价格日历视图"
- },
- "活动价格日历设置请求": {
- "type": "object",
- "required": [
- "costPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "costPrice": {
- "type": "number",
- "example": 150.0,
- "description": "成本价(元)"
- },
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "excludeDates": {
- "type": "array",
- "example": [
- "2026-03-08",
- "2026-03-15"
- ],
- "description": "排除日期列表",
- "items": {
- "type": "string"
- }
- },
- "remark": {
- "type": "string",
- "example": "旺季价格",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "指定星期几(1=周一 7=周日)",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "AVAILABLE",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 50,
- "description": "库存数量"
- },
- "weekdayOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅工作日"
- },
- "weekendOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅周末"
- }
- },
- "title": "活动价格日历设置请求"
- },
- "活动标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF5733",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "户外探险",
- "description": "标签名称"
- }
- },
- "title": "活动标签创建请求"
- },
- "活动标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF5733",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "户外探险",
- "description": "标签名称"
- }
- },
- "title": "活动标签更新请求"
- },
- "活动标签视图": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:1=系统标签 2=自定义标签"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "活动标签视图"
- },
- "活动项目列表视图": {
- "type": "object",
- "properties": {
- "activityId": {
- "type": "string",
- "description": "活动项目ID"
- },
- "approvalNo": {
- "type": "string",
- "description": "审批编号"
- },
- "billingType": {
- "type": "string",
- "description": "计费方式编码"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "体验时长(分钟)"
- },
- "environmentType": {
- "type": "string",
- "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外"
- },
- "highlights": {
- "type": "string",
- "description": "项目亮点"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "项目名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "physicalLevel": {
- "type": "string",
- "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/活动标签视图",
- "originalRef": "活动标签视图"
- }
- },
- "unit": {
- "type": "string",
- "description": "计量单位"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- },
- "weatherDependent": {
- "type": "integer",
- "format": "int32",
- "description": "是否受天气影响:0=否 1=是"
- }
- },
- "title": "活动项目列表视图"
- },
- "活动项目创建请求": {
- "type": "object",
- "required": [
- "billingType",
- "categoryCode",
- "name"
- ],
- "properties": {
- "address": {
- "type": "string",
- "example": "拉萨河谷骑马基地",
- "description": "详细地址"
- },
- "ageMax": {
- "type": "integer",
- "format": "int32",
- "example": 65,
- "description": "最大年龄限制"
- },
- "ageMin": {
- "type": "integer",
- "format": "int32",
- "example": 8,
- "description": "最小年龄限制"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bestSeason": {
- "type": "string",
- "example": "5月-10月",
- "description": "最佳季节"
- },
- "billingType": {
- "type": "string",
- "example": "PER_PERSON",
- "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时"
- },
- "categoryCode": {
- "type": "string",
- "example": "OUTDOOR",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "example": "拉萨市",
- "description": "城市"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "example": 1001,
- "description": "封面素材ID"
- },
- "dailyCapacity": {
- "type": "integer",
- "format": "int32",
- "example": 50,
- "description": "每日接待上限"
- },
- "description": {
- "type": "string",
- "description": "项目描述"
- },
- "district": {
- "type": "string",
- "example": "城关区",
- "description": "区县"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "example": 120,
- "description": "体验时长(分钟)"
- },
- "environmentType": {
- "type": "string",
- "example": "OUTDOOR",
- "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外"
- },
- "groupSizeMax": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "单次最多人数"
- },
- "groupSizeMin": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最少成行人数"
- },
- "healthNotes": {
- "type": "string",
- "description": "健康须知"
- },
- "highlights": {
- "type": "string",
- "example": "专业马术教练全程指导",
- "description": "项目亮点"
- },
- "latitude": {
- "type": "number",
- "example": 29.66,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 91.132,
- "description": "经度"
- },
- "name": {
- "type": "string",
- "example": "高原骑马体验",
- "description": "项目名称"
- },
- "physicalLevel": {
- "type": "string",
- "example": "MEDIUM",
- "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高"
- },
- "providedEquipment": {
- "type": "string",
- "description": "提供装备说明"
- },
- "province": {
- "type": "string",
- "example": "西藏自治区",
- "description": "省份"
- },
- "requiredEquipment": {
- "type": "string",
- "description": "需自备装备说明"
- },
- "safetyNotes": {
- "type": "string",
- "description": "安全须知"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重(数字越大越靠前)"
- },
- "subtitle": {
- "type": "string",
- "example": "策马奔腾在雪域高原",
- "description": "副标题"
- },
- "unit": {
- "type": "string",
- "example": "人/次",
- "description": "计量单位"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用注意事项"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "weatherDependent": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否受天气影响:0=否 1=是"
- },
- "whatExcluded": {
- "type": "string",
- "description": "费用不包含说明"
- },
- "whatIncluded": {
- "type": "string",
- "description": "费用包含说明"
- }
- },
- "title": "活动项目创建请求"
- },
- "活动项目审批提交请求": {
- "type": "object",
- "required": [
- "reason",
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "活动信息已完善,申请上架",
- "description": "审批理由"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "活动项目审批提交请求"
- },
- "活动项目批量删除请求": {
- "type": "object",
- "required": [
- "activityIds"
- ],
- "properties": {
- "activityIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "活动项目ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "活动项目批量删除请求"
- },
- "活动项目批量标签操作请求": {
- "type": "object",
- "required": [
- "activityIds"
- ],
- "properties": {
- "activityIds": {
- "type": "array",
- "example": [
- "1",
- "2"
- ],
- "description": "活动项目ID列表",
- "items": {
- "type": "string"
- }
- },
- "addTagIds": {
- "type": "array",
- "example": [
- "10",
- "11"
- ],
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "example": [
- "12"
- ],
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "活动项目批量标签操作请求"
- },
- "活动项目更新请求": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "example": "拉萨河谷骑马基地",
- "description": "详细地址"
- },
- "ageMax": {
- "type": "integer",
- "format": "int32",
- "example": 65,
- "description": "最大年龄限制"
- },
- "ageMin": {
- "type": "integer",
- "format": "int32",
- "example": 8,
- "description": "最小年龄限制"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bestSeason": {
- "type": "string",
- "example": "5月-10月",
- "description": "最佳季节"
- },
- "billingType": {
- "type": "string",
- "example": "PER_PERSON",
- "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时"
- },
- "categoryCode": {
- "type": "string",
- "example": "OUTDOOR",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "example": "拉萨市",
- "description": "城市"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "example": 1001,
- "description": "封面素材ID"
- },
- "dailyCapacity": {
- "type": "integer",
- "format": "int32",
- "example": 50,
- "description": "每日接待上限"
- },
- "description": {
- "type": "string",
- "description": "项目描述"
- },
- "district": {
- "type": "string",
- "example": "城关区",
- "description": "区县"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "example": 120,
- "description": "体验时长(分钟)"
- },
- "environmentType": {
- "type": "string",
- "example": "OUTDOOR",
- "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外"
- },
- "groupSizeMax": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "单次最多人数"
- },
- "groupSizeMin": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最少成行人数"
- },
- "healthNotes": {
- "type": "string",
- "description": "健康须知"
- },
- "highlights": {
- "type": "string",
- "example": "专业马术教练全程指导",
- "description": "项目亮点"
- },
- "latitude": {
- "type": "number",
- "example": 29.66,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 91.132,
- "description": "经度"
- },
- "name": {
- "type": "string",
- "example": "高原骑马体验",
- "description": "项目名称"
- },
- "physicalLevel": {
- "type": "string",
- "example": "MEDIUM",
- "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高"
- },
- "providedEquipment": {
- "type": "string",
- "description": "提供装备说明"
- },
- "province": {
- "type": "string",
- "example": "西藏自治区",
- "description": "省份"
- },
- "requiredEquipment": {
- "type": "string",
- "description": "需自备装备说明"
- },
- "safetyNotes": {
- "type": "string",
- "description": "安全须知"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重(数字越大越靠前)"
- },
- "subtitle": {
- "type": "string",
- "example": "策马奔腾在雪域高原",
- "description": "副标题"
- },
- "unit": {
- "type": "string",
- "example": "人/次",
- "description": "计量单位"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用注意事项"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "weatherDependent": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否受天气影响:0=否 1=是"
- },
- "whatExcluded": {
- "type": "string",
- "description": "费用不包含说明"
- },
- "whatIncluded": {
- "type": "string",
- "description": "费用包含说明"
- }
- },
- "title": "活动项目更新请求"
- },
- "活动项目标签更新请求": {
- "type": "object",
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "活动项目标签更新请求"
- },
- "活动项目状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "activityIds": {
- "type": "array",
- "description": "活动项目ID列表(批量操作)",
- "items": {
- "type": "string"
- }
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "活动项目状态变更请求"
- },
- "活动项目详情视图": {
- "type": "object",
- "properties": {
- "activityId": {
- "type": "string",
- "description": "活动项目ID"
- },
- "address": {
- "type": "string",
- "description": "详细地址"
- },
- "ageMax": {
- "type": "integer",
- "format": "int32",
- "description": "最大年龄限制"
- },
- "ageMin": {
- "type": "integer",
- "format": "int32",
- "description": "最小年龄限制"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "轮播图素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "轮播图URL列表",
- "items": {
- "type": "string"
- }
- },
- "bestSeason": {
- "type": "string",
- "description": "最佳季节"
- },
- "billingType": {
- "type": "string",
- "description": "计费方式:PER_PERSON=按人 PER_GROUP=按团 PER_HOUR=按时"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建人ID"
- },
- "dailyCapacity": {
- "type": "integer",
- "format": "int32",
- "description": "每日接待上限"
- },
- "description": {
- "type": "string",
- "description": "项目描述"
- },
- "district": {
- "type": "string",
- "description": "区县"
- },
- "durationMinutes": {
- "type": "integer",
- "format": "int32",
- "description": "体验时长(分钟)"
- },
- "environmentType": {
- "type": "string",
- "description": "环境类型:INDOOR=室内 OUTDOOR=室外 BOTH=室内外"
- },
- "groupSizeMax": {
- "type": "integer",
- "format": "int32",
- "description": "单次最多人数"
- },
- "groupSizeMin": {
- "type": "integer",
- "format": "int32",
- "description": "最少成行人数"
- },
- "healthNotes": {
- "type": "string",
- "description": "健康须知"
- },
- "highlights": {
- "type": "string",
- "description": "项目亮点"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "项目名称"
- },
- "physicalLevel": {
- "type": "string",
- "description": "体力要求:LOW=低 MEDIUM=中 HIGH=高"
- },
- "providedEquipment": {
- "type": "string",
- "description": "提供装备说明"
- },
- "province": {
- "type": "string",
- "description": "省份"
- },
- "requiredEquipment": {
- "type": "string",
- "description": "需自备装备说明"
- },
- "safetyNotes": {
- "type": "string",
- "description": "安全须知"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/活动标签视图",
- "originalRef": "活动标签视图"
- }
- },
- "unit": {
- "type": "string",
- "description": "计量单位"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用注意事项"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- },
- "weatherDependent": {
- "type": "integer",
- "format": "int32",
- "description": "是否受天气影响:0=否 1=是"
- },
- "whatExcluded": {
- "type": "string",
- "description": "费用不包含说明"
- },
- "whatIncluded": {
- "type": "string",
- "description": "费用包含说明"
- }
- },
- "title": "活动项目详情视图"
- },
- "统一响应结果«List«活动标签视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/活动标签视图",
- "originalRef": "活动标签视图"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«活动标签视图»»"
- },
- "统一响应结果«分页结果«活动标签视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«活动标签视图»",
- "originalRef": "分页结果«活动标签视图»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«活动标签视图»»"
- },
- "统一响应结果«分页结果«活动项目列表视图»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«活动项目列表视图»",
- "originalRef": "分页结果«活动项目列表视图»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«活动项目列表视图»»"
- },
- "统一响应结果«活动价格日历视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/活动价格日历视图",
- "originalRef": "活动价格日历视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«活动价格日历视图»"
- },
- "统一响应结果«活动标签视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/活动标签视图",
- "originalRef": "活动标签视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«活动标签视图»"
- },
- "统一响应结果«活动项目详情视图»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/活动项目详情视图",
- "originalRef": "活动项目详情视图"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«活动项目详情视图»"
- },
- "Map«string,object»": {
- "type": "object",
- "title": "Map«string,object»",
- "additionalProperties": {
- "type": "object"
- }
- },
- "分页结果«酒店列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/酒店列表VO",
- "originalRef": "酒店列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«酒店列表VO»"
- },
- "分页结果«酒店标签VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/酒店标签VO",
- "originalRef": "酒店标签VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«酒店标签VO»"
- },
- "房型创建请求": {
- "type": "object",
- "required": [
- "bedType",
- "name",
- "roomCategory"
- ],
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 580.0,
- "description": "基础成本价(元)"
- },
- "bathroomType": {
- "type": "string",
- "example": "独立卫浴",
- "description": "卫浴类型"
- },
- "bedCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "床位数量"
- },
- "bedSize": {
- "type": "string",
- "example": "1.8m*2.0m",
- "description": "床尺寸"
- },
- "bedType": {
- "type": "string",
- "example": "大床",
- "description": "床型"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "房型描述"
- },
- "floorInfo": {
- "type": "string",
- "example": "3-8层",
- "description": "楼层信息"
- },
- "maxOccupancy": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最多入住人数"
- },
- "name": {
- "type": "string",
- "example": "豪华大床房",
- "description": "房型名称"
- },
- "roomArea": {
- "type": "number",
- "example": 45.0,
- "description": "房间面积(平方米)"
- },
- "roomCategory": {
- "type": "string",
- "example": "STANDARD",
- "description": "房型分类"
- },
- "roomFacilities": {
- "type": "string",
- "description": "房间设施(JSON)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "totalRooms": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "总房间数"
- },
- "videoMaterialId": {
- "type": "string",
- "description": "视频素材ID"
- },
- "windowType": {
- "type": "string",
- "example": "落地窗",
- "description": "窗型"
- }
- },
- "title": "房型创建请求"
- },
- "房型更新请求": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 580.0,
- "description": "基础成本价(元)"
- },
- "bathroomType": {
- "type": "string",
- "example": "独立卫浴",
- "description": "卫浴类型"
- },
- "bedCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "床位数量"
- },
- "bedSize": {
- "type": "string",
- "example": "1.8m*2.0m",
- "description": "床尺寸"
- },
- "bedType": {
- "type": "string",
- "example": "大床",
- "description": "床型"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "房型描述"
- },
- "floorInfo": {
- "type": "string",
- "example": "3-8层",
- "description": "楼层信息"
- },
- "maxOccupancy": {
- "type": "integer",
- "format": "int32",
- "example": 2,
- "description": "最多入住人数"
- },
- "name": {
- "type": "string",
- "example": "豪华大床房",
- "description": "房型名称"
- },
- "roomArea": {
- "type": "number",
- "example": 45.0,
- "description": "房间面积(平方米)"
- },
- "roomCategory": {
- "type": "string",
- "example": "STANDARD",
- "description": "房型分类"
- },
- "roomFacilities": {
- "type": "string",
- "description": "房间设施(JSON)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "totalRooms": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "总房间数"
- },
- "videoMaterialId": {
- "type": "string",
- "description": "视频素材ID"
- },
- "windowType": {
- "type": "string",
- "example": "落地窗",
- "description": "窗型"
- }
- },
- "title": "房型更新请求"
- },
- "房型状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=下架 1=上架"
- }
- },
- "title": "房型状态变更请求"
- },
- "房型详情VO": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "横幅图URL列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "description": "基础成本价(元)"
- },
- "bathroomType": {
- "type": "string",
- "description": "卫浴类型"
- },
- "bedCount": {
- "type": "integer",
- "format": "int32",
- "description": "床位数量"
- },
- "bedSize": {
- "type": "string",
- "description": "床尺寸"
- },
- "bedType": {
- "type": "string",
- "description": "床型"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "房型描述"
- },
- "floorInfo": {
- "type": "string",
- "description": "楼层信息"
- },
- "hotelId": {
- "type": "string",
- "description": "所属酒店ID"
- },
- "maxOccupancy": {
- "type": "integer",
- "format": "int32",
- "description": "最多入住人数"
- },
- "name": {
- "type": "string",
- "description": "房型名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "roomArea": {
- "type": "number",
- "description": "房间面积(平方米)"
- },
- "roomCategory": {
- "type": "string",
- "description": "房型分类"
- },
- "roomFacilities": {
- "type": "string",
- "description": "房间设施(JSON)"
- },
- "roomTypeId": {
- "type": "string",
- "description": "房型ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "totalRooms": {
- "type": "integer",
- "format": "int32",
- "description": "总房间数"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "videoMaterialId": {
- "type": "string",
- "description": "视频素材ID"
- },
- "videoUrl": {
- "type": "string",
- "description": "视频URL"
- },
- "windowType": {
- "type": "string",
- "description": "窗型"
- }
- },
- "title": "房型详情VO"
- },
- "统一响应结果«List«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/Map«string,object»",
- "originalRef": "Map«string,object»"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«Map«string,object»»»"
- },
- "统一响应结果«List«房型详情VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/房型详情VO",
- "originalRef": "房型详情VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«房型详情VO»»"
- },
- "统一响应结果«List«酒店标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/酒店标签VO",
- "originalRef": "酒店标签VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«酒店标签VO»»"
- },
- "统一响应结果«分页结果«酒店列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«酒店列表VO»",
- "originalRef": "分页结果«酒店列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«酒店列表VO»»"
- },
- "统一响应结果«分页结果«酒店标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«酒店标签VO»",
- "originalRef": "分页结果«酒店标签VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«酒店标签VO»»"
- },
- "统一响应结果«房型详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/房型详情VO",
- "originalRef": "房型详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«房型详情VO»"
- },
- "统一响应结果«酒店房型价格日历VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/酒店房型价格日历VO",
- "originalRef": "酒店房型价格日历VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«酒店房型价格日历VO»"
- },
- "统一响应结果«酒店标签VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/酒店标签VO",
- "originalRef": "酒店标签VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«酒店标签VO»"
- },
- "统一响应结果«酒店详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/酒店详情VO",
- "originalRef": "酒店详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«酒店详情VO»"
- },
- "酒店列表VO": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "diamondLevel": {
- "type": "integer",
- "format": "int32",
- "description": "钻级:0-5"
- },
- "hotelId": {
- "type": "string",
- "description": "酒店ID"
- },
- "hotelType": {
- "type": "string",
- "description": "住宿类型"
- },
- "name": {
- "type": "string",
- "description": "酒店名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "roomTypeCount": {
- "type": "integer",
- "format": "int32",
- "description": "房型数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "starLevel": {
- "type": "string",
- "description": "星级(字典: hotel_star_level)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/酒店标签VO",
- "originalRef": "酒店标签VO"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "酒店列表VO"
- },
- "酒店创建请求": {
- "type": "object",
- "required": [
- "address",
- "hotelType",
- "latitude",
- "longitude",
- "name"
- ],
- "properties": {
- "address": {
- "type": "string",
- "example": "束河古镇悦榕路1号",
- "description": "详细地址"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "checkInNotes": {
- "type": "string",
- "description": "入住须知"
- },
- "checkInTime": {
- "type": "string",
- "example": "14:00",
- "description": "入住时间"
- },
- "checkOutTime": {
- "type": "string",
- "example": "12:00",
- "description": "退房时间"
- },
- "city": {
- "type": "string",
- "example": "丽江市",
- "description": "城市"
- },
- "contactPerson": {
- "type": "string",
- "example": "张经理",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "酒店描述"
- },
- "diamondLevel": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "钻级:0-5"
- },
- "district": {
- "type": "string",
- "example": "古城区",
- "description": "区县"
- },
- "facilities": {
- "type": "string",
- "description": "设施配置(JSON)"
- },
- "highlights": {
- "type": "string",
- "description": "酒店亮点(JSON)"
- },
- "hotelType": {
- "type": "string",
- "example": "HOTEL",
- "description": "住宿类型"
- },
- "latitude": {
- "type": "number",
- "example": 26.8721,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 100.2134,
- "description": "经度"
- },
- "luggageInfo": {
- "type": "string",
- "description": "行李服务说明"
- },
- "name": {
- "type": "string",
- "example": "丽江悦榕庄",
- "description": "酒店名称"
- },
- "parkingInfo": {
- "type": "string",
- "description": "停车信息"
- },
- "province": {
- "type": "string",
- "example": "云南省",
- "description": "省份"
- },
- "roomSharePhone": {
- "type": "string",
- "example": 13800138002,
- "description": "合房电话"
- },
- "salesPhone": {
- "type": "string",
- "example": 13800138001,
- "description": "销售电话"
- },
- "shuttleInfo": {
- "type": "string",
- "description": "接驳服务说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "starLevel": {
- "type": "string",
- "example": "FIVE_STAR",
- "description": "星级(字典: hotel_star_level)"
- },
- "subtitle": {
- "type": "string",
- "example": "古城边的世外桃源",
- "description": "副标题"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "酒店创建请求"
- },
- "酒店审批提交请求": {
- "type": "object",
- "required": [
- "reason",
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "信息已核实,申请上架",
- "description": "审批理由"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "酒店审批提交请求"
- },
- "酒店房型价格日历VO": {
- "type": "object",
- "properties": {
- "hotelId": {
- "type": "string",
- "description": "酒店ID"
- },
- "month": {
- "type": "integer",
- "format": "int32",
- "description": "月份"
- },
- "prices": {
- "type": "array",
- "description": "价格日历明细列表",
- "items": {
- "$ref": "#/definitions/酒店房型价格日历日VO",
- "originalRef": "酒店房型价格日历日VO"
- }
- },
- "roomTypeId": {
- "type": "string",
- "description": "房型ID"
- },
- "roomTypeName": {
- "type": "string",
- "description": "房型名称"
- },
- "stockEnabled": {
- "type": "boolean",
- "description": "是否启用库存管理"
- },
- "year": {
- "type": "integer",
- "format": "int32",
- "description": "年份"
- }
- },
- "title": "酒店房型价格日历VO"
- },
- "酒店房型价格日历日VO": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "成本价(元)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "库存数量"
- },
- "stockUsed": {
- "type": "integer",
- "format": "int32",
- "description": "已用库存"
- }
- },
- "title": "酒店房型价格日历日VO"
- },
- "酒店房型价格日历状态变更请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "status"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期(yyyy-MM-dd)"
- },
- "remark": {
- "type": "string",
- "example": "临时关闭预订",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期(yyyy-MM-dd)"
- },
- "status": {
- "type": "string",
- "example": "CLOSED",
- "description": "目标状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- }
- },
- "title": "酒店房型价格日历状态变更请求"
- },
- "酒店房型价格日历设置请求": {
- "type": "object",
- "required": [
- "costPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "costPrice": {
- "type": "number",
- "example": 580.0,
- "description": "成本价(元)"
- },
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期(yyyy-MM-dd)"
- },
- "excludeDates": {
- "type": "array",
- "example": [
- "2026-03-08",
- "2026-03-15"
- ],
- "description": "排除日期列表",
- "items": {
- "type": "string"
- }
- },
- "remark": {
- "type": "string",
- "example": "旺季价格",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "指定星期几(1=周一 7=周日)",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期(yyyy-MM-dd)"
- },
- "status": {
- "type": "string",
- "example": "AVAILABLE",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "库存数量"
- },
- "weekdayOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅工作日"
- },
- "weekendOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅周末"
- }
- },
- "title": "酒店房型价格日历设置请求"
- },
- "酒店批量删除请求": {
- "type": "object",
- "required": [
- "hotelIds"
- ],
- "properties": {
- "hotelIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "酒店ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "酒店批量删除请求"
- },
- "酒店批量标签操作请求": {
- "type": "object",
- "required": [
- "hotelIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "example": [
- "10",
- "11"
- ],
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "hotelIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "酒店ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "example": [
- "12"
- ],
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "酒店批量标签操作请求"
- },
- "酒店更新请求": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "example": "束河古镇悦榕路1号",
- "description": "详细地址"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "checkInNotes": {
- "type": "string",
- "description": "入住须知"
- },
- "checkInTime": {
- "type": "string",
- "example": "14:00",
- "description": "入住时间"
- },
- "checkOutTime": {
- "type": "string",
- "example": "12:00",
- "description": "退房时间"
- },
- "city": {
- "type": "string",
- "example": "丽江市",
- "description": "城市"
- },
- "contactPerson": {
- "type": "string",
- "example": "张经理",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "酒店描述"
- },
- "diamondLevel": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "钻级:0-5"
- },
- "district": {
- "type": "string",
- "example": "古城区",
- "description": "区县"
- },
- "facilities": {
- "type": "string",
- "description": "设施配置(JSON)"
- },
- "highlights": {
- "type": "string",
- "description": "酒店亮点(JSON)"
- },
- "hotelType": {
- "type": "string",
- "example": "HOTEL",
- "description": "住宿类型"
- },
- "latitude": {
- "type": "number",
- "example": 26.8721,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 100.2134,
- "description": "经度"
- },
- "luggageInfo": {
- "type": "string",
- "description": "行李服务说明"
- },
- "name": {
- "type": "string",
- "example": "丽江悦榕庄",
- "description": "酒店名称"
- },
- "parkingInfo": {
- "type": "string",
- "description": "停车信息"
- },
- "province": {
- "type": "string",
- "example": "云南省",
- "description": "省份"
- },
- "roomSharePhone": {
- "type": "string",
- "example": 13800138002,
- "description": "合房电话"
- },
- "salesPhone": {
- "type": "string",
- "example": 13800138001,
- "description": "销售电话"
- },
- "shuttleInfo": {
- "type": "string",
- "description": "接驳服务说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "starLevel": {
- "type": "string",
- "example": "FIVE_STAR",
- "description": "星级(字典: hotel_star_level)"
- },
- "subtitle": {
- "type": "string",
- "example": "古城边的世外桃源",
- "description": "副标题"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "酒店更新请求"
- },
- "酒店标签VO": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=自定义 1=系统"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "酒店标签VO"
- },
- "酒店标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF6600",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "温泉酒店",
- "description": "标签名称"
- }
- },
- "title": "酒店标签创建请求"
- },
- "酒店标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF6600",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "温泉酒店",
- "description": "标签名称"
- }
- },
- "title": "酒店标签更新请求"
- },
- "酒店标签更新请求_1": {
- "type": "object",
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表(全量替换)",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "酒店标签更新请求_1"
- },
- "酒店状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "hotelIds": {
- "type": "array",
- "description": "酒店ID列表(批量操作时使用)",
- "items": {
- "type": "string"
- }
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "酒店状态变更请求"
- },
- "酒店详情VO": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "详细地址"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "横幅图URL列表",
- "items": {
- "type": "string"
- }
- },
- "checkInNotes": {
- "type": "string",
- "description": "入住须知"
- },
- "checkInTime": {
- "type": "string",
- "description": "入住时间"
- },
- "checkOutTime": {
- "type": "string",
- "description": "退房时间"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "contactPerson": {
- "type": "string",
- "description": "联系人姓名"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建者ID"
- },
- "description": {
- "type": "string",
- "description": "酒店描述"
- },
- "diamondLevel": {
- "type": "integer",
- "format": "int32",
- "description": "钻级:0-5"
- },
- "district": {
- "type": "string",
- "description": "区县"
- },
- "facilities": {
- "type": "string",
- "description": "设施配置(JSON)"
- },
- "highlights": {
- "type": "string",
- "description": "酒店亮点(JSON)"
- },
- "hotelId": {
- "type": "string",
- "description": "酒店ID"
- },
- "hotelType": {
- "type": "string",
- "description": "住宿类型"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "luggageInfo": {
- "type": "string",
- "description": "行李服务说明"
- },
- "name": {
- "type": "string",
- "description": "酒店名称"
- },
- "parkingInfo": {
- "type": "string",
- "description": "停车信息"
- },
- "province": {
- "type": "string",
- "description": "省份"
- },
- "roomSharePhone": {
- "type": "string",
- "description": "合房电话"
- },
- "roomTypeCount": {
- "type": "integer",
- "format": "int32",
- "description": "房型数量"
- },
- "roomTypes": {
- "type": "array",
- "description": "房型列表(C端详情返回,仅包含已启用房型)",
- "items": {
- "$ref": "#/definitions/房型详情VO",
- "originalRef": "房型详情VO"
- }
- },
- "salesPhone": {
- "type": "string",
- "description": "销售电话"
- },
- "shuttleInfo": {
- "type": "string",
- "description": "接驳服务说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "starLevel": {
- "type": "string",
- "description": "星级(字典: hotel_star_level)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/酒店标签VO",
- "originalRef": "酒店标签VO"
- }
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "酒店详情VO"
- },
- "分页结果«服务标签VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/服务标签VO",
- "originalRef": "服务标签VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«服务标签VO»"
- },
- "分页结果«服务项列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/服务项列表VO",
- "originalRef": "服务项列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«服务项列表VO»"
- },
- "服务标签VO": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=自定义 1=系统"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "服务标签VO"
- },
- "服务标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF6600",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "精品服务",
- "description": "标签名称"
- }
- },
- "title": "服务标签创建请求"
- },
- "服务标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#FF6600",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "精品服务",
- "description": "标签名称"
- }
- },
- "title": "服务标签更新请求"
- },
- "服务项价格日历VO": {
- "type": "object",
- "properties": {
- "month": {
- "type": "integer",
- "format": "int32",
- "description": "月份"
- },
- "prices": {
- "type": "array",
- "description": "价格日历明细列表",
- "items": {
- "$ref": "#/definitions/服务项价格日历日VO",
- "originalRef": "服务项价格日历日VO"
- }
- },
- "serviceId": {
- "type": "string",
- "description": "服务项ID"
- },
- "serviceName": {
- "type": "string",
- "description": "服务项名称"
- },
- "stockEnabled": {
- "type": "boolean",
- "description": "是否启用库存管理"
- },
- "year": {
- "type": "integer",
- "format": "int32",
- "description": "年份"
- }
- },
- "title": "服务项价格日历VO"
- },
- "服务项价格日历日VO": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "成本价(元)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "库存数量"
- },
- "stockUsed": {
- "type": "integer",
- "format": "int32",
- "description": "已用库存"
- }
- },
- "title": "服务项价格日历日VO"
- },
- "服务项价格日历状态变更请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "status"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期(yyyy-MM-dd)"
- },
- "remark": {
- "type": "string",
- "example": "临时关闭预订",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期(yyyy-MM-dd)"
- },
- "status": {
- "type": "string",
- "example": "CLOSED",
- "description": "目标状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- }
- },
- "title": "服务项价格日历状态变更请求"
- },
- "服务项价格日历设置请求": {
- "type": "object",
- "required": [
- "costPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "costPrice": {
- "type": "number",
- "example": 200.0,
- "description": "成本价(元)"
- },
- "endDate": {
- "type": "string",
- "example": "2026-03-31",
- "description": "结束日期(yyyy-MM-dd)"
- },
- "excludeDates": {
- "type": "array",
- "example": [
- "2026-03-08",
- "2026-03-15"
- ],
- "description": "排除日期列表",
- "items": {
- "type": "string"
- }
- },
- "remark": {
- "type": "string",
- "example": "旺季价格",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "指定星期几(1=周一 7=周日)",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "example": "2026-03-01",
- "description": "开始日期(yyyy-MM-dd)"
- },
- "status": {
- "type": "string",
- "example": "AVAILABLE",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 50,
- "description": "库存数量"
- },
- "weekdayOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅工作日"
- },
- "weekendOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅周末"
- }
- },
- "title": "服务项价格日历设置请求"
- },
- "服务项列表VO": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "basePrice": {
- "type": "number",
- "description": "基础价格(元)"
- },
- "billingType": {
- "type": "string",
- "description": "计费方式"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "durationHours": {
- "type": "number",
- "description": "服务时长(小时)"
- },
- "highlights": {
- "type": "string",
- "description": "服务亮点"
- },
- "instantConfirm": {
- "type": "integer",
- "format": "int32",
- "description": "是否即时确认:0=否 1=是"
- },
- "isPaid": {
- "type": "integer",
- "format": "int32",
- "description": "是否收费:0=免费 1=收费"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "服务名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "serviceId": {
- "type": "string",
- "description": "服务项ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/服务标签VO",
- "originalRef": "服务标签VO"
- }
- },
- "unit": {
- "type": "string",
- "description": "计价单位"
- },
- "vehicleType": {
- "type": "string",
- "description": "配套车型"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "服务项列表VO"
- },
- "服务项创建请求": {
- "type": "object",
- "required": [
- "categoryCode",
- "isPaid",
- "name"
- ],
- "properties": {
- "address": {
- "type": "string",
- "example": "丽江古城区",
- "description": "详细地址"
- },
- "advanceBookingHours": {
- "type": "integer",
- "format": "int32",
- "example": 24,
- "description": "提前预订时间(小时)"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 500.0,
- "description": "基础价格(元)"
- },
- "billingType": {
- "type": "string",
- "example": "PER_DAY",
- "description": "计费方式"
- },
- "cancellationPolicy": {
- "type": "string",
- "description": "取消政策说明"
- },
- "capacityMax": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "最多服务人数"
- },
- "capacityMin": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最少服务人数"
- },
- "categoryCode": {
- "type": "string",
- "example": "GUIDE",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "example": "丽江市",
- "description": "城市"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "服务描述"
- },
- "durationHours": {
- "type": "number",
- "example": 8.0,
- "description": "服务时长(小时)"
- },
- "equipmentList": {
- "type": "string",
- "description": "设备清单(JSON)"
- },
- "freeCancelHours": {
- "type": "integer",
- "format": "int32",
- "example": 48,
- "description": "免费取消期限(小时)"
- },
- "highlights": {
- "type": "string",
- "description": "服务亮点"
- },
- "includedItems": {
- "type": "string",
- "description": "包含项目说明"
- },
- "instantConfirm": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否即时确认:0=否 1=是"
- },
- "isPaid": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否收费:0=免费 1=收费"
- },
- "languageSupport": {
- "type": "string",
- "example": "中文,英文",
- "description": "语言支持"
- },
- "latitude": {
- "type": "number",
- "example": 26.8721,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 100.2134,
- "description": "经度"
- },
- "name": {
- "type": "string",
- "example": "专属导游服务",
- "description": "服务名称"
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "province": {
- "type": "string",
- "example": "云南省",
- "description": "省份"
- },
- "serviceHours": {
- "type": "string",
- "example": "08:00-18:00",
- "description": "服务时段"
- },
- "serviceProcess": {
- "type": "string",
- "description": "服务流程说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "staffCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "服务人员数量"
- },
- "subtitle": {
- "type": "string",
- "example": "资深导游全程陪同",
- "description": "副标题"
- },
- "unit": {
- "type": "string",
- "example": "天",
- "description": "计价单位"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "vehicleType": {
- "type": "string",
- "example": "商务车",
- "description": "配套车型"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "服务项创建请求"
- },
- "服务项审批提交请求": {
- "type": "object",
- "required": [
- "reason",
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "example": "信息已核实,申请上架",
- "description": "审批理由"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "服务项审批提交请求"
- },
- "服务项批量删除请求": {
- "type": "object",
- "required": [
- "serviceIds"
- ],
- "properties": {
- "serviceIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "服务ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "服务项批量删除请求"
- },
- "服务项批量标签操作请求": {
- "type": "object",
- "required": [
- "serviceIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "example": [
- "10",
- "11"
- ],
- "description": "要添加的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "removeTagIds": {
- "type": "array",
- "example": [
- "12"
- ],
- "description": "要移除的标签ID列表",
- "items": {
- "type": "string"
- }
- },
- "serviceIds": {
- "type": "array",
- "example": [
- "1",
- "2",
- "3"
- ],
- "description": "服务ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "服务项批量标签操作请求"
- },
- "服务项更新请求": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "example": "丽江古城区",
- "description": "详细地址"
- },
- "advanceBookingHours": {
- "type": "integer",
- "format": "int32",
- "example": 24,
- "description": "提前预订时间(小时)"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 500.0,
- "description": "基础价格(元)"
- },
- "billingType": {
- "type": "string",
- "example": "PER_DAY",
- "description": "计费方式"
- },
- "cancellationPolicy": {
- "type": "string",
- "description": "取消政策说明"
- },
- "capacityMax": {
- "type": "integer",
- "format": "int32",
- "example": 10,
- "description": "最多服务人数"
- },
- "capacityMin": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "最少服务人数"
- },
- "categoryCode": {
- "type": "string",
- "example": "GUIDE",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "example": "丽江市",
- "description": "城市"
- },
- "contactPhone": {
- "type": "string",
- "example": 13800138000,
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "服务描述"
- },
- "durationHours": {
- "type": "number",
- "example": 8.0,
- "description": "服务时长(小时)"
- },
- "equipmentList": {
- "type": "string",
- "description": "设备清单(JSON)"
- },
- "freeCancelHours": {
- "type": "integer",
- "format": "int32",
- "example": 48,
- "description": "免费取消期限(小时)"
- },
- "highlights": {
- "type": "string",
- "description": "服务亮点"
- },
- "includedItems": {
- "type": "string",
- "description": "包含项目说明"
- },
- "instantConfirm": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否即时确认:0=否 1=是"
- },
- "isPaid": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "是否收费:0=免费 1=收费"
- },
- "languageSupport": {
- "type": "string",
- "example": "中文,英文",
- "description": "语言支持"
- },
- "latitude": {
- "type": "number",
- "example": 26.8721,
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "example": 100.2134,
- "description": "经度"
- },
- "name": {
- "type": "string",
- "example": "专属导游服务",
- "description": "服务名称"
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "province": {
- "type": "string",
- "example": "云南省",
- "description": "省份"
- },
- "serviceHours": {
- "type": "string",
- "example": "08:00-18:00",
- "description": "服务时段"
- },
- "serviceProcess": {
- "type": "string",
- "description": "服务流程说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "staffCount": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "服务人员数量"
- },
- "subtitle": {
- "type": "string",
- "example": "资深导游全程陪同",
- "description": "副标题"
- },
- "unit": {
- "type": "string",
- "example": "天",
- "description": "计价单位"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "vehicleType": {
- "type": "string",
- "example": "商务车",
- "description": "配套车型"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "服务项更新请求"
- },
- "服务项标签更新请求": {
- "type": "object",
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表(全量替换)",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "服务项标签更新请求"
- },
- "服务项状态变更请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "serviceIds": {
- "type": "array",
- "description": "服务ID列表(批量操作时使用)",
- "items": {
- "type": "string"
- }
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "服务项状态变更请求"
- },
- "服务项详情VO": {
- "type": "object",
- "properties": {
- "address": {
- "type": "string",
- "description": "详细地址"
- },
- "advanceBookingHours": {
- "type": "integer",
- "format": "int32",
- "description": "提前预订时间(小时)"
- },
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "横幅图URL列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "description": "基础价格(元)"
- },
- "billingType": {
- "type": "string",
- "description": "计费方式"
- },
- "cancellationPolicy": {
- "type": "string",
- "description": "取消政策说明"
- },
- "capacityMax": {
- "type": "integer",
- "format": "int32",
- "description": "最多服务人数"
- },
- "capacityMin": {
- "type": "integer",
- "format": "int32",
- "description": "最少服务人数"
- },
- "categoryCode": {
- "type": "string",
- "description": "分类编码"
- },
- "city": {
- "type": "string",
- "description": "城市"
- },
- "contactPhone": {
- "type": "string",
- "description": "联系电话"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建者ID"
- },
- "description": {
- "type": "string",
- "description": "服务描述"
- },
- "durationHours": {
- "type": "number",
- "description": "服务时长(小时)"
- },
- "equipmentList": {
- "type": "string",
- "description": "设备清单(JSON)"
- },
- "freeCancelHours": {
- "type": "integer",
- "format": "int32",
- "description": "免费取消期限(小时)"
- },
- "highlights": {
- "type": "string",
- "description": "服务亮点"
- },
- "includedItems": {
- "type": "string",
- "description": "包含项目说明"
- },
- "instantConfirm": {
- "type": "integer",
- "format": "int32",
- "description": "是否即时确认:0=否 1=是"
- },
- "isPaid": {
- "type": "integer",
- "format": "int32",
- "description": "是否收费:0=免费 1=收费"
- },
- "languageSupport": {
- "type": "string",
- "description": "语言支持"
- },
- "latitude": {
- "type": "number",
- "description": "纬度"
- },
- "longitude": {
- "type": "number",
- "description": "经度"
- },
- "name": {
- "type": "string",
- "description": "服务名称"
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "province": {
- "type": "string",
- "description": "省份"
- },
- "serviceHours": {
- "type": "string",
- "description": "服务时段"
- },
- "serviceId": {
- "type": "string",
- "description": "服务项ID"
- },
- "serviceProcess": {
- "type": "string",
- "description": "服务流程说明"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "staffCount": {
- "type": "integer",
- "format": "int32",
- "description": "服务人员数量"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/服务标签VO",
- "originalRef": "服务标签VO"
- }
- },
- "unit": {
- "type": "string",
- "description": "计价单位"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "vehicleType": {
- "type": "string",
- "description": "配套车型"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "服务项详情VO"
- },
- "统一响应结果«List«服务标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/服务标签VO",
- "originalRef": "服务标签VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«服务标签VO»»"
- },
- "统一响应结果«分页结果«服务标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«服务标签VO»",
- "originalRef": "分页结果«服务标签VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«服务标签VO»»"
- },
- "统一响应结果«分页结果«服务项列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«服务项列表VO»",
- "originalRef": "分页结果«服务项列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«服务项列表VO»»"
- },
- "统一响应结果«服务标签VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/服务标签VO",
- "originalRef": "服务标签VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«服务标签VO»"
- },
- "统一响应结果«服务项价格日历VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/服务项价格日历VO",
- "originalRef": "服务项价格日历VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«服务项价格日历VO»"
- },
- "统一响应结果«服务项详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/服务项详情VO",
- "originalRef": "服务项详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«服务项详情VO»"
- },
- "分页结果«车型列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/车型列表VO",
- "originalRef": "车型列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«车型列表VO»"
- },
- "分页结果«车辆标签VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/车辆标签VO",
- "originalRef": "车辆标签VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«车辆标签VO»"
- },
- "统一响应结果«List«车型列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/车型列表VO",
- "originalRef": "车型列表VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«车型列表VO»»"
- },
- "统一响应结果«List«车辆标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/车辆标签VO",
- "originalRef": "车辆标签VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«车辆标签VO»»"
- },
- "统一响应结果«分页结果«车型列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«车型列表VO»",
- "originalRef": "分页结果«车型列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«车型列表VO»»"
- },
- "统一响应结果«分页结果«车辆标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«车辆标签VO»",
- "originalRef": "分页结果«车辆标签VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«车辆标签VO»»"
- },
- "统一响应结果«车型价格日历VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/车型价格日历VO",
- "originalRef": "车型价格日历VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«车型价格日历VO»"
- },
- "统一响应结果«车型详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/车型详情VO",
- "originalRef": "车型详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«车型详情VO»"
- },
- "统一响应结果«车辆标签VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/车辆标签VO",
- "originalRef": "车辆标签VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«车辆标签VO»"
- },
- "设置车型标签请求": {
- "type": "object",
- "required": [
- "tagIds"
- ],
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "设置车型标签请求"
- },
- "车型价格日历VO": {
- "type": "object",
- "properties": {
- "month": {
- "type": "integer",
- "format": "int32",
- "description": "月份"
- },
- "prices": {
- "type": "array",
- "description": "价格日历明细列表",
- "items": {
- "$ref": "#/definitions/车型价格日历日VO",
- "originalRef": "车型价格日历日VO"
- }
- },
- "stockEnabled": {
- "type": "boolean",
- "description": "是否启用库存管理"
- },
- "vehicleId": {
- "type": "string",
- "description": "车型ID"
- },
- "vehicleName": {
- "type": "string",
- "description": "车型名称"
- },
- "year": {
- "type": "integer",
- "format": "int32",
- "description": "年份"
- }
- },
- "title": "车型价格日历VO"
- },
- "车型价格日历日VO": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "日租价(元)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "库存数量"
- },
- "stockUsed": {
- "type": "integer",
- "format": "int32",
- "description": "已用库存"
- }
- },
- "title": "车型价格日历日VO"
- },
- "车型价格日历状态变更请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "status"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "remark": {
- "type": "string",
- "example": "临时停租",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "CLOSED",
- "description": "目标状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- }
- },
- "title": "车型价格日历状态变更请求"
- },
- "车型价格日历设置请求": {
- "type": "object",
- "required": [
- "costPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "costPrice": {
- "type": "number",
- "example": 800.0,
- "description": "日租价(元)"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "excludeDates": {
- "type": "array",
- "description": "排除日期列表",
- "items": {
- "$ref": "#/definitions/LocalDate",
- "originalRef": "LocalDate"
- }
- },
- "remark": {
- "type": "string",
- "example": "旺季价格",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "指定星期几(1=周一 7=周日)",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "AVAILABLE",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "库存数量"
- },
- "weekdayOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅工作日"
- },
- "weekendOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅周末"
- }
- },
- "title": "车型价格日历设置请求"
- },
- "车型列表VO": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "basePrice": {
- "type": "number",
- "description": "基础日租价(元)"
- },
- "brand": {
- "type": "string",
- "description": "品牌"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "highlights": {
- "type": "string",
- "description": "车型亮点"
- },
- "modelSeries": {
- "type": "string",
- "description": "车系"
- },
- "name": {
- "type": "string",
- "description": "车型名称"
- },
- "passengerCount": {
- "type": "integer",
- "format": "int32",
- "description": "可乘坐人数"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "seatCount": {
- "type": "integer",
- "format": "int32",
- "description": "座位数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/车辆标签VO",
- "originalRef": "车辆标签VO"
- }
- },
- "vehicleId": {
- "type": "string",
- "description": "车型ID"
- },
- "vehicleType": {
- "type": "string",
- "description": "车型分类"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "车型列表VO"
- },
- "车型创建请求": {
- "type": "object",
- "required": [
- "brand",
- "name",
- "passengerCount",
- "seatCount",
- "vehicleType"
- ],
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 800.0,
- "description": "基础日租价(元)"
- },
- "brand": {
- "type": "string",
- "example": "别克",
- "description": "品牌"
- },
- "comfortFeatures": {
- "type": "string",
- "description": "舒适配置(JSON)"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "车型描述"
- },
- "driveType": {
- "type": "string",
- "example": "前驱",
- "description": "驱动方式"
- },
- "engineType": {
- "type": "string",
- "example": "汽油",
- "description": "动力类型"
- },
- "highlights": {
- "type": "string",
- "description": "车型亮点"
- },
- "luggageCapacity": {
- "type": "string",
- "example": "可放3个28寸行李箱",
- "description": "行李容量描述"
- },
- "modelSeries": {
- "type": "string",
- "example": "GL8",
- "description": "车系"
- },
- "modelYear": {
- "type": "integer",
- "format": "int32",
- "example": 2025,
- "description": "年款"
- },
- "name": {
- "type": "string",
- "example": "别克GL8 ES",
- "description": "车型名称"
- },
- "passengerCount": {
- "type": "integer",
- "format": "int32",
- "example": 6,
- "description": "可乘坐人数"
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "seatCount": {
- "type": "integer",
- "format": "int32",
- "example": 7,
- "description": "座位数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "subtitle": {
- "type": "string",
- "example": "商务出行首选",
- "description": "副标题"
- },
- "transmission": {
- "type": "string",
- "example": "自动",
- "description": "变速箱类型"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "vehicleType": {
- "type": "string",
- "example": "MPV",
- "description": "车型分类"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "车型创建请求"
- },
- "车型审批提交请求": {
- "type": "object",
- "required": [
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "description": "审批原因"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "description": "目标状态"
- }
- },
- "title": "车型审批提交请求"
- },
- "车型批量删除请求": {
- "type": "object",
- "required": [
- "vehicleIds"
- ],
- "properties": {
- "vehicleIds": {
- "type": "array",
- "description": "车型ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "车型批量删除请求"
- },
- "车型批量标签操作请求": {
- "type": "object",
- "required": [
- "vehicleIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "description": "要添加的标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "removeTagIds": {
- "type": "array",
- "description": "要移除的标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "vehicleIds": {
- "type": "array",
- "description": "车型ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "车型批量标签操作请求"
- },
- "车型更新请求": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "example": 800.0,
- "description": "基础日租价(元)"
- },
- "brand": {
- "type": "string",
- "example": "别克",
- "description": "品牌"
- },
- "comfortFeatures": {
- "type": "string",
- "description": "舒适配置(JSON)"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "车型描述"
- },
- "driveType": {
- "type": "string",
- "example": "前驱",
- "description": "驱动方式"
- },
- "engineType": {
- "type": "string",
- "example": "汽油",
- "description": "动力类型"
- },
- "highlights": {
- "type": "string",
- "description": "车型亮点"
- },
- "luggageCapacity": {
- "type": "string",
- "example": "可放3个28寸行李箱",
- "description": "行李容量描述"
- },
- "modelSeries": {
- "type": "string",
- "example": "GL8",
- "description": "车系"
- },
- "modelYear": {
- "type": "integer",
- "format": "int32",
- "example": 2025,
- "description": "年款"
- },
- "name": {
- "type": "string",
- "example": "别克GL8 ES",
- "description": "车型名称"
- },
- "passengerCount": {
- "type": "integer",
- "format": "int32",
- "example": 6,
- "description": "可乘坐人数"
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "seatCount": {
- "type": "integer",
- "format": "int32",
- "example": 7,
- "description": "座位数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "subtitle": {
- "type": "string",
- "example": "商务出行首选",
- "description": "副标题"
- },
- "transmission": {
- "type": "string",
- "example": "自动",
- "description": "变速箱类型"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "vehicleType": {
- "type": "string",
- "example": "MPV",
- "description": "车型分类"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "车型更新请求"
- },
- "车型状态请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "目标状态:0=下架 1=上架"
- },
- "vehicleIds": {
- "type": "array",
- "description": "车型ID列表(批量操作时使用)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "车型状态请求"
- },
- "车型详情VO": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "横幅图URL列表",
- "items": {
- "type": "string"
- }
- },
- "basePrice": {
- "type": "number",
- "description": "基础日租价(元)"
- },
- "brand": {
- "type": "string",
- "description": "品牌"
- },
- "comfortFeatures": {
- "type": "string",
- "description": "舒适配置(JSON)"
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建者ID"
- },
- "description": {
- "type": "string",
- "description": "车型描述"
- },
- "driveType": {
- "type": "string",
- "description": "驱动方式"
- },
- "engineType": {
- "type": "string",
- "description": "动力类型"
- },
- "highlights": {
- "type": "string",
- "description": "车型亮点"
- },
- "luggageCapacity": {
- "type": "string",
- "description": "行李容量描述"
- },
- "modelSeries": {
- "type": "string",
- "description": "车系"
- },
- "modelYear": {
- "type": "integer",
- "format": "int32",
- "description": "年款"
- },
- "name": {
- "type": "string",
- "description": "车型名称"
- },
- "passengerCount": {
- "type": "integer",
- "format": "int32",
- "description": "可乘坐人数"
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "seatCount": {
- "type": "integer",
- "format": "int32",
- "description": "座位数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/车辆标签VO",
- "originalRef": "车辆标签VO"
- }
- },
- "transmission": {
- "type": "string",
- "description": "变速箱类型"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "usageNotes": {
- "type": "string",
- "description": "使用须知"
- },
- "vehicleId": {
- "type": "string",
- "description": "车型ID"
- },
- "vehicleType": {
- "type": "string",
- "description": "车型分类"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "车型详情VO"
- },
- "车辆标签VO": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=自定义 1=系统"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "车辆标签VO"
- },
- "车辆标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#3366FF",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "商务车",
- "description": "标签名称"
- }
- },
- "title": "车辆标签创建请求"
- },
- "车辆标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#3366FF",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "商务车",
- "description": "标签名称"
- }
- },
- "title": "车辆标签更新请求"
- },
- "分页结果«费用项列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/费用项列表VO",
- "originalRef": "费用项列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«费用项列表VO»"
- },
- "统一响应结果«List«费用项价格变更日志VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/费用项价格变更日志VO",
- "originalRef": "费用项价格变更日志VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«费用项价格变更日志VO»»"
- },
- "统一响应结果«List«费用项详情VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/费用项详情VO",
- "originalRef": "费用项详情VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«费用项详情VO»»"
- },
- "统一响应结果«分页结果«费用项列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«费用项列表VO»",
- "originalRef": "分页结果«费用项列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«费用项列表VO»»"
- },
- "统一响应结果«费用项价格日历VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/费用项价格日历VO",
- "originalRef": "费用项价格日历VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«费用项价格日历VO»"
- },
- "统一响应结果«费用项详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/费用项详情VO",
- "originalRef": "费用项详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«费用项详情VO»"
- },
- "费用项价格变更日志VO": {
- "type": "object",
- "properties": {
- "changeReason": {
- "type": "string",
- "description": "变更原因"
- },
- "changedAt": {
- "type": "string",
- "format": "date-time",
- "description": "变更时间"
- },
- "changedBy": {
- "type": "string",
- "description": "变更人ID"
- },
- "costId": {
- "type": "string",
- "description": "费用项ID"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "日志ID"
- },
- "newPrice": {
- "type": "number",
- "description": "变更后价格(元)"
- },
- "oldPrice": {
- "type": "number",
- "description": "变更前价格(元)"
- }
- },
- "title": "费用项价格变更日志VO"
- },
- "费用项价格日历VO": {
- "type": "object",
- "properties": {
- "days": {
- "type": "array",
- "description": "价格日历明细列表",
- "items": {
- "$ref": "#/definitions/费用项价格日历日VO",
- "originalRef": "费用项价格日历日VO"
- }
- },
- "yearMonth": {
- "type": "string",
- "description": "年月(yyyy-MM)"
- }
- },
- "title": "费用项价格日历VO"
- },
- "费用项价格日历日VO": {
- "type": "object",
- "properties": {
- "date": {
- "type": "string",
- "description": "日期(yyyy-MM-dd)"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价(元)"
- }
- },
- "title": "费用项价格日历日VO"
- },
- "费用项价格日历设置请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "unitPrice"
- ],
- "properties": {
- "dayFilter": {
- "type": "string",
- "example": "weekday",
- "description": "日期过滤:weekday=仅工作日 weekend=仅周末"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "excludeDates": {
- "type": "array",
- "description": "排除日期列表",
- "items": {
- "$ref": "#/definitions/LocalDate",
- "originalRef": "LocalDate"
- }
- },
- "remark": {
- "type": "string",
- "example": "旺季价格",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "指定星期几(1=周一 7=周日)",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "unitPrice": {
- "type": "number",
- "example": 200.0,
- "description": "单价(元)"
- }
- },
- "title": "费用项价格日历设置请求"
- },
- "费用项列表VO": {
- "type": "object",
- "properties": {
- "applyRole": {
- "type": "string",
- "description": "适用角色编码(字典:cost_apply_role)"
- },
- "applyRoleLabel": {
- "type": "string",
- "description": "适用角色中文标签"
- },
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "categoryCode": {
- "type": "string",
- "description": "费用分类编码(字典:cost_category)"
- },
- "categoryLabel": {
- "type": "string",
- "description": "费用分类中文标签"
- },
- "costId": {
- "type": "string",
- "description": "费用项ID"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "name": {
- "type": "string",
- "description": "费用名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "refCount": {
- "type": "integer",
- "format": "int32",
- "description": "引用次数"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "unit": {
- "type": "string",
- "description": "计价单位"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价(元)"
- }
- },
- "title": "费用项列表VO"
- },
- "费用项创建请求": {
- "type": "object",
- "required": [
- "applyRole",
- "categoryCode",
- "name",
- "unitPrice"
- ],
- "properties": {
- "applyRole": {
- "type": "string",
- "example": "ADULT",
- "description": "适用角色"
- },
- "calcHint": {
- "type": "string",
- "example": "按人头*天数计算",
- "description": "计算提示"
- },
- "categoryCode": {
- "type": "string",
- "example": "GUIDE",
- "description": "费用分类编码"
- },
- "defaultFormula": {
- "type": "string",
- "example": "人数*天数*单价",
- "description": "默认计算公式"
- },
- "description": {
- "type": "string",
- "description": "费用描述"
- },
- "name": {
- "type": "string",
- "example": "导游服务费",
- "description": "费用名称"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "unit": {
- "type": "string",
- "example": "人/天",
- "description": "计价单位"
- },
- "unitPrice": {
- "type": "number",
- "example": 200.0,
- "description": "单价(元)"
- }
- },
- "title": "费用项创建请求"
- },
- "费用项审批提交请求": {
- "type": "object",
- "required": [
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "description": "审批原因"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "description": "目标状态"
- }
- },
- "title": "费用项审批提交请求"
- },
- "费用项更新请求": {
- "type": "object",
- "properties": {
- "applyRole": {
- "type": "string",
- "example": "ADULT",
- "description": "适用角色"
- },
- "calcHint": {
- "type": "string",
- "example": "按人头*天数计算",
- "description": "计算提示"
- },
- "categoryCode": {
- "type": "string",
- "example": "GUIDE",
- "description": "费用分类编码"
- },
- "changeReason": {
- "type": "string",
- "example": "供应商调价",
- "description": "价格变更原因(修改单价时必填)"
- },
- "defaultFormula": {
- "type": "string",
- "example": "人数*天数*单价",
- "description": "默认计算公式"
- },
- "description": {
- "type": "string",
- "description": "费用描述"
- },
- "name": {
- "type": "string",
- "example": "导游服务费",
- "description": "费用名称"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "unit": {
- "type": "string",
- "example": "人/天",
- "description": "计价单位"
- },
- "unitPrice": {
- "type": "number",
- "example": 250.0,
- "description": "单价(元)"
- }
- },
- "title": "费用项更新请求"
- },
- "费用项详情VO": {
- "type": "object",
- "properties": {
- "applyRole": {
- "type": "string",
- "description": "适用角色编码(字典:cost_apply_role)"
- },
- "applyRoleLabel": {
- "type": "string",
- "description": "适用角色中文标签"
- },
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "calcHint": {
- "type": "string",
- "description": "计算提示"
- },
- "categoryCode": {
- "type": "string",
- "description": "费用分类编码(字典:cost_category)"
- },
- "categoryLabel": {
- "type": "string",
- "description": "费用分类中文标签"
- },
- "costId": {
- "type": "string",
- "description": "费用项ID"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建者ID"
- },
- "defaultFormula": {
- "type": "string",
- "description": "默认计算公式"
- },
- "description": {
- "type": "string",
- "description": "费用描述"
- },
- "name": {
- "type": "string",
- "description": "费用名称"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "refCount": {
- "type": "integer",
- "format": "int32",
- "description": "引用次数"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "unit": {
- "type": "string",
- "description": "计价单位"
- },
- "unitPrice": {
- "type": "number",
- "description": "单价(元)"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "费用项详情VO"
- },
- "Map«string,string»_1": {
- "type": "object",
- "title": "Map«string,string»_1",
- "additionalProperties": {
- "type": "string"
- }
- },
- "Map«string,string»_2": {
- "type": "object",
- "title": "Map«string,string»_2",
- "additionalProperties": {
- "type": "string"
- }
- },
- "Map«string,string»_3": {
- "type": "object",
- "title": "Map«string,string»_3",
- "additionalProperties": {
- "type": "string"
- }
- },
- "Map«string,string»_4": {
- "type": "object",
- "title": "Map«string,string»_4",
- "additionalProperties": {
- "type": "string"
- }
- },
- "人员审批提交请求": {
- "type": "object",
- "required": [
- "targetStatus"
- ],
- "properties": {
- "reason": {
- "type": "string",
- "description": "审批原因"
- },
- "targetStatus": {
- "type": "integer",
- "format": "int32",
- "description": "目标状态"
- }
- },
- "title": "人员审批提交请求"
- },
- "人员批量删除请求": {
- "type": "object",
- "required": [
- "staffIds"
- ],
- "properties": {
- "staffIds": {
- "type": "array",
- "description": "人员ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "人员批量删除请求"
- },
- "人员批量标签操作请求": {
- "type": "object",
- "required": [
- "staffIds"
- ],
- "properties": {
- "addTagIds": {
- "type": "array",
- "description": "要添加的标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "removeTagIds": {
- "type": "array",
- "description": "要移除的标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "staffIds": {
- "type": "array",
- "description": "人员ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "人员批量标签操作请求"
- },
- "人员状态请求": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "staffIds": {
- "type": "array",
- "description": "人员ID列表(批量操作时使用)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "目标状态:0=下架 1=上架"
- }
- },
- "title": "人员状态请求"
- },
- "分页结果«服务人员列表VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/服务人员列表VO",
- "originalRef": "服务人员列表VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«服务人员列表VO»"
- },
- "分页结果«服务人员标签VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/服务人员标签VO",
- "originalRef": "服务人员标签VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«服务人员标签VO»"
- },
- "服务人员价格日历VO": {
- "type": "object",
- "properties": {
- "month": {
- "type": "integer",
- "format": "int32",
- "description": "月份"
- },
- "prices": {
- "type": "array",
- "description": "价格日历明细列表",
- "items": {
- "$ref": "#/definitions/服务人员价格日历日VO",
- "originalRef": "服务人员价格日历日VO"
- }
- },
- "staffType": {
- "type": "string",
- "description": "人员类型: GUIDE/GUIDE_ASSISTANT/PHOTOGRAPHER/LEADER/OTHER"
- },
- "staffTypeName": {
- "type": "string",
- "description": "人员类型名称"
- },
- "stockEnabled": {
- "type": "boolean",
- "description": "是否启用库存管理"
- },
- "year": {
- "type": "integer",
- "format": "int32",
- "description": "年份"
- }
- },
- "title": "服务人员价格日历VO"
- },
- "服务人员价格日历日VO": {
- "type": "object",
- "properties": {
- "costPrice": {
- "type": "number",
- "description": "日薪(元)"
- },
- "date": {
- "type": "string",
- "format": "date",
- "description": "日期"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "description": "库存数量"
- },
- "stockUsed": {
- "type": "integer",
- "format": "int32",
- "description": "已用库存"
- }
- },
- "title": "服务人员价格日历日VO"
- },
- "服务人员价格日历状态变更请求": {
- "type": "object",
- "required": [
- "endDate",
- "startDate",
- "status"
- ],
- "properties": {
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "remark": {
- "type": "string",
- "example": "临时停用",
- "description": "备注"
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "CLOSED",
- "description": "目标状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- }
- },
- "title": "服务人员价格日历状态变更请求"
- },
- "服务人员价格日历设置请求": {
- "type": "object",
- "required": [
- "costPrice",
- "endDate",
- "startDate"
- ],
- "properties": {
- "costPrice": {
- "type": "number",
- "example": 500.0,
- "description": "日薪(元)"
- },
- "endDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-31",
- "description": "结束日期"
- },
- "excludeDates": {
- "type": "array",
- "description": "排除日期列表",
- "items": {
- "$ref": "#/definitions/LocalDate",
- "originalRef": "LocalDate"
- }
- },
- "remark": {
- "type": "string",
- "example": "旺季价格",
- "description": "备注"
- },
- "selectedWeekdays": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3,
- 4,
- 5
- ],
- "description": "指定星期几(1=周一 7=周日)",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- },
- "startDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-01",
- "description": "开始日期"
- },
- "status": {
- "type": "string",
- "example": "AVAILABLE",
- "description": "日历状态(字典 calendar_status:AVAILABLE=可售 SOLD_OUT=已售罄 CLOSED=已关闭)"
- },
- "stock": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "库存数量"
- },
- "weekdayOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅工作日"
- },
- "weekendOnly": {
- "type": "boolean",
- "example": false,
- "description": "是否仅周末"
- }
- },
- "title": "服务人员价格日历设置请求"
- },
- "服务人员列表VO": {
- "type": "object",
- "properties": {
- "approvalNo": {
- "type": "string",
- "description": "审批单号"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "highlights": {
- "type": "string",
- "description": "人员亮点"
- },
- "name": {
- "type": "string",
- "description": "姓名"
- },
- "pendingStatus": {
- "type": "integer",
- "format": "int32",
- "description": "待审批目标状态"
- },
- "phone": {
- "type": "string",
- "description": "手机号"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "staffId": {
- "type": "string",
- "description": "人员ID"
- },
- "staffType": {
- "type": "string",
- "description": "人员类型"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/服务人员标签VO",
- "originalRef": "服务人员标签VO"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "服务人员列表VO"
- },
- "服务人员创建请求": {
- "type": "object",
- "required": [
- "name",
- "staffType"
- ],
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "birthDate": {
- "type": "string",
- "format": "date",
- "example": "1990-01-15",
- "description": "出生日期"
- },
- "certificateTags": {
- "type": "array",
- "description": "证书标签列表(旧字段,建议用certificates)",
- "items": {
- "type": "string"
- }
- },
- "certificateUrls": {
- "type": "array",
- "description": "资质证书URL列表(旧字段,建议用certificates)",
- "items": {
- "type": "string"
- }
- },
- "certificates": {
- "type": "array",
- "example": [
- {
- "tag": "急救证书",
- "url": "https://xxx/cert.jpg"
- }
- ],
- "description": "证书列表(标签+附件一一对应)",
- "items": {
- "$ref": "#/definitions/Map«string,string»",
- "originalRef": "Map«string,string»"
- }
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "人员描述"
- },
- "emergencyContact": {
- "type": "string",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "description": "紧急联系电话"
- },
- "ethnicity": {
- "type": "string",
- "example": "汉族",
- "description": "民族"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "性别:0=女 1=男"
- },
- "guideCardNo": {
- "type": "string",
- "example": "D-5101-000001",
- "description": "导游证号"
- },
- "guideLanguage": {
- "type": "string",
- "example": "中文",
- "description": "导游语种"
- },
- "guideLevel": {
- "type": "string",
- "example": "中级",
- "description": "导游等级"
- },
- "highlights": {
- "type": "string",
- "description": "人员亮点"
- },
- "idCardUrls": {
- "type": "array",
- "description": "证件照URL列表",
- "items": {
- "type": "string"
- }
- },
- "languages": {
- "type": "array",
- "description": "掌握语言(JSON数组)",
- "items": {
- "type": "string"
- }
- },
- "licenseExpiry": {
- "type": "string",
- "format": "date",
- "description": "执照到期日"
- },
- "licenseNo": {
- "type": "string",
- "description": "执照编号"
- },
- "licenseType": {
- "type": "string",
- "description": "执照类型"
- },
- "name": {
- "type": "string",
- "example": "张导",
- "description": "姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "nativePlace": {
- "type": "string",
- "example": "四川成都",
- "description": "籍贯"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- },
- "photoUrls": {
- "type": "array",
- "description": "个人照片URL列表",
- "items": {
- "type": "string"
- }
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "serviceAreas": {
- "type": "array",
- "description": "服务区域(JSON数组)",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "specialties": {
- "type": "array",
- "description": "擅长领域(JSON数组)",
- "items": {
- "type": "string"
- }
- },
- "staffType": {
- "type": "string",
- "example": "GUIDE",
- "description": "人员类型"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "yearsOfExperience": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "从业年限"
- }
- },
- "title": "服务人员创建请求"
- },
- "服务人员更新请求": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "birthDate": {
- "type": "string",
- "format": "date",
- "example": "1990-01-15",
- "description": "出生日期"
- },
- "certificateTags": {
- "type": "array",
- "description": "证书标签列表(旧字段,建议用certificates)",
- "items": {
- "type": "string"
- }
- },
- "certificateUrls": {
- "type": "array",
- "description": "资质证书URL列表(旧字段,建议用certificates)",
- "items": {
- "type": "string"
- }
- },
- "certificates": {
- "type": "array",
- "example": [
- {
- "tag": "急救证书",
- "url": "https://xxx/cert.jpg"
- }
- ],
- "description": "证书列表(标签+附件一一对应)",
- "items": {
- "$ref": "#/definitions/Map«string,string»",
- "originalRef": "Map«string,string»"
- }
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "description": {
- "type": "string",
- "description": "人员描述"
- },
- "emergencyContact": {
- "type": "string",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "description": "紧急联系电话"
- },
- "ethnicity": {
- "type": "string",
- "example": "汉族",
- "description": "民族"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "性别:0=女 1=男"
- },
- "guideCardNo": {
- "type": "string",
- "description": "导游证号"
- },
- "guideLanguage": {
- "type": "string",
- "description": "导游语种"
- },
- "guideLevel": {
- "type": "string",
- "description": "导游等级"
- },
- "highlights": {
- "type": "string",
- "description": "人员亮点"
- },
- "idCardUrls": {
- "type": "array",
- "description": "证件照URL列表",
- "items": {
- "type": "string"
- }
- },
- "languages": {
- "type": "array",
- "description": "掌握语言(JSON数组)",
- "items": {
- "type": "string"
- }
- },
- "licenseExpiry": {
- "type": "string",
- "format": "date",
- "description": "执照到期日"
- },
- "licenseNo": {
- "type": "string",
- "description": "执照编号"
- },
- "licenseType": {
- "type": "string",
- "description": "执照类型"
- },
- "name": {
- "type": "string",
- "example": "张导",
- "description": "姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "nativePlace": {
- "type": "string",
- "example": "四川成都",
- "description": "籍贯"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- },
- "photoUrls": {
- "type": "array",
- "description": "个人照片URL列表",
- "items": {
- "type": "string"
- }
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "serviceAreas": {
- "type": "array",
- "description": "服务区域(JSON数组)",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序权重,值越大越靠前"
- },
- "specialties": {
- "type": "array",
- "description": "擅长领域(JSON数组)",
- "items": {
- "type": "string"
- }
- },
- "staffType": {
- "type": "string",
- "example": "GUIDE",
- "description": "人员类型"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "yearsOfExperience": {
- "type": "integer",
- "format": "int32",
- "description": "从业年限"
- }
- },
- "title": "服务人员更新请求"
- },
- "服务人员标签VO": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "tagColor": {
- "type": "string",
- "description": "标签颜色(十六进制)"
- },
- "tagId": {
- "type": "string",
- "description": "标签ID"
- },
- "tagName": {
- "type": "string",
- "description": "标签名称"
- },
- "tagType": {
- "type": "integer",
- "format": "int32",
- "description": "标签类型:0=预设 1=自定义"
- },
- "useCount": {
- "type": "integer",
- "format": "int32",
- "description": "使用次数"
- }
- },
- "title": "服务人员标签VO"
- },
- "服务人员标签创建请求": {
- "type": "object",
- "required": [
- "tagName"
- ],
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#3366FF",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "金牌导游",
- "description": "标签名称"
- }
- },
- "title": "服务人员标签创建请求"
- },
- "服务人员标签更新请求": {
- "type": "object",
- "properties": {
- "tagColor": {
- "type": "string",
- "example": "#3366FF",
- "description": "标签颜色(十六进制)"
- },
- "tagName": {
- "type": "string",
- "example": "金牌导游",
- "description": "标签名称"
- }
- },
- "title": "服务人员标签更新请求"
- },
- "服务人员详情VO": {
- "type": "object",
- "properties": {
- "bannerMaterialIds": {
- "type": "array",
- "description": "横幅素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "bannerUrls": {
- "type": "array",
- "description": "横幅图URL列表",
- "items": {
- "type": "string"
- }
- },
- "birthDate": {
- "type": "string",
- "format": "date",
- "description": "出生日期"
- },
- "certificateTags": {
- "type": "array",
- "description": "证书标签列表(旧字段,建议用certificates)",
- "items": {
- "type": "string"
- }
- },
- "certificateUrls": {
- "type": "array",
- "description": "资质证书URL列表(旧字段,建议用certificates)",
- "items": {
- "type": "string"
- }
- },
- "certificates": {
- "type": "array",
- "description": "证书列表(标签+附件一一对应)[{tag,url}]",
- "items": {
- "$ref": "#/definitions/Map«string,string»",
- "originalRef": "Map«string,string»"
- }
- },
- "coverMaterialId": {
- "type": "string",
- "description": "封面素材ID"
- },
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "string",
- "description": "创建者ID"
- },
- "description": {
- "type": "string",
- "description": "人员描述"
- },
- "emergencyContact": {
- "type": "string",
- "description": "紧急联系人"
- },
- "emergencyPhone": {
- "type": "string",
- "description": "紧急联系电话"
- },
- "ethnicity": {
- "type": "string",
- "description": "民族"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "description": "性别:0=女 1=男"
- },
- "guideCardNo": {
- "type": "string",
- "description": "导游证号"
- },
- "guideLanguage": {
- "type": "string",
- "description": "导游语种"
- },
- "guideLevel": {
- "type": "string",
- "description": "导游等级"
- },
- "highlights": {
- "type": "string",
- "description": "人员亮点"
- },
- "idCardUrls": {
- "type": "array",
- "description": "证件照URL列表",
- "items": {
- "type": "string"
- }
- },
- "languages": {
- "type": "array",
- "description": "掌握语言",
- "items": {
- "type": "string"
- }
- },
- "licenseExpiry": {
- "type": "string",
- "format": "date",
- "description": "执照到期日"
- },
- "licenseNo": {
- "type": "string",
- "description": "执照编号"
- },
- "licenseType": {
- "type": "string",
- "description": "执照类型"
- },
- "name": {
- "type": "string",
- "description": "姓名"
- },
- "nationality": {
- "type": "string",
- "description": "国籍"
- },
- "nativePlace": {
- "type": "string",
- "description": "籍贯"
- },
- "phone": {
- "type": "string",
- "description": "手机号"
- },
- "photoUrls": {
- "type": "array",
- "description": "个人照片URL列表",
- "items": {
- "type": "string"
- }
- },
- "priceExcludes": {
- "type": "string",
- "description": "价格不包含内容"
- },
- "priceIncludes": {
- "type": "string",
- "description": "价格包含内容"
- },
- "rating": {
- "type": "number",
- "description": "评分"
- },
- "reviewCount": {
- "type": "integer",
- "format": "int32",
- "description": "评价数"
- },
- "serviceAreas": {
- "type": "array",
- "description": "服务区域",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序权重"
- },
- "specialties": {
- "type": "array",
- "description": "擅长领域",
- "items": {
- "type": "string"
- }
- },
- "staffId": {
- "type": "string",
- "description": "人员ID"
- },
- "staffType": {
- "type": "string",
- "description": "人员类型"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下架 1=上架"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "$ref": "#/definitions/服务人员标签VO",
- "originalRef": "服务人员标签VO"
- }
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "videoMaterialIds": {
- "type": "array",
- "description": "视频素材ID列表",
- "items": {
- "type": "string"
- }
- },
- "videoUrls": {
- "type": "array",
- "description": "视频URL列表",
- "items": {
- "type": "string"
- }
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- },
- "yearsOfExperience": {
- "type": "integer",
- "format": "int32",
- "description": "从业年限"
- }
- },
- "title": "服务人员详情VO"
- },
- "统一响应结果«List«服务人员标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/服务人员标签VO",
- "originalRef": "服务人员标签VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«服务人员标签VO»»"
- },
- "统一响应结果«分页结果«服务人员列表VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«服务人员列表VO»",
- "originalRef": "分页结果«服务人员列表VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«服务人员列表VO»»"
- },
- "统一响应结果«分页结果«服务人员标签VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«服务人员标签VO»",
- "originalRef": "分页结果«服务人员标签VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«服务人员标签VO»»"
- },
- "统一响应结果«服务人员价格日历VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/服务人员价格日历VO",
- "originalRef": "服务人员价格日历VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«服务人员价格日历VO»"
- },
- "统一响应结果«服务人员标签VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/服务人员标签VO",
- "originalRef": "服务人员标签VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«服务人员标签VO»"
- },
- "统一响应结果«服务人员详情VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/服务人员详情VO",
- "originalRef": "服务人员详情VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«服务人员详情VO»"
- },
- "设置人员标签请求": {
- "type": "object",
- "required": [
- "tagIds"
- ],
- "properties": {
- "tagIds": {
- "type": "array",
- "description": "标签ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "设置人员标签请求"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-review-service.json b/.swagger/hl-review-service.json
deleted file mode 100644
index 3f6a1c5..0000000
--- a/.swagger/hl-review-service.json
+++ /dev/null
@@ -1,1029 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "评价服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/review/list": {
- "get": {
- "tags": [
- "管理端-评价审核"
- ],
- "summary": "评价列表(支持好中差评/有图/有视频筛选)",
- "description": "分页查询全部评价(含待审核/已通过/已拒绝),支持按评价等级、是否有图/视频、目标类型筛选\n\n**关联字典**:\n- review_status:评价审核状态(列表筛选+显示)\n- rating_level:评价等级(列表筛选+显示)",
- "operationId": "listReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "hasImage",
- "in": "query",
- "description": "是否有图片: true/false",
- "required": false,
- "type": "boolean"
- },
- {
- "name": "hasVideo",
- "in": "query",
- "description": "是否有视频: true/false",
- "required": false,
- "type": "boolean"
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "x-example": "风景"
- },
- {
- "name": "maxRating",
- "in": "query",
- "description": "最高评分(整体满意度)",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 5
- },
- {
- "name": "minRating",
- "in": "query",
- "description": "最低评分(整体满意度)",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 3
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 1
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "format": "int32",
- "x-example": 20
- },
- {
- "name": "productType",
- "in": "query",
- "description": "产品类型(字典 review_product_type)",
- "required": false,
- "type": "string",
- "x-example": "CORE"
- },
- {
- "name": "ratingLevel",
- "in": "query",
- "description": "评价等级: GOOD/MEDIUM/BAD",
- "required": false,
- "type": "string",
- "x-example": "GOOD"
- },
- {
- "name": "reviewType",
- "in": "query",
- "description": "评论类型(字典 review_type)",
- "required": false,
- "type": "string",
- "x-example": "PRODUCT"
- },
- {
- "name": "status",
- "in": "query",
- "description": "评价状态",
- "required": false,
- "type": "string",
- "x-example": "APPROVED"
- },
- {
- "name": "targetId",
- "in": "query",
- "description": "评价目标ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "x-example": 2001
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "评价目标类型",
- "required": false,
- "type": "string",
- "x-example": "PRODUCT"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«评价列表项(管理端)»»",
- "originalRef": "统一响应结果«分页结果«评价列表项(管理端)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«分页结果«评价列表项(管理端)»»",
- "originalRef": "统一响应结果«分页结果«评价列表项(管理端)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/review/{reviewId}": {
- "get": {
- "tags": [
- "管理端-评价审核"
- ],
- "summary": "评价详情",
- "description": "**关联字典**:\n- review_status:评价审核状态(显示)\n- rating_level:评价等级(显示)",
- "operationId": "getReviewDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«评价详情»",
- "originalRef": "统一响应结果«评价详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«评价详情»",
- "originalRef": "统一响应结果«评价详情»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/review/{reviewId}/approve": {
- "post": {
- "tags": [
- "管理端-评价审核"
- ],
- "summary": "通过评价",
- "description": "审核通过评价,通过后评价在小程序端公开展示。状态流转:PENDING_REVIEW → APPROVED",
- "operationId": "approveUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/review/{reviewId}/override-approve": {
- "post": {
- "tags": [
- "管理端-评价审核"
- ],
- "summary": "覆盖通过(机器拒绝的)",
- "description": "对阿里云内容审核自动拒绝的评价进行人工覆盖通过。状态流转:AUTO_REJECTED → APPROVED",
- "operationId": "overrideApproveUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/review/{reviewId}/reject": {
- "post": {
- "tags": [
- "管理端-评价审核"
- ],
- "summary": "拒绝评价",
- "description": "审核拒绝评价,需填写拒绝原因。拒绝后评价不公开展示。状态流转:PENDING_REVIEW → REJECTED",
- "operationId": "rejectUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "拒绝请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/拒绝评价请求",
- "originalRef": "拒绝评价请求"
- }
- },
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/review/{reviewId}/reply": {
- "post": {
- "tags": [
- "管理端-评价审核"
- ],
- "summary": "回复评价(每条评价仅可回复一次)",
- "description": "管理员回复用户评价,回复内容在小程序端公开展示。每条评价仅允许回复一次,不可修改。\n\n**权限**:需管理员登录。",
- "operationId": "adminReplyUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "回复内容",
- "required": false,
- "schema": {
- "$ref": "#/definitions/管理员回复请求",
- "originalRef": "管理员回复请求"
- }
- },
- {
- "name": "reviewId",
- "in": "path",
- "description": "评价ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "分页结果«评价列表项(管理端)»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "$ref": "#/definitions/评价列表项(管理端)",
- "originalRef": "评价列表项(管理端)"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«评价列表项(管理端)»"
- },
- "拒绝评价请求": {
- "type": "object",
- "required": [
- "rejectReason"
- ],
- "properties": {
- "rejectReason": {
- "type": "string",
- "example": "评价内容包含不当言论",
- "description": "拒绝原因"
- }
- },
- "title": "拒绝评价请求"
- },
- "管理员回复请求": {
- "type": "object",
- "required": [
- "replyContent"
- ],
- "properties": {
- "replyContent": {
- "type": "string",
- "example": "感谢您的评价,期待下次为您服务!",
- "description": "回复内容"
- }
- },
- "title": "管理员回复请求"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«分页结果«评价列表项(管理端)»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/分页结果«评价列表项(管理端)»",
- "originalRef": "分页结果«评价列表项(管理端)»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«分页结果«评价列表项(管理端)»»"
- },
- "统一响应结果«评价详情»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/评价详情",
- "originalRef": "评价详情"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«评价详情»"
- },
- "评价列表项(管理端)": {
- "type": "object",
- "properties": {
- "auditedAt": {
- "type": "string",
- "format": "date-time",
- "description": "审核时间"
- },
- "auditorName": {
- "type": "string",
- "description": "审核人姓名"
- },
- "content": {
- "type": "string",
- "description": "评价内容"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "hasReply": {
- "type": "boolean",
- "description": "是否已回复"
- },
- "imageCount": {
- "type": "integer",
- "format": "int32",
- "description": "图片数量"
- },
- "orderId": {
- "type": "string",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单编号"
- },
- "productType": {
- "type": "string",
- "description": "产品类型"
- },
- "productTypeLabel": {
- "type": "string",
- "description": "产品类型标签"
- },
- "ratingAccommodation": {
- "type": "integer",
- "format": "int32",
- "description": "住宿安排评分(1-5)"
- },
- "ratingDining": {
- "type": "integer",
- "format": "int32",
- "description": "餐饮质量评分(1-5)"
- },
- "ratingDriver": {
- "type": "integer",
- "format": "int32",
- "description": "司机服务评分(1-5)"
- },
- "ratingItinerary": {
- "type": "integer",
- "format": "int32",
- "description": "行程安排评分(1-5)"
- },
- "ratingLevel": {
- "type": "string",
- "description": "评价等级: GOOD/MEDIUM/BAD"
- },
- "ratingLevelLabel": {
- "type": "string",
- "description": "评价等级标签"
- },
- "ratingOverall": {
- "type": "integer",
- "format": "int32",
- "description": "整体满意度评分(1-5)"
- },
- "rejectReason": {
- "type": "string",
- "description": "拒绝原因"
- },
- "reviewId": {
- "type": "string",
- "description": "评价ID"
- },
- "reviewType": {
- "type": "string",
- "description": "评论类型"
- },
- "reviewTypeLabel": {
- "type": "string",
- "description": "评论类型标签"
- },
- "status": {
- "type": "string",
- "description": "评价状态"
- },
- "statusLabel": {
- "type": "string",
- "description": "评价状态标签"
- },
- "targetId": {
- "type": "string",
- "description": "评价目标ID"
- },
- "targetName": {
- "type": "string",
- "description": "评价目标名称"
- },
- "targetType": {
- "type": "string",
- "description": "评价目标类型"
- },
- "targetTypeLabel": {
- "type": "string",
- "description": "评价目标类型标签"
- },
- "userAvatar": {
- "type": "string",
- "description": "用户头像"
- },
- "userNickname": {
- "type": "string",
- "description": "用户昵称"
- },
- "videoCount": {
- "type": "integer",
- "format": "int32",
- "description": "视频数量"
- }
- },
- "title": "评价列表项(管理端)"
- },
- "评价图片信息": {
- "type": "object",
- "properties": {
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "imageId": {
- "type": "string",
- "description": "图片ID"
- },
- "imageUrl": {
- "type": "string",
- "description": "图片URL"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- }
- },
- "title": "评价图片信息"
- },
- "评价视频信息": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "视频封面URL"
- },
- "duration": {
- "type": "integer",
- "format": "int32",
- "description": "视频时长(秒)"
- },
- "fileId": {
- "type": "string",
- "description": "文件ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "videoId": {
- "type": "string",
- "description": "视频ID"
- },
- "videoUrl": {
- "type": "string",
- "description": "视频URL"
- }
- },
- "title": "评价视频信息"
- },
- "评价详情": {
- "type": "object",
- "properties": {
- "adminReply": {
- "type": "string",
- "description": "管理员回复内容"
- },
- "adminReplyAt": {
- "type": "string",
- "format": "date-time",
- "description": "回复时间"
- },
- "adminReplyName": {
- "type": "string",
- "description": "回复管理员姓名"
- },
- "auditedAt": {
- "type": "string",
- "format": "date-time",
- "description": "审核时间"
- },
- "auditorAdminId": {
- "type": "string",
- "description": "审核人ID"
- },
- "auditorName": {
- "type": "string",
- "description": "审核人姓名"
- },
- "content": {
- "type": "string",
- "description": "评价内容"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "departureDate": {
- "type": "string",
- "format": "date",
- "description": "出发日期(冗余自订单)"
- },
- "hasImage": {
- "type": "boolean",
- "description": "是否有图片"
- },
- "hasVideo": {
- "type": "boolean",
- "description": "是否有视频"
- },
- "imageCount": {
- "type": "integer",
- "format": "int32",
- "description": "图片数量"
- },
- "images": {
- "type": "array",
- "description": "评价图片列表",
- "items": {
- "$ref": "#/definitions/评价图片信息",
- "originalRef": "评价图片信息"
- }
- },
- "machineResult": {
- "type": "string",
- "description": "机审结果"
- },
- "orderId": {
- "type": "string",
- "description": "订单ID"
- },
- "orderNo": {
- "type": "string",
- "description": "订单编号"
- },
- "productType": {
- "type": "string",
- "description": "产品类型"
- },
- "productTypeLabel": {
- "type": "string",
- "description": "产品类型标签"
- },
- "ratingAccommodation": {
- "type": "integer",
- "format": "int32",
- "description": "住宿安排评分(1-5)"
- },
- "ratingDining": {
- "type": "integer",
- "format": "int32",
- "description": "餐饮质量评分(1-5)"
- },
- "ratingDriver": {
- "type": "integer",
- "format": "int32",
- "description": "司机服务评分(1-5)"
- },
- "ratingItinerary": {
- "type": "integer",
- "format": "int32",
- "description": "行程安排评分(1-5)"
- },
- "ratingLevel": {
- "type": "string",
- "description": "评价等级: GOOD/MEDIUM/BAD"
- },
- "ratingLevelLabel": {
- "type": "string",
- "description": "评价等级标签: 好评/中评/差评"
- },
- "ratingOverall": {
- "type": "integer",
- "format": "int32",
- "description": "整体满意度评分(1-5)"
- },
- "rejectReason": {
- "type": "string",
- "description": "拒绝原因"
- },
- "reviewId": {
- "type": "string",
- "description": "评价ID"
- },
- "reviewType": {
- "type": "string",
- "description": "评论类型"
- },
- "reviewTypeLabel": {
- "type": "string",
- "description": "评论类型标签"
- },
- "status": {
- "type": "string",
- "description": "评价状态"
- },
- "statusLabel": {
- "type": "string",
- "description": "评价状态标签"
- },
- "targetId": {
- "type": "string",
- "description": "评价目标ID"
- },
- "targetName": {
- "type": "string",
- "description": "评价目标名称"
- },
- "targetType": {
- "type": "string",
- "description": "评价目标类型"
- },
- "targetTypeLabel": {
- "type": "string",
- "description": "评价目标类型标签"
- },
- "userAvatar": {
- "type": "string",
- "description": "用户头像"
- },
- "userId": {
- "type": "string",
- "description": "用户ID"
- },
- "userNickname": {
- "type": "string",
- "description": "用户昵称"
- },
- "videoCount": {
- "type": "integer",
- "format": "int32",
- "description": "视频数量"
- },
- "videos": {
- "type": "array",
- "description": "评价视频列表",
- "items": {
- "$ref": "#/definitions/评价视频信息",
- "originalRef": "评价视频信息"
- }
- }
- },
- "title": "评价详情"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-task-service.json b/.swagger/hl-task-service.json
deleted file mode 100644
index 1a35580..0000000
--- a/.swagger/hl-task-service.json
+++ /dev/null
@@ -1,2762 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "任务服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/admin/task/board": {
- "post": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "创建自定义看板",
- "description": "创建自定义看板,自动添加创建者为看板成员,并创建默认状态列(待办、进行中、已完成)。\n\n**权限**:需管理员登录。",
- "operationId": "createBoardUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "创建看板请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建看板请求",
- "originalRef": "创建看板请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板信息»",
- "originalRef": "统一响应结果«看板信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板信息»",
- "originalRef": "统一响应结果«看板信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/ws-doc/info": {
- "get": {
- "tags": [
- "WebSocket 实时推送"
- ],
- "summary": "WebSocket 连接说明",
- "description": "## 连接信息\n\n| 项目 | 值 |\n|------|-------|\n| **连接地址** | `ws://{host}:8092/ws/task` |\n| **协议** | STOMP over WebSocket(SockJS 降级方案) |\n| **跨域** | 允许所有源 (`*`) |\n\n## 订阅频道\n\n| 订阅地址 | 说明 |\n|------------|-------------|\n| `/topic/board/{boardId}` | 订阅指定看板,接收该看板下的实时任务事件 |\n\n## 推送消息格式\n\n```json\n{\n \"event\": \"TASK_CREATED\",\n \"data\": { ... },\n \"timestamp\": 1709539200000\n}\n```\n\n## 事件类型\n\n| 事件 | 说明 | data 内容 |\n|-------|------------|------|\n| TASK_CREATED | 任务创建 | 任务对象 |\n| TASK_UPDATED | 任务更新 | 任务对象 |\n| TASK_DELETED | 任务删除 | 任务ID |\n| TASK_MOVED | 任务移动(状态变更) | 任务对象 |\n| COMMENT_ADDED | 新增评论 | 评论对象 |\n\n## 前端接入示例 (SockJS + STOMP)\n\n```javascript\nimport SockJS from 'sockjs-client'\nimport { Stomp } from '@stomp/stompjs'\n\nconst socket = new SockJS('http://localhost:8092/ws/task')\nconst stompClient = Stomp.over(socket)\n\nstompClient.connect({}, () => {\n stompClient.subscribe('/topic/board/123', (msg) => {\n const { event, data, timestamp } = JSON.parse(msg.body)\n console.log('Event:', event, 'Data:', data)\n })\n})\n```",
- "operationId": "websocketInfoUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}": {
- "get": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "看板详情",
- "description": "返回看板基本信息(名称、描述、创建者),不含任务数据。查看任务请使用「获取看板任务」接口",
- "operationId": "getBoardDetailUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板信息»",
- "originalRef": "统一响应结果«看板信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板信息»",
- "originalRef": "统一响应结果«看板信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "更新看板",
- "description": "更新看板的名称和描述。仅看板创建者或超级管理员可操作。\n\n**权限**:需管理员登录,且为看板创建者或超级管理员。",
- "operationId": "updateBoardUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "更新看板请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新看板请求",
- "originalRef": "更新看板请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板信息»",
- "originalRef": "统一响应结果«看板信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板信息»",
- "originalRef": "统一响应结果«看板信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "删除看板",
- "description": "删除看板及其下所有状态列和任务(级联删除)。仅看板创建者或超级管理员可操作",
- "operationId": "deleteBoardUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}/member/{targetAdminId}": {
- "delete": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "移除成员",
- "description": "从看板中移除指定成员。仅看板创建者或超级管理员可操作,不能移除创建者自己",
- "operationId": "removeMemberUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "targetAdminId",
- "in": "path",
- "description": "目标管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}/members": {
- "get": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "获取看板成员",
- "description": "返回看板的所有成员列表,包含成员的管理员ID和姓名",
- "operationId": "getMembersUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板成员信息»»",
- "originalRef": "统一响应结果«List«看板成员信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板成员信息»»",
- "originalRef": "统一响应结果«List«看板成员信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "添加成员",
- "description": "批量添加管理员为看板成员,成为成员后可以查看看板、创建和操作任务。\n\n**权限**:需管理员登录,且为看板创建者或超级管理员。",
- "operationId": "addMembersUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "添加成员请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/添加成员请求",
- "originalRef": "添加成员请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}/status": {
- "post": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "创建状态列",
- "description": "在看板中创建新的状态列(如测试中、待发布等),自动排到末尾。任务通过拖拽在不同状态列间流转。\n\n**权限**:需管理员登录且为看板成员。",
- "operationId": "createStatusUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "创建状态列请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建状态请求",
- "originalRef": "创建状态请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板状态信息»",
- "originalRef": "统一响应结果«看板状态信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板状态信息»",
- "originalRef": "统一响应结果«看板状态信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}/status/sort": {
- "put": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "状态列排序",
- "description": "批量更新状态列的排序顺序。传入状态列ID数组,数组下标即为新的排序值。操作完成后通过WebSocket推送STATUS_REORDERED事件",
- "operationId": "sortStatusesUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "req",
- "description": "状态列排序请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/状态排序请求",
- "originalRef": "状态排序请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}/statuses": {
- "get": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "获取看板状态列",
- "description": "返回看板的所有状态列(如待办、进行中、已完成),按排序字段升序排列。拖拽任务到不同状态列实现状态流转",
- "operationId": "getStatusesUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板状态信息»»",
- "originalRef": "统一响应结果«List«看板状态信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板状态信息»»",
- "originalRef": "统一响应结果«List«看板状态信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/board/{boardId}/tasks": {
- "get": {
- "tags": [
- "任务管理"
- ],
- "summary": "获取看板任务(按状态分组)",
- "description": "返回看板下所有任务,按状态列分组。支持按优先级(HIGH/MEDIUM/LOW)和负责人筛选,每组内按排序值升序排列\n\n**关联字典**:\n- task_priority:任务优先级(列表筛选+显示)",
- "operationId": "getBoardTasksUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "assigneeId",
- "in": "query",
- "description": "负责人ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "boardId",
- "in": "path",
- "description": "看板ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "priority",
- "in": "query",
- "description": "优先级",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板任务分组信息»»",
- "originalRef": "统一响应结果«List«看板任务分组信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板任务分组信息»»",
- "originalRef": "统一响应结果«List«看板任务分组信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task": {
- "post": {
- "tags": [
- "任务管理"
- ],
- "summary": "创建任务",
- "description": "在指定看板和状态列下创建任务。创建成功后通过WebSocket推送TASK_CREATED事件,并通知被分配的负责人\n\n**关联字典**:\n- task_priority:任务优先级(创建时选择)",
- "operationId": "createTaskUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "创建任务请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建任务请求",
- "originalRef": "创建任务请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«任务信息»",
- "originalRef": "统一响应结果«任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«任务信息»",
- "originalRef": "统一响应结果«任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/boards": {
- "get": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "获取可见看板列表",
- "description": "返回当前管理员可见的看板列表:超级管理员可见所有看板,普通管理员仅可见自己创建的或作为成员的看板",
- "operationId": "getBoardsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板信息»»",
- "originalRef": "统一响应结果«List«看板信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«看板信息»»",
- "originalRef": "统一响应结果«List«看板信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/comment/{commentId}": {
- "delete": {
- "tags": [
- "任务管理"
- ],
- "summary": "删除评论",
- "description": "仅评论作者本人可删除自己的评论,系统自动生成的活动记录不可删除",
- "operationId": "deleteCommentUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "commentId",
- "in": "path",
- "description": "评论ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/status/{statusId}": {
- "put": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "更新状态列",
- "description": "更新状态列的名称和颜色。\n\n**权限**:需管理员登录且为看板成员。",
- "operationId": "updateStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "更新状态列请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新状态请求",
- "originalRef": "更新状态请求"
- }
- },
- {
- "name": "statusId",
- "in": "path",
- "description": "状态列ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板状态信息»",
- "originalRef": "统一响应结果«看板状态信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«看板状态信息»",
- "originalRef": "统一响应结果«看板状态信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "任务看板管理"
- ],
- "summary": "删除状态列",
- "description": "删除看板的状态列。如果状态列下有任务则不允许删除,需先移动或删除任务",
- "operationId": "deleteStatusUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "statusId",
- "in": "path",
- "description": "状态列ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/subtask/{subtaskId}": {
- "delete": {
- "tags": [
- "任务管理"
- ],
- "summary": "删除子任务",
- "description": "删除指定子任务。\n\n**权限**:需管理员登录且为看板成员。",
- "operationId": "deleteSubtaskUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "subtaskId",
- "in": "path",
- "description": "子任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/subtask/{subtaskId}/toggle": {
- "put": {
- "tags": [
- "任务管理"
- ],
- "summary": "切换子任务完成状态",
- "description": "切换子任务的完成/未完成状态(toggle),完成状态切换会自动记录到任务时间线",
- "operationId": "toggleSubtaskUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "subtaskId",
- "in": "path",
- "description": "子任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/{taskId}": {
- "get": {
- "tags": [
- "任务管理"
- ],
- "summary": "任务详情",
- "description": "返回任务完整信息,包含子任务列表、负责人信息、附件列表等\n\n**关联字典**:\n- task_priority:任务优先级(显示)",
- "operationId": "getTaskDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«任务信息»",
- "originalRef": "统一响应结果«任务信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«任务信息»",
- "originalRef": "统一响应结果«任务信息»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "任务管理"
- ],
- "summary": "更新任务",
- "description": "更新任务的标题、描述、优先级、截止日期、负责人等信息。更新后通过WebSocket推送TASK_UPDATED事件,如果修改了负责人则额外通知新负责人。\n\n**权限**:需管理员登录且为看板成员。\n\n**关联字典**:\n- task_priority:任务优先级(编辑时选择)",
- "operationId": "updateTaskUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "更新任务请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/更新任务请求",
- "originalRef": "更新任务请求"
- }
- },
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«任务信息»",
- "originalRef": "统一响应结果«任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«任务信息»",
- "originalRef": "统一响应结果«任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "任务管理"
- ],
- "summary": "删除任务",
- "description": "删除任务及其所有子任务、评论和时间线记录(级联删除)。删除后通过WebSocket推送TASK_DELETED事件。\n\n**权限**:需管理员登录且为看板成员。",
- "operationId": "deleteTaskUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/{taskId}/comment": {
- "post": {
- "tags": [
- "任务管理"
- ],
- "summary": "添加评论",
- "description": "在任务时间线中添加评论,添加后自动通知任务负责人",
- "operationId": "addCommentUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "创建评论请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建评论请求",
- "originalRef": "创建评论请求"
- }
- },
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«时间线条目»",
- "originalRef": "统一响应结果«时间线条目»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«时间线条目»",
- "originalRef": "统一响应结果«时间线条目»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/{taskId}/sort": {
- "put": {
- "tags": [
- "任务管理"
- ],
- "summary": "任务排序",
- "description": "更新任务在同一状态列内的排序位置,用于拖拽排序",
- "operationId": "sortTasksUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "任务排序请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/任务排序请求",
- "originalRef": "任务排序请求"
- }
- },
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/{taskId}/status": {
- "put": {
- "tags": [
- "任务管理"
- ],
- "summary": "变更任务状态",
- "description": "将任务移动到指定状态列(拖拽操作),自动记录状态变更到时间线,并通过WebSocket推送TASK_STATUS_CHANGED事件",
- "operationId": "changeStatusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "变更状态请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/变更任务状态请求",
- "originalRef": "变更任务状态请求"
- }
- },
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«Void»",
- "originalRef": "统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/{taskId}/subtask": {
- "post": {
- "tags": [
- "任务管理"
- ],
- "summary": "创建子任务",
- "description": "在指定任务下创建子任务(待办项),用于拆分任务的执行步骤。子任务默认为未完成状态。\n\n**权限**:需管理员登录且为看板成员。",
- "operationId": "createSubtaskUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "req",
- "description": "创建子任务请求",
- "required": false,
- "schema": {
- "$ref": "#/definitions/创建子任务请求",
- "originalRef": "创建子任务请求"
- }
- },
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«子任务信息»",
- "originalRef": "统一响应结果«子任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«子任务信息»",
- "originalRef": "统一响应结果«子任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/task/{taskId}/timeline": {
- "get": {
- "tags": [
- "任务管理"
- ],
- "summary": "获取任务时间线",
- "description": "返回任务的完整操作记录,包含评论和系统自动记录的状态变更、人员分配等活动,按时间正序排列",
- "operationId": "getTimelineUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "taskId",
- "in": "path",
- "description": "任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«时间线条目»»",
- "originalRef": "统一响应结果«List«时间线条目»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/统一响应结果«List«时间线条目»»",
- "originalRef": "统一响应结果«List«时间线条目»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "任务信息": {
- "type": "object",
- "properties": {
- "assignees": {
- "type": "array",
- "description": "负责人列表",
- "items": {
- "$ref": "#/definitions/负责人信息",
- "originalRef": "负责人信息"
- }
- },
- "boardId": {
- "type": "integer",
- "format": "int64",
- "description": "看板ID"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "creatorName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "description": {
- "type": "string",
- "description": "任务描述"
- },
- "dueDate": {
- "type": "string",
- "format": "date",
- "description": "截止日期"
- },
- "overdue": {
- "type": "boolean",
- "description": "是否逾期"
- },
- "parentId": {
- "type": "integer",
- "format": "int64",
- "description": "父任务ID"
- },
- "priority": {
- "type": "string",
- "description": "优先级: LOW/MEDIUM/HIGH/URGENT"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "statusColor": {
- "type": "string",
- "description": "状态颜色"
- },
- "statusId": {
- "type": "integer",
- "format": "int64",
- "description": "状态ID"
- },
- "statusName": {
- "type": "string",
- "description": "状态名称"
- },
- "subtaskCompleted": {
- "type": "integer",
- "format": "int32",
- "description": "已完成子任务数"
- },
- "subtaskTotal": {
- "type": "integer",
- "format": "int32",
- "description": "子任务总数"
- },
- "subtasks": {
- "type": "array",
- "description": "子任务列表",
- "items": {
- "$ref": "#/definitions/子任务信息",
- "originalRef": "子任务信息"
- }
- },
- "taskId": {
- "type": "integer",
- "format": "int64",
- "description": "任务ID"
- },
- "title": {
- "type": "string",
- "description": "任务标题"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "任务信息"
- },
- "创建状态请求": {
- "type": "object",
- "required": [
- "statusName"
- ],
- "properties": {
- "statusColor": {
- "type": "string",
- "example": "#409EFF",
- "description": "状态颜色"
- },
- "statusName": {
- "type": "string",
- "example": "进行中",
- "description": "状态名称"
- }
- },
- "title": "创建状态请求"
- },
- "创建看板请求": {
- "type": "object",
- "required": [
- "boardName"
- ],
- "properties": {
- "boardName": {
- "type": "string",
- "example": "产品迭代看板",
- "description": "看板名称"
- },
- "deptId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "部门ID"
- },
- "description": {
- "type": "string",
- "example": "用于跟踪产品迭代任务",
- "description": "看板描述"
- },
- "memberIds": {
- "type": "array",
- "description": "成员ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "创建看板请求"
- },
- "子任务信息": {
- "type": "object",
- "properties": {
- "completed": {
- "type": "boolean",
- "description": "是否已完成"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "creatorName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "taskId": {
- "type": "integer",
- "format": "int64",
- "description": "子任务ID"
- },
- "title": {
- "type": "string",
- "description": "子任务标题"
- }
- },
- "title": "子任务信息"
- },
- "更新看板请求": {
- "type": "object",
- "properties": {
- "boardName": {
- "type": "string",
- "example": "产品迭代看板",
- "description": "看板名称"
- },
- "description": {
- "type": "string",
- "example": "用于跟踪产品迭代任务",
- "description": "看板描述"
- }
- },
- "title": "更新看板请求"
- },
- "添加成员请求": {
- "type": "object",
- "required": [
- "adminIds"
- ],
- "properties": {
- "adminIds": {
- "type": "array",
- "description": "管理员ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "添加成员请求"
- },
- "状态排序请求": {
- "type": "object",
- "required": [
- "statusIds"
- ],
- "properties": {
- "statusIds": {
- "type": "array",
- "description": "状态ID列表(按排序顺序)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "状态排序请求"
- },
- "看板任务分组信息": {
- "type": "object",
- "properties": {
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "statusColor": {
- "type": "string",
- "description": "状态颜色"
- },
- "statusId": {
- "type": "integer",
- "format": "int64",
- "description": "状态ID"
- },
- "statusName": {
- "type": "string",
- "description": "状态名称"
- },
- "tasks": {
- "type": "array",
- "description": "该状态下的任务列表",
- "items": {
- "$ref": "#/definitions/任务信息",
- "originalRef": "任务信息"
- }
- }
- },
- "title": "看板任务分组信息"
- },
- "看板信息": {
- "type": "object",
- "properties": {
- "boardId": {
- "type": "integer",
- "format": "int64",
- "description": "看板ID"
- },
- "boardName": {
- "type": "string",
- "description": "看板名称"
- },
- "boardType": {
- "type": "string",
- "description": "看板类型"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "createdBy": {
- "type": "integer",
- "format": "int64",
- "description": "创建人ID"
- },
- "creatorName": {
- "type": "string",
- "description": "创建人姓名"
- },
- "deptId": {
- "type": "integer",
- "format": "int64",
- "description": "部门ID"
- },
- "deptName": {
- "type": "string",
- "description": "部门名称"
- },
- "description": {
- "type": "string",
- "description": "看板描述"
- },
- "statuses": {
- "type": "array",
- "description": "状态列表",
- "items": {
- "$ref": "#/definitions/看板状态信息",
- "originalRef": "看板状态信息"
- }
- },
- "taskCount": {
- "type": "integer",
- "format": "int32",
- "description": "任务总数"
- }
- },
- "title": "看板信息"
- },
- "看板成员信息": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "description": "管理员ID"
- },
- "avatarUrl": {
- "type": "string",
- "description": "头像地址"
- },
- "joinedAt": {
- "type": "string",
- "format": "date-time",
- "description": "加入时间"
- },
- "role": {
- "type": "string",
- "description": "角色: OWNER/MEMBER"
- },
- "username": {
- "type": "string",
- "description": "用户名"
- }
- },
- "title": "看板成员信息"
- },
- "看板状态信息": {
- "type": "object",
- "properties": {
- "isPreset": {
- "type": "boolean",
- "description": "是否预设状态"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序序号"
- },
- "statusColor": {
- "type": "string",
- "description": "状态颜色"
- },
- "statusId": {
- "type": "integer",
- "format": "int64",
- "description": "状态ID"
- },
- "statusName": {
- "type": "string",
- "description": "状态名称"
- },
- "taskCount": {
- "type": "integer",
- "format": "int32",
- "description": "该状态下的任务数量"
- }
- },
- "title": "看板状态信息"
- },
- "统一响应结果«List«看板任务分组信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/看板任务分组信息",
- "originalRef": "看板任务分组信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«看板任务分组信息»»"
- },
- "统一响应结果«List«看板成员信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/看板成员信息",
- "originalRef": "看板成员信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«看板成员信息»»"
- },
- "统一响应结果«List«看板状态信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/看板状态信息",
- "originalRef": "看板状态信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«看板状态信息»»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«看板信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/看板信息",
- "originalRef": "看板信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«看板信息»"
- },
- "统一响应结果«看板状态信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/看板状态信息",
- "originalRef": "看板状态信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«看板状态信息»"
- },
- "负责人信息": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "description": "管理员ID"
- },
- "avatarUrl": {
- "type": "string",
- "description": "头像地址"
- },
- "username": {
- "type": "string",
- "description": "用户名"
- },
- "wechatName": {
- "type": "string",
- "description": "企微昵称"
- }
- },
- "title": "负责人信息"
- },
- "任务排序请求": {
- "type": "object",
- "required": [
- "statusId",
- "taskIds"
- ],
- "properties": {
- "statusId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "状态ID"
- },
- "taskIds": {
- "type": "array",
- "description": "任务ID列表(按排序顺序)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "任务排序请求"
- },
- "创建任务请求": {
- "type": "object",
- "required": [
- "boardId",
- "title"
- ],
- "properties": {
- "assigneeIds": {
- "type": "array",
- "description": "负责人ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "boardId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "看板ID"
- },
- "description": {
- "type": "string",
- "example": "根据产品原型完成首页所有组件的UI设计",
- "description": "任务描述"
- },
- "dueDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-15",
- "description": "截止日期"
- },
- "priority": {
- "type": "string",
- "example": "HIGH",
- "description": "优先级: LOW/MEDIUM/HIGH/URGENT"
- },
- "statusId": {
- "type": "integer",
- "format": "int64",
- "example": 1001,
- "description": "状态ID"
- },
- "title": {
- "type": "string",
- "example": "完成首页UI设计",
- "description": "任务标题"
- }
- },
- "title": "创建任务请求"
- },
- "创建子任务请求": {
- "type": "object",
- "required": [
- "title"
- ],
- "properties": {
- "title": {
- "type": "string",
- "example": "完成导航栏组件",
- "description": "子任务标题"
- }
- },
- "title": "创建子任务请求"
- },
- "创建评论请求": {
- "type": "object",
- "required": [
- "content"
- ],
- "properties": {
- "content": {
- "type": "string",
- "example": "这个任务需要优先处理",
- "description": "评论内容"
- }
- },
- "title": "创建评论请求"
- },
- "变更任务状态请求": {
- "type": "object",
- "required": [
- "statusId"
- ],
- "properties": {
- "statusId": {
- "type": "integer",
- "format": "int64",
- "example": 1002,
- "description": "目标状态ID"
- }
- },
- "title": "变更任务状态请求"
- },
- "时间线条目": {
- "type": "object",
- "properties": {
- "action": {
- "type": "string",
- "description": "操作类型"
- },
- "adminAvatar": {
- "type": "string",
- "description": "管理员头像"
- },
- "adminId": {
- "type": "integer",
- "format": "int64",
- "description": "管理员ID"
- },
- "adminName": {
- "type": "string",
- "description": "管理员姓名"
- },
- "content": {
- "type": "string",
- "description": "内容"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "条目ID"
- },
- "newValue": {
- "type": "string",
- "description": "新值"
- },
- "oldValue": {
- "type": "string",
- "description": "旧值"
- },
- "type": {
- "type": "string",
- "description": "类型: COMMENT/ACTIVITY"
- }
- },
- "title": "时间线条目"
- },
- "更新任务请求": {
- "type": "object",
- "properties": {
- "assigneeIds": {
- "type": "array",
- "description": "负责人ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "description": {
- "type": "string",
- "example": "根据产品原型完成首页所有组件的UI设计",
- "description": "任务描述"
- },
- "dueDate": {
- "type": "string",
- "format": "date",
- "example": "2026-03-15",
- "description": "截止日期"
- },
- "priority": {
- "type": "string",
- "example": "MEDIUM",
- "description": "优先级: LOW/MEDIUM/HIGH/URGENT"
- },
- "title": {
- "type": "string",
- "example": "完成首页UI设计",
- "description": "任务标题"
- }
- },
- "title": "更新任务请求"
- },
- "更新状态请求": {
- "type": "object",
- "properties": {
- "statusColor": {
- "type": "string",
- "example": "#67C23A",
- "description": "状态颜色"
- },
- "statusName": {
- "type": "string",
- "example": "已完成",
- "description": "状态名称"
- }
- },
- "title": "更新状态请求"
- },
- "统一响应结果«List«时间线条目»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/时间线条目",
- "originalRef": "时间线条目"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«时间线条目»»"
- },
- "统一响应结果«List«看板信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "$ref": "#/definitions/看板信息",
- "originalRef": "看板信息"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«List«看板信息»»"
- },
- "统一响应结果«任务信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/任务信息",
- "originalRef": "任务信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«任务信息»"
- },
- "统一响应结果«子任务信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/子任务信息",
- "originalRef": "子任务信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«子任务信息»"
- },
- "统一响应结果«时间线条目»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "$ref": "#/definitions/时间线条目",
- "originalRef": "时间线条目"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- }
- },
- "title": "统一响应结果«时间线条目»"
- }
- }
-}
\ No newline at end of file
diff --git a/.swagger/hl-user-service.json b/.swagger/hl-user-service.json
deleted file mode 100644
index a97df09..0000000
--- a/.swagger/hl-user-service.json
+++ /dev/null
@@ -1,15051 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "用户服务",
- "version": "1.0.0"
- },
- "basePath": "/",
- "paths": {
- "/dict/all": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "获取所有字典数据(公开接口)",
- "description": "获取系统全部字典类型及其字典数据,供小程序C端使用。无需认证即可调用。返回格式与管理端 /admin/dict/all 一致。\n\n**字典层级说明**:\n- 每个元素包含 dictType(编码)、dictName(名称)、dataList(字典数据列表)\n- 前端通过 dictType 匹配业务字段,用 dataList 中的 dictValue/dictLabel 做翻译展示\n- 常用字典:order_status、product_status、id_card_type、gender、traveler_type、favorite_resource_type、footprint_resource_type\n",
- "operationId": "getAllDictUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«字典VO»»",
- "$ref": "#/definitions/统一响应结果«List«字典VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«字典VO»»",
- "$ref": "#/definitions/统一响应结果«List«字典VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/account": {
- "delete": {
- "tags": [
- "小程序接口"
- ],
- "summary": "注销账号",
- "description": "永久注销当前用户账号(软删除)。注销后该账号的openid和手机号将被释放,可用于重新注册。注销操作不可撤销,请谨慎调用。需要小程序用户认证。",
- "operationId": "deleteAccountUsingDELETE",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/favorite": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "收藏列表",
- "description": "分页查询当前用户的所有收藏记录,按收藏时间倒序排列。返回收藏记录的基础信息(不包含资源详情),需前端根据targetType和targetId再查详情。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):返回字段targetType,前端据此判断跳转到哪种资源详情页\n",
- "operationId": "listFavoritesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Favorite»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Favorite»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Favorite»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Favorite»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "添加收藏",
- "description": "将指定资源添加到当前用户的收藏列表。同一用户对同一资源不可重复收藏,重复收藏会报错。targetType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT/EXPLORE等。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品, EXPLORE=探索(请求参数targetType)\n",
- "operationId": "addFavoriteUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "favoriteRequest",
- "description": "收藏请求",
- "required": false,
- "schema": {
- "originalRef": "收藏请求",
- "$ref": "#/definitions/收藏请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Favorite»",
- "$ref": "#/definitions/统一响应结果«Favorite»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Favorite»",
- "$ref": "#/definitions/统一响应结果«Favorite»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/favorite/check": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "检查是否已收藏",
- "description": "检查当前用户是否已收藏指定类型的资源。返回true=已收藏,false=未收藏。targetType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT/EXPLORE等。需要小程序用户认证。\n\n**关联字典**:\n- favorite_resource_type(收藏资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品, EXPLORE=探索(请求参数targetType)\n",
- "operationId": "checkFavoriteUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "targetId",
- "in": "query",
- "description": "目标资源ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "targetType",
- "in": "query",
- "description": "目标类型",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«boolean»",
- "$ref": "#/definitions/统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«boolean»",
- "$ref": "#/definitions/统一响应结果«boolean»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/favorite/{favoriteId}": {
- "delete": {
- "tags": [
- "小程序接口"
- ],
- "summary": "删除收藏",
- "description": "根据收藏记录ID取消收藏。只能删除自己的收藏记录,删除他人的收藏会报权限错误。需要小程序用户认证。",
- "operationId": "deleteFavoriteUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "favoriteId",
- "in": "path",
- "description": "收藏ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/footprint": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "足迹列表",
- "description": "分页查询当前用户的浏览足迹,按浏览时间倒序排列。需要小程序用户认证。\n\n**关联字典**:\n- footprint_resource_type(足迹资源类型):返回字段resourceType,前端据此判断跳转到哪种资源详情页\n",
- "operationId": "listFootprintsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Footprint»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Footprint»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Footprint»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Footprint»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "添加足迹",
- "description": "记录用户浏览资源的足迹。同一用户对同一资源多次浏览只保留最新一条记录(更新时间)。resourceType取值:SCENIC_SPOT/ACTIVITY/HOTEL/PRODUCT等。通常由前端在进入资源详情页时自动调用。需要小程序用户认证。\n\n**关联字典**:\n- footprint_resource_type(足迹资源类型):SCENIC_SPOT=景区, ACTIVITY=活动, HOTEL=酒店, PRODUCT=产品(请求参数resourceType)\n",
- "operationId": "addFootprintUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "footprintRequest",
- "description": "足迹请求",
- "required": false,
- "schema": {
- "originalRef": "足迹请求",
- "$ref": "#/definitions/足迹请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Footprint»",
- "$ref": "#/definitions/统一响应结果«Footprint»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Footprint»",
- "$ref": "#/definitions/统一响应结果«Footprint»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/footprint/{footprintId}": {
- "delete": {
- "tags": [
- "小程序接口"
- ],
- "summary": "删除足迹",
- "description": "根据足迹记录ID删除单条浏览足迹。只能删除自己的足迹记录。需要小程序用户认证。",
- "operationId": "deleteFootprintUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "footprintId",
- "in": "path",
- "description": "足迹ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/login": {
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "微信登录",
- "description": "小程序用户通过微信授权码(wx.login获取的code)登录。可选传入phoneCode用于获取手机号绑定,avatar和nickname用于设置头像昵称。首次登录自动注册,返回JWT Token。needProfile=true表示需补充实名信息。无需认证即可调用。",
- "operationId": "loginUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "微信登录请求",
- "required": false,
- "schema": {
- "originalRef": "微信小程序登录请求",
- "$ref": "#/definitions/微信小程序登录请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户登录响应»",
- "$ref": "#/definitions/统一响应结果«用户登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户登录响应»",
- "$ref": "#/definitions/统一响应结果«用户登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/login/sms": {
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "手机号验证码登录",
- "description": "小程序用户通过手机号+短信验证码登录。首次登录自动注册账号,返回JWT Token。登录成功后若needProfile=true,表示需要补充个人信息(实名认证),前端应跳转到信息补充页。无需认证即可调用。",
- "operationId": "loginBySmsUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "短信验证码登录请求",
- "required": false,
- "schema": {
- "originalRef": "短信验证码登录请求",
- "$ref": "#/definitions/短信验证码登录请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户登录响应»",
- "$ref": "#/definitions/统一响应结果«用户登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户登录响应»",
- "$ref": "#/definitions/统一响应结果«用户登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/logout": {
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "用户登出",
- "description": "清除当前用户的登录状态并使Token失效。需要小程序用户认证。",
- "operationId": "logoutUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/profile": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "获取用户信息",
- "description": "获取当前登录用户的个人资料,包括昵称、头像、手机号(脱敏)、实名信息等。手机号返回脱敏格式(如138****0000),证件号同样脱敏处理。需要小程序用户认证(Token中的userId)。\n\n**关联字典**:\n- id_card_type(证件类型):ID_CARD=身份证, PASSPORT=护照\n- gender(性别):0=女, 1=男\n",
- "operationId": "getProfileUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户信息VO»",
- "$ref": "#/definitions/统一响应结果«用户信息VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户信息VO»",
- "$ref": "#/definitions/统一响应结果«用户信息VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "小程序接口"
- ],
- "summary": "更新用户信息",
- "description": "更新当前用户的个人资料。首次登录补充信息时realName/idCardType/idCardNo为必填(使用ProfileCompletion验证组)。如果传入身份证号,后端自动解析性别和出生日期。更新手机号后会自动绑定匹配的待绑定订单。需要小程序用户认证。\n\n**关联字典**:\n- id_card_type(证件类型):ID_CARD=身份证, PASSPORT=护照(请求参数idCardType)\n- gender(性别):0=女, 1=男\n",
- "operationId": "updateProfileUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "updateRequest",
- "description": "更新用户信息请求",
- "required": false,
- "schema": {
- "originalRef": "更新用户资料请求",
- "$ref": "#/definitions/更新用户资料请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户信息VO»",
- "$ref": "#/definitions/统一响应结果«用户信息VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«用户信息VO»",
- "$ref": "#/definitions/统一响应结果«用户信息VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/sms/send": {
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "发送短信验证码",
- "description": "向指定手机号发送6位数字短信验证码,用于小程序手机号登录。同一手机号60秒内不可重复发送,每日最多发送10次。验证码有效期5分钟。无需认证即可调用。",
- "operationId": "sendSmsCodeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "发送短信验证码请求",
- "required": false,
- "schema": {
- "originalRef": "发送短信验证码请求",
- "$ref": "#/definitions/发送短信验证码请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/traveler": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "出行人列表",
- "description": "获取当前用户的所有出行人列表。如果用户已完成实名认证(realName不为空),列表首项会自动注入一个'本人'虚拟出行人(travelerId=0)。默认出行人排在前面,其余按创建时间排序。需要小程序用户认证。\n\n**关联字典**:\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType",
- "operationId": "listTravelersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«Traveler»»",
- "$ref": "#/definitions/统一响应结果«List«Traveler»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«Traveler»»",
- "$ref": "#/definitions/统一响应结果«List«Traveler»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "小程序接口"
- ],
- "summary": "新增出行人",
- "description": "为当前用户添加一位出行人信息,用于下单时选择。出行人类型(成人/儿童/婴儿)根据出生日期自动判断,无需手动传入。如果传入身份证号,后端自动校验格式并解析性别。每个用户最多可添加20位出行人。需要小程序用户认证。\n\n**关联字典**:\n- gender(性别):请求/返回字段gender(0=女, 1=男)\n- id_card_type(证件类型):请求/返回字段idCardType(ID_CARD=身份证, PASSPORT=护照等)\n- traveler_type(出行人类型):返回字段travelerType(ADULT=成人, CHILD=儿童, INFANT=婴儿,自动计算)",
- "operationId": "addTravelerUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "travelerRequest",
- "description": "出行人信息",
- "required": false,
- "schema": {
- "originalRef": "出行人请求",
- "$ref": "#/definitions/出行人请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Traveler»",
- "$ref": "#/definitions/统一响应结果«Traveler»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Traveler»",
- "$ref": "#/definitions/统一响应结果«Traveler»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/traveler/{travelerId}": {
- "get": {
- "tags": [
- "小程序接口"
- ],
- "summary": "出行人详情",
- "description": "获取指定出行人的详细信息。\n\n**关联字典**:\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType",
- "operationId": "getTravelerUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "travelerId",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Traveler»",
- "$ref": "#/definitions/统一响应结果«Traveler»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Traveler»",
- "$ref": "#/definitions/统一响应结果«Traveler»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "小程序接口"
- ],
- "summary": "更新出行人",
- "description": "更新指定出行人的信息。\n\n**关联字典**:\n- gender(性别):请求/返回字段gender\n- id_card_type(证件类型):请求/返回字段idCardType\n- traveler_type(出行人类型):返回字段travelerType(自动计算)",
- "operationId": "updateTravelerUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "travelerId",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "travelerRequest",
- "description": "出行人信息",
- "required": false,
- "schema": {
- "originalRef": "出行人请求",
- "$ref": "#/definitions/出行人请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Traveler»",
- "$ref": "#/definitions/统一响应结果«Traveler»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Traveler»",
- "$ref": "#/definitions/统一响应结果«Traveler»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "小程序接口"
- ],
- "summary": "删除出行人",
- "description": "删除指定的出行人记录(软删除)。\n\n**权限**:需要小程序用户认证。\n**注意**:如果该出行人已关联到未完成的订单,删除不影响订单中的出行人快照数据。",
- "operationId": "deleteTravelerUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "travelerId",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/user/traveler/{travelerId}/default": {
- "put": {
- "tags": [
- "小程序接口"
- ],
- "summary": "设为默认出行人",
- "description": "将指定出行人设为默认。每个用户只能有一个默认出行人,设置新的默认会自动取消原来的默认。默认出行人在下单时会被自动选中。需要小程序用户认证。",
- "operationId": "setDefaultUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "travelerId",
- "in": "path",
- "description": "出行人ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/user": {
- "get": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "管理员列表",
- "description": "分页查询管理员列表,支持按角色、状态、企微绑定状态、关键词筛选。keyword支持模糊匹配用户名和企业微信名称。status取值:ACTIVE=正常 LOCKED=已锁定 DISABLED=已禁用。wechatBound:true=已绑定企业微信 false=未绑定。需要管理员认证。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用(筛选条件+列表展示)\n",
- "operationId": "listAdminsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词(模糊匹配用户名/企业微信名称)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "roleId",
- "in": "query",
- "description": "角色ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "wechatBound",
- "in": "query",
- "description": "是否绑定企业微信: true=已绑定, false=未绑定",
- "required": false,
- "type": "boolean",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«AdminUser»»",
- "$ref": "#/definitions/统一响应结果«分页结果«AdminUser»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«AdminUser»»",
- "$ref": "#/definitions/统一响应结果«分页结果«AdminUser»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "创建管理员",
- "description": "创建新的后台管理员账号。默认密码为Admin@123456,管理员首次登录后建议修改密码。可通过roleIds分配多个角色,也兼容旧的单角色roleId参数。需要SUPER_ADMIN或ADMIN角色。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n",
- "operationId": "createAdminUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建管理员请求",
- "required": false,
- "schema": {
- "originalRef": "创建管理员请求",
- "$ref": "#/definitions/创建管理员请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«AdminUser»",
- "$ref": "#/definitions/统一响应结果«AdminUser»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«AdminUser»",
- "$ref": "#/definitions/统一响应结果«AdminUser»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/user/designers": {
- "get": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "全部定制师(不分页)",
- "description": "返回所有已上线的定制师列表,不分页。用于订单指派定制师、下拉选择等场景。\n返回定制师ID、姓名、头像、认证等级等基本信息。",
- "operationId": "listAllDesignersUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«旅行设计师VO»»",
- "$ref": "#/definitions/统一响应结果«List«旅行设计师VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«旅行设计师VO»»",
- "$ref": "#/definitions/统一响应结果«List«旅行设计师VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/user/{adminId}": {
- "get": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "获取管理员详情",
- "description": "获取指定管理员的完整信息。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n",
- "operationId": "getAdminUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "path",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«AdminUser»",
- "$ref": "#/definitions/统一响应结果«AdminUser»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«AdminUser»",
- "$ref": "#/definitions/统一响应结果«AdminUser»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "更新管理员",
- "description": "更新管理员信息,包括用户名、状态、角色分配等。\n\n**关联字典**:\n- admin_status(管理员状态):ACTIVE=启用, LOCKED=锁定, DISABLED=禁用\n",
- "operationId": "updateAdminUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "path",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新管理员请求",
- "required": false,
- "schema": {
- "originalRef": "更新管理员请求",
- "$ref": "#/definitions/更新管理员请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«AdminUser»",
- "$ref": "#/definitions/统一响应结果«AdminUser»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«AdminUser»",
- "$ref": "#/definitions/统一响应结果«AdminUser»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "删除管理员",
- "description": "删除指定管理员账号(软删除)。不能删除自己的账号,不能删除SUPER_ADMIN角色的账号(除非操作者也是SUPER_ADMIN)。删除后该管理员的登录状态自动失效。需要SUPER_ADMIN或ADMIN角色。",
- "operationId": "deleteAdminUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "path",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/user/{adminId}/reset-password": {
- "post": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "重置密码",
- "description": "将指定管理员的密码重置为默认密码(Admin@123456)。用于管理员忘记密码时由上级管理员操作重置。重置后管理员可用默认密码登录,建议立即修改。需要SUPER_ADMIN或ADMIN角色。",
- "operationId": "resetPasswordUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "path",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/user/{adminId}/unlock": {
- "post": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "解锁管理员",
- "description": "解锁因登录失败次数过多而被锁定的管理员账号。管理员连续5次登录失败后账号自动锁定30分钟,此接口可立即解锁。需要SUPER_ADMIN或ADMIN角色。",
- "operationId": "unlockAdminUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "path",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/user/{adminId}/wechat-binding": {
- "put": {
- "tags": [
- "管理员管理接口"
- ],
- "summary": "修改企业微信绑定(支持换绑)",
- "description": "为管理员绑定或更换企业微信账号。绑定后管理员可通过企业微信扫码登录,并可接收审批通知。如果目标企微ID已被其他管理员绑定,需设置forceRebind=true强制换绑。需要管理员认证。",
- "operationId": "updateWechatBindingUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "path",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "body",
- "description": "企业微信绑定信息",
- "required": false,
- "schema": {
- "originalRef": "企业微信绑定请求",
- "$ref": "#/definitions/企业微信绑定请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/banner": {
- "get": {
- "tags": [
- "Banner管理接口"
- ],
- "summary": "Banner列表",
- "description": "分页查询Banner列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)",
- "operationId": "listBannersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Banner VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Banner VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Banner VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Banner VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "Banner管理接口"
- ],
- "summary": "创建Banner",
- "description": "创建新的首页轮播图,包括标题、封面图、跳转链接、排序等。\n\n**权限**:需要管理员登录。\n**注意**:创建后默认为启用状态,小程序端将按排序展示。",
- "operationId": "createBannerUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "轮播图创建请求",
- "required": false,
- "schema": {
- "originalRef": "Banner请求",
- "$ref": "#/definitions/Banner请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Banner VO»",
- "$ref": "#/definitions/统一响应结果«Banner VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Banner VO»",
- "$ref": "#/definitions/统一响应结果«Banner VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/banner/{id}": {
- "get": {
- "tags": [
- "Banner管理接口"
- ],
- "summary": "Banner详情",
- "description": "获取指定Banner的详细信息,包括标题、图片、跳转链接、排序等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)",
- "operationId": "getBannerUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "轮播图ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Banner VO»",
- "$ref": "#/definitions/统一响应结果«Banner VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Banner VO»",
- "$ref": "#/definitions/统一响应结果«Banner VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "Banner管理接口"
- ],
- "summary": "更新Banner",
- "description": "更新指定Banner的标题、封面图、跳转链接、排序、状态等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "updateBannerUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "轮播图ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "轮播图更新请求",
- "required": false,
- "schema": {
- "originalRef": "Banner请求",
- "$ref": "#/definitions/Banner请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Banner VO»",
- "$ref": "#/definitions/统一响应结果«Banner VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Banner VO»",
- "$ref": "#/definitions/统一响应结果«Banner VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "Banner管理接口"
- ],
- "summary": "删除Banner",
- "description": "删除指定的Banner记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序首页将不再展示该Banner。",
- "operationId": "deleteBannerUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "轮播图ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contact": {
- "get": {
- "tags": [
- "联系我们管理接口"
- ],
- "summary": "联系方式列表",
- "description": "分页查询联系方式列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):返回字段channelType(PHONE=电话, WECHAT=微信, EMAIL=邮箱等)\n- common_status(通用状态):请求参数status和返回字段status",
- "operationId": "listContactsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«联系我们 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«联系我们 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«联系我们 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«联系我们 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "联系我们管理接口"
- ],
- "summary": "创建联系方式",
- "description": "新增一条联系方式记录。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):请求字段channelType",
- "operationId": "createContactUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "联系方式创建请求",
- "required": false,
- "schema": {
- "originalRef": "联系我们请求",
- "$ref": "#/definitions/联系我们请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«联系我们 VO»",
- "$ref": "#/definitions/统一响应结果«联系我们 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«联系我们 VO»",
- "$ref": "#/definitions/统一响应结果«联系我们 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/contact/{id}": {
- "get": {
- "tags": [
- "联系我们管理接口"
- ],
- "summary": "联系方式详情",
- "description": "获取指定联系方式的详细信息。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):返回字段channelType\n- common_status(通用状态):返回字段status",
- "operationId": "getContactUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "联系方式ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«联系我们 VO»",
- "$ref": "#/definitions/统一响应结果«联系我们 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«联系我们 VO»",
- "$ref": "#/definitions/统一响应结果«联系我们 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "联系我们管理接口"
- ],
- "summary": "更新联系方式",
- "description": "更新指定联系方式记录。\n\n**关联字典**:\n- contact_channel_type(联系渠道类型):请求字段channelType",
- "operationId": "updateContactUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "联系方式ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "联系方式更新请求",
- "required": false,
- "schema": {
- "originalRef": "联系我们请求",
- "$ref": "#/definitions/联系我们请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«联系我们 VO»",
- "$ref": "#/definitions/统一响应结果«联系我们 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«联系我们 VO»",
- "$ref": "#/definitions/统一响应结果«联系我们 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "联系我们管理接口"
- ],
- "summary": "删除联系方式",
- "description": "删除指定的联系方式记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序端将不再展示该联系方式。",
- "operationId": "deleteContactUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "联系方式ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/explore/category": {
- "get": {
- "tags": [
- "探索分类管理接口"
- ],
- "summary": "探索分类列表",
- "description": "分页查询探索分类列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)",
- "operationId": "listCategoriesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«探索分类 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«探索分类 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«探索分类 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«探索分类 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "探索分类管理接口"
- ],
- "summary": "创建探索分类",
- "description": "创建新的探索分类,用于小程序探索页面的分类展示。\n可关联多个景区资源,设置封面图和描述文字。\n\n**权限**:需要管理员登录。",
- "operationId": "createCategoryUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分类创建请求",
- "required": false,
- "schema": {
- "originalRef": "探索分类请求",
- "$ref": "#/definitions/探索分类请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/explore/category/{id}": {
- "get": {
- "tags": [
- "探索分类管理接口"
- ],
- "summary": "探索分类详情",
- "description": "获取指定探索分类的详细信息,包括标题、封面图、描述、关联的景区资源列表等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)",
- "operationId": "getCategoryUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«探索分类详情 VO»",
- "$ref": "#/definitions/统一响应结果«探索分类详情 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«探索分类详情 VO»",
- "$ref": "#/definitions/统一响应结果«探索分类详情 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "探索分类管理接口"
- ],
- "summary": "更新探索分类",
- "description": "更新指定探索分类的标题、封面图、描述、关联资源、状态等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "updateCategoryUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "分类更新请求",
- "required": false,
- "schema": {
- "originalRef": "探索分类请求",
- "$ref": "#/definitions/探索分类请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "探索分类管理接口"
- ],
- "summary": "删除探索分类",
- "description": "删除指定的探索分类(软删除),同时清除关联的资源绑定关系。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序探索页面将不再展示该分类。",
- "operationId": "deleteCategoryUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/frontend-config": {
- "get": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "配置列表",
- "description": "分页查询前端配置列表,支持按关键词、分组和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)",
- "operationId": "listConfigsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "configGroup",
- "in": "query",
- "description": "配置分组",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«前端配置 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«前端配置 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«前端配置 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«前端配置 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "创建配置",
- "description": "创建新的前端配置项,用于控制前端页面的展示和行为。\n\n**权限**:需要管理员登录。\n**注意**:configKey 必须全局唯一,不能与已有配置重复。可通过 sensitive 字段标记是否为敏感配置(敏感配置不会通过公开接口暴露给小程序)。",
- "operationId": "createConfigUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "配置创建请求",
- "required": false,
- "schema": {
- "originalRef": "前端配置请求",
- "$ref": "#/definitions/前端配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/frontend-config/all": {
- "get": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "配置列表(不分页)",
- "description": "获取所有前端配置项的完整列表(不分页),支持按分组和状态筛选。\n适用于需要一次性加载全部配置的场景。\n\n**权限**:需要管理员登录。",
- "operationId": "listAllConfigsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "configGroup",
- "in": "query",
- "description": "配置分组",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«前端配置 VO»»",
- "$ref": "#/definitions/统一响应结果«List«前端配置 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«前端配置 VO»»",
- "$ref": "#/definitions/统一响应结果«List«前端配置 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/frontend-config/by-key/{key}": {
- "get": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "按key查询配置",
- "description": "根据配置键(configKey)获取指定的前端配置项。\nconfigKey为全局唯一标识,如 app_name、primary_color 等。\n\n**权限**:需要管理员登录。",
- "operationId": "getConfigByKeyUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "key",
- "in": "path",
- "description": "配置键",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/frontend-config/groups": {
- "get": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "获取所有分组",
- "description": "获取前端配置中所有已使用的分组名称列表。\n用于配置管理页面的分组筛选下拉框。\n\n**权限**:需要管理员登录。",
- "operationId": "listGroupsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«string»»",
- "$ref": "#/definitions/统一响应结果«List«string»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«string»»",
- "$ref": "#/definitions/统一响应结果«List«string»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/frontend-config/{id}": {
- "get": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "配置详情",
- "description": "根据配置ID获取指定前端配置项的详细信息,包括key、value、分组、描述等。\n\n**权限**:需要管理员登录。",
- "operationId": "getConfigUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "配置ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "更新配置",
- "description": "更新指定前端配置项的值、分组、描述、状态等信息。\n\n**权限**:需要管理员登录。\n**注意**:修改后前端会实时使用新值(如有缓存需等待刷新)。",
- "operationId": "updateConfigUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "配置ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "配置更新请求",
- "required": false,
- "schema": {
- "originalRef": "前端配置请求",
- "$ref": "#/definitions/前端配置请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«前端配置 VO»",
- "$ref": "#/definitions/统一响应结果«前端配置 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "前端配置管理接口"
- ],
- "summary": "删除配置",
- "description": "删除指定的前端配置项(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后前端将无法获取该配置,可能影响页面展示,请确认无引用后再删除。",
- "operationId": "deleteConfigUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "配置ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/faq/categories": {
- "get": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "分类列表",
- "description": "获取所有FAQ分类的完整列表(不分页)。\n每个分类包含名称、排序号、状态等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "listCategoriesUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«常见问题分类VO»»",
- "$ref": "#/definitions/统一响应结果«List«常见问题分类VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«常见问题分类VO»»",
- "$ref": "#/definitions/统一响应结果«List«常见问题分类VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "创建分类",
- "description": "创建新的FAQ分类,用于对常见问题进行归类。\n\n**权限**:需要管理员登录。\n**注意**:分类名称不能重复。",
- "operationId": "createCategoryUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "常见问题分类请求",
- "$ref": "#/definitions/常见问题分类请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题分类VO»",
- "$ref": "#/definitions/统一响应结果«常见问题分类VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题分类VO»",
- "$ref": "#/definitions/统一响应结果«常见问题分类VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/faq/categories/{id}": {
- "put": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "更新分类",
- "description": "更新指定FAQ分类的名称、排序号、状态等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "updateCategoryUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "常见问题分类请求",
- "$ref": "#/definitions/常见问题分类请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题分类VO»",
- "$ref": "#/definitions/统一响应结果«常见问题分类VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题分类VO»",
- "$ref": "#/definitions/统一响应结果«常见问题分类VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "删除分类",
- "description": "删除指定的FAQ分类(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除分类不会删除其下的条目,但条目将变为无分类状态。",
- "operationId": "deleteCategoryUsingDELETE_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "分类ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/faq/items": {
- "get": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "条目列表",
- "description": "查询FAQ条目列表,支持按分类ID筛选。\n返回问题标题、回答内容(富文本)、排序号等。\n\n**权限**:需要管理员登录。",
- "operationId": "listItemsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "categoryId",
- "in": "query",
- "description": "分类ID(可选)",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«常见问题条目VO»»",
- "$ref": "#/definitions/统一响应结果«List«常见问题条目VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«常见问题条目VO»»",
- "$ref": "#/definitions/统一响应结果«List«常见问题条目VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "创建条目",
- "description": "创建一条常见问题,包含问题标题和回答(支持富文本)。\n\n**权限**:需要管理员登录。\n**注意**:需指定所属分类ID,排序号越小越靠前。",
- "operationId": "createItemUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "常见问题条目请求",
- "$ref": "#/definitions/常见问题条目请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题条目VO»",
- "$ref": "#/definitions/统一响应结果«常见问题条目VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题条目VO»",
- "$ref": "#/definitions/统一响应结果«常见问题条目VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/faq/items/{id}": {
- "put": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "更新条目",
- "description": "更新指定FAQ条目的问题标题、回答内容、排序号等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "updateItemUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "条目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "常见问题条目请求",
- "$ref": "#/definitions/常见问题条目请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题条目VO»",
- "$ref": "#/definitions/统一响应结果«常见问题条目VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«常见问题条目VO»",
- "$ref": "#/definitions/统一响应结果«常见问题条目VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "常见问题管理接口"
- ],
- "summary": "删除条目",
- "description": "删除指定的FAQ条目(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序FAQ页面将不再展示该条目。",
- "operationId": "deleteItemUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "条目ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/agreement": {
- "get": {
- "tags": [
- "用户协议管理接口"
- ],
- "summary": "协议列表",
- "description": "分页查询用户协议列表,支持按关键词和状态筛选。\n\n**关联字典**:\n- common_status(通用状态):请求参数status和返回字段status(0=禁用, 1=启用)",
- "operationId": "listAgreementsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«协议 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«协议 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«协议 VO»»",
- "$ref": "#/definitions/统一响应结果«分页结果«协议 VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "用户协议管理接口"
- ],
- "summary": "新增协议",
- "description": "创建新的用户协议,如用户服务协议、隐私政策等。\n\n**权限**:需要管理员登录。\n**注意**:协议类型(type)需唯一,同一类型不能重复创建。内容支持富文本。",
- "operationId": "createAgreementUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "协议请求",
- "$ref": "#/definitions/协议请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«协议 VO»",
- "$ref": "#/definitions/统一响应结果«协议 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«协议 VO»",
- "$ref": "#/definitions/统一响应结果«协议 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/agreement/{id}": {
- "get": {
- "tags": [
- "用户协议管理接口"
- ],
- "summary": "协议详情",
- "description": "获取指定用户协议的详细信息,包括标题、内容(富文本)、版本号等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- common_status(通用状态):返回字段status(0=禁用, 1=启用)",
- "operationId": "getAgreementUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "协议ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«协议 VO»",
- "$ref": "#/definitions/统一响应结果«协议 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«协议 VO»",
- "$ref": "#/definitions/统一响应结果«协议 VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "用户协议管理接口"
- ],
- "summary": "编辑协议",
- "description": "更新指定用户协议的标题、内容、状态等信息。\n\n**权限**:需要管理员登录。\n**注意**:修改后小程序端会实时展示新内容。",
- "operationId": "updateAgreementUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "协议ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "request",
- "required": true,
- "schema": {
- "originalRef": "协议请求",
- "$ref": "#/definitions/协议请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«协议 VO»",
- "$ref": "#/definitions/统一响应结果«协议 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«协议 VO»",
- "$ref": "#/definitions/统一响应结果«协议 VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "用户协议管理接口"
- ],
- "summary": "删除协议",
- "description": "删除指定的用户协议记录(软删除)。\n\n**权限**:需要管理员登录。\n**注意**:删除后小程序端将无法查看该协议。",
- "operationId": "deleteAgreementUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "协议ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/2fa/callback": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "2FA企微扫码回调",
- "description": "企业微信OAuth回调地址,用户扫码授权后微信服务器回调此接口。此接口由微信服务器调用,非前端直接调用。回调成功后将state对应的会话标记为已扫码,前端轮询 /2fa/check 即可获取结果。返回HTML页面(成功/失败提示),不返回JSON。",
- "operationId": "handle2FaCallbackUsingGET",
- "produces": [
- "text/html"
- ],
- "parameters": [
- {
- "name": "code",
- "in": "query",
- "description": "授权码",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "state",
- "in": "query",
- "description": "会话状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/2fa/check": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "查询2FA扫码状态",
- "description": "前端轮询此接口检查2FA扫码验证是否完成。返回status字段:PENDING=等待扫码,SCANNED=已完成验证(附带token和用户信息)。建议轮询间隔2秒,超过5分钟未扫码会话自动失效。无需认证即可调用(登录流程中使用)。",
- "operationId": "check2FaStatusUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "state",
- "in": "query",
- "description": "会话状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/2fa/confirm": {
- "post": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "手动确认扫码(内网穿透环境workaround,默认关闭)",
- "description": "在内网穿透环境下,企微回调可能无法正常到达,此接口作为手动替代方案。\n需在Nacos配置中开启 auth.2fa-confirm-enabled=true 才可使用。\n\n**权限**:无需认证(登录流程中使用)。\n**注意**:生产环境应保持关闭,仅限开发/测试时使用。",
- "operationId": "confirm2FaScanUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "query",
- "description": "管理员ID",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "state",
- "in": "query",
- "description": "会话状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/2fa/qrcode": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "生成2FA扫码会话",
- "description": "生成企业微信扫码二维码的会话信息,用于新设备二次验证。返回包含qrcodeUrl(二维码链接)和state(会话标识)。前端展示二维码后通过轮询 /2fa/check 接口检查扫码状态。无需认证即可调用(登录流程中使用)。",
- "operationId": "generate2FaQrcodeUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "query",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/avatar": {
- "put": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "更新头像",
- "description": "管理员更新自己的头像。需先通过文件服务上传图片获取OSS URL和fileId,再调用此接口绑定。旧头像的文件引用会自动解绑。需要管理员认证。",
- "operationId": "updateAvatarUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "头像更新请求",
- "required": false,
- "schema": {
- "originalRef": "头像更新请求",
- "$ref": "#/definitions/头像更新请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/info": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "获取当前管理员信息",
- "description": "获取当前登录管理员的完整信息,包括用户名、头像、角色列表、当前角色、菜单权限等。前端页面初始化时调用此接口获取用户信息和权限数据。需要管理员认证。",
- "operationId": "getAdminInfoUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/login": {
- "post": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "管理员登录",
- "description": "管理员通过用户名+密码登录后台管理系统。首次在新设备登录时需要进行企业微信扫码二次验证(2FA),返回needTwoFa=true。登录失败5次后账号将被锁定30分钟。无需认证即可调用。",
- "operationId": "loginUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "管理员登录请求",
- "required": false,
- "schema": {
- "originalRef": "管理员登录请求",
- "$ref": "#/definitions/管理员登录请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/logout": {
- "post": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "管理员登出",
- "description": "清除管理员的登录状态并使当前Token失效。前端应在登出后清除本地存储的Token和用户信息。需要管理员认证。",
- "operationId": "logoutUsingPOST_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/password": {
- "put": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "修改密码",
- "description": "管理员修改自己的登录密码。需验证旧密码正确后才能设置新密码,新密码须满足复杂度要求(8-128位,含大小写字母和数字)。修改成功后当前Token仍然有效,无需重新登录。需要管理员认证(Token中的adminId)。",
- "operationId": "changePasswordUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "changeRequest",
- "description": "修改密码请求",
- "required": false,
- "schema": {
- "originalRef": "修改密码请求",
- "$ref": "#/definitions/修改密码请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/switch-role": {
- "post": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "切换当前角色",
- "description": "多角色管理员切换当前活跃角色。切换后返回新的Token和角色对应的菜单权限,前端需更新本地Token并刷新菜单。只能切换到该管理员已分配的角色,否则报错。需要管理员认证。",
- "operationId": "switchRoleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "角色切换请求",
- "required": false,
- "schema": {
- "originalRef": "角色切换请求",
- "$ref": "#/definitions/角色切换请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/wechat-qr": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "生成企业微信扫码登录会话",
- "description": "生成企业微信扫码直接登录的会话信息(非2FA验证,而是扫码替代密码登录)。返回包含qrcodeUrl和state。前端展示二维码后通过轮询 /wechat-qr/status 检查登录状态。无需认证即可调用。",
- "operationId": "generateWechatLoginQrUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/wechat-qr/callback": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "企业微信扫码登录回调",
- "description": "企业微信OAuth回调地址,扫码登录授权后微信服务器回调此接口。此接口由微信服务器调用,非前端直接调用。回调后标记会话为已扫码,前端通过轮询 /wechat-qr/status 获取登录结果。返回HTML页面,不返回JSON。",
- "operationId": "handleWechatLoginCallbackUsingGET",
- "produces": [
- "text/html"
- ],
- "parameters": [
- {
- "name": "code",
- "in": "query",
- "description": "授权码",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "state",
- "in": "query",
- "description": "会话状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "type": "string"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/wechat-qr/status": {
- "get": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "查询企业微信扫码登录状态",
- "description": "前端轮询此接口检查扫码登录是否完成。返回status字段:PENDING=等待扫码,SCANNED=已扫码登录成功(附带token和用户信息)。建议轮询间隔2秒,超过5分钟未扫码会话自动失效。无需认证即可调用。",
- "operationId": "checkWechatLoginStatusUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "state",
- "in": "query",
- "description": "会话状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/auth/wechat/verify-2fa": {
- "post": {
- "tags": [
- "管理员认证接口"
- ],
- "summary": "2FA验证",
- "description": "新设备登录时的企业微信二次验证。管理员登录返回needTwoFa=true后,前端调用此接口提交验证码完成登录。验证通过后设备将被标记为可信设备,后续登录不再需要2FA。无需认证即可调用。",
- "operationId": "verifyTwoFaUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "adminId",
- "in": "query",
- "description": "管理员ID",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "in": "body",
- "name": "request",
- "description": "2FA验证请求",
- "required": false,
- "schema": {
- "originalRef": "二次验证请求",
- "$ref": "#/definitions/二次验证请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«管理员登录响应»",
- "$ref": "#/definitions/统一响应结果«管理员登录响应»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/role": {
- "get": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "分页查询角色",
- "description": "分页查询系统角色列表,支持按状态筛选。\n\n**关联字典**:\n- common_status(通用状态):ACTIVE=启用, DISABLED=禁用(筛选条件+列表展示)\n",
- "operationId": "listRolesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«SysRole»»",
- "$ref": "#/definitions/统一响应结果«分页结果«SysRole»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«SysRole»»",
- "$ref": "#/definitions/统一响应结果«分页结果«SysRole»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "创建角色",
- "description": "创建新的系统角色。角色标识(roleKey)全局唯一,创建后不可修改,用于代码中的权限判断。创建后需通过[分配菜单权限]接口为角色授权菜单。需要SUPER_ADMIN角色。",
- "operationId": "createRoleUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建角色请求",
- "required": false,
- "schema": {
- "originalRef": "创建角色请求",
- "$ref": "#/definitions/创建角色请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysRole»",
- "$ref": "#/definitions/统一响应结果«SysRole»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysRole»",
- "$ref": "#/definitions/统一响应结果«SysRole»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/role/all": {
- "get": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "获取所有角色(下拉)",
- "description": "获取所有状态正常的角色列表,用于下拉选择框。不分页,返回全部角色。创建管理员、筛选管理员列表时使用。需要管理员认证。",
- "operationId": "getAllRolesUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysRole»»",
- "$ref": "#/definitions/统一响应结果«List«SysRole»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysRole»»",
- "$ref": "#/definitions/统一响应结果«List«SysRole»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/role/{roleId}": {
- "get": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "获取角色详情(含菜单ID)",
- "description": "获取角色基本信息及其已分配的菜单ID列表。返回role对象和menuIds数组,用于角色编辑页面回显已勾选的菜单。需要管理员认证。",
- "operationId": "getRoleDetailUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roleId",
- "in": "path",
- "description": "角色ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "更新角色",
- "description": "更新角色名称、状态等信息。角色标识(roleKey)不可修改。\n\n**关联字典**:\n- common_status(通用状态):ACTIVE=启用, DISABLED=禁用\n",
- "operationId": "updateRoleUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "更新角色请求",
- "required": false,
- "schema": {
- "originalRef": "更新角色请求",
- "$ref": "#/definitions/更新角色请求"
- }
- },
- {
- "name": "roleId",
- "in": "path",
- "description": "角色ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysRole»",
- "$ref": "#/definitions/统一响应结果«SysRole»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysRole»",
- "$ref": "#/definitions/统一响应结果«SysRole»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "删除角色",
- "description": "删除指定角色(软删除)。如果该角色下还有关联的管理员,将无法删除,需先解除绑定关系。内置角色(SUPER_ADMIN等)不可删除。需要SUPER_ADMIN角色。",
- "operationId": "deleteRoleUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roleId",
- "in": "path",
- "description": "角色ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/role/{roleId}/menus": {
- "put": {
- "tags": [
- "角色管理接口"
- ],
- "summary": "分配菜单权限",
- "description": "为指定角色分配菜单权限(全量覆盖模式)。传入的menuIds将完全替换该角色原有的菜单权限。分配后该角色的所有在线管理员下次请求 /admin/menu/my 时会获取到新的菜单树。注意:需同步清除Redis中的菜单缓存,否则前端拿到的是旧菜单。需要SUPER_ADMIN角色。",
- "operationId": "assignMenusUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "分配菜单请求",
- "required": false,
- "schema": {
- "originalRef": "分配菜单权限请求",
- "$ref": "#/definitions/分配菜单权限请求"
- }
- },
- {
- "name": "roleId",
- "in": "path",
- "description": "角色ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/menu": {
- "post": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "创建菜单",
- "description": "创建新的菜单/目录/按钮。menuType取值:D=目录(含子菜单) M=页面菜单 B=操作按钮。目录和菜单需设置path路由路径,菜单还需设置component组件路径。按钮类型需设置permissionCode权限标识(如system:user:add)。需要SUPER_ADMIN角色。\n\n**关联字典**:\n- menu_type(菜单类型):请求/返回字段menuType(D=目录, M=菜单, B=按钮)\n- common_status(通用状态):返回字段status",
- "operationId": "createMenuUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建菜单请求",
- "required": false,
- "schema": {
- "originalRef": "创建菜单请求",
- "$ref": "#/definitions/创建菜单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysMenu»",
- "$ref": "#/definitions/统一响应结果«SysMenu»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysMenu»",
- "$ref": "#/definitions/统一响应结果«SysMenu»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/menu/my": {
- "get": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "获取当前管理员菜单",
- "description": "获取当前登录管理员的菜单树(基于其当前角色的权限)。SUPER_ADMIN角色返回完整菜单树,其他角色返回已授权的菜单子集。前端登录后调用此接口动态生成路由和侧边栏菜单。需要管理员认证。",
- "operationId": "getMyMenusUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysMenu»»",
- "$ref": "#/definitions/统一响应结果«List«SysMenu»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysMenu»»",
- "$ref": "#/definitions/统一响应结果«List«SysMenu»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/menu/tree": {
- "get": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "获取完整菜单树",
- "description": "获取系统所有菜单的完整树形结构。用于角色权限配置页面展示完整的菜单树供勾选。仅SUPER_ADMIN可查看完整菜单树。需要管理员认证。\n\n**关联字典**:\n- menu_type(菜单类型):返回字段menuType\n- common_status(通用状态):返回字段status",
- "operationId": "getMenuTreeUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysMenu»»",
- "$ref": "#/definitions/统一响应结果«List«SysMenu»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysMenu»»",
- "$ref": "#/definitions/统一响应结果«List«SysMenu»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/menu/tree/role/{roleId}": {
- "get": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "获取角色菜单树",
- "description": "获取指定角色已分配的菜单树形结构。\n用于角色权限配置页面,展示该角色已拥有的菜单权限。\n\n**权限**:需要管理员登录。",
- "operationId": "getMenuTreeByRoleIdUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "roleId",
- "in": "path",
- "description": "角色ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysMenu»»",
- "$ref": "#/definitions/统一响应结果«List«SysMenu»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysMenu»»",
- "$ref": "#/definitions/统一响应结果«List«SysMenu»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/menu/{menuId}": {
- "get": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "获取菜单详情",
- "description": "获取指定菜单的详细信息,包括名称、路径、组件、图标、排序、权限标识等。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- menu_type(菜单类型):返回字段menuType(D=目录, M=菜单, B=按钮)\n- common_status(通用状态):返回字段status",
- "operationId": "getMenuUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "menuId",
- "in": "path",
- "description": "菜单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysMenu»",
- "$ref": "#/definitions/统一响应结果«SysMenu»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysMenu»",
- "$ref": "#/definitions/统一响应结果«SysMenu»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "更新菜单",
- "description": "更新指定菜单的名称、路径、组件、图标、排序、状态等信息。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:修改后需清除 Redis 菜单缓存才能生效。\n\n**关联字典**:\n- menu_type(菜单类型):请求字段menuType(D=目录, M=菜单, B=按钮)\n- common_status(通用状态):请求字段status",
- "operationId": "updateMenuUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "menuId",
- "in": "path",
- "description": "菜单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新菜单请求",
- "required": false,
- "schema": {
- "originalRef": "更新菜单请求",
- "$ref": "#/definitions/更新菜单请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysMenu»",
- "$ref": "#/definitions/统一响应结果«SysMenu»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysMenu»",
- "$ref": "#/definitions/统一响应结果«SysMenu»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "菜单管理接口"
- ],
- "summary": "删除菜单",
- "description": "删除指定的菜单/目录/按钮(软删除)。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:如果该菜单有子菜单,需先删除子菜单才能删除父菜单。删除后需清除 Redis 菜单缓存才能生效。",
- "operationId": "deleteMenuUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "menuId",
- "in": "path",
- "description": "菜单ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/all": {
- "get": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "获取所有字典数据",
- "description": "获取系统全部字典类型及其字典数据,按字典类型分组返回。用于后台管理系统初始化时一次性加载所有下拉选项。返回结果包含dictType编码、dictName名称、dataList数据列表。需要管理员认证。\n\n**字典层级说明**:\n- 字典类型(SysDictType):一级分类,如 admin_status、order_status、id_card_type 等\n- 字典数据(SysDictData):二级选项,归属于某个字典类型,如 admin_status 下的 ACTIVE/LOCKED/DISABLED\n- 前端通过 dictType 编码查找对应的 dataList,用 dictValue 匹配实际数据进行翻译展示\n",
- "operationId": "getAllDictUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«字典VO»»",
- "$ref": "#/definitions/统一响应结果«List«字典VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«字典VO»»",
- "$ref": "#/definitions/统一响应结果«List«字典VO»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/data": {
- "post": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "创建字典数据",
- "description": "在指定字典类型下新增一条字典数据项。dictValue为前端匹配的值(如ACTIVE),dictLabel为前端展示的标签(如'启用')。支持树形字典数据(通过parentId设置父级)。",
- "operationId": "createDictDataUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建字典数据请求",
- "required": false,
- "schema": {
- "originalRef": "创建字典数据请求",
- "$ref": "#/definitions/创建字典数据请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictData»",
- "$ref": "#/definitions/统一响应结果«SysDictData»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictData»",
- "$ref": "#/definitions/统一响应结果«SysDictData»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/data/detail/{dictDataId}": {
- "get": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "根据ID获取字典数据详情",
- "description": "获取单个字典数据项的详细信息,包括dictValue、dictLabel、cssClass等。",
- "operationId": "getDictDataByIdUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dictDataId",
- "in": "path",
- "description": "字典数据ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictData»",
- "$ref": "#/definitions/统一响应结果«SysDictData»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictData»",
- "$ref": "#/definitions/统一响应结果«SysDictData»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/data/tree/{dictTypeId}": {
- "get": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "按类型查询字典数据(树形结构)",
- "description": "根据字典类型ID查询其下所有字典数据,以树形结构返回(支持父子级字典数据)。用于多级联动下拉框场景(如省市区)。需要管理员认证。",
- "operationId": "getDictDataTreeUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dictTypeId",
- "in": "path",
- "description": "字典类型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysDictData»»",
- "$ref": "#/definitions/统一响应结果«List«SysDictData»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysDictData»»",
- "$ref": "#/definitions/统一响应结果«List«SysDictData»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/data/{dictType}": {
- "get": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "按类型查询字典数据",
- "description": "根据字典类型编码(如order_status)查询其下所有字典数据(平铺列表)。用于单层下拉框场景。需要管理员认证。",
- "operationId": "getDictDataByTypeUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dictType",
- "in": "path",
- "description": "字典类型编码",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysDictData»»",
- "$ref": "#/definitions/统一响应结果«List«SysDictData»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«SysDictData»»",
- "$ref": "#/definitions/统一响应结果«List«SysDictData»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/data/{id}": {
- "put": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "更新字典数据",
- "description": "更新字典数据项的标签、样式类型、排序号等。dictValue建议不修改以免影响已有业务数据。",
- "operationId": "updateDictDataUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "字典数据ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新字典数据请求",
- "required": false,
- "schema": {
- "originalRef": "更新字典数据请求",
- "$ref": "#/definitions/更新字典数据请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictData»",
- "$ref": "#/definitions/统一响应结果«SysDictData»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictData»",
- "$ref": "#/definitions/统一响应结果«SysDictData»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "删除字典数据",
- "description": "删除指定字典数据项(软删除)。删除后不影响已引用该字典值的业务数据。",
- "operationId": "deleteDictDataUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "字典数据ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/type": {
- "get": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "分页查询字典类型",
- "description": "分页查询字典类型列表,支持按分类(category)筛选、关键词(keyword)搜索。keyword 同时匹配字典类型编码(dict_type)和字典名称(dict_name),模糊搜索。字典类型是字典数据的上级分组,管理字典类型即管理有哪些可供前端使用的下拉选项组。",
- "operationId": "listDictTypesUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "category",
- "in": "query",
- "description": "字典分类",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词(匹配字典编码或名称)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«SysDictType»»",
- "$ref": "#/definitions/统一响应结果«分页结果«SysDictType»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«SysDictType»»",
- "$ref": "#/definitions/统一响应结果«分页结果«SysDictType»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "创建字典类型",
- "description": "新建一个字典类型(如:订单状态、证件类型等)。字典类型编码(dictType)全局唯一,创建后不可修改。需要管理员认证,建议仅SUPER_ADMIN/ADMIN角色操作。\n\n**已有字典类型示例**:\n- admin_status(管理员状态)、common_status(通用状态)、login_status(登录状态)\n- order_status(订单状态)、product_status(产品状态)、rating_level(评价等级)\n- id_card_type(证件类型)、gender(性别)、traveler_type(出行人类型)\n- contact_channel_type(联系方式渠道类型)、favorite_resource_type(收藏资源类型)、footprint_resource_type(足迹资源类型)\n",
- "operationId": "createDictTypeUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建字典类型请求",
- "required": false,
- "schema": {
- "originalRef": "创建字典类型请求",
- "$ref": "#/definitions/创建字典类型请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictType»",
- "$ref": "#/definitions/统一响应结果«SysDictType»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictType»",
- "$ref": "#/definitions/统一响应结果«SysDictType»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/type/{dictTypeId}": {
- "get": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "根据ID获取字典类型详情",
- "description": "获取单个字典类型的详细信息,包括编码、名称、分类、状态等。",
- "operationId": "getDictTypeByIdUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "dictTypeId",
- "in": "path",
- "description": "字典类型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictType»",
- "$ref": "#/definitions/统一响应结果«SysDictType»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictType»",
- "$ref": "#/definitions/统一响应结果«SysDictType»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/dict/type/{id}": {
- "put": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "更新字典类型",
- "description": "更新字典类型的名称、分类、备注等信息。字典类型编码(dictType)不可修改。",
- "operationId": "updateDictTypeUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "字典类型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新字典类型请求",
- "required": false,
- "schema": {
- "originalRef": "更新字典类型请求",
- "$ref": "#/definitions/更新字典类型请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictType»",
- "$ref": "#/definitions/统一响应结果«SysDictType»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«SysDictType»",
- "$ref": "#/definitions/统一响应结果«SysDictType»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "字典管理接口"
- ],
- "summary": "删除字典类型",
- "description": "删除字典类型及其下所有字典数据(软删除)。如果该字典类型已被业务引用,删除后不影响已有数据,但新的表单将无法选择该字典值。需要管理员认证。",
- "operationId": "deleteDictTypeUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "字典类型ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/job": {
- "get": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "分页查询定时任务",
- "description": "分页查询定时任务列表。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n- job_status(任务状态):ACTIVE=启用, PAUSED=已暂停",
- "operationId": "listJobsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«定时任务信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«定时任务信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«定时任务信息»»",
- "$ref": "#/definitions/统一响应结果«分页结果«定时任务信息»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "post": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "创建定时任务",
- "description": "创建新的定时任务。invokeTarget格式为'Bean名称.方法名'(如wechatSyncService.syncAll),方法必须是无参公开方法。cronExpression为标准6位Cron表达式(秒 分 时 日 月 周)。创建后任务默认为暂停状态(PAUSED),需手动调用[恢复任务]接口启用。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n- job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。",
- "operationId": "createJobUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "request",
- "description": "创建定时任务请求",
- "required": false,
- "schema": {
- "originalRef": "创建定时任务请求",
- "$ref": "#/definitions/创建定时任务请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定时任务信息»",
- "$ref": "#/definitions/统一响应结果«定时任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定时任务信息»",
- "$ref": "#/definitions/统一响应结果«定时任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/job/{jobId}": {
- "put": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "更新定时任务",
- "description": "更新指定定时任务的名称、Cron表达式、调用目标等信息。\n修改Cron表达式后任务将按新的计划执行。\n\n**关联字典**:\n- job_group(任务分组):DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步\n- job_misfire_policy(执行策略):DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发\n\n**权限**:需要SUPER_ADMIN角色。",
- "operationId": "updateJobUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "jobId",
- "in": "path",
- "description": "定时任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "in": "body",
- "name": "request",
- "description": "更新定时任务请求",
- "required": false,
- "schema": {
- "originalRef": "更新定时任务请求",
- "$ref": "#/definitions/更新定时任务请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定时任务信息»",
- "$ref": "#/definitions/统一响应结果«定时任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定时任务信息»",
- "$ref": "#/definitions/统一响应结果«定时任务信息»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "delete": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "删除定时任务",
- "description": "删除指定的定时任务(软删除),同时从调度器中移除该任务。\n\n**权限**:需要SUPER_ADMIN角色。\n**注意**:删除后任务将不再执行,但历史执行日志仍可查看。",
- "operationId": "deleteJobUsingDELETE",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "jobId",
- "in": "path",
- "description": "定时任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "204": {
- "description": "No Content"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/job/{jobId}/logs": {
- "get": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "查询任务日志",
- "description": "分页查询指定定时任务的执行日志,按执行时间倒序排列。日志包含执行状态(成功/失败)、执行耗时、异常信息等。\n\n**关联字典**:job_log_status(日志状态):SUCCESS=成功, FAIL=失败\n\n需要管理员认证。",
- "operationId": "listJobLogsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "jobId",
- "in": "path",
- "description": "定时任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«定时任务执行日志»»",
- "$ref": "#/definitions/统一响应结果«分页结果«定时任务执行日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«定时任务执行日志»»",
- "$ref": "#/definitions/统一响应结果«分页结果«定时任务执行日志»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/job/{jobId}/pause": {
- "post": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "暂停任务",
- "description": "暂停指定的定时任务,任务状态变为PAUSED。暂停后任务不再按Cron计划执行,但可通过[恢复任务]接口重新启用。\n\n**关联字典**:job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。",
- "operationId": "pauseJobUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "jobId",
- "in": "path",
- "description": "定时任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/job/{jobId}/resume": {
- "post": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "恢复任务",
- "description": "恢复已暂停的定时任务,任务状态变为ACTIVE。恢复后任务按Cron计划继续执行。\n\n**关联字典**:job_status(任务状态):ACTIVE=启用, PAUSED=已暂停\n\n需要SUPER_ADMIN角色。",
- "operationId": "resumeJobUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "jobId",
- "in": "path",
- "description": "定时任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/job/{jobId}/trigger": {
- "post": {
- "tags": [
- "定时任务接口"
- ],
- "summary": "立即执行一次",
- "description": "立即触发一次定时任务的执行,不影响原有的Cron计划。无论任务当前状态是ACTIVE还是PAUSED,都可以手动触发。执行结果可在任务日志中查看。需要SUPER_ADMIN角色。",
- "operationId": "triggerJobUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "jobId",
- "in": "path",
- "description": "定时任务ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/departments": {
- "get": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "部门列表(部门管理页面)",
- "description": "获取已同步的所有企业微信部门列表(平铺结构),用于部门管理页面展示。\n包含部门ID、名称、上级部门ID、排序等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "listAllDepartmentsUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«WechatDepartment»»",
- "$ref": "#/definitions/统一响应结果«List«WechatDepartment»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«WechatDepartment»»",
- "$ref": "#/definitions/统一响应结果«List«WechatDepartment»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/departments/tree": {
- "get": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "部门树(下拉筛选)",
- "description": "以树形结构返回企业微信部门数据。用于部门筛选下拉框,每个节点包含id/label/children。需要管理员认证。",
- "operationId": "listDepartmentsTreeUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«List«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«List«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/sync/all": {
- "post": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "手动同步全部(部门+用户)",
- "description": "一键同步企业微信的部门和用户数据,先同步部门再同步用户。推荐使用此接口而非单独同步,确保部门和用户数据一致性。同步过程为异步执行,接口立即返回成功。需要SUPER_ADMIN角色。",
- "operationId": "syncAllUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/sync/departments": {
- "post": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "手动同步部门",
- "description": "从企业微信拉取最新的部门列表并同步到本地数据库。通常在企业微信后台调整组织架构后手动触发。也可通过定时任务自动执行。需要SUPER_ADMIN角色。",
- "operationId": "syncDepartmentsUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/sync/status": {
- "get": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "同步状态(最后同步时间)",
- "description": "获取企业微信数据的最后同步时间和状态。\n返回部门和用户各自的最后同步时间,用于管理页面展示同步状态。\n\n**权限**:需要管理员登录。",
- "operationId": "getSyncStatusUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Map«string,object»»",
- "$ref": "#/definitions/统一响应结果«Map«string,object»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/sync/users": {
- "post": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "手动同步用户",
- "description": "从企业微信拉取所有部门的成员列表并同步到本地数据库。包括姓名、手机号、职位、部门归属等信息。需先同步部门再同步用户,或直接使用[同步全部]接口。需要SUPER_ADMIN角色。",
- "operationId": "syncUsersUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/wechat/users": {
- "get": {
- "tags": [
- "企业微信同步接口"
- ],
- "summary": "查询企业微信用户(分页+搜索)",
- "description": "分页查询已同步的企业微信用户列表。支持按姓名/手机号/职位关键词搜索,按部门ID和状态筛选。status取值:1=已激活 2=已禁用 4=未关注。用于管理员绑定企微账号时选择企微用户。需要管理员认证。\n\n**关联字典**:\n- wechat_user_status(企微用户状态):请求参数status和返回字段status(1=已激活, 2=已禁用, 4=未关注)",
- "operationId": "listWechatUsersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "deptId",
- "in": "query",
- "description": "部门ID筛选",
- "required": false,
- "type": "integer",
- "format": "int64",
- "allowEmptyValue": false
- },
- {
- "name": "keyword",
- "in": "query",
- "description": "关键词搜索(姓名/手机/职位)",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态筛选(1=已激活,2=已禁用,4=未关注)",
- "required": false,
- "type": "integer",
- "format": "int32",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«WechatUser»»",
- "$ref": "#/definitions/统一响应结果«分页结果«WechatUser»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«WechatUser»»",
- "$ref": "#/definitions/统一响应结果«分页结果«WechatUser»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/designer/dashboard": {
- "get": {
- "tags": [
- "个人中心(旧路径,已废弃)"
- ],
- "summary": "工作台概览(已废弃,请使用 /admin/profile/dashboard)",
- "description": "已废弃接口,请迁移至 GET /admin/profile/dashboard。\n\n**权限**:需要管理员登录。",
- "operationId": "getDashboardUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定制师工作台VO(重构版)»",
- "$ref": "#/definitions/统一响应结果«定制师工作台VO(重构版)»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定制师工作台VO(重构版)»",
- "$ref": "#/definitions/统一响应结果«定制师工作台VO(重构版)»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": true,
- "x-order": "2147483647"
- }
- },
- "/admin/designer/orders": {
- "get": {
- "tags": [
- "个人中心(旧路径,已废弃)"
- ],
- "summary": "我的订单列表(已废弃,请使用 /admin/profile/orders)",
- "description": "已废弃接口。\n\n**关联字典**:\n- order_status(订单状态):请求参数status和返回字段status",
- "operationId": "getMyOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "keyword",
- "required": false,
- "type": "string"
- },
- {
- "name": "page",
- "in": "query",
- "description": "page",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32"
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "pageSize",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32"
- },
- {
- "name": "status",
- "in": "query",
- "description": "status",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": true,
- "x-order": "2147483647"
- }
- },
- "/admin/designer/products": {
- "get": {
- "tags": [
- "个人中心(旧路径,已废弃)"
- ],
- "summary": "我的产品列表(已废弃,请使用 /admin/profile/products)",
- "description": "已废弃接口。\n\n**关联字典**:\n- product_status(产品状态):请求参数status和返回字段status",
- "operationId": "getMyProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "keyword",
- "required": false,
- "type": "string"
- },
- {
- "name": "page",
- "in": "query",
- "description": "page",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32"
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "pageSize",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32"
- },
- {
- "name": "status",
- "in": "query",
- "description": "status",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": true,
- "x-order": "2147483647"
- }
- },
- "/admin/designer/profile": {
- "get": {
- "tags": [
- "个人中心(旧路径,已废弃)"
- ],
- "summary": "获取我的个人资料(已废弃,请使用 /admin/profile/me)",
- "description": "已废弃接口。\n\n**关联字典**:\n- designer_cert_level(认证等级):返回字段certLevel(none/bronze/silver/gold/diamond)",
- "operationId": "getMyProfileUsingGET",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定制师个人资料VO»",
- "$ref": "#/definitions/统一响应结果«定制师个人资料VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定制师个人资料VO»",
- "$ref": "#/definitions/统一响应结果«定制师个人资料VO»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": true,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "个人中心(旧路径,已废弃)"
- ],
- "summary": "更新我的个人资料(已废弃,请使用 PUT /admin/profile/me)",
- "description": "已废弃接口,请迁移至 PUT /admin/profile/me。\n\n**权限**:需要管理员登录。",
- "operationId": "updateMyProfileUsingPUT",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "originalRef": "更新定制师个人资料请求",
- "$ref": "#/definitions/更新定制师个人资料请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定制师个人资料VO»",
- "$ref": "#/definitions/统一响应结果«定制师个人资料VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«定制师个人资料VO»",
- "$ref": "#/definitions/统一响应结果«定制师个人资料VO»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": true,
- "x-order": "2147483647"
- }
- },
- "/admin/profile/dashboard": {
- "get": {
- "tags": [
- "个人中心"
- ],
- "summary": "工作台仪表盘(角色分发,支持时间范围)",
- "description": "根据当前管理员角色返回不同的仪表盘数据。CUSTOMIZER(定制师):待处理订单数、产品数、评价统计等。SUPER_ADMIN/ADMIN:全局概览(订单、收入、用户增长等)。ROOM_MANAGER(客房管理):房间分配概览。VEHICLE_MANAGER(车辆管理):车辆调度概览。FINANCE(财务):收支统计。MATERIAL_ADMIN(素材管理):素材库概览。period取值:today=今日 week=本周 month=本月。需要管理员认证。\n\n**关联字典**:\n- order_status(订单状态):仪表盘中订单统计按状态分组展示",
- "operationId": "getDashboardUsingGET_1",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "period",
- "in": "query",
- "description": "时间范围: today/week/month",
- "required": false,
- "type": "string",
- "default": "today",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«object»",
- "$ref": "#/definitions/统一响应结果«object»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«object»",
- "$ref": "#/definitions/统一响应结果«object»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/profile/me": {
- "get": {
- "tags": [
- "个人中心"
- ],
- "summary": "获取我的个人资料",
- "description": "获取当前登录管理员的个人资料,根据角色返回不同的资料内容。\n定制师角色会返回认证等级、个人简介、擅长领域等附加信息。\n\n**权限**:需要管理员登录。\n\n**关联字典**:\n- designer_cert_level(认证等级):返回字段certLevel(none/bronze/silver/gold/diamond)",
- "operationId": "getMyProfileUsingGET_1",
- "produces": [
- "*/*"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«个人资料VO(角色感知)»",
- "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«个人资料VO(角色感知)»",
- "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- },
- "put": {
- "tags": [
- "个人中心"
- ],
- "summary": "更新我的个人资料",
- "description": "更新当前登录管理员的个人资料,支持修改昵称、头像、个人简介等。\n定制师角色可额外更新擅长领域、服务区域等信息。\n\n**权限**:需要管理员登录。",
- "operationId": "updateMyProfileUsingPUT_1",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "in": "body",
- "name": "body",
- "description": "body",
- "required": true,
- "schema": {
- "originalRef": "更新定制师个人资料请求",
- "$ref": "#/definitions/更新定制师个人资料请求"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«个人资料VO(角色感知)»",
- "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«个人资料VO(角色感知)»",
- "$ref": "#/definitions/统一响应结果«个人资料VO(角色感知)»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/profile/orders": {
- "get": {
- "tags": [
- "个人中心"
- ],
- "summary": "订单列表",
- "description": "查询当前定制师的订单列表,支持按状态筛选。\n\n**关联字典**:\n- order_status(订单状态):请求参数status和返回字段status",
- "operationId": "getOrdersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "订单状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/profile/products": {
- "get": {
- "tags": [
- "个人中心"
- ],
- "summary": "产品列表",
- "description": "查询当前定制师的产品列表,支持按状态筛选。\n\n**关联字典**:\n- product_status(产品状态):请求参数status和返回字段status",
- "operationId": "getProductsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "产品状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«Map«string,object»»»",
- "$ref": "#/definitions/统一响应结果«分页结果«Map«string,object»»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/profile/reviews": {
- "get": {
- "tags": [
- "个人中心"
- ],
- "summary": "我的评价列表",
- "description": "查询当前定制师收到的评价列表,支持按评价等级筛选。\n\n**关联字典**:\n- rating_level(评价等级):GOOD=好评, MEDIUM=中评, BAD=差评(筛选条件+列表展示)\n",
- "operationId": "getReviewsUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "ratingLevel",
- "in": "query",
- "description": "评价等级: GOOD/MEDIUM/BAD",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«object»",
- "$ref": "#/definitions/统一响应结果«object»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«object»",
- "$ref": "#/definitions/统一响应结果«object»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/customer": {
- "get": {
- "tags": [
- "客户管理接口"
- ],
- "summary": "客户列表",
- "description": "分页查询小程序注册的C端用户(客户)列表。支持按昵称/手机号/真实姓名关键词搜索,按状态筛选。status取值:ACTIVE=正常 BANNED=已封禁。需要管理员认证。\n\n**关联字典**:\n- user_status(用户状态):请求参数status和返回字段status(ACTIVE=正常, BANNED=已封禁)\n- gender(性别):返回字段gender(0=女, 1=男)\n- id_card_type(证件类型):返回字段idCardType",
- "operationId": "listCustomersUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "keyword",
- "in": "query",
- "description": "搜索关键词",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- },
- {
- "name": "page",
- "in": "query",
- "description": "页码",
- "required": false,
- "type": "integer",
- "default": 1,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "每页条数",
- "required": false,
- "type": "integer",
- "default": 20,
- "format": "int32",
- "allowEmptyValue": false
- },
- {
- "name": "status",
- "in": "query",
- "description": "状态",
- "required": false,
- "type": "string",
- "allowEmptyValue": false
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«客户信息VO(管理端)»»",
- "$ref": "#/definitions/统一响应结果«分页结果«客户信息VO(管理端)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«分页结果«客户信息VO(管理端)»»",
- "$ref": "#/definitions/统一响应结果«分页结果«客户信息VO(管理端)»»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/customer/{userId}": {
- "get": {
- "tags": [
- "客户管理接口"
- ],
- "summary": "客户详情",
- "description": "获取指定客户的详细信息。\n\n**关联字典**:\n- user_status(用户状态):返回字段status\n- gender(性别):返回字段gender\n- id_card_type(证件类型):返回字段idCardType",
- "operationId": "getCustomerUsingGET",
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "userId",
- "in": "path",
- "description": "用户ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«客户信息VO(管理端)»",
- "$ref": "#/definitions/统一响应结果«客户信息VO(管理端)»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«客户信息VO(管理端)»",
- "$ref": "#/definitions/统一响应结果«客户信息VO(管理端)»"
- }
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/customer/{userId}/ban": {
- "post": {
- "tags": [
- "客户管理接口"
- ],
- "summary": "封禁客户",
- "description": "封禁指定的C端用户,状态变为BANNED。封禁后该用户无法登录小程序,已有的Token将失效。封禁操作不会删除用户数据,可通过[解封客户]接口恢复。需要管理员认证。",
- "operationId": "banCustomerUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "userId",
- "in": "path",
- "description": "用户ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- },
- "/admin/customer/{userId}/unban": {
- "post": {
- "tags": [
- "客户管理接口"
- ],
- "summary": "解封客户",
- "description": "解封已封禁的C端用户,状态恢复为ACTIVE。解封后用户可正常登录小程序。需要管理员认证。",
- "operationId": "unbanCustomerUsingPOST",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "*/*"
- ],
- "parameters": [
- {
- "name": "userId",
- "in": "path",
- "description": "用户ID",
- "required": false,
- "type": "integer",
- "format": "int64"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "responsesObject": {
- "200": {
- "description": "OK",
- "schema": {
- "originalRef": "统一响应结果«Void»",
- "$ref": "#/definitions/统一响应结果«Void»"
- }
- },
- "201": {
- "description": "Created"
- },
- "401": {
- "description": "Unauthorized"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not Found"
- }
- },
- "security": [
- {
- "Authorization": [
- "global"
- ]
- }
- ],
- "deprecated": false,
- "x-order": "2147483647"
- }
- }
- },
- "definitions": {
- "Favorite": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "favoriteId": {
- "type": "integer",
- "format": "int64"
- },
- "targetId": {
- "type": "integer",
- "format": "int64"
- },
- "targetType": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "userId": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "Favorite"
- },
- "Footprint": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "footprintId": {
- "type": "integer",
- "format": "int64"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64"
- },
- "resourceType": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "userId": {
- "type": "integer",
- "format": "int64"
- },
- "visitTime": {
- "type": "string",
- "format": "date-time"
- }
- },
- "title": "Footprint"
- },
- "Traveler": {
- "type": "object",
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "deletedAt": {
- "type": "string",
- "format": "date-time"
- },
- "email": {
- "type": "string"
- },
- "emergencyContact": {
- "type": "string"
- },
- "emergencyPhone": {
- "type": "string"
- },
- "gender": {
- "type": "string"
- },
- "idCardNo": {
- "type": "string"
- },
- "idCardType": {
- "type": "string"
- },
- "isDefault": {
- "type": "integer",
- "format": "int32"
- },
- "name": {
- "type": "string"
- },
- "nationality": {
- "type": "string"
- },
- "phone": {
- "type": "string"
- },
- "travelerId": {
- "type": "integer",
- "format": "int64"
- },
- "travelerType": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "userId": {
- "type": "integer",
- "format": "int64"
- }
- },
- "title": "Traveler"
- },
- "出行人请求": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期(后端根据此字段自动判断人员类型,未传则默认ADULT)"
- },
- "email": {
- "type": "string",
- "example": "zhangsan@example.com",
- "description": "邮箱"
- },
- "emergencyContact": {
- "type": "string",
- "example": "李四",
- "description": "紧急联系人姓名"
- },
- "emergencyPhone": {
- "type": "string",
- "example": 13900139000,
- "description": "紧急联系人电话"
- },
- "gender": {
- "type": "string",
- "example": 1,
- "description": "性别,关联字典gender:1=男, 2=女"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照"
- },
- "isDefault": {
- "type": "boolean",
- "example": false,
- "description": "是否设为默认出行人"
- },
- "name": {
- "type": "string",
- "example": "张三",
- "description": "出行人姓名"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "出行人请求"
- },
- "分页结果«Favorite»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "Favorite",
- "$ref": "#/definitions/Favorite"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«Favorite»"
- },
- "分页结果«Footprint»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "Footprint",
- "$ref": "#/definitions/Footprint"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«Footprint»"
- },
- "发送短信验证码请求": {
- "type": "object",
- "required": [
- "phone"
- ],
- "properties": {
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "发送短信验证码请求"
- },
- "字典VO": {
- "type": "object",
- "properties": {
- "dataList": {
- "type": "array",
- "description": "字典数据列表",
- "items": {
- "originalRef": "字典数据项VO",
- "$ref": "#/definitions/字典数据项VO"
- }
- },
- "dictName": {
- "type": "string",
- "description": "字典名称"
- },
- "dictType": {
- "type": "string",
- "description": "字典类型标识"
- }
- },
- "title": "字典VO"
- },
- "字典数据项VO": {
- "type": "object",
- "properties": {
- "dictLabel": {
- "type": "string",
- "description": "字典标签"
- },
- "dictValue": {
- "type": "string",
- "description": "字典值"
- },
- "remark": {
- "type": "string",
- "description": "备注(扩展信息,如年龄规则JSON)"
- },
- "sort": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- }
- },
- "title": "字典数据项VO"
- },
- "微信小程序登录请求": {
- "type": "object",
- "required": [
- "code"
- ],
- "properties": {
- "avatar": {
- "type": "string",
- "example": "https://thirdwx.qlogo.cn/xxx",
- "description": "用户头像URL"
- },
- "code": {
- "type": "string",
- "example": "0c3NKj000...",
- "description": "微信登录授权码"
- },
- "nickname": {
- "type": "string",
- "example": "微信用户",
- "description": "用户昵称"
- },
- "phoneCode": {
- "type": "string",
- "example": "0c3NKj000...",
- "description": "手机号授权码(用于获取手机号)"
- }
- },
- "title": "微信小程序登录请求",
- "description": "通过wx.login获取code进行登录,首次登录自动注册"
- },
- "收藏请求": {
- "type": "object",
- "required": [
- "targetId",
- "targetType"
- ],
- "properties": {
- "targetId": {
- "type": "integer",
- "format": "int64",
- "example": 1,
- "description": "收藏目标ID"
- },
- "targetType": {
- "type": "string",
- "example": "SCENIC_SPOT",
- "description": "收藏类型,关联字典favorite_resource_type"
- }
- },
- "title": "收藏请求",
- "description": "添加收藏时的请求体,指定收藏的资源类型和ID"
- },
- "更新用户资料请求": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "example": "https://oss.example.com/avatar/1.jpg",
- "description": "头像URL"
- },
- "birthday": {
- "type": "string",
- "format": "date",
- "example": "1990-01-01",
- "description": "出生日期(从身份证号自动解析)"
- },
- "email": {
- "type": "string",
- "example": "zhangsan@example.com",
- "description": "邮箱"
- },
- "gender": {
- "type": "string",
- "example": "MALE",
- "description": "性别:MALE=男 FEMALE=女(从身份证号自动解析)"
- },
- "idCardNo": {
- "type": "string",
- "example": 110101199001011234,
- "description": "证件号码(首次登录必填)"
- },
- "idCardType": {
- "type": "string",
- "example": "ID_CARD",
- "description": "证件类型:ID_CARD=身份证 PASSPORT=护照(首次登录必填)"
- },
- "nationality": {
- "type": "string",
- "example": "中国",
- "description": "国籍(默认中国)"
- },
- "nickname": {
- "type": "string",
- "example": "旅行达人",
- "description": "昵称"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- },
- "realName": {
- "type": "string",
- "example": "张三",
- "description": "真实姓名(首次登录必填)"
- }
- },
- "title": "更新用户资料请求"
- },
- "用户信息VO": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "birthday": {
- "type": "string",
- "format": "date",
- "description": "出生日期"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "email": {
- "type": "string",
- "description": "邮箱"
- },
- "gender": {
- "type": "integer",
- "format": "int32",
- "description": "性别,关联字典gender:1=男, 2=女"
- },
- "idCardNo": {
- "type": "string",
- "description": "证件号码"
- },
- "idCardType": {
- "type": "string",
- "description": "证件类型,关联字典id_card_type:ID_CARD=身份证, PASSPORT=护照"
- },
- "nationality": {
- "type": "string",
- "description": "国籍"
- },
- "needProfile": {
- "type": "boolean",
- "description": "是否需要完善资料(realName为空时为true)"
- },
- "nickname": {
- "type": "string",
- "description": "昵称"
- },
- "phone": {
- "type": "string",
- "description": "手机号(脱敏)"
- },
- "realName": {
- "type": "string",
- "description": "真实姓名"
- },
- "status": {
- "type": "string",
- "description": "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "用户信息VO"
- },
- "用户登录响应": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "isNewUser": {
- "type": "boolean",
- "description": "是否新用户"
- },
- "needProfile": {
- "type": "boolean",
- "description": "是否需要完善资料(realName为空时为true)"
- },
- "nickname": {
- "type": "string",
- "description": "昵称"
- },
- "phone": {
- "type": "string",
- "description": "手机号"
- },
- "token": {
- "type": "string",
- "description": "登录令牌"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "用户登录响应"
- },
- "短信验证码登录请求": {
- "type": "object",
- "required": [
- "code",
- "phone"
- ],
- "properties": {
- "code": {
- "type": "string",
- "example": 123456,
- "description": "短信验证码(6位数字)"
- },
- "phone": {
- "type": "string",
- "example": 13800138000,
- "description": "手机号"
- }
- },
- "title": "短信验证码登录请求"
- },
- "统一响应结果«Favorite»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "Favorite",
- "$ref": "#/definitions/Favorite"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Favorite»"
- },
- "统一响应结果«Footprint»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "Footprint",
- "$ref": "#/definitions/Footprint"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Footprint»"
- },
- "统一响应结果«List«Traveler»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "Traveler",
- "$ref": "#/definitions/Traveler"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«Traveler»»"
- },
- "统一响应结果«List«字典VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "字典VO",
- "$ref": "#/definitions/字典VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«字典VO»»"
- },
- "统一响应结果«Traveler»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "Traveler",
- "$ref": "#/definitions/Traveler"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Traveler»"
- },
- "统一响应结果«Void»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Void»"
- },
- "统一响应结果«boolean»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "boolean",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«boolean»"
- },
- "统一响应结果«分页结果«Favorite»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«Favorite»",
- "$ref": "#/definitions/分页结果«Favorite»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«Favorite»»"
- },
- "统一响应结果«分页结果«Footprint»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«Footprint»",
- "$ref": "#/definitions/分页结果«Footprint»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«Footprint»»"
- },
- "统一响应结果«用户信息VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "用户信息VO",
- "$ref": "#/definitions/用户信息VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«用户信息VO»"
- },
- "统一响应结果«用户登录响应»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "用户登录响应",
- "$ref": "#/definitions/用户登录响应"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«用户登录响应»"
- },
- "足迹请求": {
- "type": "object",
- "required": [
- "resourceId",
- "resourceType"
- ],
- "properties": {
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "example": 1,
- "description": "资源ID"
- },
- "resourceType": {
- "type": "string",
- "example": "SCENIC_SPOT",
- "description": "资源类型,关联字典footprint_resource_type"
- }
- },
- "title": "足迹请求",
- "description": "记录用户浏览足迹时的请求体"
- },
- "AdminUser": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64"
- },
- "avatar": {
- "type": "string"
- },
- "contactQrUrl": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "currentRoleId": {
- "type": "integer",
- "format": "int64"
- },
- "effectiveAvatar": {
- "type": "string"
- },
- "enterpriseWechatDeptNames": {
- "type": "string"
- },
- "enterpriseWechatId": {
- "type": "string"
- },
- "enterpriseWechatName": {
- "type": "string"
- },
- "failedLoginCount": {
- "type": "integer",
- "format": "int32"
- },
- "lockedUntil": {
- "type": "string",
- "format": "date-time"
- },
- "passwordChangedAt": {
- "type": "string",
- "format": "date-time"
- },
- "roleKey": {
- "type": "string"
- },
- "roleName": {
- "type": "string"
- },
- "roles": {
- "type": "array",
- "items": {
- "originalRef": "SysRole",
- "$ref": "#/definitions/SysRole"
- }
- },
- "status": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "username": {
- "type": "string"
- }
- },
- "title": "AdminUser"
- },
- "SysRole": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "remark": {
- "type": "string"
- },
- "roleId": {
- "type": "integer",
- "format": "int64"
- },
- "roleKey": {
- "type": "string"
- },
- "roleName": {
- "type": "string"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "status": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "title": "SysRole"
- },
- "企业微信绑定请求": {
- "type": "object",
- "properties": {
- "enterpriseWechatId": {
- "type": "string",
- "description": "企业微信ID(为空则解绑)"
- },
- "forceRebind": {
- "type": "boolean",
- "description": "是否强制换绑(当ID已被其他管理员占用时)"
- }
- },
- "title": "企业微信绑定请求"
- },
- "分页结果«AdminUser»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "AdminUser",
- "$ref": "#/definitions/AdminUser"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«AdminUser»"
- },
- "创建管理员请求": {
- "type": "object",
- "required": [
- "username"
- ],
- "properties": {
- "roleId": {
- "type": "integer",
- "format": "int64",
- "example": 1,
- "description": "角色ID(已废弃,请使用roleIds)"
- },
- "roleIds": {
- "type": "array",
- "example": [
- 1,
- 2
- ],
- "description": "角色ID列表(多角色)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- },
- "username": {
- "type": "string",
- "example": "zhangsan",
- "description": "用户名"
- }
- },
- "title": "创建管理员请求",
- "description": "创建后台管理员账号,默认密码Admin@123456"
- },
- "旅行设计师VO": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "certLevel": {
- "type": "string",
- "description": "认证等级:none/bronze/silver/gold/diamond"
- },
- "certLevelLabel": {
- "type": "string",
- "description": "认证等级中文标签"
- },
- "certified": {
- "type": "boolean",
- "description": "是否已认证"
- },
- "description": {
- "type": "string",
- "description": "个人简介"
- },
- "experience": {
- "type": "integer",
- "format": "int32",
- "description": "从业年限"
- },
- "id": {
- "type": "string",
- "description": "设计师ID"
- },
- "motto": {
- "type": "string",
- "description": "座右铭"
- },
- "name": {
- "type": "string",
- "description": "设计师姓名"
- },
- "phone": {
- "type": "string",
- "description": "联系电话"
- },
- "rating": {
- "type": "string",
- "description": "评分"
- },
- "routeCount": {
- "type": "integer",
- "format": "int32",
- "description": "设计路线数量"
- },
- "serviceAreas": {
- "type": "array",
- "description": "服务区域",
- "items": {
- "type": "string"
- }
- },
- "specialties": {
- "type": "array",
- "description": "擅长领域",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "旅行设计师VO"
- },
- "更新管理员请求": {
- "type": "object",
- "properties": {
- "enterpriseWechatId": {
- "type": "string",
- "example": 842,
- "description": "企业微信用户ID"
- },
- "roleId": {
- "type": "integer",
- "format": "int64",
- "example": 1,
- "description": "角色ID(已废弃,请使用roleIds)"
- },
- "roleIds": {
- "type": "array",
- "example": [
- 1,
- 2
- ],
- "description": "角色ID列表(多角色)",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "更新管理员请求"
- },
- "统一响应结果«AdminUser»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "AdminUser",
- "$ref": "#/definitions/AdminUser"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«AdminUser»"
- },
- "统一响应结果«List«旅行设计师VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "旅行设计师VO",
- "$ref": "#/definitions/旅行设计师VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«旅行设计师VO»»"
- },
- "统一响应结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Map«string,object»»"
- },
- "统一响应结果«分页结果«AdminUser»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«AdminUser»",
- "$ref": "#/definitions/分页结果«AdminUser»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«AdminUser»»"
- },
- "Banner VO": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "endTime": {
- "type": "string",
- "format": "date-time",
- "description": "展示结束时间"
- },
- "id": {
- "type": "string",
- "description": "Banner ID"
- },
- "imageUrl": {
- "type": "string",
- "description": "图片URL(图片类型为图片,视频类型为封面图)"
- },
- "linkId": {
- "type": "string",
- "description": "链接目标ID(PRODUCT/SCENIC/ACTIVITY/HOTEL时有值)"
- },
- "linkTargetName": {
- "type": "string",
- "description": "链接目标名称(用于后台展示)"
- },
- "linkType": {
- "type": "string",
- "description": "链接类型:NONE=无链接 PRODUCT=产品 SCENIC=景区 ACTIVITY=活动 HOTEL=酒店 PAGE=小程序页面 WEBVIEW=网页"
- },
- "linkUrl": {
- "type": "string",
- "description": "链接URL(PAGE时为路由名,WEBVIEW时为完整URL)"
- },
- "materialId": {
- "type": "integer",
- "format": "int64",
- "description": "素材库关联ID"
- },
- "mediaType": {
- "type": "string",
- "description": "媒体类型: IMAGE/VIDEO"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "startTime": {
- "type": "string",
- "format": "date-time",
- "description": "展示开始时间"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下线 1=上线"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "tags": {
- "type": "array",
- "description": "标签列表",
- "items": {
- "type": "string"
- }
- },
- "title": {
- "type": "string",
- "description": "标题"
- },
- "videoUrl": {
- "type": "string",
- "description": "视频URL(媒体类型为VIDEO时有值)"
- }
- },
- "title": "Banner VO"
- },
- "Banner请求": {
- "type": "object",
- "required": [
- "imageUrl",
- "title"
- ],
- "properties": {
- "endTime": {
- "type": "string",
- "format": "date-time",
- "example": "2026-03-31T23:59:59",
- "description": "展示结束时间"
- },
- "imageUrl": {
- "type": "string",
- "example": "https://oss.example.com/banner/1.jpg",
- "description": "Banner图片URL(图片类型时为图片,视频类型时为封面图)"
- },
- "linkId": {
- "type": "string",
- "example": 1,
- "description": "链接目标ID(linkType=PRODUCT时为产品ID)"
- },
- "linkTargetName": {
- "type": "string",
- "example": "甘南秘境之旅",
- "description": "链接目标名称(用于后台展示)"
- },
- "linkType": {
- "type": "string",
- "example": "PRODUCT",
- "description": "链接类型:NONE=无链接 PRODUCT=产品 SCENIC=景区 ACTIVITY=活动 HOTEL=酒店 PAGE=小程序页面 WEBVIEW=网页"
- },
- "linkUrl": {
- "type": "string",
- "example": "https://example.com",
- "description": "链接URL(linkType=WEBVIEW/PAGE时生效)"
- },
- "materialId": {
- "type": "integer",
- "format": "int64",
- "description": "素材库关联ID(从素材库选择时传入)"
- },
- "mediaType": {
- "type": "string",
- "example": "IMAGE",
- "description": "媒体类型: IMAGE/VIDEO"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号(越小越靠前)"
- },
- "startTime": {
- "type": "string",
- "format": "date-time",
- "example": "2026-03-01T00:00:00",
- "description": "展示开始时间"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=下线 1=上线"
- },
- "subtitle": {
- "type": "string",
- "example": "限时优惠,不容错过",
- "description": "副标题"
- },
- "tags": {
- "type": "string",
- "example": "热门,推荐",
- "description": "标签(逗号分隔)"
- },
- "title": {
- "type": "string",
- "example": "春季特惠",
- "description": "Banner标题"
- },
- "videoUrl": {
- "type": "string",
- "example": "https://oss.example.com/banner/1.mp4",
- "description": "视频URL(媒体类型为VIDEO时必填)"
- }
- },
- "title": "Banner请求"
- },
- "分页结果«Banner VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "Banner VO",
- "$ref": "#/definitions/Banner VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«Banner VO»"
- },
- "统一响应结果«Banner VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "Banner VO",
- "$ref": "#/definitions/Banner VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«Banner VO»"
- },
- "统一响应结果«分页结果«Banner VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«Banner VO»",
- "$ref": "#/definitions/分页结果«Banner VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«Banner VO»»"
- },
- "分页结果«联系我们 VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "联系我们 VO",
- "$ref": "#/definitions/联系我们 VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«联系我们 VO»"
- },
- "统一响应结果«分页结果«联系我们 VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«联系我们 VO»",
- "$ref": "#/definitions/分页结果«联系我们 VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«联系我们 VO»»"
- },
- "统一响应结果«联系我们 VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "联系我们 VO",
- "$ref": "#/definitions/联系我们 VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«联系我们 VO»"
- },
- "联系我们 VO": {
- "type": "object",
- "properties": {
- "channelType": {
- "type": "string",
- "description": "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询"
- },
- "content": {
- "type": "string",
- "description": "富文本内容(关于我们类型使用)"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "icon": {
- "type": "string",
- "description": "图标URL"
- },
- "id": {
- "type": "string",
- "description": "联系方式ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态,关联字典common_status:ACTIVE=启用, INACTIVE=停用"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题/描述"
- },
- "title": {
- "type": "string",
- "description": "标题"
- },
- "value": {
- "type": "string",
- "description": "渠道值"
- }
- },
- "title": "联系我们 VO"
- },
- "联系我们请求": {
- "type": "object",
- "required": [
- "channelType",
- "title"
- ],
- "properties": {
- "channelType": {
- "type": "string",
- "example": "PHONE",
- "description": "渠道类型,关联字典contact_channel_type:ABOUT=关于我们, ONLINE_CS=在线客服, PHONE=电话咨询"
- },
- "content": {
- "type": "string",
- "description": "富文本内容(关于我们类型使用)"
- },
- "icon": {
- "type": "string",
- "example": "https://oss.example.com/icon/phone.png",
- "description": "图标URL"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号(越小越靠前)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": "ACTIVE",
- "description": "状态,关联字典common_status:ACTIVE=启用, INACTIVE=停用"
- },
- "subtitle": {
- "type": "string",
- "example": "客服热线",
- "description": "副标题/描述"
- },
- "title": {
- "type": "string",
- "example": "电话咨询",
- "description": "标题"
- },
- "value": {
- "type": "string",
- "example": "400-000-0000",
- "description": "渠道值(电话号码/客服链接等)"
- }
- },
- "title": "联系我们请求"
- },
- "分页结果«探索分类 VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "探索分类 VO",
- "$ref": "#/definitions/探索分类 VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«探索分类 VO»"
- },
- "探索分类 VO": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "favoriteCount": {
- "type": "integer",
- "format": "int32",
- "description": "收藏数"
- },
- "iconUrl": {
- "type": "string",
- "description": "图标URL"
- },
- "id": {
- "type": "string",
- "description": "分类ID"
- },
- "likeCount": {
- "type": "integer",
- "format": "int32",
- "description": "点赞数"
- },
- "resourceCount": {
- "type": "integer",
- "format": "int32",
- "description": "关联资源数量"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下线 1=上线"
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "title": {
- "type": "string",
- "description": "分类标题"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "探索分类 VO"
- },
- "探索分类关联资源项": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "description": "资源简介(支持HTML)"
- },
- "resourceId": {
- "type": "string",
- "description": "资源ID"
- },
- "resourceName": {
- "type": "string",
- "description": "资源名称"
- },
- "resourceType": {
- "type": "string",
- "description": "资源类型"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- }
- },
- "title": "探索分类关联资源项"
- },
- "探索分类详情 VO": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "description": "封面图URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "分类描述"
- },
- "favoriteCount": {
- "type": "integer",
- "format": "int32",
- "description": "收藏数"
- },
- "iconUrl": {
- "type": "string",
- "description": "图标URL"
- },
- "id": {
- "type": "string",
- "description": "分类ID"
- },
- "isFavorited": {
- "type": "boolean",
- "description": "当前用户是否已收藏"
- },
- "isLiked": {
- "type": "boolean",
- "description": "当前用户是否已点赞"
- },
- "likeCount": {
- "type": "integer",
- "format": "int32",
- "description": "点赞数"
- },
- "resources": {
- "type": "array",
- "description": "关联资源列表",
- "items": {
- "originalRef": "探索分类关联资源项",
- "$ref": "#/definitions/探索分类关联资源项"
- }
- },
- "subtitle": {
- "type": "string",
- "description": "副标题"
- },
- "title": {
- "type": "string",
- "description": "分类标题"
- },
- "viewCount": {
- "type": "integer",
- "format": "int32",
- "description": "浏览量"
- }
- },
- "title": "探索分类详情 VO"
- },
- "探索分类请求": {
- "type": "object",
- "required": [
- "coverUrl",
- "title"
- ],
- "properties": {
- "coverUrl": {
- "type": "string",
- "example": "https://oss.example.com/explore/cover.jpg",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "example": "阳光沙滩,碧海蓝天",
- "description": "分类描述"
- },
- "iconUrl": {
- "type": "string",
- "example": "https://oss.example.com/explore/icon.png",
- "description": "图标URL"
- },
- "resources": {
- "type": "array",
- "description": "关联资源列表",
- "items": {
- "originalRef": "探索分类资源请求",
- "$ref": "#/definitions/探索分类资源请求"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号(越小越靠前)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=下线 1=上线"
- },
- "subtitle": {
- "type": "string",
- "example": "精选海岛度假目的地",
- "description": "副标题"
- },
- "title": {
- "type": "string",
- "example": "海岛度假",
- "description": "分类标题"
- }
- },
- "title": "探索分类请求"
- },
- "探索分类资源请求": {
- "type": "object",
- "properties": {
- "coverUrl": {
- "type": "string",
- "example": "https://oss.example.com/scenic/1.jpg",
- "description": "封面图URL"
- },
- "description": {
- "type": "string",
- "description": "资源简介(支持HTML)"
- },
- "resourceId": {
- "type": "integer",
- "format": "int64",
- "example": 100,
- "description": "资源ID"
- },
- "resourceName": {
- "type": "string",
- "example": "西湖风景区",
- "description": "资源名称"
- },
- "resourceType": {
- "type": "string",
- "example": "SCENIC_SPOT",
- "description": "资源类型"
- }
- },
- "title": "探索分类资源请求"
- },
- "统一响应结果«分页结果«探索分类 VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«探索分类 VO»",
- "$ref": "#/definitions/分页结果«探索分类 VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«探索分类 VO»»"
- },
- "统一响应结果«探索分类详情 VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "探索分类详情 VO",
- "$ref": "#/definitions/探索分类详情 VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«探索分类详情 VO»"
- },
- "分页结果«前端配置 VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "前端配置 VO",
- "$ref": "#/definitions/前端配置 VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«前端配置 VO»"
- },
- "前端配置 VO": {
- "type": "object",
- "properties": {
- "configGroup": {
- "type": "string",
- "description": "配置分组: COLOR/PAGE/SECRET/GENERAL"
- },
- "configKey": {
- "type": "string",
- "description": "配置键"
- },
- "configType": {
- "type": "string",
- "description": "值类型"
- },
- "configValue": {
- "type": "string",
- "description": "配置值(SECRET类型脱敏)"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "配置项描述"
- },
- "id": {
- "type": "string",
- "description": "配置ID"
- },
- "label": {
- "type": "string",
- "description": "配置项中文名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态: 0=禁用 1=启用"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "前端配置 VO"
- },
- "前端配置请求": {
- "type": "object",
- "required": [
- "configGroup",
- "configKey",
- "configType",
- "label"
- ],
- "properties": {
- "configGroup": {
- "type": "string",
- "example": "COLOR",
- "description": "配置分组"
- },
- "configKey": {
- "type": "string",
- "example": "primaryColor",
- "description": "配置键"
- },
- "configType": {
- "type": "string",
- "example": "COLOR",
- "description": "值类型"
- },
- "configValue": {
- "type": "string",
- "example": "#1890FF",
- "description": "配置值"
- },
- "description": {
- "type": "string",
- "example": "系统主色调",
- "description": "配置项描述"
- },
- "label": {
- "type": "string",
- "example": "主题色",
- "description": "配置项中文名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态: 0=禁用 1=启用"
- }
- },
- "title": "前端配置请求"
- },
- "统一响应结果«List«string»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "type": "string"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«string»»"
- },
- "统一响应结果«List«前端配置 VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "前端配置 VO",
- "$ref": "#/definitions/前端配置 VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«前端配置 VO»»"
- },
- "统一响应结果«分页结果«前端配置 VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«前端配置 VO»",
- "$ref": "#/definitions/分页结果«前端配置 VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«前端配置 VO»»"
- },
- "统一响应结果«前端配置 VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "前端配置 VO",
- "$ref": "#/definitions/前端配置 VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«前端配置 VO»"
- },
- "常见问题分类VO": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "分类ID"
- },
- "items": {
- "type": "array",
- "description": "条目列表(仅内部接口返回)",
- "items": {
- "originalRef": "常见问题条目VO",
- "$ref": "#/definitions/常见问题条目VO"
- }
- },
- "name": {
- "type": "string",
- "description": "分类名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=禁用 1=启用"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "常见问题分类VO"
- },
- "常见问题分类请求": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "常见问题",
- "description": "分类名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=禁用 1=启用"
- }
- },
- "title": "常见问题分类请求"
- },
- "常见问题条目VO": {
- "type": "object",
- "properties": {
- "answer": {
- "type": "string",
- "description": "回答"
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "所属分类ID"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "description": "条目ID"
- },
- "question": {
- "type": "string",
- "description": "问题"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=禁用 1=启用"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "常见问题条目VO"
- },
- "常见问题条目请求": {
- "type": "object",
- "required": [
- "categoryId",
- "question"
- ],
- "properties": {
- "answer": {
- "type": "string",
- "example": "您可以在首页浏览路线产品...",
- "description": "回答(支持富文本)"
- },
- "categoryId": {
- "type": "integer",
- "format": "int64",
- "description": "所属分类ID"
- },
- "question": {
- "type": "string",
- "example": "如何预订行程?",
- "description": "问题"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=禁用 1=启用"
- }
- },
- "title": "常见问题条目请求"
- },
- "统一响应结果«List«常见问题分类VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "常见问题分类VO",
- "$ref": "#/definitions/常见问题分类VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«常见问题分类VO»»"
- },
- "统一响应结果«List«常见问题条目VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "常见问题条目VO",
- "$ref": "#/definitions/常见问题条目VO"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«常见问题条目VO»»"
- },
- "统一响应结果«常见问题分类VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "常见问题分类VO",
- "$ref": "#/definitions/常见问题分类VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«常见问题分类VO»"
- },
- "统一响应结果«常见问题条目VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "常见问题条目VO",
- "$ref": "#/definitions/常见问题条目VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«常见问题条目VO»"
- },
- "分页结果«协议 VO»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "协议 VO",
- "$ref": "#/definitions/协议 VO"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«协议 VO»"
- },
- "协议 VO": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string",
- "description": "协议内容(HTML富文本)"
- },
- "createTime": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "id": {
- "type": "string",
- "description": "协议ID"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "排序号"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "description": "状态:0=下线 1=上线"
- },
- "title": {
- "type": "string",
- "description": "协议标题"
- },
- "type": {
- "type": "string",
- "description": "协议类型标识"
- },
- "updateTime": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "version": {
- "type": "string",
- "description": "版本号"
- }
- },
- "title": "协议 VO"
- },
- "协议请求": {
- "type": "object",
- "required": [
- "content",
- "title",
- "type"
- ],
- "properties": {
- "content": {
- "type": "string",
- "description": "协议内容(HTML富文本)"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号(越小越靠前)"
- },
- "status": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "状态:0=下线 1=上线"
- },
- "title": {
- "type": "string",
- "example": "隐私政策",
- "description": "协议标题"
- },
- "type": {
- "type": "string",
- "example": "privacy",
- "description": "协议类型标识(唯一)"
- },
- "version": {
- "type": "string",
- "example": 1.0,
- "description": "版本号"
- }
- },
- "title": "协议请求"
- },
- "统一响应结果«分页结果«协议 VO»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«协议 VO»",
- "$ref": "#/definitions/分页结果«协议 VO»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«协议 VO»»"
- },
- "统一响应结果«协议 VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "协议 VO",
- "$ref": "#/definitions/协议 VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«协议 VO»"
- },
- "二次验证请求": {
- "type": "object",
- "required": [
- "code"
- ],
- "properties": {
- "code": {
- "type": "string",
- "example": 123456,
- "description": "验证码"
- }
- },
- "title": "二次验证请求"
- },
- "修改密码请求": {
- "type": "object",
- "required": [
- "newPassword",
- "oldPassword"
- ],
- "properties": {
- "newPassword": {
- "type": "string",
- "example": "NewPass@456",
- "description": "新密码(8-128位,须含大小写字母和数字)"
- },
- "oldPassword": {
- "type": "string",
- "example": "OldPass@123",
- "description": "旧密码"
- }
- },
- "title": "修改密码请求"
- },
- "头像更新请求": {
- "type": "object",
- "required": [
- "avatar"
- ],
- "properties": {
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "fileId": {
- "type": "integer",
- "format": "int64",
- "description": "文件ID"
- }
- },
- "title": "头像更新请求",
- "description": "更新管理员头像,需先通过文件服务上传图片"
- },
- "管理员登录响应": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "integer",
- "format": "int64",
- "description": "管理员ID"
- },
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "requireTwoFa": {
- "type": "boolean",
- "description": "是否需要二次验证"
- },
- "requireWechatBind": {
- "type": "boolean",
- "description": "是否需要绑定企业微信"
- },
- "role": {
- "type": "string",
- "description": "角色标识(主角色)"
- },
- "roleName": {
- "type": "string",
- "description": "角色名称(主角色)"
- },
- "roles": {
- "type": "array",
- "description": "角色列表(多角色)",
- "items": {
- "originalRef": "角色信息",
- "$ref": "#/definitions/角色信息"
- }
- },
- "token": {
- "type": "string",
- "description": "登录令牌"
- },
- "username": {
- "type": "string",
- "description": "用户名"
- }
- },
- "title": "管理员登录响应"
- },
- "管理员登录请求": {
- "type": "object",
- "required": [
- "password",
- "username"
- ],
- "properties": {
- "password": {
- "type": "string",
- "example": "Admin@2026",
- "description": "密码"
- },
- "username": {
- "type": "string",
- "example": "admin",
- "description": "用户名"
- }
- },
- "title": "管理员登录请求",
- "description": "后台管理员通过用户名+密码登录,新设备首次登录需2FA验证"
- },
- "统一响应结果«管理员登录响应»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "管理员登录响应",
- "$ref": "#/definitions/管理员登录响应"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«管理员登录响应»"
- },
- "角色信息": {
- "type": "object",
- "properties": {
- "roleId": {
- "type": "integer",
- "format": "int64",
- "description": "角色ID"
- },
- "roleKey": {
- "type": "string",
- "description": "角色标识"
- },
- "roleName": {
- "type": "string",
- "description": "角色名称"
- }
- },
- "title": "角色信息"
- },
- "角色切换请求": {
- "type": "object",
- "required": [
- "roleId"
- ],
- "properties": {
- "roleId": {
- "type": "integer",
- "format": "int64",
- "description": "目标角色ID"
- }
- },
- "title": "角色切换请求",
- "description": "多角色管理员切换当前活跃角色"
- },
- "分配菜单权限请求": {
- "type": "object",
- "required": [
- "menuIds"
- ],
- "properties": {
- "menuIds": {
- "type": "array",
- "example": [
- 1,
- 2,
- 3
- ],
- "description": "菜单ID列表",
- "items": {
- "type": "integer",
- "format": "int64"
- }
- }
- },
- "title": "分配菜单权限请求"
- },
- "分页结果«SysRole»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "SysRole",
- "$ref": "#/definitions/SysRole"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«SysRole»"
- },
- "创建角色请求": {
- "type": "object",
- "required": [
- "roleKey",
- "roleName"
- ],
- "properties": {
- "remark": {
- "type": "string",
- "example": "负责日常运营管理",
- "description": "备注"
- },
- "roleKey": {
- "type": "string",
- "example": "OPERATOR",
- "description": "角色标识"
- },
- "roleName": {
- "type": "string",
- "example": "运营专员",
- "description": "角色名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- }
- },
- "title": "创建角色请求"
- },
- "更新角色请求": {
- "type": "object",
- "properties": {
- "remark": {
- "type": "string",
- "example": "负责日常运营管理",
- "description": "备注"
- },
- "roleName": {
- "type": "string",
- "example": "运营专员",
- "description": "角色名称"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "状态:ACTIVE=启用 DISABLED=禁用"
- }
- },
- "title": "更新角色请求"
- },
- "统一响应结果«List«SysRole»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "SysRole",
- "$ref": "#/definitions/SysRole"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«SysRole»»"
- },
- "统一响应结果«SysRole»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "SysRole",
- "$ref": "#/definitions/SysRole"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«SysRole»"
- },
- "统一响应结果«分页结果«SysRole»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«SysRole»",
- "$ref": "#/definitions/分页结果«SysRole»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«SysRole»»"
- },
- "SysMenu": {
- "type": "object",
- "properties": {
- "children": {
- "type": "array",
- "items": {
- "originalRef": "SysMenu",
- "$ref": "#/definitions/SysMenu"
- }
- },
- "component": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "icon": {
- "type": "string"
- },
- "isCache": {
- "type": "boolean"
- },
- "menuId": {
- "type": "integer",
- "format": "int64"
- },
- "menuName": {
- "type": "string"
- },
- "menuType": {
- "type": "string"
- },
- "parentId": {
- "type": "integer",
- "format": "int64"
- },
- "path": {
- "type": "string"
- },
- "permissionCode": {
- "type": "string"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "status": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "visible": {
- "type": "boolean"
- }
- },
- "title": "SysMenu"
- },
- "创建菜单请求": {
- "type": "object",
- "required": [
- "menuName",
- "menuType"
- ],
- "properties": {
- "component": {
- "type": "string",
- "example": "system/user/index",
- "description": "组件路径"
- },
- "icon": {
- "type": "string",
- "example": "user",
- "description": "菜单图标"
- },
- "isCache": {
- "type": "boolean",
- "example": true,
- "description": "是否缓存(true=缓存 false=不缓存)"
- },
- "menuName": {
- "type": "string",
- "example": "用户管理",
- "description": "菜单名称"
- },
- "menuType": {
- "type": "string",
- "example": "M",
- "description": "菜单类型:D=目录 M=菜单 B=按钮(关联字典menu_type)"
- },
- "parentId": {
- "type": "integer",
- "format": "int64",
- "example": 0,
- "description": "父菜单ID(顶级菜单为空)"
- },
- "path": {
- "type": "string",
- "example": "/system/user",
- "description": "路由路径"
- },
- "permissionCode": {
- "type": "string",
- "example": "system:user:list",
- "description": "权限标识"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- },
- "visible": {
- "type": "boolean",
- "example": true,
- "description": "是否可见"
- }
- },
- "title": "创建菜单请求"
- },
- "更新菜单请求": {
- "type": "object",
- "properties": {
- "component": {
- "type": "string",
- "example": "system/user/index",
- "description": "组件路径"
- },
- "icon": {
- "type": "string",
- "example": "user",
- "description": "菜单图标"
- },
- "isCache": {
- "type": "boolean",
- "example": true,
- "description": "是否缓存(true=缓存 false=不缓存)"
- },
- "menuName": {
- "type": "string",
- "example": "用户管理",
- "description": "菜单名称"
- },
- "menuType": {
- "type": "string",
- "example": "M",
- "description": "菜单类型:D=目录 M=菜单 B=按钮(关联字典menu_type)"
- },
- "parentId": {
- "type": "integer",
- "format": "int64",
- "example": 0,
- "description": "父菜单ID"
- },
- "path": {
- "type": "string",
- "example": "/system/user",
- "description": "路由路径"
- },
- "permissionCode": {
- "type": "string",
- "example": "system:user:list",
- "description": "权限标识"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "状态:ACTIVE=启用 DISABLED=禁用"
- },
- "visible": {
- "type": "boolean",
- "example": true,
- "description": "是否可见"
- }
- },
- "title": "更新菜单请求"
- },
- "统一响应结果«List«SysMenu»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "SysMenu",
- "$ref": "#/definitions/SysMenu"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«SysMenu»»"
- },
- "统一响应结果«SysMenu»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "SysMenu",
- "$ref": "#/definitions/SysMenu"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«SysMenu»"
- },
- "SysDictData": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "dictDataId": {
- "type": "integer",
- "format": "int64"
- },
- "dictLabel": {
- "type": "string"
- },
- "dictType": {
- "type": "string"
- },
- "dictValue": {
- "type": "string"
- },
- "remark": {
- "type": "string"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32"
- },
- "status": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "title": "SysDictData"
- },
- "SysDictType": {
- "type": "object",
- "properties": {
- "category": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "dictName": {
- "type": "string"
- },
- "dictType": {
- "type": "string"
- },
- "dictTypeId": {
- "type": "integer",
- "format": "int64"
- },
- "remark": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "title": "SysDictType"
- },
- "分页结果«SysDictType»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "SysDictType",
- "$ref": "#/definitions/SysDictType"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«SysDictType»"
- },
- "创建字典数据请求": {
- "type": "object",
- "required": [
- "dictLabel",
- "dictType",
- "dictValue"
- ],
- "properties": {
- "dictLabel": {
- "type": "string",
- "example": "男",
- "description": "字典标签"
- },
- "dictType": {
- "type": "string",
- "example": "sys_gender",
- "description": "字典类型"
- },
- "dictValue": {
- "type": "string",
- "example": 1,
- "description": "字典值"
- },
- "remark": {
- "type": "string",
- "example": "男性",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- }
- },
- "title": "创建字典数据请求"
- },
- "创建字典类型请求": {
- "type": "object",
- "required": [
- "dictName",
- "dictType"
- ],
- "properties": {
- "category": {
- "type": "string",
- "example": "BASE",
- "description": "字典分类(如BASE=基础字典, BUSINESS=业务字典,也可自定义)"
- },
- "dictName": {
- "type": "string",
- "example": "性别",
- "description": "字典名称"
- },
- "dictType": {
- "type": "string",
- "example": "sys_gender",
- "description": "字典类型标识"
- },
- "remark": {
- "type": "string",
- "example": "用户性别字典",
- "description": "备注"
- }
- },
- "title": "创建字典类型请求"
- },
- "更新字典数据请求": {
- "type": "object",
- "properties": {
- "dictLabel": {
- "type": "string",
- "example": "男",
- "description": "字典标签"
- },
- "dictValue": {
- "type": "string",
- "example": 1,
- "description": "字典值"
- },
- "remark": {
- "type": "string",
- "example": "男性",
- "description": "备注"
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "排序号"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "状态:ACTIVE=启用 DISABLED=禁用"
- }
- },
- "title": "更新字典数据请求"
- },
- "更新字典类型请求": {
- "type": "object",
- "properties": {
- "dictName": {
- "type": "string",
- "example": "性别",
- "description": "字典名称"
- },
- "remark": {
- "type": "string",
- "example": "用户性别字典",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "example": "ACTIVE",
- "description": "状态:ACTIVE=启用 DISABLED=禁用"
- }
- },
- "title": "更新字典类型请求"
- },
- "统一响应结果«List«SysDictData»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "SysDictData",
- "$ref": "#/definitions/SysDictData"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«SysDictData»»"
- },
- "统一响应结果«SysDictData»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "SysDictData",
- "$ref": "#/definitions/SysDictData"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«SysDictData»"
- },
- "统一响应结果«SysDictType»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "SysDictType",
- "$ref": "#/definitions/SysDictType"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«SysDictType»"
- },
- "统一响应结果«分页结果«SysDictType»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«SysDictType»",
- "$ref": "#/definitions/分页结果«SysDictType»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«SysDictType»»"
- },
- "分页结果«定时任务信息»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "定时任务信息",
- "$ref": "#/definitions/定时任务信息"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«定时任务信息»"
- },
- "分页结果«定时任务执行日志»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "定时任务执行日志",
- "$ref": "#/definitions/定时任务执行日志"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«定时任务执行日志»"
- },
- "创建定时任务请求": {
- "type": "object",
- "required": [
- "cronExpression",
- "invokeTarget",
- "jobName"
- ],
- "properties": {
- "concurrent": {
- "type": "boolean",
- "example": false,
- "description": "是否允许并发执行"
- },
- "cronExpression": {
- "type": "string",
- "example": "0 0 2 * * ?",
- "description": "Cron表达式,标准6位(秒 分 时 日 月 周)"
- },
- "invokeTarget": {
- "type": "string",
- "example": "wechatSyncService.syncDepartments",
- "description": "调用目标(Bean名称.方法名),方法必须是无参公开方法"
- },
- "jobGroup": {
- "type": "string",
- "example": "SYSTEM",
- "description": "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)"
- },
- "jobName": {
- "type": "string",
- "example": "同步企微通讯录",
- "description": "任务名称"
- },
- "misfirePolicy": {
- "type": "string",
- "example": "DEFAULT",
- "description": "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)"
- },
- "remark": {
- "type": "string",
- "example": "每天凌晨2点同步企微通讯录",
- "description": "备注"
- }
- },
- "title": "创建定时任务请求"
- },
- "定时任务信息": {
- "type": "object",
- "properties": {
- "concurrent": {
- "type": "boolean",
- "description": "是否允许并发执行"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "cronExpression": {
- "type": "string",
- "description": "Cron表达式"
- },
- "invokeTarget": {
- "type": "string",
- "description": "调用目标(Bean名称.方法名)"
- },
- "jobGroup": {
- "type": "string",
- "description": "任务分组"
- },
- "jobId": {
- "type": "integer",
- "format": "int64",
- "description": "任务ID"
- },
- "jobName": {
- "type": "string",
- "description": "任务名称"
- },
- "misfirePolicy": {
- "type": "string",
- "description": "计划执行策略"
- },
- "remark": {
- "type": "string",
- "description": "备注"
- },
- "status": {
- "type": "string",
- "description": "任务状态"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "定时任务信息"
- },
- "定时任务执行日志": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "endTime": {
- "type": "string",
- "format": "date-time",
- "description": "结束时间"
- },
- "invokeTarget": {
- "type": "string",
- "description": "调用目标"
- },
- "jobId": {
- "type": "integer",
- "format": "int64",
- "description": "任务ID"
- },
- "jobLogId": {
- "type": "integer",
- "format": "int64",
- "description": "日志ID"
- },
- "jobName": {
- "type": "string",
- "description": "任务名称"
- },
- "message": {
- "type": "string",
- "description": "执行结果/异常信息"
- },
- "startTime": {
- "type": "string",
- "format": "date-time",
- "description": "开始时间"
- },
- "status": {
- "type": "string",
- "description": "执行状态"
- }
- },
- "title": "定时任务执行日志"
- },
- "更新定时任务请求": {
- "type": "object",
- "properties": {
- "concurrent": {
- "type": "boolean",
- "example": false,
- "description": "是否允许并发执行"
- },
- "cronExpression": {
- "type": "string",
- "example": "0 0 2 * * ?",
- "description": "Cron表达式,标准6位(秒 分 时 日 月 周)"
- },
- "invokeTarget": {
- "type": "string",
- "example": "wechatSyncService.syncDepartments",
- "description": "调用目标(Bean名称.方法名),方法必须是无参公开方法"
- },
- "jobGroup": {
- "type": "string",
- "example": "SYSTEM",
- "description": "任务分组,字典类型:job_group(DEFAULT=默认分组, SYSTEM=系统任务, WECHAT=企微同步, INSURANCE=保险同步)"
- },
- "jobName": {
- "type": "string",
- "example": "同步企微通讯录",
- "description": "任务名称"
- },
- "misfirePolicy": {
- "type": "string",
- "example": "DEFAULT",
- "description": "计划执行策略,字典类型:job_misfire_policy(DEFAULT=默认策略, FIRE_ONCE=立即触发一次, DO_NOTHING=不触发)"
- },
- "remark": {
- "type": "string",
- "example": "每天凌晨2点同步企微通讯录",
- "description": "备注"
- }
- },
- "title": "更新定时任务请求"
- },
- "统一响应结果«分页结果«定时任务信息»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«定时任务信息»",
- "$ref": "#/definitions/分页结果«定时任务信息»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«定时任务信息»»"
- },
- "统一响应结果«分页结果«定时任务执行日志»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«定时任务执行日志»",
- "$ref": "#/definitions/分页结果«定时任务执行日志»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«定时任务执行日志»»"
- },
- "统一响应结果«定时任务信息»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "定时任务信息",
- "$ref": "#/definitions/定时任务信息"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«定时任务信息»"
- },
- "Map«string,object»": {
- "type": "object",
- "title": "Map«string,object»",
- "additionalProperties": {
- "type": "object"
- }
- },
- "WechatDepartment": {
- "type": "object",
- "properties": {
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "deptId": {
- "type": "integer",
- "format": "int64"
- },
- "deptName": {
- "type": "string"
- },
- "orderIndex": {
- "type": "integer",
- "format": "int32"
- },
- "parentId": {
- "type": "integer",
- "format": "int64"
- },
- "status": {
- "type": "string"
- },
- "syncedAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "title": "WechatDepartment"
- },
- "WechatUser": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "deptIds": {
- "type": "string"
- },
- "deptNames": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "gender": {
- "type": "integer",
- "format": "int32"
- },
- "mobile": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "position": {
- "type": "string"
- },
- "status": {
- "type": "integer",
- "format": "int32"
- },
- "syncedAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "userid": {
- "type": "string"
- }
- },
- "title": "WechatUser"
- },
- "分页结果«WechatUser»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "WechatUser",
- "$ref": "#/definitions/WechatUser"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«WechatUser»"
- },
- "统一响应结果«List«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "Map«string,object»",
- "$ref": "#/definitions/Map«string,object»"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«Map«string,object»»»"
- },
- "统一响应结果«List«WechatDepartment»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "array",
- "description": "响应数据",
- "items": {
- "originalRef": "WechatDepartment",
- "$ref": "#/definitions/WechatDepartment"
- }
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«List«WechatDepartment»»"
- },
- "统一响应结果«分页结果«WechatUser»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«WechatUser»",
- "$ref": "#/definitions/分页结果«WechatUser»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«WechatUser»»"
- },
- "Map«string,object»_1": {
- "type": "object",
- "title": "Map«string,object»_1",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_2": {
- "type": "object",
- "title": "Map«string,object»_2",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_3": {
- "type": "object",
- "title": "Map«string,object»_3",
- "additionalProperties": {
- "type": "object"
- }
- },
- "Map«string,object»_4": {
- "type": "object",
- "title": "Map«string,object»_4",
- "additionalProperties": {
- "type": "object"
- }
- },
- "个人资料VO(角色感知)": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "string",
- "description": "管理员用户ID"
- },
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "certLevel": {
- "type": "string",
- "description": "认证等级(定制师专属)"
- },
- "certified": {
- "type": "boolean",
- "description": "是否已认证(定制师专属)"
- },
- "contactQrUrl": {
- "type": "string",
- "description": "企业微信联系二维码URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "个人简介(定制师专属)"
- },
- "experience": {
- "type": "integer",
- "format": "int32",
- "description": "从业年限(定制师专属)"
- },
- "isFeatured": {
- "type": "boolean",
- "description": "是否推荐(定制师专属)"
- },
- "motto": {
- "type": "string",
- "description": "座右铭(定制师专属)"
- },
- "name": {
- "type": "string",
- "description": "姓名"
- },
- "phone": {
- "type": "string",
- "description": "手机号"
- },
- "role": {
- "type": "string",
- "description": "当前角色key"
- },
- "roleName": {
- "type": "string",
- "description": "角色中文名"
- },
- "serviceAreas": {
- "type": "array",
- "description": "服务区域(定制师专属)",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "展示排序(定制师专属)"
- },
- "specialties": {
- "type": "array",
- "description": "擅长领域(定制师专属)",
- "items": {
- "type": "string"
- }
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "个人资料VO(角色感知)"
- },
- "产品统计": {
- "type": "object",
- "properties": {
- "publishedProducts": {
- "type": "integer",
- "format": "int32",
- "description": "已上架产品数"
- },
- "totalProducts": {
- "type": "integer",
- "format": "int32",
- "description": "产品总数"
- }
- },
- "title": "产品统计"
- },
- "分页结果«Map«string,object»»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "Map«string,object»",
- "$ref": "#/definitions/Map«string,object»"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«Map«string,object»»"
- },
- "定制师个人资料VO": {
- "type": "object",
- "properties": {
- "adminId": {
- "type": "string",
- "description": "管理员用户ID"
- },
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "certLevel": {
- "type": "string",
- "description": "认证等级:none/bronze/silver/gold/diamond"
- },
- "certified": {
- "type": "boolean",
- "description": "是否已认证"
- },
- "contactQrUrl": {
- "type": "string",
- "description": "企业微信联系二维码URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "description": {
- "type": "string",
- "description": "个人简介"
- },
- "experience": {
- "type": "integer",
- "format": "int32",
- "description": "从业年限"
- },
- "isFeatured": {
- "type": "boolean",
- "description": "是否推荐"
- },
- "motto": {
- "type": "string",
- "description": "座右铭"
- },
- "name": {
- "type": "string",
- "description": "姓名(优先取企微名称,否则管理员用户名)"
- },
- "phone": {
- "type": "string",
- "description": "手机号"
- },
- "serviceAreas": {
- "type": "array",
- "description": "服务区域列表",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "description": "展示排序"
- },
- "specialties": {
- "type": "array",
- "description": "擅长领域列表",
- "items": {
- "type": "string"
- }
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- }
- },
- "title": "定制师个人资料VO"
- },
- "定制师工作台VO(重构版)": {
- "type": "object",
- "properties": {
- "calendarEvents": {
- "type": "array",
- "description": "日历事件",
- "items": {
- "originalRef": "Map«string,object»",
- "$ref": "#/definitions/Map«string,object»"
- }
- },
- "customerStats": {
- "description": "客户统计",
- "originalRef": "客户统计",
- "$ref": "#/definitions/客户统计"
- },
- "funnel": {
- "type": "object",
- "description": "转化漏斗"
- },
- "overview": {
- "description": "数据概览",
- "originalRef": "数据概览",
- "$ref": "#/definitions/数据概览"
- },
- "productStats": {
- "description": "产品统计",
- "originalRef": "产品统计",
- "$ref": "#/definitions/产品统计"
- },
- "ranking": {
- "type": "array",
- "description": "本月业绩排行",
- "items": {
- "originalRef": "Map«string,object»",
- "$ref": "#/definitions/Map«string,object»"
- }
- },
- "reviewStats": {
- "description": "评价统计",
- "originalRef": "评价统计",
- "$ref": "#/definitions/评价统计"
- },
- "shortcuts": {
- "type": "array",
- "description": "快捷入口列表",
- "items": {
- "originalRef": "快捷入口",
- "$ref": "#/definitions/快捷入口"
- }
- },
- "todos": {
- "type": "object",
- "description": "待办汇总"
- },
- "trend": {
- "type": "array",
- "description": "数据趋势(按天)",
- "items": {
- "originalRef": "Map«string,object»",
- "$ref": "#/definitions/Map«string,object»"
- }
- },
- "upcomingTrips": {
- "type": "array",
- "description": "即将出行列表",
- "items": {
- "originalRef": "Map«string,object»",
- "$ref": "#/definitions/Map«string,object»"
- }
- }
- },
- "title": "定制师工作台VO(重构版)"
- },
- "客户统计": {
- "type": "object",
- "properties": {
- "customerAddCount": {
- "type": "integer",
- "format": "int32",
- "description": "新增客户数"
- },
- "customerLossCount": {
- "type": "integer",
- "format": "int32",
- "description": "客户流失数"
- }
- },
- "title": "客户统计"
- },
- "快捷入口": {
- "type": "object",
- "properties": {
- "icon": {
- "type": "string",
- "description": "图标"
- },
- "name": {
- "type": "string",
- "description": "名称"
- },
- "path": {
- "type": "string",
- "description": "路径"
- }
- },
- "title": "快捷入口"
- },
- "数据概览": {
- "type": "object",
- "properties": {
- "gmv": {
- "type": "number",
- "description": "当期GMV"
- },
- "gmvDiffRate": {
- "type": "number",
- "description": "与前一期GMV增长率"
- },
- "orderCount": {
- "type": "integer",
- "format": "int64",
- "description": "当期订单数"
- },
- "orderCountDiff": {
- "type": "integer",
- "format": "int64",
- "description": "与前一期订单数差值"
- },
- "period": {
- "type": "string",
- "description": "当期时间范围"
- }
- },
- "title": "数据概览"
- },
- "更新定制师个人资料请求": {
- "type": "object",
- "properties": {
- "certLevel": {
- "type": "string",
- "example": "gold",
- "description": "认证等级:none/bronze/silver/gold/diamond"
- },
- "certified": {
- "type": "boolean",
- "example": true,
- "description": "是否已认证"
- },
- "description": {
- "type": "string",
- "example": "10年+旅行定制师",
- "description": "个人简介"
- },
- "experience": {
- "type": "integer",
- "format": "int32",
- "example": 5,
- "description": "从业年限"
- },
- "isFeatured": {
- "type": "boolean",
- "example": false,
- "description": "是否推荐"
- },
- "motto": {
- "type": "string",
- "example": "让每一次旅行都值得回忆",
- "description": "座右铭"
- },
- "serviceAreas": {
- "type": "array",
- "example": [
- "西南地区",
- "华中地区"
- ],
- "description": "服务区域列表",
- "items": {
- "type": "string"
- }
- },
- "sortOrder": {
- "type": "integer",
- "format": "int32",
- "example": 0,
- "description": "展示排序"
- },
- "specialties": {
- "type": "array",
- "example": [
- "云南",
- "西藏"
- ],
- "description": "擅长领域列表",
- "items": {
- "type": "string"
- }
- }
- },
- "title": "更新定制师个人资料请求"
- },
- "统一响应结果«object»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "type": "object",
- "description": "响应数据"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«object»"
- },
- "统一响应结果«个人资料VO(角色感知)»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "个人资料VO(角色感知)",
- "$ref": "#/definitions/个人资料VO(角色感知)"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«个人资料VO(角色感知)»"
- },
- "统一响应结果«分页结果«Map«string,object»»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«Map«string,object»»",
- "$ref": "#/definitions/分页结果«Map«string,object»»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«Map«string,object»»»"
- },
- "统一响应结果«定制师个人资料VO»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "定制师个人资料VO",
- "$ref": "#/definitions/定制师个人资料VO"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«定制师个人资料VO»"
- },
- "统一响应结果«定制师工作台VO(重构版)»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "定制师工作台VO(重构版)",
- "$ref": "#/definitions/定制师工作台VO(重构版)"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«定制师工作台VO(重构版)»"
- },
- "评价统计": {
- "type": "object",
- "properties": {
- "averageRating": {
- "type": "number",
- "description": "平均评分(1-5)"
- },
- "goodRate": {
- "type": "number",
- "description": "好评率(%)"
- },
- "totalReviews": {
- "type": "integer",
- "format": "int32",
- "description": "评价总数"
- }
- },
- "title": "评价统计"
- },
- "分页结果«客户信息VO(管理端)»": {
- "type": "object",
- "properties": {
- "page": {
- "type": "integer",
- "format": "int32",
- "example": 1,
- "description": "当前页码"
- },
- "pageSize": {
- "type": "integer",
- "format": "int32",
- "example": 20,
- "description": "每页条数"
- },
- "records": {
- "type": "array",
- "description": "数据列表",
- "items": {
- "originalRef": "客户信息VO(管理端)",
- "$ref": "#/definitions/客户信息VO(管理端)"
- }
- },
- "total": {
- "type": "integer",
- "format": "int32",
- "example": 100,
- "description": "总记录数"
- }
- },
- "title": "分页结果«客户信息VO(管理端)»"
- },
- "客户信息VO(管理端)": {
- "type": "object",
- "properties": {
- "avatar": {
- "type": "string",
- "description": "头像URL"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "description": "创建时间"
- },
- "nickname": {
- "type": "string",
- "description": "昵称"
- },
- "phone": {
- "type": "string",
- "description": "手机号(不脱敏)"
- },
- "status": {
- "type": "string",
- "description": "状态,关联字典user_status:ACTIVE=正常, BANNED=已封禁"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time",
- "description": "更新时间"
- },
- "userId": {
- "type": "integer",
- "format": "int64",
- "description": "用户ID"
- }
- },
- "title": "客户信息VO(管理端)"
- },
- "统一响应结果«分页结果«客户信息VO(管理端)»»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "分页结果«客户信息VO(管理端)»",
- "$ref": "#/definitions/分页结果«客户信息VO(管理端)»"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«分页结果«客户信息VO(管理端)»»"
- },
- "统一响应结果«客户信息VO(管理端)»": {
- "type": "object",
- "properties": {
- "code": {
- "type": "integer",
- "format": "int32",
- "example": 200,
- "description": "状态码"
- },
- "data": {
- "description": "响应数据",
- "originalRef": "客户信息VO(管理端)",
- "$ref": "#/definitions/客户信息VO(管理端)"
- },
- "message": {
- "type": "string",
- "example": "成功",
- "description": "响应消息"
- },
- "success": {
- "type": "boolean"
- }
- },
- "title": "统一响应结果«客户信息VO(管理端)»"
- }
- }
-}
\ No newline at end of file
diff --git a/BACKEND_CHANGELOG_DELIVERY_GUIDE.md b/BACKEND_CHANGELOG_DELIVERY_GUIDE.md
deleted file mode 100644
index a1212da..0000000
--- a/BACKEND_CHANGELOG_DELIVERY_GUIDE.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# 后端 API Changelog 推送说明
-
-接口发生新增、修改或删除时,在 `hl-api-changelog` 仓库提交一份 changelog。
-
-## 1. 放在哪里
-
-- 管理后台:`changelogs-v2/YYYY-MM/`
-- 小程序:`changelogs-v2-mp/YYYY-MM/`
-
-文件名:
-
-```text
-DD_issue_业务标题-{新增接口|修改接口|删除接口}-{管理后台|小程序端}.md
-```
-
-例如:
-
-```text
-changelogs-v2/2026-07/24_5205_车务首页汇总状态补全-修改接口-管理后台.md
-```
-
-日期使用提交时的上海日期;不要把“前端待处理”“已完成”等状态写进文件名。
-
-## 2. 写什么
-
-可以复制仓库根目录的 `CHANGELOG_TEMPLATE.md`,至少写清:
-
-- 关联的 Issue 和后端 PR;
-- 接口路径和 HTTP 方法;
-- 新增、修改或删除的请求/响应字段;
-- 字段必填性、枚举、状态、空值、金额和兼容规则;
-- 前端需要做什么;
-- 后端测试、部署和网关验证结果。
-
-元数据中:
-
-```yaml
-backend_status: "deployed"
-gateway_status: "verified"
-frontend_status: "pending"
-frontend_owner: ""
-frontend_ref: ""
-target_release: ""
-verified_at: ""
-```
-
-- 需要前端修改:`frontend_status: "pending"`
-- 不需要前端修改:`frontend_status: "not_required"`
-- 后端不要代替前端填写 `implemented`、`released` 或 `verified`
-
-## 3. 校验
-
-在 `hl-api-changelog` 仓库执行:
-
-```powershell
-npm test
-npm run check:filenames -- --base origin/main --head HEAD
-npm run check:frontmatter -- --base origin/main --head HEAD
-```
-
-确保正文没有 `TODO`、`待补充` 或模板占位符。
-
-## 4. 提交和推送
-
-只暂存本次 changelog 文件:
-
-```powershell
-git status --short
-git add -- changelogs-v2/2026-07/24_5205_车务首页汇总状态补全-修改接口-管理后台.md
-git diff --cached --check
-git commit -m "docs: hand off API contract (#5205)"
-git push -u origin <任务分支>
-```
-
-然后向 `main` 创建 PR。不要提交其他任务的 changelog、`.tmp-*` 文件或任何凭据。
diff --git a/CHANGELOG_TEMPLATE.md b/CHANGELOG_TEMPLATE.md
deleted file mode 100644
index ab4d9f3..0000000
--- a/CHANGELOG_TEMPLATE.md
+++ /dev/null
@@ -1,195 +0,0 @@
----
-schema: "hl-changelog/v2"
-ticket: "{issue-no}"
-title: "{一句话概括变化}"
-consumer: "{admin|mp|internal|multiple}"
-change_type: "{新增接口|修改接口|删除接口}"
-backend_status: "pending"
-gateway_status: "pending"
-frontend_status: "{pending|not_required}"
-frontend_owner: ""
-frontend_ref: ""
-target_release: ""
-verified_at: ""
-status_note: ""
-updated_at: "YYYY-MM-DD"
-base: "{dev|dev-v3}"
----
-
-# {模块名}: {一句话概括变化}
-
-> **存放目录**:
-> - 一期(v2,无 `order-v3` 标签的工单)→ `changelogs/{YYYY-MM}/`
-> - 二期(v3,`order-v3` 标签的工单)→ `changelogs-v2/{YYYY-MM}/`
->
-> **服务**: hl-{服务名} (端口 80XX)
-> **PR**: #{pr-no}
-> **Issue**: #{issue-no}
-> **日期**: YYYY-MM-DD
-> **影响范围**: {只写一行,比如"管理端产品编辑订金表单" 或 "C 端行程详情三字段"}
-
----
-
-## ⚠️ 关键变化(非必须,本版与上版行为不同 / 纠错 / 撤销时必写)
-
-一行红字说清:
-- 本次变了什么
-- 前端/调用方以前以为的是什么
-- 实际现在是什么
-
-示例: "前一版 #903 说 4 个接口会对 CUSTOM 返回 500。**这个判断是错的,现已撤销**。"
-
----
-
-## 一、背景(选填)
-
-业务原因。纠错/撤销时尤其应该用 **DB 实证** 或 **实际数据** 驳回上一版的误判。
-
-| 维度 | 证据 A | 证据 B |
-|------|--------|--------|
-| 档位数 | 1 档 | 2 档 |
-| 价格日历记录 | 62 条 | 92 条 |
-
----
-
-## 二、变更接口清单
-
-| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
-|---|------|------|------|----------|------|
-| 1 | 保存产品基础信息 | POST | `/admin/product-basic/save` | 请求体新增校验 | 字段互斥 |
-
----
-
-## 三、接口详情
-
-### 1. {接口名} `{METHOD} {路径}`
-
-**VO**: `{VO 类名}`
-
-#### 入参
-
-| 字段 | 位置 | 类型 | 必填 | 约束 | 说明 |
-|------|------|------|------|------|------|
-| xxx | Body | String | ✅ | - | - |
-
-#### 出参 `Result`
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| xxx | String | - |
-
-#### 请求示例
-
-```json
-{ "xxx": "yyy" }
-```
-
-#### 响应示例
-
-```json
-{
- "code": 200,
- "message": "成功",
- "data": { "xxx": "yyy" },
- "success": true
-}
-```
-
-#### 空数据 / 降级响应
-
-```json
-{ "code": 200, "data": [], "success": true }
-```
-
-#### 错误响应
-
-```json
-{
- "code": 400,
- "message": "depositMutex: 订金固定金额与比例互斥,只能填写其中一个",
- "success": false,
- "data": null
-}
-```
-
----
-
-## 四、契约约束与正确调用方式(选填,字段互斥/联动/切换场景必写)
-
-> 本节只写**后端接受/拒绝 payload 的规则**,不写 UI 渲染建议。
-
-### ✅ 正确 / ❌ 错误 payload 对照
-
-| 场景 | payload |
-|------|---------|
-| ✅ 单独填固定金额 | `{ "depositAmount": 500, "depositRatio": null }` |
-| ✅ 单独填比例 | `{ "depositAmount": null, "depositRatio": 10 }` |
-| ✅ 全款(无订金) | `{ "paymentType": "FULL", "depositAmount": null, "depositRatio": null }` |
-| ❌ 两字段同时有值 | `{ "depositAmount": 500, "depositRatio": 10 }` → 400 |
-
-### 切换状态时的必要动作
-
-若字段有"要么 A 要么 B"的互斥关系,请求前必须把对方字段显式置 null,不要依赖"隐藏输入框"的 UI 行为(后端只看 payload)。
-
----
-
-## 五、数据库行为(涉及写操作时必写)
-
-| 前端提交 | `deposit_amount` 列 | `deposit_ratio` 列 |
-|----------|---------------------|---------------------|
-| `depositAmount=500, depositRatio=null` | `500.00` | `NULL` |
-| `depositAmount=null, depositRatio=10` | `NULL` | `10` |
-
-**显式 SET NULL 说明**: 即使前端不传"对方字段", 后端也会显式 `SET column = NULL`, 不保留数据库历史残留值。
-
----
-
-## 六、边界行为
-
-- 未登录 → 401 (网关拦截)
-- 资源不存在 → 404
-- 下游服务降级 → 返 `[]` / null, 不 500 不阻断页面
-- 老数据兼容 → 旧 snapshot 无新字段 → 字段为 null, 不异常
-
----
-
-## 七、不影响范围(显式声明, 帮前端/QA 缩小排查面)
-
-- **仅影响**: 管理后台 X 表单
-- **零影响**:
- - C 端算价接口
- - 订单创建接口
- - 订单详情读取
- - 历史数据(存量不迁移, 下次编辑保存时才触发新校验)
-
----
-
-## 八、测试环境已验证
-
-真实接口 curl/DBeaver 输出, 带 ✓ 标记:
-
-```
-GET /mp/product/{id}/price-calendar?month=2026-04 → 200 + days 数组 ✓
-GET /mp/product/{id}/tier-compare → 200 + tiers ✓
-POST /mp/product/{id}/quote → 200 + 报价成功 ✓
-```
-
-验证产品: `productId=2045390643479412737` (测试定制wx-01)
-
----
-
-## 九、相关历史 PR(纠错 / 功能演进时必写)
-
-| PR | Issue | 说明 | 是否仍有效 |
-|----|-------|------|------------|
-| #900 | #898 | 首次放行主详情 | ✅ 有效 |
-| #903 | #901 | 误判定性 CUSTOM 不支持 | ❌ 已被 #906 撤销 |
-| **本 PR #906** | **#905** | 撤销 #903, 全量放行 | ✅ 最新 |
-
----
-
-## 十、相关文档
-
-- 关联 Issue: [wx/HL#{issue}](https://git.1814.love:8443/wx/HL/issues/{issue})
-- 关联 PR: [wx/HL#{pr}](https://git.1814.love:8443/wx/HL/pulls/{pr})
-- 后续计划: 见 `{另一条 changelog 路径}`
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index f32a8a8..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Changelog 贡献规则
-
-## 二期文件名
-
-`/v3/admin/*` 接口写入 `changelogs-v2/`:
-
-```text
-changelogs-v2/YYYY-MM/DD_issue_业务标题-{新增接口|修改接口|删除接口}-管理后台.md
-```
-
-`/v3/mp/*` 接口写入 `changelogs-v2-mp/`:
-
-```text
-changelogs-v2-mp/YYYY-MM/DD_issue_业务标题-{新增接口|修改接口|删除接口}-小程序端.md
-```
-
-其中:
-
-- `YYYY-MM` 和 `DD` 必须是校验运行时 `Asia/Shanghai` 的真实年月日,且均须补齐两位。跨越上海零点后仍未合并的 PR,需要把新文件重命名为当天日期。
-- `issue` 必须是不带 `#` 的十进制正整数,不允许 `0`、负数或前缀符号。
-- 业务标题不能为空。
-- 变更类型只能是 `新增接口`、`修改接口` 或 `删除接口`。
-- 端类型由目录唯一决定:`changelogs-v2/` 固定为 `管理后台`,`changelogs-v2-mp/` 固定为 `小程序端`。
-- 同一改动同时影响 `/v3/admin/*` 和 `/v3/mp/*` 时,应按目录拆成两份。
-
-一期 `changelogs/` 沿用现行格式,不套用上述强制模板。
-
-## 校验范围
-
-检测器读取 `git diff --name-status -z --find-renames` 的结果,只校验本次 diff 新出现的目标路径:
-
-- `A`(新增)、`C`(复制)和 `R`(重命名)的目标路径必须通过规则。
-- `M`(修改历史文件)和 `D`(删除)豁免,不会因存量错误命名阻断。
-- 重命名到受控目录时,新目标路径必须使用校验当天的上海日期。
-
-本地校验:
-
-```bash
-npm test
-npm run check:filenames -- --base origin/main --head HEAD
-```
-
-生产 CLI 故意不提供 `--date` 或日期环境变量;测试只通过导出的纯函数注入 `Date`。规则失败返回退出码 `1`,Git/事件/参数等基础设施错误返回 `2`。
-
-## 前端消费状态
-
-新增二期 changelog 必须使用 `hl-changelog/v2` YAML Front Matter。状态只写在元数据中,不写入文件名:
-
-```yaml
-backend_status: "deployed"
-gateway_status: "verified"
-frontend_status: "pending"
-frontend_owner: ""
-frontend_ref: ""
-target_release: ""
-verified_at: ""
-updated_at: "2026-07-24"
-```
-
-前端状态正常流转为:
-
-```text
-pending → claimed → implemented → released → verified
-```
-
-不需要前端修改时使用 `not_required`。字段一致性、必填证据和新增文档 frontmatter 由 `check:frontmatter` 校验。
-
-完整职责和命令见:
-
-- `FRONTEND_CONSUMPTION_STATUS_GUIDE.md`
-- `BACKEND_CHANGELOG_DELIVERY_GUIDE.md`
-
-本地校验:
-
-```bash
-npm test
-npm run check:filenames -- --base origin/main --head HEAD
-npm run check:frontmatter -- --base origin/main --head HEAD
-```
-
-## CI 与服务端阻断边界
-
-Gitea Actions 会在指向 `main` 的 PR 和 `main` 的 push 上运行回归测试与文件名检测。该 workflow 是检测器:
-
-- 在 `main` 未开启分支保护和 required status 时,失败状态不能硬性阻止合并。
-- `push` 事件发生在写入之后,只能检测/报警,不能撤销直推。
-- 只有管理员另行保护 `main`、关闭直推,并在 workflow 首次成功运行后,从 Gitea 最近上报的 status context 列表中选择实际值作为 required status,才能宣称服务端 hard gate 已激活。激活记录必须保存首次运行链接和 status API/分支保护回读证据;不得预设 job id/name `validate` 就是 Gitea 实际上报的 context。
-
-因此,本仓库文件交付的准确表述是:**detector 已安装;在 `main` 未保护时,服务端 hard gate 尚未激活。**
diff --git a/FRONTEND_CONSUMPTION_STATUS_GUIDE.md b/FRONTEND_CONSUMPTION_STATUS_GUIDE.md
deleted file mode 100644
index 19ef852..0000000
--- a/FRONTEND_CONSUMPTION_STATUS_GUIDE.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# API Changelog 前端消费状态协作说明
-
-## 可直接转发给前端的通知
-
-API changelog 从 `hl-changelog/v2` 开始记录前端消费进度。后端交接时会填写:
-
-```yaml
-backend_status: "deployed"
-frontend_status: "pending"
-frontend_owner: ""
-frontend_ref: ""
-target_release: ""
-verified_at: ""
-```
-
-请前端在领取、实现、发布和页面验证时更新对应状态,并填写可追溯的前端 PR、提交或发布版本。
-
-这不会把前端工作纳入后端工单验收,也不要求在 `hl-ui` 创建配合工单。它只用于区分:
-
-- 后端接口是否已经部署并验证;
-- 前端是否已经领取;
-- 前端代码是否已经实现;
-- 页面是否已经发布并验证。
-
-只有 `frontend_status: "verified"` 才表示用户页面形成完整闭环。
-
-## 状态流转
-
-```text
-pending → claimed → implemented → released → verified
-```
-
-不需要前端修改时:
-
-```text
-not_required
-```
-
-| 状态 | 含义 | 必填证据 |
-|---|---|---|
-| `not_required` | 不需要前端修改 | 不填写前端负责人、引用和版本 |
-| `pending` | 等待前端领取 | 无 |
-| `claimed` | 前端已领取 | `frontend_owner` |
-| `implemented` | 前端代码已实现 | `frontend_owner`、`frontend_ref` |
-| `released` | 已发布 | 再填写 `target_release` |
-| `verified` | 页面已验证 | 再填写 `verified_at` |
-
-跨级迁移会被自动校验拒绝。状态回退或改为/取消 `not_required` 时必须填写原因。
-
-## 更新命令
-
-领取:
-
-```powershell
-hl changelog transition 5205 D:/path/changelog.md claimed `
- --owner frontend-team --write
-```
-
-实现:
-
-```powershell
-hl changelog transition 5205 D:/path/changelog.md implemented `
- --owner frontend-team `
- --frontend-ref "mmg/hl-ui@abc1234" `
- --write
-```
-
-发布:
-
-```powershell
-hl changelog transition 5205 D:/path/changelog.md released `
- --target-release "test-2026.07.24" `
- --write
-```
-
-验证:
-
-```powershell
-hl changelog transition 5205 D:/path/changelog.md verified `
- --verified-at "2026-07-24" `
- --write
-```
-
-命令默认只预览;只有 `--write` 才修改文件。写入命令会自动获取 `changelog` 单写租约。
-
-## 职责边界
-
-后端负责:
-
-- 完成后端测试、部署和网关验证;
-- 初始化 v2 元数据;
-- 需要前端时设置 `pending`,不需要时设置 `not_required`;
-- 不替前端填写 `implemented`、`released` 或 `verified`。
-
-前端负责:
-
-- 领取时填写负责人;
-- 实现后填写前端引用;
-- 发布后填写目标版本或环境;
-- 页面验证后填写验证日期。
-
-QA 或产品可以协助更新 `verified_at`,但必须基于实际页面验证,不能只根据接口成功或代码已合并标记完成。
-
-## 存量文档
-
-- 新 changelog 全部使用 `hl-changelog/v2`。
-- `hl-changelog/v1` 继续可读和索引,不强制一次性迁移。
-- 文件名带“前端待处理”不代表真实状态;需要继续流转时补充 v2 元数据。
-- 不通过重命名表达消费状态,避免破坏文件名校验和历史链接。
diff --git a/changelogs-v2-mp/.gitkeep b/changelogs-v2-mp/.gitkeep
deleted file mode 100644
index 36cdc86..0000000
--- a/changelogs-v2-mp/.gitkeep
+++ /dev/null
@@ -1,15 +0,0 @@
-# changelogs-v2-mp/
-
-二期(v3)**小程序端** changelog 目录。
-
-| 接口路径 | 写到 |
-|---|---|
-| `/v3/mp/*` | 本目录(changelogs-v2-mp/) |
-| `/v3/admin/*` | `../changelogs-v2/` |
-| 非 `/v3/*`(一期 admin / mp) | `../changelogs/` |
-
-文件命名:`{YYYY-MM}/{DD}_{issue号}_{业务标题}-{变更类型}-小程序端.md`
-- 变更类型三选一:新增接口 / 修改接口 / 删除接口
-- 端类型固定写「小程序端」
-
-详见 HL 项目 `.claude/CLAUDE.md` § Changelog / 通知约定。
diff --git a/changelogs-v2-mp/2026-06/01_3315_景区是否收费-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/01_3315_景区是否收费-修改接口-小程序端.md
deleted file mode 100644
index 7cfaef7..0000000
--- a/changelogs-v2-mp/2026-06/01_3315_景区是否收费-修改接口-小程序端.md
+++ /dev/null
@@ -1,244 +0,0 @@
-# 景区新增「是否收费」字段(小程序端)
-
-- **端类型**:小程序端
-- **变更类型**:修改接口
-- **日期**:2026-06-01
-- **Issue**:[#3315](https://git.1814.love:8443/wx/HL/issues/3315)
-- **PR**:[#3316](https://git.1814.love:8443/wx/HL/pulls/3316)
-- **Commit**:[63539c3](https://git.1814.love:8443/wx/HL/commit/63539c3dd2435c0e3d499302e53877944311e27b)
-- **后端负责人**:腰苏图(yst@1814.love)
-
----
-
-## ① 接口背景
-
-景区资源新增「是否收费」属性。小程序端的景区详情接口和列表接口均已同步透传该字段,供小程序展示景区是否需要付费(如收取门票费)。字典来源 `sys_yes_no`,后端已配置并完成翻译,小程序无需任何字典配置。上游依赖 #3313/#3314(resource-service 新增字段)。
-
----
-
-## ② 变更清单
-
-| 接口 | 方法 | 路径 | 变更内容 |
-|------|------|------|----------|
-| 景区详情 | GET | `/mp/scenic/{scenicId}` | 出参新增 `isCharged` + `isChargedLabel` |
-| 景区列表 | GET | `/mp/scenic/list` | 出参新增 `isCharged` + `isChargedLabel` |
-
-所有变更均为**向后兼容新增字段**,小程序现有调用代码无需修改。
-
----
-
-## ③ 接口详情
-
-| 项目 | 说明 |
-|------|------|
-| **认证方式** | 小程序 JWT Token,请求头 `Authorization: Bearer {mp_token}` |
-| **幂等性** | GET 查询,天然幂等 |
-| **限流** | 无单独限流配置,走网关全局限流 |
-| **缓存** | 详情接口缓存 300 秒(`scenic:detail:{id}`),列表接口缓存 600 秒(`scenic:list:{keyword}:{city}:{page}:{pageSize}`)。新字段随正常缓存刷新即可,无需额外处理 |
-| **权限** | 小程序用户,已登录状态 |
-
----
-
-## ④ 接口入参
-
-### GET `/mp/scenic/{scenicId}` 详情
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| scenicId | Long | 是 | 景区 ID(路径参数) |
-
-### GET `/mp/scenic/list` 列表
-
-| 参数名 | 类型 | 必填 | 默认值 | 说明 |
-|--------|------|------|--------|------|
-| keyword | String | 否 | - | 关键词搜索 |
-| city | String | 否 | - | 城市筛选 |
-| page | Integer | 否 | 1 | 页码 |
-| pageSize | Integer | 否 | 20 | 每页条数 |
-
-> 入参无变化,以上为完整入参文档。
-
----
-
-## ⑤ 出参字段
-
-### GET `/mp/scenic/{scenicId}` 详情(`MpScenicDetailVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
-### GET `/mp/scenic/list` 列表(`MpScenicListItemVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
----
-
-## ⑥ 枚举 / 数据字典
-
-### sys_yes_no 字典(后端已配置,小程序无需维护)
-
-| 字典值(isCharged) | 中文标签(isChargedLabel) | 说明 |
-|--------------------|-----------------------------|------|
-| 1 | 是 | 该景区收费 |
-| 0 | 否 | 该景区免费 |
-
-> `isChargedLabel` 由后端查字典自动翻译并返回,小程序可直接展示。若字典配置异常(不正常情况),该字段返回 null。
-
----
-
-## ⑦ 错误码
-
-| 错误码 | HTTP 状态 | 场景 |
-|--------|-----------|------|
-| 401 | 401 | 未登录或 Token 失效 |
-| 404 | 404 | 景区 ID 不存在、已删除或已下架 |
-
----
-
-## ⑧ 示例
-
-### 8.1 典型成功 — 获取收费景区详情
-
-**请求**
-```
-GET /mp/scenic/1900123456789000001
-Authorization: Bearer {mp_token}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "scenicId": "1900123456789000001",
- "name": "呼伦贝尔大草原景区",
- "cityName": "呼伦贝尔",
- "coverUrl": "https://oss.example.com/scenic/cover.jpg",
- "isCharged": 1,
- "isChargedLabel": "是",
- "rating": 4.8,
- "status": 1,
- "mapImageUrl": "https://restapi.amap.com/v3/staticmap?..."
- }
-}
-```
-
-### 8.2 边界情况 — 历史景区(isCharged 默认 0,列表返回"否")
-
-**请求**
-```
-GET /mp/scenic/list?page=1&pageSize=20
-Authorization: Bearer {mp_token}
-```
-
-**响应**(列表含收费和免费景区,均有 isCharged/isChargedLabel)
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "total": 2,
- "list": [
- {
- "scenicId": "1900123456789000001",
- "name": "呼伦贝尔大草原景区",
- "isCharged": 1,
- "isChargedLabel": "是"
- },
- {
- "scenicId": "1900000000000000001",
- "name": "某历史免费景区",
- "isCharged": 0,
- "isChargedLabel": "否"
- }
- ]
- }
-}
-```
-
-### 8.3 业务失败 — 访问不存在的景区
-
-**请求**
-```
-GET /mp/scenic/9999999999999999999
-Authorization: Bearer {mp_token}
-```
-
-**响应**(404,景区不存在)
-```json
-{
- "code": 404,
- "msg": "景区不存在",
- "data": null
-}
-```
-
----
-
-## ⑨ 业务边界
-
-**适用场景**:
-- 小程序景区详情页展示"是否收费"标签(如"免费"/"付费"徽标)
-- 小程序景区列表卡片可展示收费状态,帮助用户快速识别
-
-**不适用场景**:
-- `isCharged` 仅为展示属性,不影响小程序下单流程或费用计算
-- 不可作为用户端过滤条件(列表接口不支持按 `isCharged` 筛选)
-
-**特殊边界**:
-- 历史存量景区(PR #3314 上线前创建)`isCharged` 默认为 0(否),`isChargedLabel` 返回 "否"
-- 两个接口均有 BFF 缓存,景区数据更新后缓存最多延迟 5 分钟(详情)/ 10 分钟(列表)才生效
-
----
-
-## ⑩ 修改前后对比
-
-### 字段级对比
-
-**出参(详情 + 列表)**
-
-| 字段名 | 变更前 | 变更后 |
-|--------|--------|--------|
-| isCharged | 不存在 | ✨ 新增,Integer,1=是/0=否 |
-| isChargedLabel | 不存在 | ✨ 新增,String,字典翻译文本,可能为 null |
-
-### 行为级对比
-
-| 行为 | 变更前 | 变更后 |
-|------|--------|--------|
-| 景区详情接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-| 景区列表接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-
----
-
-## ⑪ 影响评估 / 回滚
-
-**破坏兼容性**:无,新增字段,现有小程序代码可忽略不用。
-
-**前端同步上线**:无强制要求,可选接入展示。
-
-**回滚方案**:仅 VO 新增字段,无 DDL 变更;回滚只需回退 hl-mp-service 即可,`isCharged` 和 `isChargedLabel` 字段从响应中消失,小程序侧字段不存在时不展示即可。
-
----
-
-## ⑫ 注意事项
-
-1. 小程序**无需**配置 `sys_yes_no` 字典,后端已完成翻译并在 `isChargedLabel` 中直接返回中文
-2. 若不需要展示该字段,忽略即可,不影响任何现有功能
-3. 受缓存影响,运营后台修改后小程序侧缓存最多 5-10 分钟后自动刷新,属正常现象
-
----
-
-## ⑬ 关联 / 联系人
-
-- **Issue**:[https://git.1814.love:8443/wx/HL/issues/3315](https://git.1814.love:8443/wx/HL/issues/3315)
-- **PR**:[https://git.1814.love:8443/wx/HL/pulls/3316](https://git.1814.love:8443/wx/HL/pulls/3316)
-- **Commit**:[https://git.1814.love:8443/wx/HL/commit/63539c3dd2435c0e3d499302e53877944311e27b](https://git.1814.love:8443/wx/HL/commit/63539c3dd2435c0e3d499302e53877944311e27b)
-- **上游依赖**:[https://git.1814.love:8443/wx/HL/issues/3313](https://git.1814.love:8443/wx/HL/issues/3313) / [https://git.1814.love:8443/wx/HL/pulls/3314](https://git.1814.love:8443/wx/HL/pulls/3314)
-- **后端负责人**:腰苏图(企微 / yst@1814.love)
diff --git a/changelogs-v2-mp/2026-06/01_3317_餐厅是否收费-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/01_3317_餐厅是否收费-修改接口-小程序端.md
deleted file mode 100644
index f671f50..0000000
--- a/changelogs-v2-mp/2026-06/01_3317_餐厅是否收费-修改接口-小程序端.md
+++ /dev/null
@@ -1,249 +0,0 @@
-# 餐厅新增「是否收费」字段(小程序端)
-
-- **端类型**:小程序端
-- **变更类型**:修改接口
-- **日期**:2026-06-01
-- **Issue**:[#3317](https://git.1814.love:8443/wx/HL/issues/3317)
-- **PR**:[#3318](https://git.1814.love:8443/wx/HL/pulls/3318)
-- **Commit**:[3ad5860](https://git.1814.love:8443/wx/HL/commit/3ad5860883819058a58ec384de0c5aac7c918804)
-- **后端负责人**:腰苏图(yst@1814.love)
-
----
-
-## ① 接口背景
-
-餐厅资源新增「是否收费」属性。小程序端的餐厅详情接口和列表接口均已同步透传该字段,供小程序展示餐厅是否需要付费(如在餐厅卡片或详情页展示"收费"/"免费"标签)。字典来源 `sys_yes_no`,后端已配置并完成翻译,小程序无需任何字典配置。
-
----
-
-## ② 变更清单
-
-| 接口 | 方法 | 路径 | 变更内容 |
-|------|------|------|----------|
-| 餐厅详情 | GET | `/mp/restaurant/{restaurantId}` | 出参新增 `isCharged` + `isChargedLabel` |
-| 餐厅列表 | GET | `/mp/restaurant/list` | 出参新增 `isCharged` + `isChargedLabel` |
-
-所有变更均为**向后兼容新增字段**,小程序现有调用代码无需修改。
-
----
-
-## ③ 接口详情
-
-| 项目 | 说明 |
-|------|------|
-| **认证方式** | 小程序 JWT Token,请求头 `Authorization: Bearer {mp_token}` |
-| **幂等性** | GET 查询,天然幂等 |
-| **限流** | 无单独限流配置,走网关全局限流 |
-| **缓存** | 详情接口缓存 300 秒(`restaurant:detail:{id}`),列表接口缓存 600 秒(`restaurant:list:{keyword}:{city}:{page}:{pageSize}`)。新字段随正常缓存刷新即可,无需额外处理 |
-| **权限** | 小程序用户,已登录状态 |
-
----
-
-## ④ 接口入参
-
-### GET `/mp/restaurant/{restaurantId}` 详情
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| restaurantId | Long | 是 | 餐厅 ID(路径参数) |
-
-### GET `/mp/restaurant/list` 列表
-
-| 参数名 | 类型 | 必填 | 默认值 | 说明 |
-|--------|------|------|--------|------|
-| keyword | String | 否 | - | 关键词搜索 |
-| city | String | 否 | - | 城市筛选 |
-| page | Integer | 否 | 1 | 页码 |
-| pageSize | Integer | 否 | 20 | 每页条数 |
-
-> 入参无变化,以上为完整入参文档。
-
----
-
-## ⑤ 出参字段
-
-### GET `/mp/restaurant/{restaurantId}` 详情(`MpRestaurantDetailVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
-### GET `/mp/restaurant/list` 列表(`MpRestaurantListItemVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
----
-
-## ⑥ 枚举 / 数据字典
-
-### sys_yes_no 字典(后端已配置,小程序无需维护)
-
-| 字典值(isCharged) | 中文标签(isChargedLabel) | 建议小程序展示 |
-|--------------------|-----------------------------|----------------|
-| 1 | 是 | 收费 / 付费 |
-| 0 | 否 | 免费 |
-
-> `isChargedLabel` 由后端查字典自动翻译并返回,小程序可直接展示。若字典配置异常(不正常情况),该字段返回 null,建议展示"-"或不显示该标签。
-
----
-
-## ⑦ 错误码
-
-| 错误码 | HTTP 状态 | 场景 |
-|--------|-----------|------|
-| 401 | 401 | 未登录或 Token 失效 |
-| 404 | 404 | 餐厅 ID 不存在、已删除或已下架 |
-
----
-
-## ⑧ 示例
-
-### 8.1 典型成功 — 获取收费餐厅详情
-
-**请求**
-```
-GET /mp/restaurant/1927000000000001
-Authorization: Bearer {mp_token}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "restaurantId": "1927000000000001",
- "name": "云端藏餐",
- "subtitle": "正宗藏式风味体验",
- "categoryCode": "TIBETAN",
- "categoryName": "藏式",
- "isCharged": 1,
- "isChargedLabel": "是",
- "status": 1,
- "cityName": "拉萨",
- "pricePerPerson": 88.00,
- ...
- }
-}
-```
-
-### 8.2 边界情况 — 免费餐厅列表(isChargedLabel 返回"否")
-
-**请求**
-```
-GET /mp/restaurant/list?city=拉萨&page=1&pageSize=20
-Authorization: Bearer {mp_token}
-```
-
-**响应**(列表中包含收费和免费餐厅,均有 isCharged/isChargedLabel)
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "total": 2,
- "list": [
- {
- "restaurantId": "1927000000000001",
- "name": "云端藏餐",
- "isCharged": 1,
- "isChargedLabel": "是",
- ...
- },
- {
- "restaurantId": "1927000000000002",
- "name": "团队免费体验餐",
- "isCharged": 0,
- "isChargedLabel": "否",
- ...
- }
- ]
- }
-}
-```
-
-### 8.3 业务失败 — 访问已下架餐厅
-
-**请求**
-```
-GET /mp/restaurant/1927000000000099
-Authorization: Bearer {mp_token}
-```
-
-**响应**(404,餐厅不存在或下架)
-```json
-{
- "code": 404,
- "msg": "餐厅不存在",
- "data": null
-}
-```
-
----
-
-## ⑨ 业务边界
-
-**适用场景**:
-- 小程序餐厅详情页展示"是否收费"标签(如"免费"/"付费"徽标)
-- 小程序餐厅列表卡片可展示收费状态,帮助用户快速识别
-
-**不适用场景**:
-- `isCharged` 仅为展示属性,不影响小程序下单流程或费用计算
-- 不可作为用户端过滤条件(列表接口不支持按 `isCharged` 筛选)
-
-**特殊边界**:
-- 历史存量餐厅(PR #3318 上线前创建)`isCharged` 默认为 0,`isChargedLabel` 返回 "否"
-- `isChargedLabel` 为 null 属于后台字典配置异常,小程序侧可用 isCharged 自行映射(1→"是",0→"否")
-- 该字段受缓存影响:管理后台修改 isCharged 后,小程序侧缓存最多 5-10 分钟后自动刷新(详情 300s / 列表 600s)
-
----
-
-## ⑩ 修改前后对比
-
-### 字段级对比
-
-**出参(详情 + 列表)**
-
-| 字段名 | 变更前 | 变更后 |
-|--------|--------|--------|
-| isCharged | 不存在 | ✨ 新增,Integer,1=是/0=否 |
-| isChargedLabel | 不存在 | ✨ 新增,String,字典翻译文本,可能为 null |
-
-### 行为级对比
-
-| 行为 | 变更前 | 变更后 |
-|------|--------|--------|
-| 餐厅详情接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-| 餐厅列表接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-
----
-
-## ⑪ 影响评估 / 回滚
-
-**破坏兼容性**:无,新增字段,现有小程序代码可忽略不用。
-
-**前端同步上线**:无强制要求,可选接入展示。建议在餐厅卡片/详情增加"免费"/"收费"标签。
-
-**回滚方案**:若后端回滚,`isCharged` 和 `isChargedLabel` 字段会从响应中消失,小程序需做防御性处理(字段不存在时不展示)。
-
----
-
-## ⑫ 注意事项
-
-1. 小程序**无需**配置 `sys_yes_no` 字典,后端已完成翻译并在 `isChargedLabel` 中直接返回中文
-2. 若不需要展示该字段,忽略即可,不影响任何现有功能
-3. 建议小程序对 `isChargedLabel` 做 null 防御(`isChargedLabel ?? isCharged === 1 ? '是' : '否'`)
-4. 受缓存影响,运营后台修改后小程序最长延迟 10 分钟可见,属正常现象
-
----
-
-## ⑬ 关联 / 联系人
-
-- **Issue**:[https://git.1814.love:8443/wx/HL/issues/3317](https://git.1814.love:8443/wx/HL/issues/3317)
-- **PR**:[https://git.1814.love:8443/wx/HL/pulls/3318](https://git.1814.love:8443/wx/HL/pulls/3318)
-- **Commit**:[https://git.1814.love:8443/wx/HL/commit/3ad5860883819058a58ec384de0c5aac7c918804](https://git.1814.love:8443/wx/HL/commit/3ad5860883819058a58ec384de0c5aac7c918804)
-- **后端负责人**:腰苏图(企微 / yst@1814.love)
diff --git a/changelogs-v2-mp/2026-06/01_3325_酒店是否收费-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/01_3325_酒店是否收费-修改接口-小程序端.md
deleted file mode 100644
index a14b979..0000000
--- a/changelogs-v2-mp/2026-06/01_3325_酒店是否收费-修改接口-小程序端.md
+++ /dev/null
@@ -1,243 +0,0 @@
-# 酒店新增「是否收费」字段(小程序端)
-
-- **端类型**:小程序端
-- **变更类型**:修改接口
-- **日期**:2026-06-01
-- **Issue**:[#3325](https://git.1814.love:8443/wx/HL/issues/3325)
-- **PR**:[#3326](https://git.1814.love:8443/wx/HL/pulls/3326)
-- **Commit**:[58afda7](https://git.1814.love:8443/wx/HL/commit/58afda7f72031b8055dd65805815176f88dfe08c)
-- **后端负责人**:腰苏图(yst@1814.love)
-
----
-
-## ① 接口背景
-
-酒店资源新增「是否收费」属性。小程序端的酒店详情接口和列表接口均已同步透传该字段,供小程序展示酒店是否需要游客付费。字典来源 `sys_yes_no`,后端已配置并完成翻译,小程序无需任何字典配置。
-
----
-
-## ② 变更清单
-
-| 接口 | 方法 | 路径 | 变更内容 |
-|------|------|------|----------|
-| 酒店详情 | GET | `/mp/hotel/{hotelId}` | 出参新增 `isCharged` + `isChargedLabel` |
-| 酒店列表 | GET | `/mp/hotel/list` | 出参新增 `isCharged` + `isChargedLabel` |
-
-所有变更均为**向后兼容新增字段**,小程序现有调用代码无需修改。
-
----
-
-## ③ 接口详情
-
-| 项目 | 说明 |
-|------|------|
-| **认证方式** | 小程序 JWT Token,请求头 `Authorization: Bearer {mp_token}` |
-| **幂等性** | GET 查询,天然幂等 |
-| **限流** | 无单独限流配置,走网关全局限流 |
-| **缓存** | 详情接口缓存 300 秒(`hotel:detail:{id}`),列表接口缓存 600 秒(`hotel:list:{keyword}:{city}:{starLevel}:{page}:{pageSize}`)。新字段随正常缓存刷新即可,无需额外处理 |
-| **权限** | 小程序用户,已登录状态 |
-
----
-
-## ④ 接口入参
-
-### GET `/mp/hotel/{hotelId}` 详情
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| hotelId | Long | 是 | 酒店 ID(路径参数) |
-
-### GET `/mp/hotel/list` 列表
-
-| 参数名 | 类型 | 必填 | 默认值 | 说明 |
-|--------|------|------|--------|------|
-| keyword | String | 否 | - | 关键词搜索 |
-| city | String | 否 | - | 城市筛选 |
-| starLevel | String | 否 | - | 星级筛选(字典: hotel_star_level) |
-| page | Integer | 否 | 1 | 页码 |
-| pageSize | Integer | 否 | 20 | 每页条数 |
-
-> 入参无变化,以上为完整入参文档。
-
----
-
-## ⑤ 出参字段
-
-### GET `/mp/hotel/{hotelId}` 详情(`MpHotelDetailVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
-### GET `/mp/hotel/list` 列表(`MpHotelListItemVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
----
-
-## ⑥ 枚举 / 数据字典
-
-### sys_yes_no 字典(后端已配置,小程序无需维护)
-
-| 字典值(isCharged) | 中文标签(isChargedLabel) | 说明 |
-|--------------------|-----------------------------|------|
-| 1 | 是 | 该酒店收费 |
-| 0 | 否 | 该酒店免费 |
-
-> `isChargedLabel` 由后端查字典自动翻译并返回,小程序可直接展示。若字典配置异常(不正常情况),该字段返回 null。
-
----
-
-## ⑦ 错误码
-
-| 错误码 | HTTP 状态 | 场景 |
-|--------|-----------|------|
-| 401 | 401 | 未登录或 Token 失效 |
-| 404 | 404 | 酒店 ID 不存在、已删除或已下架 |
-
----
-
-## ⑧ 示例
-
-### 8.1 典型成功 — 获取收费酒店详情
-
-**请求**
-```
-GET /mp/hotel/1928000000000001
-Authorization: Bearer {mp_token}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "hotelId": "1928000000000001",
- "name": "丽江悦榕庄",
- "subtitle": "古城边的世外桃源",
- "hotelType": "HOTEL",
- "isCharged": 1,
- "isChargedLabel": "是",
- "status": 1,
- "city": "丽江市"
- }
-}
-```
-
-### 8.2 边界情况 — 列表中混合收费/免费酒店(均返回 isCharged + isChargedLabel)
-
-**请求**
-```
-GET /mp/hotel/list?city=丽江市&page=1&pageSize=20
-Authorization: Bearer {mp_token}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "total": 2,
- "list": [
- {
- "hotelId": "1928000000000001",
- "name": "丽江悦榕庄",
- "isCharged": 1,
- "isChargedLabel": "是"
- },
- {
- "hotelId": "1928000000000002",
- "name": "团队免费住宿点",
- "isCharged": 0,
- "isChargedLabel": "否"
- }
- ]
- }
-}
-```
-
-### 8.3 业务失败 — 访问已下架酒店
-
-**请求**
-```
-GET /mp/hotel/1928000000000099
-Authorization: Bearer {mp_token}
-```
-
-**响应**(404,酒店不存在或下架)
-```json
-{
- "code": 404,
- "msg": "酒店不存在",
- "data": null
-}
-```
-
----
-
-## ⑨ 业务边界
-
-**适用场景**:
-- 小程序酒店详情页展示"是否收费"信息
-- 小程序酒店列表卡片可展示收费状态,帮助用户快速识别
-
-**不适用场景**:
-- `isCharged` 仅为展示属性,不影响小程序下单流程或费用计算
-- 列表接口不支持按 `isCharged` 筛选
-
-**特殊边界**:
-- 历史存量酒店(PR #3326 上线前创建)`isCharged` 默认为 0,`isChargedLabel` 返回 "否"
-- 该字段受缓存影响:管理后台修改 isCharged 后,小程序侧缓存最多 5-10 分钟后自动刷新(详情 300s / 列表 600s)
-
----
-
-## ⑩ 修改前后对比
-
-### 字段级对比
-
-**出参(详情 + 列表)**
-
-| 字段名 | 变更前 | 变更后 |
-|--------|--------|--------|
-| isCharged | 不存在 | ✨ 新增,Integer,1=是/0=否 |
-| isChargedLabel | 不存在 | ✨ 新增,String,字典翻译文本,可能为 null |
-
-### 行为级对比
-
-| 行为 | 变更前 | 变更后 |
-|------|--------|--------|
-| 酒店详情接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-| 酒店列表接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-
----
-
-## ⑪ 影响评估 / 回滚
-
-**破坏兼容性**:无,新增字段,现有小程序代码可忽略不用。
-
-**前端同步上线**:无强制要求,可选接入展示。
-
-**回滚方案**:若后端回滚,`isCharged` 和 `isChargedLabel` 字段会从响应中消失,小程序侧无感(原本不存在该字段)。
-
----
-
-## ⑫ 注意事项
-
-1. 小程序**无需**配置 `sys_yes_no` 字典,后端已完成翻译并在 `isChargedLabel` 中直接返回中文
-2. 若不需要展示该字段,忽略即可,不影响任何现有功能
-3. 受缓存影响,运营后台修改后小程序最长延迟 10 分钟可见,属正常现象
-
----
-
-## ⑬ 关联 / 联系人
-
-- **Issue**:[https://git.1814.love:8443/wx/HL/issues/3325](https://git.1814.love:8443/wx/HL/issues/3325)
-- **PR**:[https://git.1814.love:8443/wx/HL/pulls/3326](https://git.1814.love:8443/wx/HL/pulls/3326)
-- **Commit**:[https://git.1814.love:8443/wx/HL/commit/58afda7f72031b8055dd65805815176f88dfe08c](https://git.1814.love:8443/wx/HL/commit/58afda7f72031b8055dd65805815176f88dfe08c)
-- **后端负责人**:腰苏图(企微 / yst@1814.love)
diff --git a/changelogs-v2-mp/2026-06/01_3331_活动是否收费-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/01_3331_活动是否收费-修改接口-小程序端.md
deleted file mode 100644
index 699beb7..0000000
--- a/changelogs-v2-mp/2026-06/01_3331_活动是否收费-修改接口-小程序端.md
+++ /dev/null
@@ -1,239 +0,0 @@
-# 游玩项目(活动)新增「是否收费」字段(小程序端)
-
-- **端类型**:小程序端
-- **变更类型**:修改接口
-- **日期**:2026-06-01
-- **Issue**:[#3331](https://git.1814.love:8443/wx/HL/issues/3331)
-- **PR**:[#3334](https://git.1814.love:8443/wx/HL/pulls/3334)
-- **Commit**:[5da05a3](https://git.1814.love:8443/wx/HL/commit/5da05a324813cf8109d35c521c5e7bb9719627be)
-- **后端负责人**:腰苏图(yst@1814.love)
-
----
-
-## ① 接口背景
-
-游玩项目(活动)资源新增「是否收费」属性。小程序端的活动详情接口和活动列表接口均已同步透传该字段,供小程序展示活动是否需要游客付费。字典来源 `sys_yes_no`,后端已配置并完成翻译,小程序无需任何字典配置。备品(物资)域不涉及小程序端接口,本文档不包含备品。
-
----
-
-## ② 变更清单
-
-| 接口 | 方法 | 路径 | 变更内容 |
-|------|------|------|----------|
-| 活动详情 | GET | `/mp/activity/{activityId}` | 出参新增 `isCharged` + `isChargedLabel` |
-| 活动列表 | GET | `/mp/activity/list` | 出参新增 `isCharged` + `isChargedLabel` |
-
-所有变更均为**向后兼容新增字段**,小程序现有调用代码无需修改。
-
----
-
-## ③ 接口详情
-
-| 项目 | 说明 |
-|------|------|
-| **认证方式** | 小程序 JWT Token,请求头 `Authorization: Bearer {mp_token}` |
-| **幂等性** | GET 查询,天然幂等 |
-| **限流** | 无单独限流配置,走网关全局限流 |
-| **权限** | 小程序用户,已登录状态 |
-
----
-
-## ④ 接口入参
-
-### GET `/mp/activity/{activityId}` 详情
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| activityId | Long | 是 | 游玩项目 ID(路径参数) |
-
-### GET `/mp/activity/list` 列表
-
-| 参数名 | 类型 | 必填 | 默认值 | 说明 |
-|--------|------|------|--------|------|
-| keyword | String | 否 | - | 关键词搜索 |
-| categoryCode | String | 否 | - | 分类筛选(字典: activity_category) |
-| page | Integer | 否 | 1 | 页码 |
-| pageSize | Integer | 否 | 20 | 每页条数 |
-
-> 入参无变化,以上为完整入参文档。
-
----
-
-## ⑤ 出参字段
-
-### GET `/mp/activity/{activityId}` 详情(`MpActivityDetailVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
-### GET `/mp/activity/list` 列表(`MpActivityListItemVO`,新增字段)
-
-| 字段名 | 类型 | 说明 | 可能为 null |
-|--------|------|------|-------------|
-| isCharged | Integer | 是否收费,1=是 0=否 | 否(DB 默认 0) |
-| isChargedLabel | String | 是否收费中文文本,取自字典 sys_yes_no("是"/"否") | 是(字典缺失时为 null) |
-
----
-
-## ⑥ 枚举 / 数据字典
-
-### sys_yes_no 字典(后端已配置,小程序无需维护)
-
-| 字典值(isCharged) | 中文标签(isChargedLabel) | 说明 |
-|--------------------|-----------------------------|------|
-| 1 | 是 | 该活动收费 |
-| 0 | 否 | 该活动免费 |
-
-> `isChargedLabel` 由后端查字典自动翻译并返回,小程序可直接展示。若字典配置异常(不正常情况),该字段返回 null。
-
----
-
-## ⑦ 错误码
-
-| 错误码 | HTTP 状态 | 场景 |
-|--------|-----------|------|
-| 401 | 401 | 未登录或 Token 失效 |
-| 404 | 404 | 活动 ID 不存在、已删除或已下架 |
-
----
-
-## ⑧ 示例
-
-### 8.1 典型成功 — 获取收费活动详情
-
-**请求**
-```
-GET /mp/activity/1929000000000001
-Authorization: Bearer {mp_token}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "activityId": "1929000000000001",
- "name": "高原骑马体验",
- "categoryCode": "OUTDOOR",
- "isCharged": 1,
- "isChargedLabel": "是",
- "status": 1
- }
-}
-```
-
-### 8.2 边界情况 — 列表中混合收费/免费活动(均返回 isCharged + isChargedLabel)
-
-**请求**
-```
-GET /mp/activity/list?categoryCode=OUTDOOR&page=1&pageSize=20
-Authorization: Bearer {mp_token}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "成功",
- "data": {
- "total": 2,
- "list": [
- {
- "activityId": "1929000000000001",
- "name": "高原骑马体验",
- "isCharged": 1,
- "isChargedLabel": "是"
- },
- {
- "activityId": "1929000000000002",
- "name": "免费篝火晚会",
- "isCharged": 0,
- "isChargedLabel": "否"
- }
- ]
- }
-}
-```
-
-### 8.3 业务失败 — 访问已下架活动
-
-**请求**
-```
-GET /mp/activity/1929000000000099
-Authorization: Bearer {mp_token}
-```
-
-**响应**(404,活动不存在或下架)
-```json
-{
- "code": 404,
- "msg": "活动不存在",
- "data": null
-}
-```
-
----
-
-## ⑨ 业务边界
-
-**适用场景**:
-- 小程序活动详情页展示"是否收费"信息
-- 小程序活动列表卡片可展示收费状态,帮助用户快速识别
-
-**不适用场景**:
-- `isCharged` 仅为展示属性,不影响小程序下单流程或费用计算
-- 列表接口不支持按 `isCharged` 筛选
-
-**特殊边界**:
-- 历史存量活动(PR #3334 上线前创建)`isCharged` 默认为 0,`isChargedLabel` 返回 "否"
-- 备品(物资)域无小程序端接口,本次不涉及
-
----
-
-## ⑩ 修改前后对比
-
-### 字段级对比
-
-**出参(详情 + 列表)**
-
-| 字段名 | 变更前 | 变更后 |
-|--------|--------|--------|
-| isCharged | 不存在 | ✨ 新增,Integer,1=是/0=否 |
-| isChargedLabel | 不存在 | ✨ 新增,String,字典翻译文本,可能为 null |
-
-### 行为级对比
-
-| 行为 | 变更前 | 变更后 |
-|------|--------|--------|
-| 活动详情接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-| 活动列表接口 | 无收费信息 | 新增 isCharged + isChargedLabel |
-
----
-
-## ⑪ 影响评估 / 回滚
-
-**破坏兼容性**:无,新增字段,现有小程序代码可忽略不用。
-
-**前端同步上线**:无强制要求,可选接入展示。
-
-**回滚方案**:若后端回滚,`isCharged` 和 `isChargedLabel` 字段会从响应中消失,小程序侧无感(原本不存在该字段)。
-
----
-
-## ⑫ 注意事项
-
-1. 小程序**无需**配置 `sys_yes_no` 字典,后端已完成翻译并在 `isChargedLabel` 中直接返回中文
-2. 若不需要展示该字段,忽略即可,不影响任何现有功能
-3. 本次仅活动有小程序端接口变更,备品(物资)无小程序端接口,不在本文档范围内
-
----
-
-## ⑬ 关联 / 联系人
-
-- **Issue**:[https://git.1814.love:8443/wx/HL/issues/3331](https://git.1814.love:8443/wx/HL/issues/3331)
-- **PR**:[https://git.1814.love:8443/wx/HL/pulls/3334](https://git.1814.love:8443/wx/HL/pulls/3334)
-- **Commit**:[https://git.1814.love:8443/wx/HL/commit/5da05a324813cf8109d35c521c5e7bb9719627be](https://git.1814.love:8443/wx/HL/commit/5da05a324813cf8109d35c521c5e7bb9719627be)
-- **后端负责人**:腰苏图(企微 / yst@1814.love)
diff --git a/changelogs-v2-mp/2026-06/06_3549_C端自主取消订单-新增接口-小程序端.md b/changelogs-v2-mp/2026-06/06_3549_C端自主取消订单-新增接口-小程序端.md
deleted file mode 100644
index c40e60d..0000000
--- a/changelogs-v2-mp/2026-06/06_3549_C端自主取消订单-新增接口-小程序端.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# C 端用户自主取消订单(小程序端)
-
-> 端类型:**小程序端**(v3)|变更类型:**新增接口**|服务:hl-mp-service(Feign → hl-order-service-v3)
-> Epic #3540 | PR #3549 |日期:2026-06-06
-
-## 接口地址
-
-`POST /mp/order/{orderId}/cancel`
-
-## 接口介绍
-
-小程序 C 端用户自主取消**自己**的订单。仅出行前可取消,按退款政策(距出发天数阶梯)退款,取消后订单进入 `CANCELLED` 终态、不可恢复。
-
-## 本次修改点
-
-新增接口。此前小程序无自主取消能力(取消只能走后台定制师)。本接口固定 `POLICY` 退款模式(C 端不暴露退款模式选择),并校验订单归属当前登录用户。
-
-## 入参
-
-- 路径参数:`orderId`(Long,订单 ID,必填)
-- 请求头:`Authorization`(登录 token,必填)
-- 请求体(可选,可不传):
-
-| 字段 | 类型 | 必填 | 含义 |
-|---|---|---|---|
-| reason | String | 否 | 取消原因 |
-
-**入参示例**
-```
-POST /mp/order/2063151085698134017/cancel
-Authorization: Bearer
-Content-Type: application/json
-
-{ "reason": "行程有变,需要取消" }
-```
-(body 也可整体不传。)
-
-## 出参
-
-`Result`
-
-**出参示例**
-```json
-{ "code": 200, "message": "成功", "success": true, "data": null }
-```
-
-## 可取消状态(调用约束)
-
-| 订单状态 | 是否可取消 |
-|---|---|
-| PENDING_PAY 待支付 | ✅ |
-| CUSTOMIZING 定制中 | ✅ |
-| PENDING_DEPARTURE 待出行 | ✅ |
-| TRAVELLING 出行中 | ❌(行程中只能联系客服终止行程) |
-| COMPLETED 已完成 | ❌ |
-| CANCELLED 已取消 | ❌ |
-
-- 退款模式固定 `POLICY`,按退款政策阶梯计算退款金额(已付订金时退款,未支付时无退款)。
-- 仅可取消归属当前登录用户的订单(非本人订单返回 581037)。
-
-## 错误码
-
-| code | message | 触发 |
-|---|---|---|
-| 581017 | 当前订单状态不允许取消 | 出行中 / 已完成 / 已取消订单调用 |
-| 581037 | 无权取消该订单 | 取消非本人(userId 不匹配)订单 |
-| 401 | 缺少有效的 Authorization 头 | 未携带 token |
-
-## 关联
-
-- Epic:https://git.1814.love:8443/wx/HL/issues/3540
-- PR:https://git.1814.love:8443/wx/HL/pulls/3549
-- 后端负责人:腰苏图(订单 v3)
diff --git a/changelogs-v2-mp/2026-06/17_3911_相册接口横向越权安全热修-IDOR-小程序.md b/changelogs-v2-mp/2026-06/17_3911_相册接口横向越权安全热修-IDOR-小程序.md
deleted file mode 100644
index 9245364..0000000
--- a/changelogs-v2-mp/2026-06/17_3911_相册接口横向越权安全热修-IDOR-小程序.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# 🔴 安全热修:小程序相册接口横向越权(IDOR)修复 — 小程序
-
-> 变更类型:安全修复(后端归属校验加固,**正常使用无影响**,无契约变更)
-> 端类型:小程序(相册)
-> 日期:2026-06-17
-> 服务:hl-order-service-v2(相册域)
-> PR:https://git.1814.love:8443/wx/HL/pulls/3911
-
----
-
-## 说明
-
-`api-contract-audit` 审计小程序 BFF 时发现:相册的 4 个接口存在**横向越权(IDOR)**——后端收到当前用户 userId 后未做归属校验,任意登录用户改 URL 里的 orderId/folderId/albumFileId 即可读取/操作他人订单的相册。本次已修复:后端强制校验"相册所属订单归属当前登录用户",越权一律返回"不存在"。
-
-涉及接口(小程序相册):
-- 订单文件夹列表、文件夹文件列表、文件下载地址获取、文件夹公开授权(写)。
-
-## 前端影响:无需改动
-
-- **正常使用完全不受影响**:用户访问自己订单的相册照常工作。
-- 仅"访问他人订单相册"这种越权请求会被拒(返回资源不存在)——前端正常逻辑不会触发。
-- 接口路径、入参、返回结构均未变。
-
-> 如果前端有任何调试/测试代码用了非当前用户的 orderId/folderId 访问相册,请改为只访问当前用户自己的资源(之前能拿到是 bug,现已封堵)。
-
-## 校验
-
-| 项目 | 信息 |
-|---|---|
-| PR | https://git.1814.love:8443/wx/HL/pulls/3911(squash 合并 dev-v3,via api-contract-audit workflow) |
-| 部署 | 已部署测试服,order-v2 双实例健康(滚动重启 uptime 刷新) |
-| 测试 | 相册模块单测全绿(新增越权拒绝反例:非本人订单/null-userId/订单缺失 + happy path + 防穿透 verify) |
-| 后端负责人 | wx |
diff --git a/changelogs-v2-mp/2026-06/17_3915_小程序BFF接口契约审计修复-金额String+字段映射+可见性+缓存-修改接口-小程序.md b/changelogs-v2-mp/2026-06/17_3915_小程序BFF接口契约审计修复-金额String+字段映射+可见性+缓存-修改接口-小程序.md
deleted file mode 100644
index e84cbf5..0000000
--- a/changelogs-v2-mp/2026-06/17_3915_小程序BFF接口契约审计修复-金额String+字段映射+可见性+缓存-修改接口-小程序.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# 小程序 BFF 接口契约审计修复(金额 String + 字段映射 + 可见性 + 缓存)— 修改接口 — 小程序
-
-> 变更类型:⚠️ 多项修复(金额类型 / 字段补全 / 可见性收紧 / 缓存行为,多数前端正向受益)
-> 端类型:小程序(hl-mp-service BFF)
-> 日期:2026-06-17
-> 服务:hl-mp-service
-> PR:https://git.1814.love:8443/wx/HL/pulls/3915
-
----
-
-## ⚠️ 关键说明
-
-`api-contract-audit` 全量审计小程序 BFF 40 个核心 Controller,对抗复核实锤 100 项契约偏差。mp 是聚合层,本次修复 **mp BFF 自身的 67 处**;另有约 40 项根因在下游服务(订单/用户/资源服务),列在文末「待修清单」,会在后续审计中处理。已合并 dev-v3、部署测试服、双实例健康。
-
-最影响前端的是第 1 节(金额→字符串)和第 2 节(原本恒 null 的字段现已修复)。
-
----
-
-## 1. 金额字段统一为 JSON 字符串
-
-多个 mp 响应 VO 的金额(BigDecimal)此前输出成 JSON 数字,本次统一改为**字符串**(与平台口径一致)。涉及:退款(退款预览/进度/详情)、发票、订单详情/列表、票务、价格明细(含按人群/优惠/附加费的逐项明细)、保费、推荐产品起价等。
-
-> 前端处理:相关金额字段一律按**字符串**接收;若做过数字运算需先转数值。非金额(里程/经纬度/评分)不变。
-
----
-
-## 2. 原本恒为 null 的字段已修复(前端可正常取值)
-
-以下字段此前因 BFF 与下游字段名不一致(反序列化失败)或 BFF 未填充而恒为 null,现已修复:
-
-| 模块 | 字段 |
-|---|---|
-| 相册文件 | thumbnailUrl、fileName、fileSize、createdAt |
-| 相册订单 | coverUrl、fileCount |
-| 发票详情 | invoiceTitle、taxNumber、createdAt |
-| 合同 | 状态日志 *Label、出行人证件类型标签 |
-| 出行人 | race、roomGroupNo(订单出行人)、travelerTypeLabel |
-| 到达计划 | updateTime |
-
-> 前端处理:这些字段现在会返回真实值,可直接使用(之前拿到的是 null)。
-
----
-
-## 3. 行为收紧(前端需配合)
-
-### 3.1 下架资源详情不再返回(可见性收紧)
-景点 / 酒店 / 餐厅 / 活动 详情接口在 BFF 层补了「是否上架」校验,**下架(status=0)的资源详情不再返回**给小程序(之前会原样返回)。前端访问已下架资源详情会得到「不存在/不可见」,请正常处理空态。
-
-### 3.2 浏览量统计 / 错误不再被缓存
-- 探索/百科详情的「浏览量+1」此前在缓存命中时不执行(统计失真),现已修复(浏览量正确累加)。
-- BFF 缓存不再缓存下游降级错误(避免 TTL 内持续返回陈旧错误)。
-- 前端无感,仅数据更准确。
-
-### 3.3 定制需求状态字典修正
-定制(/mp/custom)相关接口的状态字典此前文档值有误,实际枚举为 `PENDING/PROCESSING/REPLIED/CONVERTED/CANCELLED`,请前端按此映射。
-
----
-
-## 4. 待修清单(根因在下游服务,本次未修,后续处理)
-
-以下问题审计已发现,但根因在下游服务,不在本 PR;记录在此供前端知晓(暂仍按现状):
-
-- **订单服务(order-v2)相关 ~21 项**:部分字段缺失/状态机/错误码等(其中相册 4 个越权 P0 已由 PR #3911 安全热修修复)。
-- **用户服务相关 ~11 项**:出行人默认删除守卫、token 轮转、资料完善校验、足迹 HOTEL 等 — 将在用户服务审计时在源头修复。
-- **资源服务相关 ~3 项**:百科推荐排序、足迹等 — 将在资源服务审计时修复。
-
----
-
-## 5. 前端 Action 清单
-
-1. 第 1 节金额字段按字符串解析。
-2. 第 2 节字段现在有值,可接入使用。
-3. 下架资源详情做空态处理(第 3.1)。
-4. 定制状态映射用真实枚举(第 3.3)。
-
----
-
-## 6. 关联
-
-| 项目 | 信息 |
-|---|---|
-| PR | https://git.1814.love:8443/wx/HL/pulls/3915(squash 合并 dev-v3,via api-contract-audit + mp-internal-fix workflow) |
-| 部署 | 已部署测试服,mp 双实例健康(滚动重启 uptime 刷新);公开端点 /mp/banner/active 等返 code:200 |
-| 测试 | 963 单测,本次改动 add 0 新失败(另有 3 个 dev-v3 预存红与本次无关,已单独反馈后端) |
-| 后端负责人 | wx |
diff --git a/changelogs-v2-mp/2026-06/17_3924_用户服务接口契约审计修复-mp侧字段对齐-修改接口-小程序.md b/changelogs-v2-mp/2026-06/17_3924_用户服务接口契约审计修复-mp侧字段对齐-修改接口-小程序.md
deleted file mode 100644
index 973e6cb..0000000
--- a/changelogs-v2-mp/2026-06/17_3924_用户服务接口契约审计修复-mp侧字段对齐-修改接口-小程序.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# 用户服务接口契约审计修复(mp 侧字段/契约对齐)— 修改接口 — 小程序
-
-> 变更类型:字段/契约对齐(无破坏性删除),小程序侧影响较小
-> 端类型:小程序(用户中心/首页配置/收藏足迹/出行人 OCR)
-> 日期:2026-06-17
-> 服务:hl-user-service
-> PR:https://git.1814.love:8443/wx/HL/pulls/3924
-> 说明:本文件随 user-service 契约审计一并产出,**暂缓推送**(与小程序侧统一节奏)。admin 侧见 changelogs-v2/2026-06/17_3924_*.md。
-
----
-
-## 关键说明
-
-用接口契约语义审计工作流扫描 hl-user-service 全部 Controller,mp(小程序 BFF)侧修复一批字段名/null 语义/响应结构与 Swagger 契约不符项。已合并 dev-v3、部署测试服、本地全量 2793 单测零新增回归。下面列 mp 侧对接相关变更。
-
----
-
-## 1. 收藏 / 足迹(FavoriteRespVO / FootprintRespVO)
-
-- 响应 VO 字段名/缺字段与契约对齐;金额类字段(如有)补 `@JsonSerialize(ToStringSerializer)` 输出字符串。
-- 字段语义不变,前端按现有字段名接收即可;如此前对金额字段做数字运算,改为先转数值。
-
-## 2. 首页配置(MpHomeConfig / MpHomeScreen2VO)
-
-- 响应结构与 Swagger 契约对齐(字段名/层级稳定化),无破坏性删除。
-
-## 3. 出行人 OCR / 内容安全(MpTravelerOcr / MpContentSecurity)
-
-- 入参校验(`@Valid` / 校验分组)与错误码规范化;正常路径返回结构不变。
-
-## 4. 站内信(InternalMpMessage / 未读数 UnreadCountRespVO)
-
-- 未读数等响应改强类型 VO,字段名不变。
-
----
-
-> 待小程序侧统一接线时一并对照本文件;如需提前对接某一节请单独知会。
diff --git a/changelogs-v2-mp/2026-06/18_3951_到达计划出行人类型中文-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/18_3951_到达计划出行人类型中文-修改接口-小程序端.md
deleted file mode 100644
index da1584f..0000000
--- a/changelogs-v2-mp/2026-06/18_3951_到达计划出行人类型中文-修改接口-小程序端.md
+++ /dev/null
@@ -1,227 +0,0 @@
-# 【修改接口·小程序端】✨ 到达计划出行人类型中文名 travelerTypeName 新增字段 (#3951)
-
-> **PR**: #3954 | **服务**: hl-order-service-v3 / hl-mp-service | **更新时间**: 2026-06-18
-
-## 1. 接口背景
-
-小程序到达计划接口返回的出行人对象(ArrivalPlanTravelerSimpleVO)原先只包含 `travelerType` 英文枚举值,前端展示出行人类型标签时需自行维护一套映射表。本次新增 `travelerTypeName` 字段,由后端查数据字典 `traveler_type` 派生中文名直接下发,小程序侧可零配置展示类型标签。原 `travelerType` 字段保留不变,属纯新增、非破坏性变更。
-
-## 2. 变更清单
-
-| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
-|---|------|------|------|----------|------|
-| 1 | 获取到达计划(一期路径) | GET | /mp/order/{orderId}/arrival | 新增出参字段 | 出行人对象新增 `travelerTypeName` |
-| 2 | 获取到达计划(v3 路径) | GET | /mp/v3/order/arrival/{orderId} | 新增出参字段 | 出行人对象新增 `travelerTypeName` |
-
-> 以上两个路径均经网关路由至 hl-mp-service,数据源为 order-v3 侧透传。
-
-## 3. 接口详情
-
-### 3.1 获取到达计划(一期路径)
-
-- **使用场景**:小程序出行人填写或出行信息确认页,加载出行人到达计划详情。
-- **认证**:需要微信登录态 JWT(C 端 token)。
-- **幂等性**:是(只读)。
-- **限流**:无。
-
-入参无变化。出参中 `travelers[]` 数组每个 `ArrivalPlanTravelerSimpleVO` 元素新增 `travelerTypeName` 字段(String)。
-
-### 3.2 获取到达计划(v3 路径)
-
-- **使用场景**:同上,v3 版本接口路径,功能与 3.1 等价。
-- **认证**:需要微信登录态 JWT(C 端 token)。
-- **幂等性**:是(只读)。
-- **限流**:无。
-
-入参无变化。出参中 `travelers[]` 数组每个 `ArrivalPlanTravelerSimpleVO` 元素新增 `travelerTypeName` 字段(String)。
-
-## 4. 接口入参
-
-### 4.1 路径参数 / Query 参数
-
-| 接口 | 字段 | 类型 | 必填 | 说明 |
-|------|------|------|------|------|
-| GET /mp/order/{orderId}/arrival | orderId | String(Long) | 是 | 路径参数,订单 ID |
-| GET /mp/v3/order/arrival/{orderId} | orderId | String(Long) | 是 | 路径参数,订单 ID |
-
-### 4.2 请求体字段
-
-均为 GET 接口,无请求体。入参无变化。
-
-## 5. 出参(响应)
-
-### 5.1 ArrivalPlanTravelerSimpleVO 字段
-
-| 字段 | 类型 | 变更 | 说明 |
-|------|------|------|------|
-| id | String | 不变 | 出行人记录 ID |
-| name | String | 不变 | 出行人姓名(脱敏后) |
-| travelerType | String | 不变 | 出行人类型枚举值,见 §6 |
-| travelerTypeName | String | **新增** | 出行人类型中文名,由数据字典 `traveler_type` 派生 |
-
-> 其余字段视接口版本可能含到达信息、证件信息等,本次仅新增 `travelerTypeName`,其余字段不变。
-
-## 6. 枚举 / 数据字典
-
-### 6.1 travelerType(数据字典:traveler_type)
-
-**所属字段**:`travelerType`(出参,保留不变)与 `travelerTypeName`(出参,新增中文名) | **类型**:`String`
-
-| 枚举值 | 中文名(travelerTypeName) | 说明 |
-|--------|--------------------------|------|
-| `ADULT` | 成人 | 成年旅客 |
-| `CHILD` | 儿童 | 儿童旅客(含独立占位) |
-| `YOUNG_CHILD` | 小童 | 小童旅客(不占位或半占位) |
-| `BABY` | 幼童 | 婴幼儿(不占位) |
-
-> 字典降级说明:若数据字典 `traveler_type` 中对应 key 缺失,后端使用枚举内置 label 兜底,小程序侧无需处理。
-
-## 7. 错误码
-
-本次为纯新增字段,无新增错误码。原有错误码不变。
-
-| code | 含义 | 触发场景 |
-|------|------|----------|
-| 581201 | 订单不存在 | orderId 无效 |
-| 401 | 未认证 | 未携带或微信 JWT 过期 |
-| 403 | 无权限 | 当前用户无权查看该订单的到达计划 |
-
-## 8. 示例(3 组:典型 / 边界 / 异常)
-
-### 8.1 典型成功 — 获取到达计划(含新字段)
-
-请求:
-```
-GET /mp/v3/order/arrival/2067178767255560193
-Authorization: Bearer
-```
-
-响应:
-```json
-{
- "code": 200,
- "data": {
- "orderId": "2067178767255560193",
- "travelers": [
- {
- "id": "2067178767255560201",
- "name": "张*明",
- "travelerType": "ADULT",
- "travelerTypeName": "成人"
- },
- {
- "id": "2067178767255560202",
- "name": "张*",
- "travelerType": "YOUNG_CHILD",
- "travelerTypeName": "小童"
- }
- ]
- },
- "message": "ok",
- "success": true
-}
-```
-
-### 8.2 边界情况 — 仅含 BABY 类型出行人
-
-请求:
-```
-GET /mp/order/2067178767255560194/arrival
-Authorization: Bearer
-```
-
-响应(含 BABY 类型,travelerTypeName 正常返回):
-```json
-{
- "code": 200,
- "data": {
- "orderId": "2067178767255560194",
- "travelers": [
- {
- "id": "2067178767255560211",
- "name": "李*强",
- "travelerType": "ADULT",
- "travelerTypeName": "成人"
- },
- {
- "id": "2067178767255560212",
- "name": "李小宝",
- "travelerType": "BABY",
- "travelerTypeName": "幼童"
- }
- ]
- },
- "message": "ok",
- "success": true
-}
-```
-
-### 8.3 业务失败 — 订单不存在
-
-请求:
-```
-GET /mp/v3/order/arrival/9999999999999999999
-Authorization: Bearer
-```
-
-响应:
-```json
-{
- "code": 581201,
- "data": null,
- "message": "订单不存在",
- "success": false
-}
-```
-
-## 9. 业务边界
-
-- 适用:用户已登录且有权限访问该订单,处于任何订单状态均可查询到达计划(只读接口)。
-- 适用:四种出行人类型(ADULT / CHILD / YOUNG_CHILD / BABY)均有对应 `travelerTypeName` 中文名。
-- 特殊边界:若数据字典维护缺失某枚举值,`travelerTypeName` 降级返回枚举内置中文名,不会返回 null,小程序无需做 null 保护。
-- 特殊边界:`travelerType` 原字段值不变,若小程序已有本地映射逻辑,可继续保留或切换为直接展示 `travelerTypeName`,两者等价。
-
-## 10. 修改前后对比
-
-### 10.1 字段级对比
-
-| VO | 字段 | 改前 | 改后 |
-|----|------|------|------|
-| ArrivalPlanTravelerSimpleVO | travelerTypeName | 不存在 | **新增** String,出行人类型中文名 |
-| ArrivalPlanTravelerSimpleVO | travelerType | 原样返回英文枚举值 | 保留不变 |
-
-### 10.2 行为级对比
-
-| 行为 | 改前 | 改后 |
-|------|------|------|
-| 出行人类型展示 | 小程序自行维护 ADULT→成人 等映射表 | 后端直接下发 travelerTypeName,小程序可直接渲染 |
-| 字典缺失兜底 | 无 | 降级用枚举内置 label,小程序无感知 |
-
-## 11. 影响评估 / 回滚
-
-### 11.1 影响评估
-
-- **是否破坏向后兼容**:**否**,纯新增字段,原字段不变、原结构不变。
-- **前端是否必须同步上线**:**否**,旧小程序代码不读新字段也不会出错,可按需对接。
-
-### 11.2 回滚方案
-
-- **回滚方式**:revert PR #3954 并重新部署 hl-order-service-v3 及 hl-mp-service,返回字段恢复为无 travelerTypeName 的旧结构。
-
-## 12. 注意事项
-
-- 前端 workaround 清理点:若小程序已有本地 `travelerType → 中文` 映射对象/函数,上线后可切换为直接读取 `travelerTypeName`,原映射逻辑可清理。
-- `travelerTypeName` 由后端数据字典派生,字典修改后立即生效(无需小程序发版),字典当前值为:ADULT=成人 / CHILD=儿童 / YOUNG_CHILD=小童 / BABY=幼童。
-- `/mp/order/{orderId}/arrival`(一期路径)与 `/mp/v3/order/arrival/{orderId}`(v3 路径)行为一致,都已包含新字段,小程序按当前接入的路径对接即可。
-
-## 13. 关联 / 联系人
-
-### 13.1 链接
-
-- **Issue**: [#3951](https://git.1814.love:8443/wx/HL/issues/3951)
-- **PR**: [#3954](https://git.1814.love:8443/wx/HL/pulls/3954)
-- **Merge commit**: [16d77c9a5](https://git.1814.love:8443/wx/HL/commit/16d77c9a5)
-
-### 13.2 联系人
-
-- **后端负责人**: @yaosutu
diff --git a/changelogs-v2-mp/2026-06/18_3976_出行人类型由出生日期派生-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/18_3976_出行人类型由出生日期派生-修改接口-小程序端.md
deleted file mode 100644
index a350e5a..0000000
--- a/changelogs-v2-mp/2026-06/18_3976_出行人类型由出生日期派生-修改接口-小程序端.md
+++ /dev/null
@@ -1,316 +0,0 @@
-# 【修改接口·小程序端】出行人类型改为由出生日期自动派生,birthday 必填、travelerType 入参移除 (#3976)
-
-> **PR**: #3981 | **服务**: hl-order-service-v3 | **更新时间**: 2026-06-18
-
-## 1. 接口背景
-
-小程序客户出行人补全接口(batch-edit)原先要求客户端传入 `travelerType`(出行人类型枚举值)。本次调整将出行人类型的计算权收归后端:**客户端只需传 `birthday`(出生日期),后端按年龄段自动派生 `travelerType`**,入参不再接受 `travelerType` 字段(传了也会被忽略)。
-
-`birthday` 同步从选填升级为**必填**,不传报 400。响应 VO 不变,`travelerType` / `travelerTypeName` 仍正常返回,展示层无需改动。
-
-> 本次为破坏性入参变更:移除 `travelerType` 入参 + `birthday` 改必填。
-
-## 2. 变更清单
-
-| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
-|---|------|------|------|----------|------|
-| 1 | 客户出行人补全 | POST | /v3/internal/mp/order/{id}/traveler/batch-edit | 入参破坏性变更 | 出行人对象移除 `travelerType`,`birthday` 改必填 |
-
-## 3. 接口详情
-
-### 3.1 客户出行人补全(POST /v3/internal/mp/order/{id}/traveler/batch-edit)
-
-- **使用场景**:小程序用户自助补全出行信息时,批量 upsert 出行人列表(id=null 新增,id 有值则更新)。
-- **认证**:需要微信登录态 JWT(C 端 token)。
-- **幂等性**:否(写入操作)。
-- **限流**:无。
-
-入参中每个出行人对象移除 `travelerType` 字段,`birthday` 改为必填。响应 VO 不变。
-
-## 4. 接口入参
-
-### 4.1 路径参数 / Query 参数
-
-| 字段 | 类型 | 必填 | 说明 |
-|------|------|------|------|
-| id | String(Long) | 是 | 路径参数,订单 ID |
-
-### 4.2 请求体字段
-
-请求体外层结构示例:
-
-```json
-{
- "travelers": [{}]
-}
-```
-
-**出行人对象字段表**:
-
-| 字段 | 类型 | 必填 | 说明 |
-|------|------|------|------|
-| id | String(Long) | 否 | null 或不传=新增;有值=更新已有出行人 |
-| name | String | 否 | 出行人姓名 |
-| gender | String | 否 | 性别字典码(1=男 / 2=女 / 0=未知) |
-| birthday | String | **是** | 出生日期,格式 yyyy-MM-dd,不能晚于今天。**本次改为必填** |
-| idType | String | 否 | 证件类型枚举值,见第 6 节 |
-| idNo | String | 否 | 证件号码(明文) |
-| nationality | String | 否 | 国籍 |
-| race | String | 否 | 民族 |
-| phone | String | 否 | 手机号 |
-| emergencyContact | String | 否 | 紧急联系人 |
-| emergencyPhone | String | 否 | 紧急联系人电话 |
-| roomGroupNo | Integer | 否 | 房间分组编号(团期订单使用) |
-| travelerType(已移除) | — | — | 入参已移除,传入将被忽略;后端按 birthday 自动派生 |
-
-## 5. 出参(响应)
-
-响应 VO 结构**不变**,`travelerType` 和 `travelerTypeName` 仍正常返回。
-
-### 5.1 响应列表元素(TravelerVO 关键字段)
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| id | String | 出行人记录 ID |
-| orderId | String | 所属订单 ID |
-| travelerType | String | 出行人类型枚举值(后端由 birthday 派生后返回) |
-| travelerTypeName | String | 出行人类型中文名(成人 / 儿童 / 小童 / 幼童) |
-| name | String | 出行人姓名 |
-| birthday | String | 出生日期(yyyy-MM-dd) |
-| idType | String | 证件类型枚举值 |
-| idTypeName | String | 证件类型中文名 |
-| idCardMasked | String | 证件号(脱敏后) |
-| gender | String | 性别字典码 |
-| nationality | String | 国籍 |
-
-## 6. 枚举 / 数据字典
-
-### 6.1 travelerType 派生规则(后端自动计算,前端仅需理解出参含义)
-
-| 年龄段(按 birthday 计算) | travelerType 枚举值 | travelerTypeName |
-|--------------------------|-------------------|-----------------|
-| 0-1 岁(未满 2 周岁) | BABY | 幼童 |
-| 2-6 岁(未满 7 周岁) | YOUNG_CHILD | 小童 |
-| 7-17 岁(未满 18 周岁) | CHILD | 儿童 |
-| 18 岁及以上 | ADULT | 成人 |
-
-### 6.2 idType(证件类型字典:id_card_type)
-
-| 枚举值 | 中文名 | 说明 |
-|--------|--------|------|
-| ID_CARD | 身份证 | 中国居民身份证 |
-| PASSPORT | 护照 | 中外护照 |
-| BIRTH_CERT | 出生证明 | 婴幼儿出生医学证明 |
-| HK_MACAU | 港澳通行证 | 港澳居民来往内地通行证 |
-| TAIWAN | 台胞证 | 台湾居民来往大陆通行证 |
-| MILITARY | 军官证 | 军人证件 |
-
-## 7. 错误码
-
-| code | 含义 | 触发场景 |
-|------|------|----------|
-| 400 | 出生日期不能为空 | 出行人对象未传 birthday 或传 null |
-| 400 | 出生日期不能晚于今天 | birthday 传入了未来日期 |
-| 581201 | 订单不存在 | orderId 无效 |
-| 581200 | 出行人不存在 | 传了无效的出行人 id(更新场景) |
-| 401 | 未认证 | 未携带或微信 JWT 过期 |
-| 403 | 无权限 | 当前用户无权操作该订单的出行人 |
-
-## 8. 示例(3 组:典型 / 边界 / 异常)
-
-### 8.1 典型成功 — 补全两位出行人(成人 + 儿童,含 birthday,不传 travelerType)
-
-请求:POST /v3/internal/mp/order/2067178767255560193/traveler/batch-edit,Authorization: Bearer
-
-请求体示例:
-
-```json
-{
- "travelers": [
- {
- "id": null,
- "name": "张三",
- "gender": "1",
- "birthday": "1990-05-20",
- "idType": "ID_CARD",
- "idNo": "110101199005201234"
- },
- {
- "id": null,
- "name": "张小宝",
- "gender": "1",
- "birthday": "2019-08-10",
- "idType": "BIRTH_CERT",
- "idNo": "P110101201908101234"
- }
- ]
-}
-```
-
-响应示例:
-
-```json
-{
- "code": 200,
- "data": [
- {
- "id": "2067178767255560201",
- "orderId": "2067178767255560193",
- "travelerType": "ADULT",
- "travelerTypeName": "成人",
- "name": "张三",
- "birthday": "1990-05-20",
- "idType": "ID_CARD",
- "idTypeName": "身份证",
- "idCardMasked": "110***********1234",
- "gender": "1"
- },
- {
- "id": "2067178767255560202",
- "orderId": "2067178767255560193",
- "travelerType": "CHILD",
- "travelerTypeName": "儿童",
- "name": "张小宝",
- "birthday": "2019-08-10",
- "idType": "BIRTH_CERT",
- "idTypeName": "出生证明",
- "idCardMasked": "P1101012019****1234",
- "gender": "1"
- }
- ],
- "message": "ok",
- "success": true
-}
-```
-
-### 8.2 边界情况 — 幼童(birthday 未满 2 周岁,派生 BABY)
-
-请求体示例:
-
-```json
-{
- "travelers": [
- {
- "id": null,
- "name": "李小婴",
- "gender": "2",
- "birthday": "2025-06-01",
- "idType": "BIRTH_CERT",
- "idNo": "P110101202506011234"
- }
- ]
-}
-```
-
-响应示例:
-
-```json
-{
- "code": 200,
- "data": [
- {
- "id": "2067178767255560210",
- "orderId": "2067178767255560193",
- "travelerType": "BABY",
- "travelerTypeName": "幼童",
- "name": "李小婴",
- "birthday": "2025-06-01",
- "idType": "BIRTH_CERT",
- "idTypeName": "出生证明",
- "idCardMasked": "P1101012025****1234",
- "gender": "2"
- }
- ],
- "message": "ok",
- "success": true
-}
-```
-
-### 8.3 业务失败 — birthday 缺失,报出生日期不能为空
-
-请求体示例(缺少 birthday):
-
-```json
-{
- "travelers": [
- {
- "name": "王五",
- "gender": "1"
- }
- ]
-}
-```
-
-响应示例:
-
-```json
-{
- "code": 400,
- "data": null,
- "message": "出生日期不能为空",
- "success": false
-}
-```
-
-## 9. 业务边界
-
-- 适用:用户已登录且有权限操作该订单,且订单处于可编辑出行人的状态时可调用。
-- 不适用:订单已完成(COMPLETED)或已取消(CANCELLED)后,出行人信息不可再写入。
-- 特殊边界:birthday 为整周岁当天(如刚满 2 岁、7 岁、18 岁生日当天)时,当天即按新档位计算(满龄升档)。
-- 特殊边界:如果小程序端表单中仍有 travelerType 字段的存储或传入,不影响功能(后端忽略),建议同步清理。
-- 特殊边界:birthday 只允许不晚于今天的日期,传入未来日期(包括明天)报 400。
-- 特殊边界:birthday 格式须为 yyyy-MM-dd,格式错误报 400。
-
-## 10. 修改前后对比
-
-### 10.1 字段级对比(入参)
-
-| 字段 | 改前 | 改后 |
-|------|------|------|
-| travelerType(入参) | 选填,由客户端传入,控制出行人类型 | 已移除,传入被忽略 |
-| birthday(入参) | 选填 | 必填,不传报 400 |
-
-### 10.2 字段级对比(出参,不变)
-
-| 字段 | 改前 | 改后 |
-|------|------|------|
-| travelerType(出参) | 返回客户端传入值 | 返回后端按 birthday 派生值(语义不变) |
-| travelerTypeName(出参) | 返回中文名 | 不变 |
-| birthday(出参) | 原样返回 | 不变 |
-
-### 10.3 行为级对比
-
-| 行为 | 改前 | 改后 |
-|------|------|------|
-| 出行人类型来源 | 客户端传入 travelerType,后端直接存储 | 后端按 birthday 自动派生,客户端无需传 |
-| birthday 必填性 | 选填,不传不报错 | 必填,不传报 400 |
-
-## 11. 影响评估 / 回滚
-
-### 11.1 影响评估
-
-- **是否破坏向后兼容**:是,birthday 改必填属破坏性变更。旧版小程序表单若未传 birthday,保存时报 400。
-- **小程序是否必须同步上线**:是。调用 batch-edit 接口时,必须确保每个出行人对象带 birthday;原有 travelerType 入参代码可同步清理。
-
-### 11.2 回滚方案
-
-- **回滚方式**:revert PR #3981 并重新部署 hl-order-service-v3,恢复 travelerType 入参有效 + birthday 选填的旧行为。
-
-## 12. 注意事项
-
-- 出行人类型选择器如果仅用于控制 travelerType 入参,本次可直接移除,出行人类型由 birthday 派生后在响应中正常回显,展示无需调整。
-- birthday 格式严格为 yyyy-MM-dd(如 1990-05-20),不接受时间戳或其他格式。
-- 响应中的 travelerType / travelerTypeName 仍正常返回,出行人卡片上的类型标签展示逻辑无需改动。
-- 年龄以服务器当天日期(北京时间)计算,生日当天视为满周岁。
-
-## 13. 关联 / 联系人
-
-### 13.1 链接
-
-- **Issue**: [#3976](https://git.1814.love:8443/wx/HL/issues/3976)
-- **PR**: [#3981](https://git.1814.love:8443/wx/HL/pulls/3981)
-- **Merge commit**: [8209c5702](https://git.1814.love:8443/wx/HL/commit/8209c5702)
-
-### 13.2 联系人
-
-- **后端负责人**: @yaosutu
diff --git a/changelogs-v2-mp/2026-06/19_4058_到达计划自驾时段label含时间范围-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/19_4058_到达计划自驾时段label含时间范围-修改接口-小程序端.md
deleted file mode 100644
index 49e652d..0000000
--- a/changelogs-v2-mp/2026-06/19_4058_到达计划自驾时段label含时间范围-修改接口-小程序端.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# 【修改接口·小程序端】到达计划自驾时段 selfDrivePeriodLabel 文案口径含时间范围
-
-> **PR**: #4061 | **服务**: hl-order-service-v3(经 mp-service 透传)| **更新时间**: 2026-06-19
-
-## 1. 接口背景
-
-大交通枚举改造(#4061)统一了自驾时段 `SelfDrivePeriod` 枚举的中文 label 口径,含时间范围。到达计划(mp)出参 `ArrivalPlanRespVO.selfDrivePeriodLabel` 随之变化。前端直接显示该 label,**无需改代码**,只是显示文案更详细了。
-
-## 2. 变更清单
-
-| 接口 | 方法 | 路径 | 变更 |
-|---|---|---|---|
-| 到达计划查询 | GET | /v3/internal/mp/order/arrival/{orderId} | 出参 selfDrivePeriodLabel 文案口径变化 |
-
-(同枚举也用于 mp 创建/更新/批量接口的回显出参)
-
-## 3. 出参变化
-
-| 字段 | 类型 | 变更 | 说明 |
-|---|---|---|---|
-| selfDrivePeriodLabel | String | 文案口径调整 | 自驾时段中文,由「上午/下午/晚上」改为含时间范围 |
-
-## 4. 枚举 / 数据字典
-
-| selfDrivePeriod 码值 | 改前 label | 改后 label |
-|---|---|---|
-| MORNING | 上午 | **上午(06:00-12:00)** |
-| AFTERNOON | 下午 | **下午(12:00-18:00)** |
-| EVENING | 晚上 | **晚上(18:00-24:00)** |
-
-## 5. 影响评估
-
-- **破坏向后兼容**:否。`selfDrivePeriod` 码值不变,仅 `selfDrivePeriodLabel` 展示文案更详细。
-- **前端是否需改**:否,前端直接展示 label 即可(显示内容自动变详细)。**例外**:若前端有按 label 文案做精确匹配/判断的逻辑(不推荐),需改为按 `selfDrivePeriod` 码值判断。
-
-## 6. 注意事项
-
-- 自驾时段判断逻辑请用 `selfDrivePeriod` 码值(MORNING/AFTERNOON/EVENING),不要依赖 `selfDrivePeriodLabel` 文案。
-
-## 7. 关联 / 联系人
-
-- **Issue**: [#4058](https://git.1814.love:8443/wx/HL/issues/4058)
-- **PR**: [#4061](https://git.1814.love:8443/wx/HL/pulls/4061)
-- **后端负责人**: @yaosutu
diff --git a/changelogs-v2-mp/2026-06/21_4154_出行人补全订单确认后禁止mp编辑-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/21_4154_出行人补全订单确认后禁止mp编辑-修改接口-小程序端.md
deleted file mode 100644
index 0f83ee3..0000000
--- a/changelogs-v2-mp/2026-06/21_4154_出行人补全订单确认后禁止mp编辑-修改接口-小程序端.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# 【修改接口·小程序端】客户出行人补全:订单确认后禁止 mp 端编辑(新增门禁 + 错误码 581145)(CR)
-
-> **PR**: #4154 | **服务**: hl-order-service-v3 | **更新时间**: 2026-06-21
-
-## 1. 接口背景
-
-小程序客户出行人补全接口(batch-edit)此前**未在后端强制限制可编辑的订单阶段**:客户端只要订单属于本人,任意阶段都能提交编辑。本次安全/一致性收紧:**仅订单确认前(待支付 / 定制中)允许经小程序编辑出行人;订单确认后(待出行起)及已完成 / 已取消一律拒绝**,返回新错误码 `581145`。
-
-收紧原因:订单确认后修改出行人 PII(姓名 / 手机 / 生日等)会误触发后端「合同作废重签 + 退保重投保」链路,造成非预期的合同与保单churn。证件号此前已在签约后冻结,本次把整个编辑动作按订单阶段收口。
-
-> 本次为行为收紧(破坏性变更面向「确认后仍调用」的旧逻辑)。按产品生命周期,出行人补全本就发生在「待补全信息」窗口(定制中阶段),正常流程不受影响。
-
-## 2. 变更清单
-
-| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
-|---|------|------|------|----------|------|
-| 1 | 客户出行人补全 | POST | /v3/internal/mp/order/{id}/traveler/batch-edit | 行为收紧 | 订单非「待支付/定制中」阶段调用直接拒绝(581145);入参 / 出参结构不变 |
-
-## 3. 关键说明
-
-- **放行阶段(白名单)**:`order_status ∈ {PENDING_PAY 待支付, CUSTOMIZING 定制中}`。
-- **拒绝阶段**:`PENDING_DEPARTURE 待出行(确认后)/ TRAVELLING 出行中 / COMPLETED 已完成 / CANCELLED 已取消`,以及任何其他状态(白名单 fail-closed)。
-- 拒绝时**整单不写入**(事务回滚),返回 `code=581145`。
-- 入参字段、出参 VO 结构**完全不变**,仅新增前置阶段校验。
-- 本门禁**只约束小程序(mp)路径**;定制师 / admin 后台路径不受限(如需确认后变更出行人,请走定制师后台)。
-
-## 4. 入参 / 出参
-
-入参(请求体 travelers[] + 路径 id)与响应 VO **均不变**,详见既有文档(如 #3976 出行人补全契约)。本次仅在订单阶段不满足时提前抛 581145。
-
-## 5. 错误码
-
-| code | 含义 | 触发场景 | 本次 |
-|------|------|----------|------|
-| **581145** | 订单已确认,出行人信息不可再经小程序修改,如需变更请联系定制师 | 订单 status 不在 {待支付, 定制中} 白名单(即确认后 / 已完成 / 已取消)时调用 batch-edit | **新增** |
-| 581102 | 订单不存在,无法编辑出行人 | orderId 无效 | 不变 |
-| 581122 | 订单不属于当前用户 | 当前登录 userId 与订单归属不一致(横向越权拦截) | 不变 |
-
-## 6. 前端处理建议
-
-- 出行人编辑入口建议按订单状态控制:仅在「待支付 / 定制中(待补全信息)」展示可编辑表单;订单确认后置为只读。
-- 若仍调用 batch-edit 命中 581145,按 message 文案提示用户「订单已确认,如需修改出行人请联系定制师」,不要静默失败。
-- 正常按生命周期编辑(确认前补全)的前端流程**无需改动**。
-
-## 7. 业务边界
-
-- 适用:订单 `order_status = PENDING_PAY` 或 `CUSTOMIZING`,且出行人属本人订单(581122 越权拦截照旧)。
-- 不适用:订单确认后(PENDING_DEPARTURE 起)/ 已完成 / 已取消 —— 一律 581145 拒绝。
-- 证件号(idNo)在合同已签(contract_status=SIGNED)时本就冻结(581111),本次门禁覆盖范围更靠前(按订单阶段整体拦截)。
-
-## 8. 影响评估 / 回滚
-
-- **向后兼容**:对「确认前编辑」的正常流程兼容;对「确认后仍调用 batch-edit」的旧行为为破坏性收紧(此前会误触发重签,属应修缺陷)。
-- **小程序是否必须同步上线**:建议同步——确认后隐藏 / 禁用编辑入口 + 处理 581145 文案;不同步也不会造成数据错误(后端已兜底拒绝)。
-- **回滚**:revert PR #4154 重新部署 hl-order-service-v3,恢复不限阶段编辑的旧行为。
-
-## 9. 关联 / 联系人
-
-### 9.1 链接
-
-- **PR**: [#4154](https://git.1814.love:8443/wx/HL/pulls/4154)(CR 发现,无关联 Issue)
-
-### 9.2 联系人
-
-- **后端负责人**: @wx
diff --git a/changelogs-v2-mp/2026-06/21_4174_发票小程序端申请+可见性+签名下载-新增接口-小程序端.md b/changelogs-v2-mp/2026-06/21_4174_发票小程序端申请+可见性+签名下载-新增接口-小程序端.md
deleted file mode 100644
index 95fd971..0000000
--- a/changelogs-v2-mp/2026-06/21_4174_发票小程序端申请+可见性+签名下载-新增接口-小程序端.md
+++ /dev/null
@@ -1,241 +0,0 @@
-# 发票补齐 - 小程序端申请 + 可见性过滤 + 签名下载(小程序端)
-
-> Issue: [#4174](https://git.1814.love:8443/wx/HL/issues/4174) / [#4182](https://git.1814.love:8443/wx/HL/issues/4182)
-> PR: [#4181](https://git.1814.love:8443/wx/HL/pulls/4181)(mp 端申请+可见性)/ [#4184](https://git.1814.love:8443/wx/HL/pulls/4184)(签名下载)
-> 日期: 2026-06-21
-> 服务: hl-order-service-v3(invoice 域)
-> 端类型: 小程序端
-
----
-
-## 1. 接口背景
-
-小程序发票模块本次补齐三项改动:
-
-- **申请门槛收紧**(PR4 / Issue #4174):原 collab 域 POST /v3/internal/mp/order/{orderId}/invoice/apply 路径不变,但实现从 collab 迁入 invoice 域,门槛由宽松(可叠加多张)改为严格(一单一票 + 订单必须 COMPLETED + 金额不超订单总价)。
-- **出参可见性过滤**(PR4):GET /v3/internal/mp/order/{orderId}/invoice/list 和 GET /v3/internal/mp/order/invoice/{invoiceId}/detail 出参中,fileUrl 字段现在仅在 ISSUED / PUSHED 状态时返回;REQUESTED 状态返回 null(处理中,前端勿展示 PDF 链接)。
-- **新增签名下载端点**(#4184 / Issue #4182):GET /v3/internal/mp/order/invoice/{invoiceId}/download,返回 1 小时有效期 OSS 签名 URL,供前端调 wx.openDocument 预览或下载发票 PDF。
-
----
-
-## 2. 变更清单
-
-| # | 接口 | 变更类型 | 说明 |
-|---|------|----------|------|
-| 1 | POST /v3/internal/mp/order/{orderId}/invoice/apply | 修改接口(行为收紧) | 申请门槛由宽松改严格:一单一票 + 订单 COMPLETED + 金额不超总价;resp status 字段值从 APPLIED 改为 REQUESTED |
-| 2 | GET /v3/internal/mp/order/{orderId}/invoice/list | 修改接口(字段行为变化) | fileUrl 字段:REQUESTED 状态由有值改为 null;ISSUED / PUSHED 保持有值 |
-| 3 | GET /v3/internal/mp/order/invoice/{invoiceId}/detail | 修改接口(字段行为变化) | fileUrl 字段同上:REQUESTED 返 null,ISSUED / PUSHED 有值 |
-| 4 | GET /v3/internal/mp/order/invoice/{invoiceId}/download | 新增接口 | 返回发票 PDF 的 OSS 签名下载 URL(1 小时有效期),含 IDOR 鉴权 |
-
----
-
-## 3. 接口详情
-
-认证:所有接口走小程序 JWT 认证,Header 携带 Authorization: Bearer token(小程序 openId → userId)。
-幂等性:apply 非幂等(一单一票,重复提交报 581511);download 幂等(每次生成新签名 URL)。
-限流:网关全局限流。
-
----
-
-## 4. 接口入参
-
-### 4.1 路径参数 / Query 参数
-
-| 接口 | 参数名 | 类型 | 必填 | 说明 |
-|------|--------|------|------|------|
-| POST /{orderId}/apply | orderId | Long | 是 | 路径参数,订单 ID |
-| GET /{orderId}/invoice/list | orderId | Long | 是 | 路径参数,订单 ID |
-| GET /invoice/{invoiceId}/detail | invoiceId | Long | 是 | 路径参数,发票 ID |
-| GET /invoice/{invoiceId}/download | invoiceId | Long | 是 | 路径参数,发票 ID |
-
-### 4.2 请求体字段
-
-**POST /v3/internal/mp/order/{orderId}/invoice/apply**
-
-| 字段 | 类型 | 必填 | 说明 |
-|------|------|------|------|
-| amount | String | 是 | 开票金额(字符串,单位元),不超过订单总价 |
-| invoiceType | String | 是 | 发票类型,枚举见 6 节 |
-| titleType | String | 是 | 抬头类型:PERSONAL / COMPANY |
-| title | String | 是 | 发票抬头(姓名或公司名) |
-| taxNo | String | 条件必填 | 税号(titleType=COMPANY 时必填) |
-| bankName | String | 条件必填 | 开户行(invoiceType=VAT_SPECIAL 时必填) |
-| bankAccount | String | 条件必填 | 银行账号(invoiceType=VAT_SPECIAL 时必填) |
-| registAddress | String | 条件必填 | 注册地址(invoiceType=VAT_SPECIAL 时必填) |
-| registPhone | String | 条件必填 | 注册电话(invoiceType=VAT_SPECIAL 时必填) |
-| email | String | 条件必填 | 收票邮箱(invoiceType=ELECTRONIC 时必填) |
-| remark | String | 否 | 备注 |
-
-GET 接口无请求体。
-
----
-
-## 5. 出参字段
-
-**POST /v3/internal/mp/order/{orderId}/invoice/apply**
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| id | String | 新建发票 ID(Long 序列化) |
-| status | String | 固定为 REQUESTED |
-
-注意:status 值此前旧实现返回 APPLIED(collab 域),新实现返回 REQUESTED(invoice 域)。请前端对齐新值。
-
-**GET /v3/internal/mp/order/{orderId}/invoice/list(单条字段,变化部分)**
-
-| 字段 | 原来行为 | 现在行为 |
-|------|---------|---------|
-| fileUrl | REQUESTED / ISSUED / PUSHED 均有值 | REQUESTED 返 null;ISSUED / PUSHED 有值 |
-
-其余字段不变(id / orderId / status / statusName / amount / invoiceType / title / taxNo / createTime 等)。
-
-**GET /v3/internal/mp/order/invoice/{invoiceId}/detail(变化部分)**
-
-| 字段 | 原来行为 | 现在行为 |
-|------|---------|---------|
-| fileUrl | 同上,恒有值 | REQUESTED 返 null;ISSUED / PUSHED 有值 |
-
-**GET /v3/internal/mp/order/invoice/{invoiceId}/download(新增接口)**
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| fileUrl | String | OSS 签名下载 URL(1 小时有效期,格式为 HTTPS 带签名参数的 URL) |
-| pdfName | String | PDF 文件名(可选,用于 wx.openDocument 的 name 参数) |
-
----
-
-## 6. 枚举 / 数据字典
-
-**InvoiceStatus - 发票状态(影响 fileUrl 可见性)**
-
-| 枚举值 | 中文名 | fileUrl 是否可见 |
-|--------|--------|----------------|
-| REQUESTED | 待开票 | null(处理中,前端勿展示 PDF 链接) |
-| ISSUED | 已开票 | 有值 |
-| PUSHED | 已推送 | 有值 |
-| VOIDED | 已作废 | null |
-
-**InvoiceType - 发票类型**
-
-| 枚举值 | 中文名 |
-|--------|--------|
-| VAT_NORMAL | 增值税普通发票 |
-| VAT_SPECIAL | 增值税专用发票 |
-| ELECTRONIC | 电子发票 |
-
-**TitleType - 抬头类型**
-
-| 枚举值 | 中文名 |
-|--------|--------|
-| PERSONAL | 个人 |
-| COMPANY | 公司 |
-
----
-
-## 7. 错误码
-
-| 错误码 | 常量 | 触发场景 |
-|--------|------|----------|
-| 581510 | INVOICE_ORDER_NOT_COMPLETED | 订单状态非 COMPLETED,不可申请开票 |
-| 581511 | INVOICE_ALREADY_EXISTS | 该订单已有有效发票,不可重复申请(一单一票) |
-| 581512 | INVOICE_AMOUNT_EXCEED | 开票金额超过订单总价 |
-| 581513 | INVOICE_TYPE_INVALID | 发票类型枚举值非法 |
-| 581514 | INVOICE_TAX_NO_REQUIRED | 公司抬头 / 专票时税号为必填 |
-| 581515 | INVOICE_VAT_SPECIAL_FIELDS_REQUIRED | 专票时开户行 / 银行账号 / 注册地址 / 注册电话为必填 |
-| 581516 | INVOICE_EMAIL_REQUIRED | 电子发票时邮箱为必填 |
-| 581517 | INVOICE_NOT_DOWNLOADABLE | 发票尚未开具(REQUESTED / VOIDED 状态),暂时无法下载 |
-| 581518 | INVOICE_FORBIDDEN | 无权访问该发票(IDOR 防护,含发票不存在场景) |
-| 581519 | INVOICE_SIGNED_URL_FAILED | 获取签名下载 URL 失败,请稍后重试(hl-user-service 暂时不可用) |
-
----
-
-## 8. 示例
-
-### 8.1 典型成功:申请开票
-
-POST /v3/internal/mp/order/1234567890123456789/invoice/apply
-
-请求体:
-
-
-响应:
-
-
-### 8.2 边界情况:列表中 REQUESTED 状态 fileUrl 为 null
-
-GET /v3/internal/mp/order/1234567890123456789/invoice/list 响应示例(某张待开票发票):
-
-
-### 8.3 业务失败:REQUESTED 状态发票不可下载
-
-GET /v3/internal/mp/order/invoice/111/download
-
-响应:
-
-
----
-
-## 9. 业务边界
-
-**适用:**
-- 申请:订单状态必须为 COMPLETED;无有效发票(一单一票);金额不超订单总价
-- 下载:发票状态为 ISSUED 或 PUSHED;且该发票属于当前登录用户的订单
-
-**不适用:**
-- 订单 COMPLETED 之前不可申请
-- 已有有效发票,不可重复申请
-- REQUESTED / VOIDED 状态发票不可下载(报 581517)
-- 访问他人订单的发票报 581518(IDOR 防护,不返回 404 以避免泄露存在性)
-
-**特殊边界:**
-- 签名 URL 有效期 1 小时。前端如果缓存了 fileUrl,每次打开下载前须重新调 download 接口获取最新签名 URL,不可长期复用。
-- wx.openDocument 下载后端直接返回签名 URL,前端无需中转。
-
----
-
-## 10. 修改前后对比
-
-### POST apply 申请门槛变化
-
-| 项目 | 变更前(旧 collab 实现) | 变更后(invoice 域) |
-|------|----------------------|-------------------|
-| 一单一票限制 | 无(可叠加多张) | 有(existsActiveByOrderId 拦截) |
-| 金额校验 | 已开+本次 <= 总价 | 本次金额 <= 总价(一单一票前提下等价) |
-| 响应 status 值 | APPLIED | REQUESTED |
-
-### GET list / detail fileUrl 可见性变化
-
-| 发票状态 | 变更前 fileUrl | 变更后 fileUrl |
-|---------|--------------|--------------|
-| REQUESTED | 有值(OSS 公链) | null(前端显示处理中) |
-| ISSUED | 有值 | 有值(不变) |
-| PUSHED | 有值 | 有值(不变) |
-| VOIDED | 有值 | null |
-
----
-
-## 11. 影响评估 / 回滚
-
-- 破坏兼容性(重要):fileUrl 字段在 REQUESTED 状态下由有值变为 null。前端如果之前有展示 REQUESTED 状态下 PDF 链接的逻辑(点击打开 OSS 文件),现在会读到 null,需要做 null 判断,展示「处理中」状态文案。
-- apply status 值变化:从 APPLIED 改为 REQUESTED。前端如果有对 status 值做 hardcode 判断(if status == APPLIED),需要更新。
-- 前端同步上线建议:fileUrl null 判断 + apply 响应 status 对齐必须在本次版本同步更新。
-- 回滚方案:回滚旧版本,fileUrl 可见性恢复,download 端点返回 404。apply 的 status 回退为 APPLIED(如旧版本有此值)。
-
----
-
-## 12. 注意事项
-
-1. fileUrl null 判断:list / detail 接口读到 fileUrl 为 null 时,前端应显示「处理中」或「待开票」而不是空链接。
-2. 签名 URL 勿缓存超过 1 小时:download 返回的签名 URL 有效期 1 小时,前端每次用前须重新调接口,不可全局缓存复用。
-3. apply 响应 status 值变更:旧值 APPLIED 已废弃,现在返回 REQUESTED。如前端有 switch/if 判断该值,须对齐。
-4. download IDOR 防护:发票不存在或不属于当前用户均返回 581518(INVOICE_FORBIDDEN),不返回 404,避免存在性枚举攻击。
-
----
-
-## 13. 关联 / 联系人
-
-- Issue(小程序端 mp): https://git.1814.love:8443/wx/HL/issues/4174
-- Issue(签名下载): https://git.1814.love:8443/wx/HL/issues/4182
-- PR(mp 端 #4181): https://git.1814.love:8443/wx/HL/pulls/4181
-- PR(签名下载 #4184): https://git.1814.love:8443/wx/HL/pulls/4184
-- 后端负责人: yaosutu
diff --git a/changelogs-v2-mp/2026-06/22_4161_售后申诉-新增接口-小程序端.md b/changelogs-v2-mp/2026-06/22_4161_售后申诉-新增接口-小程序端.md
deleted file mode 100644
index dcedc70..0000000
--- a/changelogs-v2-mp/2026-06/22_4161_售后申诉-新增接口-小程序端.md
+++ /dev/null
@@ -1,340 +0,0 @@
-# 售后申诉 — 小程序端新增接口
-
-- **端类型**:小程序端
-- **变更类型**:新增接口
-- **日期**:2026-06-22
-- **关联 Issue**:https://git.1814.love:8443/wx/HL/issues/4161
-- **关联 PR**:#4185(小程序端接口)/ #4162 #4165 #4168 #4187(基础能力)
-- **后端负责人**:腰苏图(yaosutu)
-
----
-
-## 一、接口背景
-
-v3 全新售后服务中心(com.hulalv.aftersale)上线。小程序端用户可发起投诉或申诉、查看自己的工单列表与详情、以及在工单未处置前随时撤回。
-
-新增 4 个接口(含 1 个原有但归入本域):发起工单、我的工单列表、工单详情、撤回工单。
-
-本次为全新域,不影响任何已有接口。
-
----
-
-## 二、变更清单
-
-| 编号 | 方法 | 路径 | 说明 |
-|------|------|------|------|
-| 1 | POST | /v3/mp/aftersale/ticket | 发起投诉/申诉工单 |
-| 2 | GET | /v3/mp/aftersale/ticket/my | 我的工单列表(按订单分页) |
-| 3 | GET | /v3/mp/aftersale/ticket/{id} | 工单详情 |
-| 4 | POST | /v3/mp/aftersale/ticket/{id}/withdraw | 撤回工单 |
-
----
-
-## 三、接口详情
-
-| 属性 | 说明 |
-|------|------|
-| 认证方式 | JWT Bearer Token(C 端 Token,Gateway 解析后注入 userId) |
-| userId 传递 | Gateway 解析 JWT 后注入到请求属性,后端从 HttpServletRequest 取;前端无需传 userId 字段 |
-| 限流 | Gateway 默认限流策略 |
-| 路径前缀 | /v3/mp/aftersale/ticket |
-
----
-
-## 四、接口入参
-
-### 4.1 POST /v3/mp/aftersale/ticket — 发起工单
-
-请求体(JSON):
-
-| 字段 | 类型 | 必填 | 约束 | 说明 |
-|------|------|------|------|------|
-| orderId | Long | 是 | — | 订单 ID |
-| category | String | 是 | COMPLAINT / APPEAL | 大类:投诉/申诉 |
-| type | String | 是 | 见 §六枚举 | 细分类型,必须与 category 匹配 |
-| title | String | 是 | 最多 100 字 | 工单标题 |
-| description | String | 是 | 最多 2000 字 | 诉求描述 |
-| targetRefId | Long | 条件必填 | — | 申诉时必填:关联退款申请 ID;投诉时可不传(不传则用 orderId) |
-| claimType | String | 否 | REFUND / RECTIFY / EXPLANATION | 用户诉求类型,仅供参考 |
-| claimAmount | Number | 否 | — | 用户期望金额,仅供参考,无约束力 |
-| attachments | Array | 否 | 最多 10 个 | 附件 URL 列表(图片/视频) |
-
-### 4.2 GET /v3/mp/aftersale/ticket/my — 我的工单列表
-
-Query 参数:
-
-| 字段 | 类型 | 必填 | 约束 | 说明 |
-|------|------|------|------|------|
-| orderId | Long | 是 | — | 订单 ID,只查该订单下的工单 |
-| pageNo | Integer | 否 | >= 1 | 页码,默认 1 |
-| pageSize | Integer | 否 | 1-50 | 每页条数,默认 20 |
-
-### 4.3 GET /v3/mp/aftersale/ticket/{id} — 工单详情
-
-路径参数:id(String/Long)必填,工单 ID。
-
-注:后端校验工单归属,非本人工单返回 586014。
-
-### 4.4 POST /v3/mp/aftersale/ticket/{id}/withdraw — 撤回工单
-
-路径参数:id(String/Long)必填,工单 ID。
-
-无请求体。后端校验:1. 工单归属(非本人返回 586014);2. 状态(只有 SUBMITTED / PROCESSING 可撤回,否则返回 586013)。
-
----
-
-## 五、出参字段
-
-### 5.1 发起工单 — 返回工单 ID
-
-```json
-{"code": 200, "data": "1895000000000001"}
-```
-
-data 为 String(Long),即新建工单的 ID。
-
-### 5.2 我的工单列表 — PageResult 结构
-
-```json
-{
- "code": 200,
- "data": {
- "list": [],
- "total": 5,
- "pageNo": 1,
- "pageSize": 20
- }
-}
-```
-
-### 5.3 工单详情及列表行 — TicketMpRespVO 字段
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| id | String(Long) | 工单 ID |
-| orderId | String(Long) | 关联订单 ID |
-| category | String | 大类枚举值:COMPLAINT / APPEAL |
-| categoryLabel | String | 大类中文名:投诉 / 申诉 |
-| type | String | 细分类型枚举值,见 §六 |
-| typeLabel | String | 细分类型中文名 |
-| title | String | 工单标题 |
-| description | String | 诉求描述 |
-| claimType | String | 用户诉求类型(可选) |
-| claimAmount | Number | 用户期望金额(可选) |
-| attachments | Array | 附件 URL 列表 |
-| status | String | 工单状态枚举值,见 §六 |
-| statusLabel | String | 工单状态中文名 |
-| resolutionRemark | String | 处置说明(RESOLVED / CLOSED 后可见,用于展示给用户) |
-| canWithdraw | Boolean | 是否可撤回(SUBMITTED / PROCESSING 且非终态时为 true) |
-| createdAt | String(ISO 8601) | 创建时间 |
-| updatedAt | String(ISO 8601) | 更新时间 |
-
-注:C 端视图隐藏处置细节(decision / resolutionType / resolutionAmount / approvalNo / linkedRefundId),仅展示 status 和 resolutionRemark。
-
-### 5.4 撤回工单
-
-```json
-{"code": 200, "data": null}
-```
-
----
-
-## 六、枚举 / 数据字典
-
-### AftersaleCategory — 工单大类
-
-| 枚举值 | 中文名 | 场景 |
-|--------|--------|------|
-| COMPLAINT | 投诉 | 对已发生的服务质量不满 |
-| APPEAL | 申诉 | 对某个处理结果不服,求复核 |
-
-### AftersaleTicketType — 细分类型(type 字段)
-
-| 枚举值 | 中文名 | 归属大类 |
-|--------|--------|----------|
-| ITINERARY | 行程 | COMPLAINT |
-| HOTEL | 酒店 | COMPLAINT |
-| VEHICLE | 车 | COMPLAINT |
-| GUIDE | 导游 | COMPLAINT |
-| OTHER | 其他 | COMPLAINT |
-| REFUND_REJECTED | 退款被拒 | APPEAL |
-| REFUND_AMOUNT_DISPUTE | 退款金额异议 | APPEAL |
-
-注:type 必须与 category 匹配,否则返回 586012。
-
-### AftersaleTicketStatus — 工单状态
-
-| 枚举值 | 中文名 | 终态 | 说明 |
-|--------|--------|------|------|
-| SUBMITTED | 已提交 | 否 | 等待受理 |
-| PROCESSING | 处理中 | 否 | 客服受理中 |
-| RESOLVED | 已处置 | 否 | 处置方案落定(退款类等待到账) |
-| CLOSED | 已关闭 | 是 | 流程终结 |
-| WITHDRAWN | 已撤回 | 是 | 用户主动撤回 |
-
-canWithdraw = true 的条件:status 为 SUBMITTED 或 PROCESSING。
-
-### claimType — 用户诉求类型(参考值,无强制约束)
-
-| 常见值 | 中文名 |
-|--------|--------|
-| REFUND | 退款 |
-| RECTIFY | 整改 |
-| EXPLANATION | 要个说法 |
-
----
-
-## 七、错误码
-
-| 错误码 | 说明 | 触发场景 |
-|--------|------|----------|
-| 586009 | 工单不存在 | 传入 id 找不到工单 |
-| 586011 | 同一对象已存在活跃工单 | 防重复提交(同订单下同 target 已有进行中工单) |
-| 586012 | category 与 type 不匹配 | 如 COMPLAINT 传了 REFUND_REJECTED |
-| 586013 | 撤回时状态非法 | 终态或 RESOLVED 工单不可撤回 |
-| 586014 | 非本人工单 | 查看/撤回他人工单 |
-| 586015 | 申诉必须关联退款申请 | APPEAL 类工单未传 targetRefId |
-| 586016 | 申诉关联退款状态不合法 | 关联的退款申请状态不允许申诉 |
-
----
-
-## 八、示例
-
-### 8.1 典型成功 — 发起投诉工单
-
-请求:
-```
-POST /v3/mp/aftersale/ticket
-Authorization: Bearer {mp_token}
-Content-Type: application/json
-
-{
- "orderId": 1800000000000099,
- "category": "COMPLAINT",
- "type": "HOTEL",
- "title": "酒店降级投诉",
- "description": "订单挂四星酒店实际入住三星,要求退差价",
- "claimType": "REFUND",
- "claimAmount": 600.00,
- "attachments": ["https://oss.example.com/img1.jpg"]
-}
-```
-
-响应:
-```json
-{"code": 200, "data": "1895000000000001"}
-```
-
-### 8.2 典型成功 — 发起申诉工单(退款被拒)
-
-```
-POST /v3/mp/aftersale/ticket
-Authorization: Bearer {mp_token}
-Content-Type: application/json
-
-{
- "orderId": 1800000000000099,
- "category": "APPEAL",
- "type": "REFUND_REJECTED",
- "targetRefId": 9876543210,
- "title": "退款申请被拒申诉",
- "description": "退款申请被拒,但供应商确实未提供服务,要求重新审核"
-}
-```
-
-响应:
-```json
-{"code": 200, "data": "1895000000000002"}
-```
-
-### 8.3 边界情况 — 查询工单详情(已处置,展示处置说明)
-
-```json
-{
- "code": 200,
- "data": {
- "id": "1895000000000001",
- "orderId": "1800000000000099",
- "category": "COMPLAINT",
- "categoryLabel": "投诉",
- "type": "HOTEL",
- "typeLabel": "酒店",
- "title": "酒店降级投诉",
- "description": "订单挂四星酒店实际入住三星,要求退差价",
- "claimType": "REFUND",
- "claimAmount": 600.00,
- "attachments": ["https://oss.example.com/img1.jpg"],
- "status": "CLOSED",
- "statusLabel": "已关闭",
- "resolutionRemark": "经核实酒店确实降级,已退差价 500 元",
- "canWithdraw": false,
- "createdAt": "2026-06-22T09:00:00",
- "updatedAt": "2026-06-22T15:30:00"
- }
-}
-```
-
-### 8.4 业务失败 — 申诉未传 targetRefId
-
-```json
-{"code": 586015, "msg": "申诉必须关联一笔有效的退款申请"}
-```
-
-### 8.5 业务失败 — 撤回已 CLOSED 工单
-
-```json
-{"code": 586013, "msg": "撤回时工单状态非法(只有 SUBMITTED / PROCESSING 可撤回)"}
-```
-
----
-
-## 九、业务边界
-
-适用:
-- 同一订单下同一 targetRef 只能有一个活跃工单(SUBMITTED / PROCESSING / RESOLVED),否则返回 586011
-- 申诉(APPEAL)类工单必须关联一笔有效的退款申请(targetRefId 必填)
-- SUBMITTED / PROCESSING 状态的工单可撤回,canWithdraw=true
-
-不适用:
-- 终态工单(CLOSED / WITHDRAWN)不可撤回
-- 非本人工单不可查看/撤回
-
-特殊边界:
-- 工单从 PROCESSING 撤回后,若该工单已提交企微 OA,后端会自动撤回 OA 审批(异步,不影响前端响应)
-- attachments 最多 10 个,超出返回参数校验错误
-
----
-
-## 十、修改前后对比
-
-本次为全新域新增接口,无旧接口对比。
-
----
-
-## 十一、影响评估 / 回滚
-
-本次为全新域,不影响任何已有小程序接口,可独立上线。
-
-回滚方案:回滚后端服务版本即可。
-
----
-
-## 十二、注意事项
-
-1. 发起工单返回值是 String(Long):data 字段为新建工单的 ID,是字符串而非数字。
-2. C 端视图隐藏处置细节:resolutionAmount / decision / approvalNo 等字段在 C 端不返回,不要在小程序页面展示。resolutionRemark 是给用户看的处置说明,可展示。
-3. canWithdraw 字段已由后端计算:前端直接用该字段判断是否显示撤回按钮,无需自行判断状态。
-4. 所有 ID 为字符串:id / orderId 均序列化为字符串,前端不要转 Number。
-5. category=APPEAL 时:targetRefId 必填(关联退款申请 ID),targetRefType 后端自动设为 REFUND_APPLICATION。
-
----
-
-## 十三、关联 / 联系人
-
-- Issue:https://git.1814.love:8443/wx/HL/issues/4161
-- PR #4185(小程序端接口):https://git.1814.love:8443/wx/HL/pulls/4185
-- PR #4162(售后基建):https://git.1814.love:8443/wx/HL/pulls/4162
-- PR #4165(受理/处置 + OA 接入):https://git.1814.love:8443/wx/HL/pulls/4165
-- PR #4168(OA 回调内部接口):https://git.1814.love:8443/wx/HL/pulls/4168
-- PR #4187(退款驱动联动):https://git.1814.love:8443/wx/HL/pulls/4187
-- 后端负责人:腰苏图(yaosutu)
diff --git a/changelogs-v2-mp/2026-06/22_4196_售后工单机审-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/22_4196_售后工单机审-修改接口-小程序端.md
deleted file mode 100644
index 44b4330..0000000
--- a/changelogs-v2-mp/2026-06/22_4196_售后工单机审-修改接口-小程序端.md
+++ /dev/null
@@ -1,341 +0,0 @@
-# 售后工单接入 wx 内容安全机审 — 修改接口(小程序端)
-
-- **端类型**:小程序端
-- **日期**:2026-06-22
-- **Issue**:[#4196](https://git.1814.love:8443/wx/HL/issues/4196)
-- **PR**:[#4203](https://git.1814.love:8443/wx/HL/pulls/4203)
-- **Commit**:[8882eb156](https://git.1814.love:8443/wx/HL/commit/8882eb1568a7e5ab8f48a6db4b7e3d4d4b6f2c15)
-- **后端负责人**:yaosutu
-
----
-
-## 1. 接口背景
-
-用户在小程序发起售后工单(投诉/申诉)时,若附带图片或视频,前端需先通过微信内容安全 `msgSecCheck` 接口对媒体文件做内容审核,得到微信返回的 `traceId` 后,连同创建工单请求一并透传给后端。后端不直接调用微信安全接口,只存储 traceId,等待微信异步回调后更新审核状态。无图/无视频的工单跳过机审,直接置为 `APPROVED`。
-
----
-
-## 2. 变更清单
-
-| 变更类型 | 接口 | 字段 | 说明 |
-|---------|------|------|------|
-| ⚠️ 入参新增 | `POST /v3/mp/aftersale/ticket` | `mediaTraceIds` | 新增可选字段,机审 traceId 数组,最多 12 个 |
-| ✨ 出参新增 | `GET /v3/mp/aftersale/ticket/{id}` | `auditStatus` | 工单 wx 内容安全机审状态 |
-| ✨ 出参新增 | `GET /v3/mp/aftersale/ticket/list` | `auditStatus` | 工单列表每条记录新增机审状态 |
-
----
-
-## 3. 接口详情
-
-### 3.1 发起售后工单
-
-| 属性 | 值 |
-|-----|-----|
-| 方法 + 路径 | `POST /v3/mp/aftersale/ticket` |
-| 接口描述 | 用户发起售后工单(投诉/申诉),支持附件 + 机审 traceId 透传 |
-| 认证 | 需要用户 JWT(小程序登录 token) |
-| 幂等性 | 非幂等,每次调用创建一条新工单 |
-| 限流 | 无独立限流(受网关全局限流) |
-
-### 3.2 工单详情
-
-| 属性 | 值 |
-|-----|-----|
-| 方法 + 路径 | `GET /v3/mp/aftersale/ticket/{id}` |
-| 接口描述 | 获取单条售后工单详情 |
-| 认证 | 需要用户 JWT,仅可查自己的工单 |
-| 限流 | 无独立限流 |
-
-### 3.3 工单列表
-
-| 属性 | 值 |
-|-----|-----|
-| 方法 + 路径 | `GET /v3/mp/aftersale/ticket/list` |
-| 接口描述 | 查询当前用户的售后工单列表(分页) |
-| 认证 | 需要用户 JWT |
-| 限流 | 无独立限流 |
-
----
-
-## 4. 接口入参
-
-### 4.1 路径参数 / Query 参数
-
-`GET /v3/mp/aftersale/ticket/{id}`
-
-| 参数名 | 类型 | 必填 | 说明 |
-|-------|------|------|------|
-| id | Long | 是 | 工单 ID |
-
-### 4.2 请求体字段(POST /v3/mp/aftersale/ticket)
-
-| 字段名 | 类型 | 必填 | 校验 | 说明 |
-|-------|------|------|------|------|
-| orderId | Long | 是 | 不能为空 | 关联订单 ID |
-| category | String | 是 | 枚举:COMPLAINT / APPEAL | 工单分类:投诉 / 申诉 |
-| type | String | 是 | 枚举,见 §6 | 具体类型(如 HOTEL / GUIDE / PRICE) |
-| title | String | 是 | max=100 | 工单标题 |
-| description | String | 是 | max=2000 | 问题描述 |
-| attachments | List\ | 否 | max=10 | 附件 URL 列表(图片/视频) |
-| **mediaTraceIds** | **List\** | **否** | **max=12** | **微信内容安全 traceId 数组(前端透传,后端只存)** |
-
-> `mediaTraceIds` 与 `attachments` 一一对应关系由前端维护。后端不校验对应关系,仅存储用于异步机审回流。无附件时可不传或传空数组。
-
----
-
-## 5. 出参字段
-
-### TicketMpRespVO(工单详情/列表单条)
-
-| 字段名 | 类型 | 说明 |
-|-------|------|------|
-| id | Long | 工单 ID |
-| orderId | Long | 关联订单 ID |
-| orderNo | String | 订单编号 |
-| category | String | 工单分类枚举:COMPLAINT / APPEAL |
-| type | String | 工单类型 |
-| title | String | 标题 |
-| description | String | 描述 |
-| status | String | 工单状态:SUBMITTED / PROCESSING / RESOLVED / CLOSED / WITHDRAWN |
-| statusName | String | 工单状态中文名 |
-| canWithdraw | Boolean | 是否可撤回 |
-| **auditStatus** | **String** | **wx 内容安全机审状态,取值见 §6** |
-| attachments | List\ | 附件 URL |
-| createdAt | String | 创建时间(ISO 8601) |
-| updatedAt | String | 更新时间(ISO 8601) |
-
----
-
-## 6. 枚举 / 数据字典
-
-### auditStatus — wx 内容安全机审状态
-
-| 值 | 含义 | 触发条件 |
-|----|------|---------|
-| `PENDING` | 机审中 | 创建工单时有 mediaTraceIds(异步等待微信回调) |
-| `APPROVED` | 已通过 | 无 mediaTraceIds 的工单直接置此(免审);微信回调结果合规也置此 |
-| `MANUAL_REVIEW` | 人工复审 | 微信机审认为需人工介入 |
-| `REJECTED` | 已驳回 | 微信机审判定内容违规 |
-
-> **重要**:`PENDING` 状态为异步,工单创建成功后微信回调可能在数秒到数分钟内到达。前端建议在工单详情页轮询或基于页面刷新展示最新状态,不要把 `PENDING` 当作错误。
-
-### category — 工单分类
-
-| 值 | 含义 |
-|----|------|
-| `COMPLAINT` | 投诉 |
-| `APPEAL` | 申诉 |
-
----
-
-## 7. 错误码
-
-| 错误码 | HTTP 状态 | 含义 | 触发场景 |
-|-------|---------|------|---------|
-| 581001 | 400 | 工单关联订单不存在 | orderId 无效 |
-| 581002 | 400 | 工单已存在,不可重复提交 | 同一订单同分类已有活跃工单 |
-| 581003 | 400 | 订单状态不允许发起售后 | 订单未处于可售后状态 |
-| 200-001 | 401 | 未授权 | JWT 缺失或过期 |
-| 200-002 | 403 | 无权操作 | 工单不属于当前用户 |
-
----
-
-## 8. 示例
-
-### 8.1 典型成功——带图片机审
-
-**请求**
-```http
-POST /v3/mp/aftersale/ticket
-Authorization: Bearer
-Content-Type: application/json
-
-{
- "orderId": 1234567890,
- "category": "COMPLAINT",
- "type": "HOTEL",
- "title": "酒店降级安排",
- "description": "预订了四星酒店,实际安排了三星,差价未退。",
- "attachments": [
- "https://oss.example.com/media/hotel_photo_1.jpg",
- "https://oss.example.com/media/hotel_photo_2.jpg"
- ],
- "mediaTraceIds": [
- "trace_abc123def456",
- "trace_xyz789uvw012"
- ]
-}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "success",
- "data": {
- "id": 987654321,
- "orderId": 1234567890,
- "orderNo": "HL20260622001",
- "category": "COMPLAINT",
- "type": "HOTEL",
- "title": "酒店降级安排",
- "description": "预订了四星酒店,实际安排了三星,差价未退。",
- "status": "SUBMITTED",
- "statusName": "已提交",
- "canWithdraw": true,
- "auditStatus": "PENDING",
- "attachments": [
- "https://oss.example.com/media/hotel_photo_1.jpg",
- "https://oss.example.com/media/hotel_photo_2.jpg"
- ],
- "createdAt": "2026-06-22T10:30:00",
- "updatedAt": "2026-06-22T10:30:00"
- }
-}
-```
-
-> `auditStatus` 初始为 `PENDING`,等待微信异步回调后更新为 `APPROVED` / `MANUAL_REVIEW` / `REJECTED`。
-
-### 8.2 边界情况——无附件工单(直接 APPROVED)
-
-**请求**
-```http
-POST /v3/mp/aftersale/ticket
-Authorization: Bearer
-Content-Type: application/json
-
-{
- "orderId": 1234567890,
- "category": "APPEAL",
- "type": "PRICE",
- "title": "价格异议",
- "description": "行程中临时要求加收费用,合同未约定。",
- "attachments": [],
- "mediaTraceIds": []
-}
-```
-
-**响应**
-```json
-{
- "code": 200,
- "msg": "success",
- "data": {
- "id": 987654322,
- "orderId": 1234567890,
- "orderNo": "HL20260622001",
- "category": "APPEAL",
- "type": "PRICE",
- "title": "价格异议",
- "description": "行程中临时要求加收费用,合同未约定。",
- "status": "SUBMITTED",
- "statusName": "已提交",
- "canWithdraw": true,
- "auditStatus": "APPROVED",
- "attachments": [],
- "createdAt": "2026-06-22T10:35:00",
- "updatedAt": "2026-06-22T10:35:00"
- }
-}
-```
-
-> 无 mediaTraceIds 或传空数组时,`auditStatus` 直接为 `APPROVED`,无需等待回调。
-
-### 8.3 业务失败——订单已有活跃工单
-
-**请求**(同一订单同分类已存在未关闭工单)
-```http
-POST /v3/mp/aftersale/ticket
-Authorization: Bearer
-Content-Type: application/json
-
-{
- "orderId": 1234567890,
- "category": "COMPLAINT",
- "type": "GUIDE",
- "title": "导游服务差",
- "description": "导游态度恶劣。",
- "mediaTraceIds": []
-}
-```
-
-**响应**
-```json
-{
- "code": 581002,
- "msg": "工单已存在,不可重复提交",
- "data": null
-}
-```
-
----
-
-## 9. 业务边界
-
-**适用场景**:
-- 订单处于可售后状态(已出行、出行中、已完成等,具体由后端校验)
-- 有图片/视频附件时前端必须先完成 `wx.msgSecCheck` 得到 traceId 再调此接口
-- 无附件或不需要机审时,`mediaTraceIds` 可省略或传空数组
-
-**不适用场景**:
-- 已取消订单不可发起售后
-- 同一订单同分类已有活跃(非 CLOSED/WITHDRAWN)工单时,不可重复发起
-
-**特殊边界**:
-- `mediaTraceIds` 最多 12 个,超出返回参数校验错误
-- `auditStatus` 为 `PENDING` 时工单照常流转(客服可正常处理),机审结果不阻塞工单流程
-- `auditStatus` 为 `REJECTED` 时,仅作展示标记,工单处理流程由客服决定是否关闭
-
----
-
-## 10. 修改前后对比
-
-### 字段级对比
-
-**CreateTicketReqVO(入参)**
-
-| 字段 | 变更前 | 变更后 |
-|------|-------|-------|
-| mediaTraceIds | 不存在 | 新增,List\,可选,max=12 |
-
-**TicketMpRespVO(出参)**
-
-| 字段 | 变更前 | 变更后 |
-|------|-------|-------|
-| auditStatus | 不存在 | 新增,String,wx 机审状态 |
-
-### 行为级对比
-
-| 场景 | 变更前 | 变更后 |
-|------|-------|-------|
-| 带图片发起工单 | 无机审,无审核状态 | 存 traceId,初始 auditStatus=PENDING,微信异步回调更新 |
-| 无图片发起工单 | 无机审状态字段 | auditStatus 直接置 APPROVED |
-
----
-
-## 11. 影响评估 / 回滚
-
-| 维度 | 结论 |
-|------|------|
-| 破坏兼容性 | 否(入参新增可选字段,旧版不传兼容;出参新增字段,旧版忽略) |
-| 前端同步上线 | 建议同步:入参传 mediaTraceIds 发挥机审能力;出参展示 auditStatus |
-| 回滚方案 | 后端回滚 PR #4203 即可,无 DDL 数据损失风险(DDL 只加列不删) |
-
----
-
-## 12. 注意事项
-
-1. `mediaTraceIds` 由前端在调用微信 `wx.msgSecCheck` 后获得,后端不直接调微信安全接口,只做存储和转发。
-2. `auditStatus=PENDING` 是异步状态,不代表工单异常,客服后台可正常处理。
-3. 历史工单(此 PR 上线前创建的)`auditStatus` 字段为 `null`,前端展示时建议视 `null` 等同于 `APPROVED` 处理。
-4. 微信机审结果 `REJECTED` 不自动关闭工单,仅打标记,由客服决定后续处理。
-
----
-
-## 13. 关联 / 联系人
-
-- **Issue**:[https://git.1814.love:8443/wx/HL/issues/4196](https://git.1814.love:8443/wx/HL/issues/4196)
-- **PR**:[https://git.1814.love:8443/wx/HL/pulls/4203](https://git.1814.love:8443/wx/HL/pulls/4203)
-- **Commit**:[https://git.1814.love:8443/wx/HL/commit/8882eb1568a7e5ab8f48a6db4b7e3d4d4b6f2c15](https://git.1814.love:8443/wx/HL/commit/8882eb1568a7e5ab8f48a6db4b7e3d4d4b6f2c15)
-- **关联 Issue**:[#4161 售后申诉中心](https://git.1814.love:8443/wx/HL/issues/4161)
-- **后端负责人**:yaosutu
diff --git a/changelogs-v2-mp/2026-06/22_售后工单mp端归属校验加固_小程序.md b/changelogs-v2-mp/2026-06/22_售后工单mp端归属校验加固_小程序.md
deleted file mode 100644
index b5a6249..0000000
--- a/changelogs-v2-mp/2026-06/22_售后工单mp端归属校验加固_小程序.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# 【修正·小程序】售后工单 mp 端接口加归属校验(防横向越权)
-
-> 模块:order-v3 售后工单(aftersale)小程序端
-> 类型:安全加固(每日审查驱动,新模块上线前修正)
-> 影响端点:`/v3/mp/aftersale/ticket/**`(我的工单列表 / 详情 / 撤回)
-> 关联:售后工单中心 PR1-5(#4162/#4165/#4168/#4173/#4185)的每日审查修正
-> 测试服已部署验证(9443 实测端点 200)
-
-## ⚠️ 关键说明
-
-售后工单 mp 端三个用户入口此前缺少归属校验,任意登录用户传他人 `ticketId`/`orderId` 即可读取或撤回他人工单(横向越权 IDOR)。本次加固:**经订单归属校验当前用户是否为下单人**,非本人操作返回错误码 **586014(TICKET_NOT_OWN)**。
-
-正常业务流程下,小程序用户只操作自己订单的售后工单,**不会触发**该错误;前端无需改动,仅需对 586014 做兜底提示(如「无权访问该工单」)。
-
-## 1. 受影响端点与行为
-
-| 端点 | 修正 |
-|------|------|
-| `GET /v3/mp/aftersale/ticket/my`(我的工单列表) | 新增按当前用户校验 `orderId` 归属;端点入参不变,仅服务端加校验 |
-| `GET /v3/mp/aftersale/ticket/{id}`(工单详情) | 校验工单所属订单归属当前用户,非本人抛 586014 |
-| `POST /v3/mp/aftersale/ticket/{id}/withdraw`(撤回) | 同上归属校验,非本人不可撤回(且不再触发他人 OA 审批撤销) |
-
-## 2. 附带修正:撤回工单不再消失
-
-撤回(WITHDRAWN)此前被误当软删处理,导致撤回后的工单在「我的工单」列表/详情中**永久不可见**。本次修正后,**撤回是可见终态**,撤回的工单仍可在列表与详情中查看(状态显示「已撤回」)。
-
-## 3. 错误码
-
-| code | 含义 |
-|------|------|
-| 586014 | 无权操作该售后工单(非本人订单)|
diff --git a/changelogs-v2-mp/2026-06/23_4250_退款申诉新增+售后工单下线-小程序端.md b/changelogs-v2-mp/2026-06/23_4250_退款申诉新增+售后工单下线-小程序端.md
deleted file mode 100644
index bc23332..0000000
--- a/changelogs-v2-mp/2026-06/23_4250_退款申诉新增+售后工单下线-小程序端.md
+++ /dev/null
@@ -1,222 +0,0 @@
-# 退款申诉(新增)+ 统一售后工单接口下线(小程序端)
-
-- 端类型:小程序端
-- 变更类型:新增接口(4)+ 删除接口(统一售后工单 mp 端)
-- 关联 Issue:#4250 PR:#4251 #4254
-- 日期:2026-06-23
-
----
-
-## ① 接口背景
-
-售后体系重构:原"投诉 + 申诉统一售后工单"方向作废,拆为**投诉**与**申诉**两套独立能力。
-- **申诉**:用户对"退款被拒"或"退款金额"不服时发起,**小程序入口仍是「退款申诉」**。申诉记录单独存(不再混入退款申请表)。
-- **关键变化**:申诉**复用既有退款审批**——发起申诉后系统自动建一笔 PENDING 退款申请,由管理员在退款审批里复核(通过则退款 / 驳回则结束);申诉本身不再有独立审批。
-- 原统一售后工单接口(`/v3/mp/aftersale/ticket*`)**全部下线**。
-
----
-
-## ② 变更清单
-
-| # | 方法 | 路径 | 类型 |
-|---|---|---|---|
-| 1 | POST | `/v3/mp/refund/appeal` | 🆕 新增(发起申诉)|
-| 2 | GET | `/v3/mp/refund/appeal/my` | 🆕 新增(我的申诉,分页)|
-| 3 | GET | `/v3/mp/refund/appeal/{id}` | 🆕 新增(申诉详情)|
-| 4 | POST | `/v3/mp/refund/appeal/{id}/withdraw` | 🆕 新增(撤回申诉)|
-| 5 | ALL | `/v3/mp/aftersale/ticket*` | ❌ 删除(统一售后工单下线,调用返回 404)|
-
-统一响应包装 `Result`:`{ code, message, data, success }`,`code=200` 为成功。
-
----
-
-## ③ 接口详情
-
-### 1. 发起申诉 `POST /v3/mp/refund/appeal`
-用户对一笔退款申请发起申诉。两种类型:`REFUND_REJECTED`(退款被拒,原退款 status=REJECTED 才可申诉)/ `REFUND_AMOUNT_DISPUTE`(退款金额异议,原退款 status=REFUNDED 求补差)。
-> 发起成功后:① 落一条申诉记录(PENDING)② **自动建一笔 PENDING 退款申请**走退款审批 ③ 订单进入「售后中」。
-
-### 2. 我的申诉 `GET /v3/mp/refund/appeal/my`
-当前登录用户的申诉分页列表。
-
-### 3. 申诉详情 `GET /v3/mp/refund/appeal/{id}`
-单条申诉详情,含关联的两笔退款(来源退款 + 申诉触发的退款)。
-
-### 4. 撤回申诉 `POST /v3/mp/refund/appeal/{id}/withdraw`
-仅 `PENDING`(审批中)状态可撤回;撤回会一并取消申诉触发的那笔 PENDING 退款申请。
-
----
-
-## ④ 入参
-
-### 接口1 create(`@RequestBody`,登录态 userId 由网关注入)
-| 参数 | 类型 | 必填 | 说明 |
-|---|---|---|---|
-| refundApplicationId | long | 是 | 来源退款申请 ID(被申诉的那笔退款)|
-| appealType | string | 是 | 申诉类型:`REFUND_REJECTED` / `REFUND_AMOUNT_DISPUTE` |
-| appealReason | string | 是 | 申诉理由(≤2000 字)|
-| appealAmount | string(decimal) | 否 | 期望退款金额(金额异议时填)|
-| mediaTraceIds | string[] | 否 | 凭证图片机审 traceId 列表(前端上传后透传,≤12)|
-
-### 接口2 my
-| 参数 | 类型 | 必填 | 说明 |
-|---|---|---|---|
-| pageNo | int | 否 | 页码,默认 1 |
-| pageSize | int | 否 | 每页条数,默认 20 |
-
-### 接口3 detail / 接口4 withdraw
-| 参数 | 位置 | 类型 | 说明 |
-|---|---|---|---|
-| id | path | long | 申诉 ID |
-
----
-
-## ⑤ 出参
-
-### 接口1 create `Result`
-`data` = 新建申诉 ID(字符串化 Long)。
-
-### 接口2 my `Result>`;接口3 detail `Result`
-`PageResult`:`{ records[], total, page, pageSize }`。`AppealMpRespVO`:
-
-| 字段 | 类型 | 说明 |
-|---|---|---|
-| id | string(Long) | 申诉 ID |
-| orderId | string(Long) | 订单 ID |
-| refundApplicationId | string(Long) | 来源退款申请 ID |
-| appealType | string | 申诉类型(枚举值,见⑥)|
-| appealTypeLabel | string | 申诉类型中文名 |
-| appealReason | string | 申诉理由 |
-| appealAmount | string(decimal) | 申诉退款金额 |
-| appealStatus | string | 申诉状态(枚举值,见⑥)|
-| appealStatusLabel | string | 申诉状态中文名 |
-| applicantName | string | 申请人姓名 |
-| reviewedAt | datetime | 审批完成时间(可空)|
-| createTime | datetime | 创建时间 |
-| sourceRefund | object | 来源退款信息(被申诉的原退款),见下 |
-| triggeredRefund | object | 申诉触发的退款信息(申诉建单后自动生成的退款),见下 |
-
-`sourceRefund` / `triggeredRefund` 结构(关联退款信息):
-| 字段 | 类型 | 说明 |
-|---|---|---|
-| refundApplicationId | string(Long) | 退款申请 ID |
-| status | string | 退款状态(PENDING/APPROVED/REJECTED/REFUNDING/REFUNDED/CANCELLED/ABNORMAL)|
-| actualAmount | string(decimal) | 实际退款金额(可空)|
-
-### 接口4 withdraw `Result`
-`data` = null。
-
----
-
-## ⑥ 枚举 / 数据字典
-
-**申诉类型 appealType**:
-| 值 | 含义 |
-|---|---|
-| REFUND_REJECTED | 退款被拒(原退款被驳回后申诉)|
-| REFUND_AMOUNT_DISPUTE | 退款金额异议(已退款但金额有异议,求补差)|
-
-**申诉状态 appealStatus**:
-| 值 | 含义 |
-|---|---|
-| PENDING | 审批中(申诉触发的退款申请待退款审批)|
-| REJECTED | 已驳回(退款审批驳回)|
-| REFUNDED | 退款到账(申诉成功,退款已退)|
-| WITHDRAWN | 已撤回 |
-
----
-
-## ⑦ 错误码(段位 530600-530699)
-
-| code | message |
-|---|---|
-| 530601 | 申诉必须关联一笔退款申请 |
-| 530602 | 关联的退款申请不存在 |
-| 530603 | 退款申请当前状态不满足申诉条件 |
-| 530604 | 该退款申请已有处理中的申诉,请勿重复提交 |
-| 530605 | 申诉退款金额超出可退余额 |
-| 530606 | 申诉记录不存在 |
-| 530607 | 无权操作此申诉 |
-| 530608 | 当前申诉状态不允许撤回,仅待审核状态可撤回 |
-| 530609 | 申诉类型无效 |
-
----
-
-## ⑧ 示例
-
-### 典型:发起申诉(退款被拒)
-请求 `POST /v3/mp/refund/appeal`:
-```json
-{ "refundApplicationId": 20001, "appealType": "REFUND_REJECTED",
- "appealReason": "退款审核不合理,申请复核", "appealAmount": "300.00",
- "mediaTraceIds": [] }
-```
-响应:`{ "code":200, "message":"成功", "data":"40001", "success":true }`
-
-### 典型:我的申诉
-请求 `GET /v3/mp/refund/appeal/my?pageNo=1&pageSize=10`,响应(节选一项):
-```json
-{ "code":200, "success":true, "data": { "total":1, "records":[
- { "id":"40001", "orderId":"10001", "appealType":"REFUND_REJECTED", "appealTypeLabel":"退款被拒",
- "appealStatus":"PENDING", "appealStatusLabel":"审批中", "appealAmount":"300.00",
- "sourceRefund": { "refundApplicationId":"20001", "status":"REJECTED", "actualAmount":null },
- "triggeredRefund": { "refundApplicationId":"20009", "status":"PENDING", "actualAmount":null } }
-] } }
-```
-
-### 异常:重复申诉
-对同一退款申请已有处理中申诉时再发起:
-```json
-{ "code":530604, "message":"该退款申请已有处理中的申诉,请勿重复提交", "success":false }
-```
-
-### 异常:调用已下线的工单接口
-请求 `POST /v3/mp/aftersale/ticket`(旧统一售后工单接口):
-```json
-{ "code":404, "message":"Not Found" }
-```
-
----
-
-## ⑨ 业务边界
-
-- 申诉**复用退款审批**:发起后自动建 PENDING 退款申请,管理员在退款审批里复核——**前端不要再调用任何"申诉审批"接口**(已无独立申诉审批)。
-- 申诉状态跟随其触发的退款申请:退款到账→REFUNDED,退款审批驳回→REJECTED。
-- 撤回仅 PENDING 可撤,且会取消触发的 PENDING 退款。
-- 申诉发起即把订单标记「售后中」,终结(REFUNDED/REJECTED/WITHDRAWN 且无其他活跃售后)后回切。
-
----
-
-## ⑩ 修改前后对比
-
-| | 修改前 | 修改后 |
-|---|---|---|
-| 申诉入口 | 统一售后工单 `POST /v3/mp/aftersale/ticket`(category=APPEAL)| `POST /v3/mp/refund/appeal` |
-| 我的申诉 | `/v3/mp/aftersale/ticket/my` | `/v3/mp/refund/appeal/my` |
-| 详情/撤回 | `/v3/mp/aftersale/ticket/{id}` `/{id}/withdraw` | `/v3/mp/refund/appeal/{id}` `/{id}/withdraw` |
-| 审批 | 申诉独立 OA 审批 | 无(复用退款审批)|
-
----
-
-## ⑪ 影响评估 / 回滚
-
-- **破坏性**:`/v3/mp/aftersale/ticket*` 已删,调用返回 404,前端涉及"退款申诉"的页面**必须切到新申诉接口**。
-- 投诉接口不在此列(投诉走 C 端经 BFF 的现有通道,无变化)。
-- 回滚:后端回滚 PR #4251 #4254。
-
----
-
-## ⑫ 注意事项
-
-- 金额字段(appealAmount / actualAmount)均为**字符串**,前端按字符串处理防精度丢失。
-- Long 型 ID 均字符串化返回(防 JS 精度)。
-- 上传凭证图片仍走既有 wx 内容安全机审通道(mediaTraceIds 透传)。
-
----
-
-## ⑬ 关联 / 联系人
-
-- Issue:https://git.1814.love:8443/wx/HL/issues/4250
-- PR:https://git.1814.love:8443/wx/HL/pulls/4251 ・ https://git.1814.love:8443/wx/HL/pulls/4254
-- 后端负责人:腰苏图
-- 已部署测试服并网关实调验证通过(申诉接口 200 / 工单接口 404)。
diff --git a/changelogs-v2-mp/2026-06/23_4290_发票申请票种修正-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/23_4290_发票申请票种修正-修改接口-小程序端.md
deleted file mode 100644
index 2f96ea1..0000000
--- a/changelogs-v2-mp/2026-06/23_4290_发票申请票种修正-修改接口-小程序端.md
+++ /dev/null
@@ -1,336 +0,0 @@
-# 发票申请票种修正(最终契约)— 小程序端
-
-> 变更类型:修改接口(破坏性)
-> 端类型:小程序端
-> 日期:2026-06-23 | Issue:#4296 | PR:#4292 / #4302 | 服务:hl-order-service-v3
-
-> ⚠️ **破坏性变更**:`invoiceType` 删除 `ELECTRONIC`、`email` 改为始终必填 + 格式校验、专票限公司抬头 + 必填五项、删除 `mailAddress` 字段。小程序开票页与详情页均需同步改动,上线时前后端须同步发布。
-
-> **勘误(截至 PR #4311 收口)**:抬头字段统一 `titleName`、金额 `amount` 改 JSON number(单位元,非分/x100)、票种仅 2 值(`VAT_NORMAL`/`VAT_SPECIAL`)、专票限公司抬头、入参和出参均无 `mailAddress`。关联 Issue [#4290](https://git.1814.love:8443/wx/HL/issues/4290) [#4296](https://git.1814.love:8443/wx/HL/issues/4296) [#4310](https://git.1814.love:8443/wx/HL/issues/4310) / PR [#4292](https://git.1814.love:8443/wx/HL/pulls/4292) [#4302](https://git.1814.love:8443/wx/HL/pulls/4302) [#4311](https://git.1814.love:8443/wx/HL/pulls/4311)。
-
----
-
-## 接口背景
-
-发票模型经 PR #4292 + #4302 多轮修正后定稿:删除「电子发票」票种(业务决策统一走普票),专票收严字段校验(限公司抬头 + 必填银行注册信息),email 改为始终必填(全系统电子交付),删除纸质邮寄字段 `mailAddress`。
-
-本次涉及小程序两个接口:初次申请 `POST /v3/internal/mp/order/{orderId}/invoice/apply` 和重新开票 `POST /v3/internal/mp/invoice/{id}/reissue`,入参字段矩阵相同,出参亦做同步修正(删 `mailAddress`,invoiceType 去 ELECTRONIC)。
-
----
-
-## 变更清单
-
-| # | 变更类型 | 说明 |
-|---|---------|------|
-| 1 | ⚠️ 申请入参删枚举值 | `invoiceType` 删除 `ELECTRONIC`,只保留 `VAT_NORMAL` / `VAT_SPECIAL` |
-| 2 | ⚠️ 申请入参删字段 | 删除 `mailAddress`(纸质邮寄地址) |
-| 3 | ⚠️ 申请入参校验收严 | `email` 改为始终必填 + 邮箱格式校验 |
-| 4 | ⚠️ 申请入参校验新增 | `taxNo`:单位抬头或专票时必填 |
-| 5 | ⚠️ 申请入参校验新增 | 专票:`bankName` / `bankAccount` / `registAddress` / `registPhone` 四项必填 |
-| 6 | ⚠️ 申请入参新增错误码 | `581523` 专票只能开给单位 |
-| 7 | ⚠️ 详情出参删字段 | `GET /v3/internal/mp/order/{orderId}/invoice/detail` 出参删除 `mailAddress` |
-| 8 | ⚠️ 列表出参枚举收窄 | `GET /v3/internal/mp/order/{orderId}/invoice/list` 出参 invoiceType 不再出现 ELECTRONIC |
-| 9 | 重开接口同步 | `POST /v3/internal/mp/invoice/{id}/reissue` 入参字段矩阵与申请接口保持一致 |
-
----
-
-## 接口详情
-
-### 小程序申请接口
-
-| 项 | 说明 |
-|---|------|
-| **方法 + 路径** | `POST /v3/internal/mp/order/{orderId}/invoice/apply` |
-| **接口名** | 小程序客户自主申请发票 |
-| **描述** | 客户在订单完成后自主提交开票申请,支持普票/专票,全电子交付 |
-| **认证** | 小程序 JWT(Bearer Token,C 端用户) |
-| **幂等性** | 非幂等,重复提交触发 581511(一单一票) |
-| **限流** | 无特殊限流 |
-
-### 小程序重开接口
-
-| 项 | 说明 |
-|---|------|
-| **方法 + 路径** | `POST /v3/internal/mp/invoice/{id}/reissue` |
-| **接口名** | 小程序重新开票 |
-| **描述** | 旧发票作废后,客户重新提交开票申请;入参字段矩阵与 apply 接口相同 |
-| **认证** | 小程序 JWT(Bearer Token,C 端用户) |
-| **幂等性** | 非幂等 |
-| **限流** | 无特殊限流 |
-
----
-
-## 接口入参
-
-### 路径参数
-
-**apply 接口:**
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| `orderId` | string(Long 雪花 ID) | 是 | 订单 ID |
-
-**reissue 接口:**
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| `id` | string(Long 雪花 ID) | 是 | 被重开的旧发票 ID |
-
-### 请求体字段(两接口共用)
-
-| 字段名 | 类型 | 必填条件 | 说明 |
-|--------|------|---------|------|
-| `invoiceType` | string | 始终必填 | 发票类型:`VAT_NORMAL`(普票)/ `VAT_SPECIAL`(专票);**不含 ELECTRONIC** |
-| `titleType` | string | 始终必填 | 抬头类型:`COMPANY`(单位)/ `PERSONAL`(个人);**VAT_SPECIAL 只能 COMPANY** |
-| `titleName` | string | 始终必填 | 发票抬头 |
-| `taxNo` | string | `titleType=COMPANY` 或 `invoiceType=VAT_SPECIAL` 时必填 | 纳税人识别号 |
-| `bankName` | string | `invoiceType=VAT_SPECIAL` 时必填 | 开户银行 |
-| `bankAccount` | string | `invoiceType=VAT_SPECIAL` 时必填 | 银行账号 |
-| `registAddress` | string | `invoiceType=VAT_SPECIAL` 时必填 | 注册地址 |
-| `registPhone` | string | `invoiceType=VAT_SPECIAL` 时必填 | 注册电话 |
-| `amount` | number | 始终必填 | 开票金额,JSON number,单位**元**(如 `986.00`),须 > 0 且不超过订单总金额 |
-| `email` | string | 始终必填 | 收件邮箱,须通过邮箱格式校验 |
-| `remark` | string | 选填 | 备注 |
-
-> ⚠️ `mailAddress` 字段**已删除**,不再接收。
-
----
-
-## 出参字段
-
-### apply / reissue 接口出参
-
-返回结构:`Result`
-
-| 字段名 | 类型 | 说明 |
-|--------|------|------|
-| `data` | string | 新建/重开发票 ID,字符串雪花 ID |
-
-### 发票详情出参变化(GET /v3/internal/mp/order/{orderId}/invoice/detail)
-
-| 字段名 | 变化 | 说明 |
-|--------|------|------|
-| `mailAddress` | **已删除** | 原出参中此字段已移除,前端不应再渲染邮寄地址 |
-| `invoiceType` | 值范围收窄 | 只会出现 `VAT_NORMAL` / `VAT_SPECIAL`,不再出现 `ELECTRONIC` |
-| `email` | 始终有值 | 原可能为 null,现始终有值 |
-
----
-
-## 枚举 / 数据字典
-
-### 发票类型(invoiceType)
-
-| 枚举值 | 中文名 | 适用抬头 | 专票字段要求 |
-|--------|--------|---------|------------|
-| `VAT_NORMAL` | 增值税普通发票 | COMPANY / PERSONAL | 专票四项均不需要 |
-| `VAT_SPECIAL` | 增值税专用发票 | **仅 COMPANY** | taxNo + bankName + bankAccount + registAddress + registPhone 全必填 |
-
-> ~~`ELECTRONIC`~~ 已删除,不得传入。
-
-### 抬头类型(titleType)
-
-| 枚举值 | 中文名 | 可选票种 |
-|--------|--------|---------|
-| `COMPANY` | 单位 | VAT_NORMAL / VAT_SPECIAL |
-| `PERSONAL` | 个人 | 只能 VAT_NORMAL,选 VAT_SPECIAL 返回 581523 |
-
----
-
-## 错误码
-
-| 错误码 | 含义 | 触发场景 |
-|--------|------|---------|
-| `581510` | 订单未完成,不可开票 | 订单状态不是 COMPLETED |
-| `581511` | 一单一票,已有有效发票 | 已有 REQUESTED / ISSUED / PUSHED 状态发票 |
-| `581512` | 开票金额超订单总额 | `amount` > 订单 `orderAmount` |
-| `581513` | 发票类型非法 | `invoiceType` 不是 VAT_NORMAL 或 VAT_SPECIAL |
-| `581514` | 公司抬头或专票须填税号 | 单位抬头或专票时 `taxNo` 为空 |
-| `581515` | 专票须填银行及注册信息 | 专票时任一四项为空 |
-| `581516` | 收件邮箱不能为空 | HTTP 400,入参层 @NotBlank 校验;格式错误返回 400「邮箱格式不正确」 |
-| `581523` | 专票只能开给单位 | `invoiceType=VAT_SPECIAL` 且 `titleType=PERSONAL` |
-| `401` | 未授权 | 未携带有效 JWT |
-| `403` | 无权限 / 越权 | 非订单归属用户操作 |
-
----
-
-## 示例
-
-### 典型成功(增值税普通发票,个人抬头)
-
-请求:
-```
-POST /v3/internal/mp/order/1920000000000000001/invoice/apply
-Authorization: Bearer
-Content-Type: application/json
-```
-```json
-{
- "invoiceType": "VAT_NORMAL",
- "titleType": "PERSONAL",
- "titleName": "张三",
- "taxNo": null,
- "amount": 986.00,
- "email": "zhangsan@qq.com",
- "remark": "旅游报销"
-}
-```
-
-响应:
-```json
-{
- "code": 200,
- "msg": "success",
- "data": "1934567890123456789"
-}
-```
-
-### 典型成功(增值税专用发票,公司抬头,全字段)
-
-请求:
-```
-POST /v3/internal/mp/order/1920000000000000002/invoice/apply
-Authorization: Bearer
-Content-Type: application/json
-```
-```json
-{
- "invoiceType": "VAT_SPECIAL",
- "titleType": "COMPANY",
- "titleName": "某某科技有限公司",
- "taxNo": "91310000XXXXXXXXXX",
- "bankName": "招商银行上海支行",
- "bankAccount": "1234567890123456",
- "registAddress": "上海市浦东新区XX路XX号",
- "registPhone": "021-88888888",
- "amount": 2980.00,
- "email": "finance@company.com"
-}
-```
-
-响应:
-```json
-{
- "code": 200,
- "msg": "success",
- "data": "1934567890123456790"
-}
-```
-
-### 业务失败(专票个人抬头,错误码 581523)
-
-请求:
-```
-POST /v3/internal/mp/order/1920000000000000003/invoice/apply
-Authorization: Bearer
-Content-Type: application/json
-```
-```json
-{
- "invoiceType": "VAT_SPECIAL",
- "titleType": "PERSONAL",
- "titleName": "李四",
- "taxNo": null,
- "amount": 500.00,
- "email": "lisi@example.com"
-}
-```
-
-响应:
-```json
-{
- "code": 581523,
- "msg": "增值税专用发票只能开给单位,个人抬头不可选专票",
- "data": null
-}
-```
-
----
-
-## 业务边界
-
-**适用场景**
-- 客户在小程序「我的订单 - 订单详情」中点「申请发票」,订单状态为 COMPLETED 时可用
-- 旧发票被作废后,客户在小程序发起重新申请(reissue 接口)
-
-**不适用场景**
-- 订单未完成(非 COMPLETED 状态),返回 581510
-- 已有有效发票,须先由财务作废后才能 reissue,不能再次 apply
-- 管理后台代客申请走 admin 专属接口
-
-**特殊边界**
-- 金额单位:`amount` 为 JSON number,单位**元**(如 `986.00`),前端输入框以元为单位直接提交,无需 x100
-- 一单一票:同一订单至多一张有效发票
-- 专票抬头联动:选专票后,抬头类型需强制为单位,个人选项需禁用或隐藏
-- 详情回显:`mailAddress` 字段已不存在,前端不应渲染邮寄地址块
-
----
-
-## 修改前后对比
-
-### 发票类型枚举
-
-| 旧值 | 新值 |
-|------|------|
-| VAT_NORMAL(保留) | VAT_NORMAL(保留) |
-| VAT_SPECIAL(保留) | VAT_SPECIAL(保留) |
-| ELECTRONIC(电子发票) | **已删除** |
-
-### email 字段校验
-
-| 旧行为 | 新行为 |
-|--------|--------|
-| 条件必填(ELECTRONIC 时才必填) | **始终必填 + 邮箱格式校验** |
-
-### mailAddress 字段
-
-| 旧行为 | 新行为 |
-|--------|--------|
-| 申请入参可选填;详情/列表出参包含此字段 | **申请入参已删除;详情出参已删除** |
-
-### 专票限制
-
-| 旧行为 | 新行为 |
-|--------|--------|
-| titleType 无限制 | 专票只能 COMPANY(个人返回 581523) |
-| bankName 等无强制要求 | 专票 taxNo + 银行四项全部必填(返回 581515) |
-
----
-
-## 影响评估 / 回滚
-
-### 小程序开票页必须改动
-
-| 模块 | 必须改动 |
-|------|---------|
-| 发票类型选择 | 去掉「电子发票」,只保留「增值税普通发票」/「增值税专用发票」 |
-| 专票表单区块 | 新增开户行、银行账号、注册地址、注册电话 4 个必填项,仅选专票时显示 |
-| 抬头类型联动 | 选专票时隐藏/禁用「个人」选项 |
-| email 输入框 | 改为必填(加红星),增加邮箱格式校验 |
-| mailAddress 输入框 | 移除,不再渲染邮寄地址块 |
-| 详情页 | 移除邮寄地址展示区,invoiceType 显示只有普票/专票两种文案 |
-
-### 回滚方案
-
-后端回滚至 PR #4292 前,ELECTRONIC 重新有效,email 恢复条件必填,mailAddress 重新可用。小程序需同步回滚开票页逻辑。
-
----
-
-## 注意事项
-
-1. `ELECTRONIC` 已从枚举删除,小程序开票选项只有两项,禁止出现「电子发票」
-2. 重开接口(reissue)入参字段矩阵与 apply 完全相同,改动同步适用
-3. 专票五项(taxNo + 开户行 + 账号 + 注册地址 + 注册电话)在专票场景下全必填,缺一返回 581515
-4. 详情页 `mailAddress` 字段已消失,老版本小程序读到 undefined 需做好空值守卫(不报错)
-5. `amount` 为 JSON number,单位**元**(如 `986.00`),小程序输入框直接传元值,无需 x100
-
----
-
-## 关联 / 联系人
-
-| 项 | 内容 |
-|----|------|
-| **Issue(功能)** | [#4290 发票申请票种修正](https://git.1814.love:8443/wx/HL/issues/4290) |
-| **Issue(小程序)** | [#4296 小程序发票申请同步修正](https://git.1814.love:8443/wx/HL/issues/4296) |
-| **PR(票种删 ELECTRONIC)** | [#4292](https://git.1814.love:8443/wx/HL/pulls/4292) |
-| **PR(专票限公司/email 必填/删 mailAddress)** | [#4302](https://git.1814.love:8443/wx/HL/pulls/4302) |
-| **后端负责人** | yst |
diff --git a/changelogs-v2-mp/2026-06/25_4360_发票申请删amount+门槛放宽-修改接口-小程序端.md b/changelogs-v2-mp/2026-06/25_4360_发票申请删amount+门槛放宽-修改接口-小程序端.md
deleted file mode 100644
index 89637f7..0000000
--- a/changelogs-v2-mp/2026-06/25_4360_发票申请删amount+门槛放宽-修改接口-小程序端.md
+++ /dev/null
@@ -1,217 +0,0 @@
-# 发票申请删 amount · 门槛放宽(小程序端)
-
-- **接口**:POST /v3/internal/mp/order/{orderId}/invoice/apply
-- **变更类型**:修改接口,破坏性变更(申请入参删 amount;申请门槛扩展;新增错误码 581524)
-- **端类型**:小程序端
-- **日期**:2026-06-25
-- **Issue**:[#4353](https://git.1814.love:8443/wx/HL/issues/4353)
-- **PR**:[#4360](https://git.1814.love:8443/wx/HL/pulls/4360)
-
----
-
-## 1 接口背景
-
-小程序端发票申请接口(POST /v3/internal/mp/order/{orderId}/invoice/apply)本次同步两项改动:
-
-1. **申请入参删 amount**:开票金额不再前端传入,开票时后端按规则自动计算(正常单=应收总额;取消单=净实收)。
-2. **申请门槛放宽**:原门槛仅允许 COMPLETED(已完成)订单申请;放宽为定制中及以后均可申请,同时支持已取消但净实收 > 0 的订单申请。
-
----
-
-## 2 变更清单
-
-| # | 变更项 | 变更前 | 变更后 |
-|---|--------|--------|--------|
-| 1 | 申请入参 amount | 必填字段,客户填写开票金额 | ⚠️ 已删除,后端开票时自动算 |
-| 2 | 申请门槛(正常订单) | 订单状态必须 COMPLETED | 状态 ∈ {CUSTOMIZING / PENDING_DEPARTURE / TRAVELLING / COMPLETED} 均可申请 |
-| 3 | 申请门槛(取消订单) | 不允许 | CANCELLED 且净实收(已付 - 已退)> 0 时可申请 |
-| 4 | 不满足门槛的错误码 | 581510 INVOICE_ORDER_NOT_COMPLETED | ✨ 新增 581524 INVOICE_ORDER_NOT_APPLICABLE(更精确语义) |
-
----
-
-## 3 接口详情
-
-| 属性 | 值 |
-|------|----|
-| 方法 | POST |
-| 路径 | /v3/internal/mp/order/{orderId}/invoice/apply |
-| 描述 | 客户自主申请开票(申请阶段不填金额,开票时后端自动算) |
-| 认证 | Bearer JWT(小程序用户) |
-| 幂等性 | 非幂等,重复提交触发 581511(一单一票) |
-| 限流 | 无特殊限制 |
-
----
-
-## 4 接口入参
-
-### 4.1 路径参数
-
-| 参数名 | 类型 | 必填 | 说明 |
-|--------|------|------|------|
-| orderId | string(Long 雪花) | 是 | 订单 ID |
-
-### 4.2 请求体字段(MpInvoiceApplyReqVO,⚠️ amount 已删)
-
-当前完整字段列表(无 amount):
-
-| 字段 | 类型 | 必填条件 | 说明 |
-|------|------|---------|------|
-| invoiceType | string | 始终必填 | 发票类型,只有 VAT_NORMAL / VAT_SPECIAL 两值 |
-| titleType | string | 始终必填 | 抬头类型:COMPANY(单位)/ PERSONAL(个人);VAT_SPECIAL 只能 COMPANY |
-| titleName | string | 始终必填 | 发票抬头(企业全称或个人姓名) |
-| taxNo | string | titleType=COMPANY 或 invoiceType=VAT_SPECIAL 时必填 | 纳税人识别号 |
-| bankName | string | invoiceType=VAT_SPECIAL 时必填 | 开户银行名称 |
-| bankAccount | string | invoiceType=VAT_SPECIAL 时必填 | 银行账号 |
-| registAddress | string | invoiceType=VAT_SPECIAL 时必填 | 注册地址 |
-| registPhone | string | invoiceType=VAT_SPECIAL 时必填 | 注册电话 |
-| email | string | 始终必填 | 收件邮箱,需通过邮箱格式校验 |
-| remark | string | 选填 | 申请备注 |
-
----
-
-## 5 出参字段
-
-响应:成功返回新建发票 ID(字符串,雪花 ID)。
-
-
-
----
-
-## 6 枚举 / 数据字典
-
-### 6.1 发票类型(invoiceType)
-
-| code | 说明 |
-|------|------|
-| VAT_NORMAL | 增值税普通发票 |
-| VAT_SPECIAL | 增值税专用发票 |
-
-### 6.2 抬头类型(titleType)
-
-| code | 说明 | 限制 |
-|------|------|------|
-| COMPANY | 单位 | 普票/专票均可 |
-| PERSONAL | 个人 | 只能选 VAT_NORMAL;选 VAT_SPECIAL 返回 581523 |
-
-### 6.3 订单状态与可申请关系
-
-| 订单状态(code) | 中文 | 可申请? | 说明 |
-|----------------|------|---------|------|
-| CUSTOMIZING | 定制中 | 是 | 放宽新增 |
-| PENDING_DEPARTURE | 待出行 | 是 | 放宽新增 |
-| TRAVELLING | 出行中 | 是 | 放宽新增 |
-| COMPLETED | 已完成 | 是 | 原有 |
-| CANCELLED | 已取消 | 条件是 | 净实收(已付 - 已退)> 0 时可申请 |
-| 其他状态 | - | 否 | 报 581524 |
-
-### 6.4 开票时金额自动计算规则
-
-| 订单类型 | 金额计算公式 |
-|----------|-------------|
-| 正常单(非 CANCELLED) | 应收总额 = 订单总价 + 增项 - 优惠 |
-| 取消单(CANCELLED) | 净实收 = 已付金额 - 已退金额 |
-
----
-
-## 7 错误码
-
-| 错误码 | 常量 | 触发场景 |
-|--------|------|----------|
-| 581511 | INVOICE_ALREADY_EXISTS | 该订单已有有效发票,不可重复申请(一单一票) |
-| 581513 | INVOICE_TYPE_INVALID | 发票类型枚举值非法 |
-| 581514 | INVOICE_TAX_NO_REQUIRED | 公司抬头/专票时税号为必填 |
-| 581515 | INVOICE_VAT_SPECIAL_FIELDS_REQUIRED | 专票时开户行/银行账号/注册地址/注册电话为必填 |
-| 581516 | INVOICE_EMAIL_REQUIRED | 收件邮箱为必填或格式错误(HTTP 400) |
-| 581518 | INVOICE_FORBIDDEN | 无权访问该订单(IDOR 防护) |
-| 581523 | INVOICE_VAT_SPECIAL_PERSONAL_FORBIDDEN | 专票只能开给单位 |
-| 581524 | INVOICE_ORDER_NOT_APPLICABLE | ✨ 新增:订单状态不在可申请集合内,或取消单净实收为 0 |
-
----
-
-## 8 示例
-
-### 8.1 典型成功——普票申请(无 amount 字段)
-
-请求
-
-
-
-响应
-
-
-### 8.2 边界情况——订单处于定制中提前申请
-
-说明:订单状态 CUSTOMIZING(定制中),本次放宽后允许申请。开票金额将在财务执行开票操作时按当时应收总额计算。
-
-请求(结构同 8.1,orderId 为定制中订单 ID)
-
-响应
-
-
-### 8.3 业务失败——取消订单净实收为 0 被拒
-
-说明:订单已取消,实付 1000 元且已全额退款,净实收 = 0,无法申请开票。
-
-请求(结构同 8.1,orderId 为该取消订单 ID)
-
-响应
-
-
----
-
-## 9 业务边界
-
-适用:
-- 订单状态 ∈ {CUSTOMIZING / PENDING_DEPARTURE / TRAVELLING / COMPLETED} 均可申请
-- CANCELLED 且净实收(已付 - 已退)> 0 时可申请
-
-不适用:
-- PAID(已支付但未进入定制阶段)等其他状态报 581524
-- CANCELLED 且净实收 = 0 报 581524
-- 订单不属于当前登录用户,报 581518(IDOR 防护)
-
-特殊边界:
-- 一单一票:同一订单只允许一张有效发票(REQUESTED/ISSUED/PUSHED 状态),重复申请报 581511
-- 开票金额由后端在财务执行 issue 操作时自动计算,小程序端申请时不确定最终金额
-
----
-
-## 10 修改前后对比
-
-| 字段 / 规则 | 变更前 | 变更后 |
-|-------------|--------|--------|
-| 申请入参 amount | 必填,客户填写开票金额 | ⚠️ 已删除,后端开票时自动算 |
-| 正常订单申请门槛 | 仅 COMPLETED | CUSTOMIZING / PENDING_DEPARTURE / TRAVELLING / COMPLETED |
-| 取消订单申请 | 不允许 | 净实收 > 0 时可申请 |
-| 不满足门槛错误码 | 581510 INVOICE_ORDER_NOT_COMPLETED(已废弃) | 581524 INVOICE_ORDER_NOT_APPLICABLE(新增) |
-
----
-
-## 11 影响评估 / 回滚
-
-破坏兼容性:是
-
-- 小程序申请发票表单必须删除金额输入框,不再传 amount 字段
-- 若现有流程中有基于 amount 的前端金额展示或校验逻辑,须同步移除
-- 不满足门槛的错误提示由旧 581510 改为 581524,前端若 hardcode 了 581510 的处理逻辑需同步更新
-
-前端同步上线:申请表单删 amount 必须与后端同期上线。
-
-回滚方案:回滚后端至 #4360 前版本,amount 字段恢复必填,申请门槛收回到仅 COMPLETED,581524 不再存在。
-
----
-
-## 12 注意事项
-
-1. **amount 字段已删**:小程序申请发票表单必须移除金额输入框,不传 amount,传入后端会忽略。
-2. **申请门槛放宽的注意点**:定制中等状态提前申请,开票时金额由财务执行 issue 操作时后端按当时应收总额计算,小程序无法在申请时预知最终开票金额。
-3. **581524 vs 旧 581510**:新错误码 581524 取代了旧的 581510,含义更精确(包含取消单净实收为 0 的场景)。若前端有 581510 的 hardcode 判断需更新为 581524。
-4. **开票金额由财务操作确定**:小程序端只负责申请,金额由后端在财务开票(PUT issue)时写入,前端无法在申请时展示最终金额。
-
----
-
-## 13 关联 / 联系人
-
-- **Issue**:[#4353 发票模块门槛放宽与开票规则优化](https://git.1814.love:8443/wx/HL/issues/4353)
-- **PR**:[#4360](https://git.1814.love:8443/wx/HL/pulls/4360)
-- **后端负责人**:腰苏图(yaosutu)
diff --git a/changelogs-v2/2026-05/18_#2521_transport-plan-list-path.md b/changelogs-v2/2026-05/18_#2521_transport-plan-list-path.md
deleted file mode 100644
index 515ce9f..0000000
--- a/changelogs-v2/2026-05/18_#2521_transport-plan-list-path.md
+++ /dev/null
@@ -1,238 +0,0 @@
-# 大交通批次列表: 接口路径破坏性迁移 (transport-plans → transport-plan/list)
-
-> **存放目录**: 二期(v3,`order-v3` 标签)→ `changelogs-v2/2026-05/`
->
-> **服务**: hl-order-v3 (端口 8084)
-> **PR**: #2544 (squash 后 commit `be3badaca`)
-> **Issue**: #2521
-> **日期**: 2026-05-18
-> **影响范围**: 管理后台「行程安排 - 接送站」区块 - 大交通批次列表
-
----
-
-## ⚠️ 关键变化(破坏性 - 前端必同步)
-
-一行红字说清:
-- **本次变了什么**: 大交通批次列表接口路径从 `/transport-plans` 改为 `/transport-plan/list`
-- **前端以前以为的是什么**: `GET /v3/admin/order/{id}/transport-plans` (旧式复数资源风格)
-- **实际现在是什么**: `GET /v3/admin/order/{id}/transport-plan/list` (统一 list/add/edit/delete 动词风格)
-
-**配套破坏性**: §2.6 大交通批次模块 4 个接口路径风格 + 动词 + Method 全部统一迁移,见 #2522/#2523/#2524 changelog。前端需要 4 个接口一并改。
-
----
-
-## 一、背景
-
-V5.48 §2.6 大交通批次模块 4 个接口(list/add/edit/delete)统一为 `/transport-plan/{动词}` 子路径风格,与订单模块其他子资源(出行人 traveler/list、配房 hotel-requirement 等)保持一致:
-
-| 风格 | 旧 (V5.47 之前) | 新 (V5.48) |
-|------|-----------------|------------|
-| 列表 | `GET /transport-plans` | `GET /transport-plan/list` |
-| 新增 | `POST /transport-plans` | `POST /transport-plan/add` |
-| 编辑 | `PUT /transport-plans/{planId}` | `POST /transport-plan/{planId}/edit` |
-| 软删 | `DELETE /transport-plans/{planId}` | `POST /transport-plan/{planId}/delete` |
-
-统一动词路径后,网关路由 / 权限 RBAC / 操作审计的资源前缀一致,便于配置和扫描。
-
----
-
-## 二、变更接口清单
-
-| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
-|---|------|------|------|----------|------|
-| 1 | 大交通批次列表 | GET | `/v3/admin/order/{id}/transport-plan/list` | 路径迁移 | 旧路径 `/transport-plans` 已下线 |
-
----
-
-## 三、接口详情
-
-### 1. 大交通批次列表 `GET /v3/admin/order/{id}/transport-plan/list`
-
-**VO**: `TransportPlanVO`
-
-#### 入参
-
-| 字段 | 位置 | 类型 | 必填 | 约束 | 说明 |
-|------|------|------|------|------|------|
-| `id` | Path | Long | ✅ | - | 订单 ID |
-
-#### 出参 `Result>`
-
-| 字段 | 类型 | 说明 |
-|------|------|------|
-| `id` | String | 批次 ID(雪花) |
-| `orderId` | String | 订单 ID |
-| `direction` | String | 方向 `ARRIVAL` / `DEPARTURE` |
-| `transportType` | String | 类型 `FLIGHT` / `TRAIN` / `SELF_DRIVE` |
-| `transportNo` | String | 航班号 / 车次号(SELF_DRIVE 时为 null) |
-| `carrier` | String | 航司 / 铁路公司 |
-| `departStation` | String | 出发站 |
-| `arriveStation` | String | 到达站 |
-| `departTime` | LocalDateTime | 出发时间(SELF_DRIVE 时为 null) |
-| `arriveTime` | LocalDateTime | 到达时间(SELF_DRIVE 时为 null) |
-| `selfDrivePeriod` | String | 仅 SELF_DRIVE: `MORNING` / `AFTERNOON` / `EVENING` |
-| `selfDriveEta` | LocalDateTime | 仅 SELF_DRIVE: 预计抵达时间 |
-| `travelers` | List