openydt-coupon

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
CRITICAL:开始前 MUST 先用 Read 工具读取
../openydt-shared/SKILL.md
(认证 / profile / 签名 / 状态码 / 限速 / 安全规则)。未读共享基座不要执行任何命令。
CRITICAL: MUST use the Read tool to read
../openydt-shared/SKILL.md
before starting
(Authentication / Profile / Signature / Status Code / Rate Limiting / Security Rules). Do not execute any commands without reading the shared base document.

何时用本技能

When to Use This Skill

本技能覆盖电子券与商家域(coupon):商家(trader)的创建与维护、电子券模板的创建、把券售卖给商家、给车辆发放电子券、查询券与商家信息、以及券的回收。车辆在停车场用电子券可抵扣部分或全部停车费。
意图路由:
  • "新建一个商家 / 加个商户 / 录入商家账号" →
    openydt coupon create-trader
    (写,需
    --yes
    )。
  • "改商家信息 / 冻结商家 / 解冻 / 删除商家" →
    openydt coupon edit-trader
    /
    frozen-trader
    /
    delete-trader
    (写,需
    --yes
    )。
  • "查商家列表 / 看某个商家信息 / 校验商家账号密码" →
    openydt coupon get-trader-list
    /
    get-trader-info-by-trader-code
    /
    validate-trader-account-and-password
  • "建一个券模板 / 创建优惠券 / 建固定券" →
    openydt coupon create-coupon-template
    /
    create-coupon
    /
    create-fixed-coupon
    (写,需
    --yes
    )。
  • "把券卖给商家 / 售卖电子券" →
    openydt coupon sell-coupon
    (写,需
    --yes
    )。
  • "给这辆车发券 / 发放优惠券 / 按券编码发券 / 扫码发券" →
    openydt coupon send-coupon
    /
    send-coupon-by-coupon-code
    /
    sync-scan-coupon-qr-code
    (写,需
    --yes
    )。
  • "查这辆车有哪些券 / 已发放的券 / 可用券 / 券信息" →
    openydt coupon query-car-code-valid-coupon
    /
    query-usable-coupon
    /
    query-coupon
  • "回收这张券 / 退券 / 锁券 / 打印券" →
    openydt coupon cancel-coupon
    /
    lock-coupon
    /
    print-coupon
    (写,需
    --yes
    )。
用券抵扣后的实际查费 / 缴费在 trade 域(
openydt trade --help
);在场车确认在 parking 域(
openydt parking --help
)。
This skill covers the E-Voucher & Merchant Domain (coupon): creation and maintenance of merchants (trader), creation of e-voucher templates, selling vouchers to merchants, issuing e-vouchers to vehicles, querying voucher and merchant information, and reclaiming vouchers. Vehicles can use e-vouchers in parking lots to deduct part or all of the parking fee.
Intent Routing:
  • "Create a merchant / Add a merchant / Enter merchant account" →
    openydt coupon create-trader
    (Write operation, requires
    --yes
    ).
  • "Edit merchant info / Freeze merchant / Unfreeze / Delete merchant" →
    openydt coupon edit-trader
    /
    frozen-trader
    /
    delete-trader
    (Write operation, requires
    --yes
    ).
  • "Query merchant list / View a merchant's info / Verify merchant account password" →
    openydt coupon get-trader-list
    /
    get-trader-info-by-trader-code
    /
    validate-trader-account-and-password
    .
  • "Create a voucher template / Create coupon / Create fixed voucher" →
    openydt coupon create-coupon-template
    /
    create-coupon
    /
    create-fixed-coupon
    (Write operation, requires
    --yes
    ).
  • "Sell vouchers to merchant / Sell e-vouchers" →
    openydt coupon sell-coupon
    (Write operation, requires
    --yes
    ).
  • "Issue voucher to this vehicle / Distribute coupon / Issue by voucher code / Scan to issue voucher" →
    openydt coupon send-coupon
    /
    send-coupon-by-coupon-code
    /
    sync-scan-coupon-qr-code
    (Write operation, requires
    --yes
    ).
  • "Query vouchers for this vehicle / Issued vouchers / Available vouchers / Voucher info" →
    openydt coupon query-car-code-valid-coupon
    /
    query-usable-coupon
    /
    query-coupon
    .
  • "Reclaim this voucher / Refund voucher / Lock voucher / Print voucher" →
    openydt coupon cancel-coupon
    /
    lock-coupon
    /
    print-coupon
    (Write operation, requires
    --yes
    ).
