Phase1 后端核心:
- 新增 fsgx_v1.sql 迁移脚本(is_queue_goods/frozen_points/available_points/no_assess)
- SystemConfigServices 返佣设置扩展(周期人数/分档比例/范围/时机)
- StoreOrderCreateServices 周期循环佣金计算
- StoreOrderTakeServices 佣金发放后同步冻结积分
- StoreProductServices/StoreProduct 保存 is_queue_goods
Phase2 后端接口:
- GET /api/hjf/brokerage/progress 佣金周期进度
- GET /api/hjf/assets/overview 资产总览
- HjfPointsServices 每日 frozen_points 0.4‰ 释放定时任务
- PUT /adminapi/hjf/member/{uid}/no_assess 不考核接口
- GET /adminapi/hjf/points/release_log 积分日志接口
Phase3 前端清理:
- hjfCustom.js 路由精简(仅保留 points/log)
- hjfQueue.js/hjfMember.js API 清理/重定向至 CRMEB 原生接口
- pages.json 公排→推荐佣金/佣金记录/佣金规则
Phase4-5 前端改造:
- queue/status.vue 推荐佣金进度页整体重写
- 商品详情/订单确认/支付结果页文案与逻辑改造
- 个人中心/资产页/引导页/规则页文案改造
- HjfQueueProgress/HjfRefundNotice/HjfAssetCard 组件改造
- 推广中心嵌入佣金进度摘要
- hjfMockData.js 全量更新(公排字段→佣金字段)
Phase6 Admin 增强:
- 用户列表新增 frozen_points/available_points 列及不考核操作按钮
- hjfPoints.js USE_MOCK=false 对接真实积分日志接口
Phase7 配置文档:
- docs/fsgx-phase7-config-checklist.md 后台配置与全链路验收清单
Made-with: Cursor
132 lines
4.7 KiB
PHP
Executable File
132 lines
4.7 KiB
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Psr\Http\Message;
|
|
|
|
/**
|
|
* Representation of an outgoing, client-side request.
|
|
*
|
|
* Per the HTTP specification, this interface includes properties for
|
|
* each of the following:
|
|
*
|
|
* - Protocol version
|
|
* - HTTP method
|
|
* - URI
|
|
* - Headers
|
|
* - Message body
|
|
*
|
|
* During construction, implementations MUST attempt to set the Host header from
|
|
* a provided URI if no Host header is provided.
|
|
*
|
|
* Requests are considered immutable; all methods that might change state MUST
|
|
* be implemented such that they retain the internal state of the current
|
|
* message and return an instance that contains the changed state.
|
|
*/
|
|
interface RequestInterface extends MessageInterface
|
|
{
|
|
/**
|
|
* Retrieves the message's request target.
|
|
*
|
|
* Retrieves the message's request-target either as it will appear (for
|
|
* clients), as it appeared at request (for servers), or as it was
|
|
* specified for the instance (see withRequestTarget()).
|
|
*
|
|
* In most cases, this will be the origin-form of the composed URI,
|
|
* unless a value was provided to the concrete implementation (see
|
|
* withRequestTarget() below).
|
|
*
|
|
* If no URI is available, and no request-target has been specifically
|
|
* provided, this method MUST return the string "/".
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getRequestTarget();
|
|
|
|
/**
|
|
* Return an instance with the specific request-target.
|
|
*
|
|
* If the request needs a non-origin-form request-target — e.g., for
|
|
* specifying an absolute-form, authority-form, or asterisk-form —
|
|
* this method may be used to create an instance with the specified
|
|
* request-target, verbatim.
|
|
*
|
|
* This method MUST be implemented in such a way as to retain the
|
|
* immutability of the message, and MUST return an instance that has the
|
|
* changed request target.
|
|
*
|
|
* @link http://tools.ietf.org/html/rfc7230#section-5.3 (for the various
|
|
* request-target forms allowed in request messages)
|
|
* @param string $requestTarget
|
|
* @return static
|
|
*/
|
|
public function withRequestTarget(string $requestTarget);
|
|
|
|
/**
|
|
* Retrieves the HTTP method of the request.
|
|
*
|
|
* @return string Returns the request method.
|
|
*/
|
|
public function getMethod();
|
|
|
|
/**
|
|
* Return an instance with the provided HTTP method.
|
|
*
|
|
* While HTTP method names are typically all uppercase characters, HTTP
|
|
* method names are case-sensitive and thus implementations SHOULD NOT
|
|
* modify the given string.
|
|
*
|
|
* This method MUST be implemented in such a way as to retain the
|
|
* immutability of the message, and MUST return an instance that has the
|
|
* changed request method.
|
|
*
|
|
* @param string $method Case-sensitive method.
|
|
* @return static
|
|
* @throws \InvalidArgumentException for invalid HTTP methods.
|
|
*/
|
|
public function withMethod(string $method);
|
|
|
|
/**
|
|
* Retrieves the URI instance.
|
|
*
|
|
* This method MUST return a UriInterface instance.
|
|
*
|
|
* @link http://tools.ietf.org/html/rfc3986#section-4.3
|
|
* @return UriInterface Returns a UriInterface instance
|
|
* representing the URI of the request.
|
|
*/
|
|
public function getUri();
|
|
|
|
/**
|
|
* Returns an instance with the provided URI.
|
|
*
|
|
* This method MUST update the Host header of the returned request by
|
|
* default if the URI contains a host component. If the URI does not
|
|
* contain a host component, any pre-existing Host header MUST be carried
|
|
* over to the returned request.
|
|
*
|
|
* You can opt-in to preserving the original state of the Host header by
|
|
* setting `$preserveHost` to `true`. When `$preserveHost` is set to
|
|
* `true`, this method interacts with the Host header in the following ways:
|
|
*
|
|
* - If the Host header is missing or empty, and the new URI contains
|
|
* a host component, this method MUST update the Host header in the returned
|
|
* request.
|
|
* - If the Host header is missing or empty, and the new URI does not contain a
|
|
* host component, this method MUST NOT update the Host header in the returned
|
|
* request.
|
|
* - If a Host header is present and non-empty, this method MUST NOT update
|
|
* the Host header in the returned request.
|
|
*
|
|
* This method MUST be implemented in such a way as to retain the
|
|
* immutability of the message, and MUST return an instance that has the
|
|
* new UriInterface instance.
|
|
*
|
|
* @link http://tools.ietf.org/html/rfc3986#section-4.3
|
|
* @param UriInterface $uri New request URI to use.
|
|
* @param bool $preserveHost Preserve the original state of the Host header.
|
|
* @return static
|
|
*/
|
|
public function withUri(UriInterface $uri, bool $preserveHost = false);
|
|
}
|