支持 .env 配置,并完善源头对接文档与测试订单

- 增加 .env.example 与 godotenv 加载,start.sh 自动读环境变量
- 重写发给源头的开放接口对接文档
- 订单页支持创建测试订单(可直接已支付并复制店铺订单号)
This commit is contained in:
yml2213
2026-07-20 16:19:57 +08:00
parent 89cdd32181
commit e4d0a71963
13 changed files with 504 additions and 215 deletions
+10 -1
View File
@@ -31,6 +31,8 @@ type CreateOrderInput struct {
DistributorID uint
BuyerName string
Remark string
// Status 可选:pending(默认)/ paid(联调测试可直接创建可发货订单)
Status string
}
func (s *OrderService) List(q OrderListQuery) ([]model.Order, int64, error) {
@@ -71,6 +73,11 @@ func (s *OrderService) Create(in CreateOrderInput) (*model.Order, error) {
return nil, errors.New("库存不足")
}
status := model.OrderStatusPending
if in.Status == model.OrderStatusPaid {
status = model.OrderStatusPaid
}
order := &model.Order{
OrderNo: generateOrderNo(),
SkinID: in.SkinID,
@@ -78,7 +85,7 @@ func (s *OrderService) Create(in CreateOrderInput) (*model.Order, error) {
BuyerName: in.BuyerName,
Amount: skin.Price,
CommissionAmt: skin.Price * skin.Commission,
Status: model.OrderStatusPending,
Status: status,
Remark: in.Remark,
}
@@ -99,6 +106,8 @@ func (s *OrderService) Create(in CreateOrderInput) (*model.Order, error) {
if err != nil {
return nil, err
}
// 带回商品信息,方便前端展示 sku / 订单号联调
_ = s.db.Preload("Skin").First(order, order.ID).Error
return order, nil
}