Querying actual fee after voucher deduction / Payment is in the trade domain (
openydt trade --help
); Parking vehicle confirmation is in the parking domain (
openydt parking --help
).

可用命令

Available Commands

中文名命令读/写关键参数
获取商家信息
openydt coupon get-trader-info-by-trader-code
--trader-code
必填
校验商家用户账户密码
openydt coupon validate-trader-account-and-password
--trader-user-account
必填、
--trader-password
必填
创建商家
openydt coupon create-trader
--trader-name
必填、
--contact
必填、
--phone
必填、
--park-code
必填、
--login-account
必填、
--password
必填、
--trader-type
(0美食/1酒店/2休闲娱乐/3生活服务/4购物/5其他)
编辑商家
openydt coupon edit-trader
--trader-code
/
--trader-id
(二选一)、
--trader-name
必填、
--contact
必填、
--phone
必填、
--park-code
必填、
--login-account
必填、
--password
必填、
--trader-type
冻结或解冻商家
openydt coupon frozen-trader
--trader-code
/
--trader-id
(二选一)、
--park-code
必填、
--status
必填(0解冻/1冻结)
删除商家(不可恢复)
openydt coupon delete-trader
--park-code
必填、
--trader-code
/
--trader-id
(二选一)
查询商家列表
openydt coupon get-trader-list
--park-code
必填、
--create-time-from
必填、
--create-time-to
必填、
--page-num
必填、
--page-size
必填(最多1000)
创建电子券模板
openydt coupon create-coupon-template
--name
必填、
--sell-from
/
--sell-to
/
--grant-from
/
--grant-to
必填、
--valid-minute
必填、
--balance-type
必填、
--coupon-type
必填、
--face-value
必填、
--original-price
/
--real-price
/
--use-rule-from
/
--use-rule-to
必填
创建电子券并售卖给商户
openydt coupon create-coupon
--trader-code
必填、
--total-count
必填(≤1万)、
--body
(parkCodeList、couponTemplate 子对象)
创建固定电子券(一码多券)
openydt coupon create-fixed-coupon
--trader-code
必填、
--group-name
必填、
--valid-from
/
--valid-to
必填、
--max-num
必填、
--sell-bill-id
必填、
--uniq-no
必填
售卖电子券给商家
openydt coupon sell-coupon
--trader-coupon-template-code
必填、
--trader-code
必填、
--sell-num
必填、
--sell-money
必填、
--sell-time
必填、
--sell-remark
--transation-num
给指定车辆发放电子券
openydt coupon send-coupon
--trader-code
必填、
--sell-bill-id
必填、
--car-code
必填、
--car-code-color
--parking-code
根据券编码发放商家券
openydt coupon send-coupon-by-coupon-code
--coupon-code
必填、
--car-no
/
--card-no
(不能同时为空)、
--park-code
--grant-user-id
--car-code-color
--parking-code
--is-fixed-qr-code
--origin
同步电子券二维码扫码
openydt coupon sync-scan-coupon-qr-code
--coupon-code
必填、
--grant-user-id
必填
检查电子券是否可发放
openydt coupon check-coupon-whether-send-available
--coupon-code
必填、
--fixed-status
(0非固定/1固定)
检查电子券二维码有效性
openydt coupon check-coupon-qr-code-valid-status
--coupon-code
必填、
--origin
必填
打印电子券(标记已发放)
openydt coupon print-coupon
--trader-code
必填、
--coupon-sn
必填
查询电子券打印记录
openydt coupon query-coupon-print-record
--coupon-code
必填
锁定电子券
openydt coupon lock-coupon
--url
必填
回收电子券
openydt coupon cancel-coupon
--trader-code
必填、
--coupon-sn
必填
查询已发放电子券(按车牌/卡号)
openydt coupon query-car-code-valid-coupon
--park-code
必填、
--car-code
--card-code
--coupon-sn
查询电子券信息
openydt coupon query-coupon
--trader-code
必填、
--query-type
必填(0指定/1全部/2可发放)、
--page
必填、
--page-size
必填、
--coupon-code-list
查询可用的电子券
openydt coupon query-usable-coupon
--trader-code
必填、
--sell-bill-id
必填
根据券编码查询适用车场
openydt coupon query-coupon-available-park-by-coupon-code
--coupon-code
必填、
--fixed-status
必填(0非固定/1固定)
根据券模板代码查询券模板
openydt coupon query-coupon-template-by-coupon-code
--code
必填(商家券模板代码)
根据券编码查询券模板
openydt coupon query-coupon-template-by-coupon-sn
--coupon-sn
必填
根据券编码查询商家信息
openydt coupon query-trader-info-by-coupon-code
--coupon-sn
必填
查询电子券售卖记录
openydt coupon query-trader-coupon-sell-record
--sell-begin-time
必填、
--sell-end-time
必填、
--page-num
--page-size
--body
(parkCodeList)
查询商家发券记录
openydt coupon get-trader-coupon-grant-record-list
--trader-id
必填、
--begin-time
必填、
--end-time
必填、
--page-num
必填、
--page-size
必填、
--body
(parkCodeList)、
--need-coupon-park
--need-coupon-status
查询优惠券列表(按车牌)
openydt coupon get-trader-coupon-list
--page-size
--page-num
--body
(parkCodes、carNos/carPlateList 二选一)
所有命令(
create-trader
/
edit-trader
/
frozen-trader
/
delete-trader
/
create-coupon-template
/
create-coupon
/
create-fixed-coupon
/
sell-coupon
/
send-coupon
/
send-coupon-by-coupon-code
/
sync-scan-coupon-qr-code
/
print-coupon
/
lock-coupon
/
cancel-coupon
)执行时必须加
--yes
确认,否则会被拦截。
English NameCommandRead/WriteKey Parameters
Get Merchant Info
openydt coupon get-trader-info-by-trader-code
Read
--trader-code
Required
Verify Merchant User Account Password
openydt coupon validate-trader-account-and-password
Read
--trader-user-account
Required,
--trader-password
Required
Create Merchant
openydt coupon create-trader
Write
--trader-name
Required,
--contact
Required,
--phone
Required,
--park-code
Required,
--login-account
Required,
--password
Required,
--trader-type
(0 Catering/1 Hotel/2 Leisure & Entertainment/3 Life Services/4 Shopping/5 Others)
Edit Merchant
openydt coupon edit-trader
Write
--trader-code
/
--trader-id
(Either one),
--trader-name
Required,
--contact
Required,
--phone
Required,
--park-code
Required,
--login-account
Required,
--password
Required,
--trader-type
Freeze or Unfreeze Merchant
openydt coupon frozen-trader
Write
--trader-code
/
--trader-id
(Either one),
--park-code
Required,
--status
Required(0 Unfreeze/1 Freeze)
Delete Merchant (Irreversible)
openydt coupon delete-trader
Write
--park-code
Required,
--trader-code
/
--trader-id
(Either one)
Query Merchant List
openydt coupon get-trader-list
Read
--park-code
Required,
--create-time-from
Required,
--create-time-to
Required,
--page-num
Required,
--page-size
Required(Max 1000)
Create E-Voucher Template
openydt coupon create-coupon-template
Write
--name
Required,
--sell-from
/
--sell-to
/
--grant-from
/
--grant-to
Required,
--valid-minute
Required,
--balance-type
Required,
--coupon-type
Required,
--face-value
Required,
--original-price
/
--real-price
/
--use-rule-from
/
--use-rule-to
Required
Create E-Voucher and Sell to Merchant
openydt coupon create-coupon
Write
--trader-code
Required,
--total-count
Required(≤10,000),
--body
(parkCodeList, couponTemplate sub-object)
Create Fixed E-Voucher (One Code for Multiple Vouchers)
openydt coupon create-fixed-coupon
Write
--trader-code
Required,
--group-name
Required,
--valid-from
/
--valid-to
Required,
--max-num
Required,
--sell-bill-id
Required,
--uniq-no
Required
Sell E-Vouchers to Merchant
openydt coupon sell-coupon
Write
--trader-coupon-template-code
Required,
--trader-code
Required,
--sell-num
Required,
--sell-money
Required,
--sell-time
Required,
--sell-remark
,
--transation-num
Issue E-Voucher to Specified Vehicle
openydt coupon send-coupon
Write
--trader-code
Required,
--sell-bill-id
Required,
--car-code
Required,
--car-code-color
,
--parking-code
Issue Merchant Voucher by Voucher Code
openydt coupon send-coupon-by-coupon-code
Write
--coupon-code
Required,
--car-no
/
--card-no
(Cannot be empty at the same time),
--park-code
,
--grant-user-id
,
--car-code-color
,
--parking-code
,
--is-fixed-qr-code
,
--origin
Sync E-Voucher QR Code Scan
openydt coupon sync-scan-coupon-qr-code
Write
--coupon-code
Required,
--grant-user-id
Required
Check If E-Voucher Is Issuable
openydt coupon check-coupon-whether-send-available
Read
--coupon-code
Required,
--fixed-status
(0 Non-fixed/1 Fixed)
Check E-Voucher QR Code Validity
openydt coupon check-coupon-qr-code-valid-status
Read
--coupon-code
Required,
--origin
Required
Print E-Voucher (Mark as Issued)
openydt coupon print-coupon
Write
--trader-code
Required,
--coupon-sn
Required
Query E-Voucher Print Records
openydt coupon query-coupon-print-record
Read
--coupon-code
Required
Lock E-Voucher
openydt coupon lock-coupon
Write
--url
Required
Reclaim E-Voucher
openydt coupon cancel-coupon
Write
--trader-code
Required,
--coupon-sn
Required
Query Issued E-Vouchers (By License Plate/Card Number)
openydt coupon query-car-code-valid-coupon
Read
--park-code
Required,
--car-code
,
--card-code
,
--coupon-sn
Query E-Voucher Info
openydt coupon query-coupon
Read
--trader-code
Required,
--query-type
Required(0 Specified/1 All/2 Issuable),
--page
Required,
--page-size
Required,
--coupon-code-list
Query Available E-Vouchers
openydt coupon query-usable-coupon
Read
--trader-code
Required,
--sell-bill-id
Required
Query Applicable Parking Lots by Voucher Code
openydt coupon query-coupon-available-park-by-coupon-code
Read
--coupon-code
Required,
--fixed-status
Required(0 Non-fixed/1 Fixed)
Query Voucher Template by Voucher Template Code
openydt coupon query-coupon-template-by-coupon-code
Read
--code
Required(Merchant voucher template code)
Query Voucher Template by Voucher SN
openydt coupon query-coupon-template-by-coupon-sn
Read
--coupon-sn
Required
Query Merchant Info by Voucher Code
openydt coupon query-trader-info-by-coupon-code
Read
--coupon-sn
Required
Query E-Voucher Sales Records
openydt coupon query-trader-coupon-sell-record
Read
--sell-begin-time
Required,
--sell-end-time
Required,
--page-num
,
--page-size
,
--body
(parkCodeList)
Query Merchant Voucher Issuance Records
openydt coupon get-trader-coupon-grant-record-list
Read
--trader-id
Required,
--begin-time
Required,
--end-time
Required,
--page-num
Required,
--page-size
Required,
--body
(parkCodeList),
--need-coupon-park
,
--need-coupon-status
Query Coupon List (By License Plate)
openydt coupon get-trader-coupon-list
Read
--page-size
,
--page-num
,
--body
(parkCodes, carNos/carPlateList Either one)
All write commands (
create-trader
/
edit-trader
/
frozen-trader
/
delete-trader
/
create-coupon-template
/
create-coupon
/
create-fixed-coupon
/
sell-coupon
/
send-coupon
/
send-coupon-by-coupon-code
/
sync-scan-coupon-qr-code
/
print-coupon
/
lock-coupon
/
cancel-coupon
) must include
--yes
for confirmation, otherwise they will be blocked.

业务流程

Business Process

电子券闭环(建商家+建模板 → 售卖 → 发券 → 查询 → 回收)

E-Voucher Closed Loop (Create Merchant + Create Template → Sell → Issue → Query → Reclaim)

逐步执行,务必把前序命令响应里的字段作为后续命令入参(商家编码 traderCode、券模板编码 traderCouponTemplateCode、销售账单 sellBillId、券唯一编号 couponSn),不要凭空构造:
  1. 创建商家 + 创建券模板(写,均需
    --yes
    ):
    openydt coupon create-trader --yes \
      --trader-name <商家名> --contact <联系人> --phone <手机号> \
      --park-code <车场编号> --login-account <账号> --password <密码>
    
    openydt coupon create-coupon-template --yes \
      --name <券名> --sell-from ... --sell-to ... --grant-from ... --grant-to ... \
      --valid-minute 60 --balance-type 0 --coupon-type 1 \
      --face-value 500 --original-price 600 --real-price 500 \
      --use-rule-from 0 --use-rule-to 1000
    • create-trader
      响应取商家编码
      traderCode
      (也可用
      get-trader-list
      反查)→ 作为后续所有命令的
      --trader-code
    • create-coupon-template
      响应取券模板编码(商家券模板代码)→ 作为第 2 步
      sell-coupon
      --trader-coupon-template-code
      (也可用
      query-coupon-template-by-coupon-code --code <模板代码>
      核对)。
  2. 售卖给商家(写,需
    --yes
    )— 用第 1 步拿到的商家编码 + 模板编码:
    openydt coupon sell-coupon --yes \
      --trader-coupon-template-code <来自 create-coupon-template> \
      --trader-code <来自 create-trader> \
      --sell-num 100 --sell-money 0.01 --sell-time "2018-04-16 09:00:00"
    • sell-coupon
      响应取销售账单
      sellBillId
      → 作为第 3 步
      send-coupon
      --sell-bill-id
      (也可用
      query-usable-coupon --trader-code <traderCode> --sell-bill-id <id>
      核对该批次可发放余量)。
  3. 发放给车辆(写,需
    --yes
    )— 用第 2 步拿到的
    sellBillId
    + 商家编码:
    openydt coupon send-coupon --yes \
      --trader-code <来自 create-trader> \
      --sell-bill-id <来自 sell-coupon> \
      --car-code <车牌> --car-code-color 1
    也可按券编码发券:
    send-coupon-by-coupon-code --yes --coupon-code <券编码> --car-no <车牌>
    --car-no
    --card-no
    不能同时为空)。发券前可先
    check-coupon-whether-send-available --coupon-code <券编码>
    确认是否可发。
  4. 查询券(读)— 确认券已落到车辆 / 商家:
    openydt coupon query-car-code-valid-coupon --park-code <车场> --car-code <车牌>
    openydt coupon query-coupon --trader-code <traderCode> --query-type 1 --page 1 --page-size 10
    • 从查询响应取券唯一编号
      couponSn
      → 作为第 5 步
      cancel-coupon
      --coupon-sn
      (按券编码反查商家用
      query-trader-info-by-coupon-code --coupon-sn <couponSn>
      )。
  5. 回收(写,需
    --yes
    )— 用第 4 步取到的
    couponSn
    + 商家编码:
    openydt coupon cancel-coupon --yes --trader-code <traderCode> --coupon-sn <来自 query>
Execute step by step, must use fields from the previous command response as parameters for subsequent commands (merchant code traderCode, voucher template code traderCouponTemplateCode, sales bill sellBillId, unique voucher number couponSn), do not construct them out of thin air:
  1. Create Merchant + Create Voucher Template (Write operations, both require
    --yes
    ):
    openydt coupon create-trader --yes \
      --trader-name <Merchant Name> --contact <Contact Person> --phone <Phone Number> \
      --park-code <Parking Lot Code> --login-account <Account> --password <Password>
    
    openydt coupon create-coupon-template --yes \
      --name <Voucher Name> --sell-from ... --sell-to ... --grant-from ... --grant-to ... \
      --valid-minute 60 --balance-type 0 --coupon-type 1 \
      --face-value 500 --original-price 600 --real-price 500 \
      --use-rule-from 0 --use-rule-to 1000
    • Extract merchant code
      traderCode
      from the
      create-trader
      response (can also be retrieved via
      get-trader-list
      ) → use as
      --trader-code
      for all subsequent commands;
    • Extract voucher template code (merchant voucher template code) from the
      create-coupon-template
      response → use as
      --trader-coupon-template-code
      for
      sell-coupon
      in Step 2 (can also verify via
      query-coupon-template-by-coupon-code --code <Template Code>
      ).
  2. Sell to Merchant (Write operation, requires
    --yes
    ) — use the merchant code + template code obtained in Step 1:
    openydt coupon sell-coupon --yes \
      --trader-coupon-template-code <From create-coupon-template> \
      --trader-code <From create-trader> \
      --sell-num 100 --sell-money 0.01 --sell-time "2018-04-16 09:00:00"
    • Extract sales bill
      sellBillId
      from the
      sell-coupon
      response → use as
      --sell-bill-id
      for
      send-coupon
      in Step 3 (can also check the available issuance quantity of this batch via
      query-usable-coupon --trader-code <traderCode> --sell-bill-id <id>
      ).
  3. Issue to Vehicle (Write operation, requires
    --yes
    ) — use the
    sellBillId
    + merchant code obtained in Step 2:
    openydt coupon send-coupon --yes \
      --trader-code <From create-trader> \
      --sell-bill-id <From sell-coupon> \
      --car-code <License Plate> --car-code-color 1
    You can also issue by voucher code:
    send-coupon-by-coupon-code --yes --coupon-code <Voucher Code> --car-no <License Plate>
    (Cannot leave both
    --car-no
    and
    --card-no
    empty). Before issuing, you can confirm if it's issuable via
    check-coupon-whether-send-available --coupon-code <Voucher Code>
    .
  4. Query Vouchers (Read operation) — confirm vouchers have been assigned to the vehicle / merchant:
    openydt coupon query-car-code-valid-coupon --park-code <Parking Lot> --car-code <License Plate>
    openydt coupon query-coupon --trader-code <traderCode> --query-type 1 --page 1 --page-size 10
    • Extract unique voucher number
      couponSn
      from the query response → use as
      --coupon-sn
      for
      cancel-coupon
      in Step 5 (To query merchant info via voucher code, use
      query-trader-info-by-coupon-code --coupon-sn <couponSn>
      ).
  5. Reclaim (Write operation, requires
    --yes
    ) — use the
    couponSn
    + merchant code obtained in Step 4:
    openydt coupon cancel-coupon --yes --trader-code <traderCode> --coupon-sn <From query>

示例

Examples

创建商家(写操作,必须加
--yes
;参数取自 catalog sampleBody):
openydt coupon create-trader --yes \
  --trader-name 测试商家 --trader-type 5 \
  --contact 联系人 --phone 13800000000 \
  --park-code 2KNTYVWC --login-account trader001 --password 123456
售卖电子券给商家(写操作,必须加
--yes
;模板编码 / 商家编码取自前序响应):
openydt coupon sell-coupon --yes \
  --trader-coupon-template-code GCSH3FI1YNDN \
  --trader-code NWTSZY49BH67 \
  --sell-num 100 --sell-money 0.01 --sell-remark 测试 \
  --sell-time "2018-04-16 09:00:00"
按车牌查询已发放电子券(读操作):
openydt coupon query-car-code-valid-coupon --park-code 2KKN6111 --car-code 粤B88888
Create Merchant (Write operation, must include
--yes
; parameters from catalog sampleBody):
openydt coupon create-trader --yes \
  --trader-name Test Merchant --trader-type 5 \
  --contact Contact Person --phone 13800000000 \
  --park-code 2KNTYVWC --login-account trader001 --password 123456
Sell E-Vouchers to Merchant (Write operation, must include
--yes
; template code / merchant code from previous responses):
openydt coupon sell-coupon --yes \
  --trader-coupon-template-code GCSH3FI1YNDN \
  --trader-code NWTSZY49BH67 \
  --sell-num 100 --sell-money 0.01 --sell-remark Test \
  --sell-time "2018-04-16 09:00:00"
Query Issued E-Vouchers by License Plate (Read operation):
openydt coupon query-car-code-valid-coupon --park-code 2KKN6111 --car-code 粤B88888