Compare commits
51 Commits
972b10eeae
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c1eab396ac | |||
| 72fb221d1f | |||
| be63c01987 | |||
| 3833f67b03 | |||
| e981a1e069 | |||
| f8155eb92f | |||
| 8874b0b96c | |||
| a6053f3f9b | |||
| 265061ad46 | |||
| 3a324e6656 | |||
| 184d61a5c7 | |||
| f2921c91a1 | |||
| 0bdaa141bd | |||
| f6675cc6d9 | |||
| 4c9bdb84f3 | |||
| 84c9965d9a | |||
| 85aed39ff9 | |||
| 3a4e75f375 | |||
| f1f0c5dbd2 | |||
| b98ad2af2c | |||
| 99bbdea946 | |||
| 45f6f48fb9 | |||
| 771e051868 | |||
| 2c885599ad | |||
| 518f7a3a8c | |||
| 524c94de7c | |||
| c6a79e300c | |||
| 0ebec3760d | |||
| 1967a02d1a | |||
| 404745fe18 | |||
| a38ca5bd07 | |||
| a8a1c79094 | |||
| 6ba7c3fc72 | |||
| a9e6609953 | |||
| 5a530c4679 | |||
| 19c82817ba | |||
| 89bade9232 | |||
| 768da1fe47 | |||
| 877f1cdaee | |||
| acd0dd5b9c | |||
| bebabce346 | |||
| 1bff356eb8 | |||
| 80861c53f1 | |||
| e0f1a848a6 | |||
| 031ba733f5 | |||
| f5b3eaca07 | |||
| 017ba9379b | |||
| 2962a0004d | |||
| fc01ce44d3 | |||
| 2d3ca4c18e | |||
| 16e57387db |
@@ -1,54 +0,0 @@
|
|||||||
# Air配置文件
|
|
||||||
root = "."
|
|
||||||
tmp_dir = "tmp"
|
|
||||||
|
|
||||||
[build]
|
|
||||||
# 入口文件
|
|
||||||
cmd = "go build -gcflags=-N -gcflags=-l -o ./tmp/main.exe ./app/user/cmd/api/main.go"
|
|
||||||
# 二进制文件
|
|
||||||
bin = "./tmp/main.exe"
|
|
||||||
# 运行时的参数
|
|
||||||
full_bin = "dlv exec --accept-multiclient --headless --listen=:2345 --api-version=2 ./tmp/main.exe -- $env:ENV='development'"
|
|
||||||
|
|
||||||
# 监听以下扩展名的文件变化./
|
|
||||||
include_ext = ["go", "tpl", "tmpl", "html", "yaml", "yml"]
|
|
||||||
# 忽略的目录
|
|
||||||
exclude_dir = ["assets", "tmp", "vendor", "testdata", ".git", ".idea", "data"]
|
|
||||||
# 构建延迟
|
|
||||||
delay = 1000
|
|
||||||
# 停止延迟
|
|
||||||
kill_delay = "2s"
|
|
||||||
# 日志文件
|
|
||||||
log = "build-errors.log"
|
|
||||||
# 出错时停止
|
|
||||||
stop_on_error = true
|
|
||||||
# 发送中断信号
|
|
||||||
send_interrupt = true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[color]
|
|
||||||
main = "magenta"
|
|
||||||
watcher = "cyan"
|
|
||||||
build = "yellow"
|
|
||||||
runner = "green"
|
|
||||||
|
|
||||||
[log]
|
|
||||||
# 启用时间戳
|
|
||||||
time = true
|
|
||||||
# 启用详细日志
|
|
||||||
main_only = false
|
|
||||||
silent = false
|
|
||||||
|
|
||||||
[misc]
|
|
||||||
# 清理屏幕
|
|
||||||
clean_on_exit = false
|
|
||||||
|
|
||||||
[proxy]
|
|
||||||
app_port = 0
|
|
||||||
enabled = false
|
|
||||||
proxy_port = 0
|
|
||||||
|
|
||||||
[screen]
|
|
||||||
clear_on_rebuild = false
|
|
||||||
keep_scroll = true
|
|
||||||
54
.air.toml
54
.air.toml
@@ -1,54 +0,0 @@
|
|||||||
# Air配置文件
|
|
||||||
root = "."
|
|
||||||
tmp_dir = "tmp"
|
|
||||||
|
|
||||||
[build]
|
|
||||||
# 入口文件
|
|
||||||
cmd = "go build -o ./tmp/main.exe ./app/user/cmd/api/main.go"
|
|
||||||
# 二进制文件
|
|
||||||
bin = "$env:ENV = 'development' && ./tmp/main.exe"
|
|
||||||
# 运行时的参数
|
|
||||||
full_bin = "./tmp/main.exe -- $env:ENV='development'"
|
|
||||||
|
|
||||||
# 监听以下扩展名的文件变化./
|
|
||||||
include_ext = ["go", "tpl", "tmpl", "html", "yaml", "yml"]
|
|
||||||
# 忽略的目录
|
|
||||||
exclude_dir = ["assets", "tmp", "vendor", "testdata", ".git", ".idea", "data"]
|
|
||||||
# 构建延迟
|
|
||||||
delay = 1000
|
|
||||||
# 停止延迟
|
|
||||||
kill_delay = "2s"
|
|
||||||
# 日志文件
|
|
||||||
log = "build-errors.log"
|
|
||||||
# 出错时停止
|
|
||||||
stop_on_error = true
|
|
||||||
# 发送中断信号
|
|
||||||
send_interrupt = true
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[color]
|
|
||||||
main = "magenta"
|
|
||||||
watcher = "cyan"
|
|
||||||
build = "yellow"
|
|
||||||
runner = "green"
|
|
||||||
|
|
||||||
[log]
|
|
||||||
# 启用时间戳
|
|
||||||
time = true
|
|
||||||
# 启用详细日志
|
|
||||||
main_only = false
|
|
||||||
silent = false
|
|
||||||
|
|
||||||
[misc]
|
|
||||||
# 清理屏幕
|
|
||||||
clean_on_exit = false
|
|
||||||
|
|
||||||
[proxy]
|
|
||||||
app_port = 0
|
|
||||||
enabled = false
|
|
||||||
proxy_port = 0
|
|
||||||
|
|
||||||
[screen]
|
|
||||||
clear_on_rebuild = false
|
|
||||||
keep_scroll = true
|
|
||||||
22
.cursorrules
22
.cursorrules
@@ -53,7 +53,7 @@ qnc-server/ # 项目根目录
|
|||||||
```
|
```
|
||||||
|
|
||||||
目录作用说明:
|
目录作用说明:
|
||||||
1. app/user/cmd/api/:API服务目录
|
1. app/main/api/:API服务目录
|
||||||
- desc/:API接口定义,包含各模块的API文件
|
- desc/:API接口定义,包含各模块的API文件
|
||||||
- main.api:主API文件,导入所有模块API并定义路由
|
- main.api:主API文件,导入所有模块API并定义路由
|
||||||
- user/user.api:用户模块的请求响应参数定义
|
- user/user.api:用户模块的请求响应参数定义
|
||||||
@@ -69,7 +69,7 @@ qnc-server/ # 项目根目录
|
|||||||
- svc/:服务上下文,管理服务依赖(如DB、Cache等)
|
- svc/:服务上下文,管理服务依赖(如DB、Cache等)
|
||||||
- types/:请求响应的结构体定义,由goctl根据API文件生成(不允许自己修改)
|
- types/:请求响应的结构体定义,由goctl根据API文件生成(不允许自己修改)
|
||||||
|
|
||||||
2. app/user/model/:数据库模型层
|
2. app/main/model/:数据库模型层
|
||||||
- userModel.go:用户表模型定义及CRUD方法
|
- userModel.go:用户表模型定义及CRUD方法
|
||||||
- userModel_gen.go:goctl工具生成的基础数据库操作代码(不允许自己修改)
|
- userModel_gen.go:goctl工具生成的基础数据库操作代码(不允许自己修改)
|
||||||
- vars.go:定义数据库相关变量和常量
|
- vars.go:定义数据库相关变量和常量
|
||||||
@@ -103,12 +103,12 @@ qnc-server/ # 项目根目录
|
|||||||
使用goctl生成API服务的步骤:
|
使用goctl生成API服务的步骤:
|
||||||
1. 首先确保API定义目录存在:
|
1. 首先确保API定义目录存在:
|
||||||
```bash
|
```bash
|
||||||
mkdir -p app/user/cmd/api/desc/user
|
mkdir -p app/main/api/desc/user
|
||||||
```
|
```
|
||||||
|
|
||||||
2. API文件组织结构(单体服务模式):
|
2. API文件组织结构(单体服务模式):
|
||||||
```
|
```
|
||||||
app/user/cmd/api/desc/
|
app/main/api/desc/
|
||||||
├── user/
|
├── user/
|
||||||
│ └── user.api # 用户模块的请求响应参数定义
|
│ └── user.api # 用户模块的请求响应参数定义
|
||||||
├── order/
|
├── order/
|
||||||
@@ -116,7 +116,7 @@ qnc-server/ # 项目根目录
|
|||||||
└── main.api # 主API文件,集中管理所有模块的API定义
|
└── main.api # 主API文件,集中管理所有模块的API定义
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 在app/user/cmd/api/desc/main.api中集中管理所有API:
|
3. 在app/main/api/desc/main.api中集中管理所有API:
|
||||||
```
|
```
|
||||||
syntax = "v1"
|
syntax = "v1"
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@ qnc-server/ # 项目根目录
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
4. 各模块在下一层定义类型,例如在app/user/cmd/api/desc/user/user.api中只定义用户模块的接口的类型:
|
4. 各模块在下一层定义类型,例如在app/main/api/desc/user/user.api中只定义用户模块的接口的类型:
|
||||||
```
|
```
|
||||||
type (
|
type (
|
||||||
LoginReq {
|
LoginReq {
|
||||||
@@ -160,13 +160,13 @@ qnc-server/ # 项目根目录
|
|||||||
|
|
||||||
5. 使用goctl生成API代码(始终使用main.api):
|
5. 使用goctl生成API代码(始终使用main.api):
|
||||||
```bash
|
```bash
|
||||||
goctl api go -api app/user/cmd/api/desc/main.api -dir app/user/cmd/api --home ./deploy/template
|
goctl api go -api app/main/api/desc/main.api -dir app/main/api --home ./deploy/template
|
||||||
```
|
```
|
||||||
|
|
||||||
注意:无论修改哪个模块的API文件,都需要执行main.api来生成代码,因为这是单体服务模式。
|
注意:无论修改哪个模块的API文件,都需要执行main.api来生成代码,因为这是单体服务模式。
|
||||||
6. goctl生成的文件和目录结构:
|
6. goctl生成的文件和目录结构:
|
||||||
```
|
```
|
||||||
app/user/cmd/api/
|
app/main/api/
|
||||||
├── desc/ # API接口定义目录(已存在)
|
├── desc/ # API接口定义目录(已存在)
|
||||||
├── etc/ # 配置文件目录
|
├── etc/ # 配置文件目录
|
||||||
│ └── main.yaml # 服务配置文件
|
│ └── main.yaml # 服务配置文件
|
||||||
@@ -189,9 +189,9 @@ qnc-server/ # 项目根目录
|
|||||||
```
|
```
|
||||||
|
|
||||||
7. 生成代码后,才能够实现具体的业务逻辑,例如:
|
7. 生成代码后,才能够实现具体的业务逻辑,例如:
|
||||||
- user.api中的`mobileLogin`接口生成的逻辑文件在`app/user/cmd/api/internal/logic/user/mobile_login_logic.go`
|
- user.api中的`mobileLogin`接口生成的逻辑文件在`app/main/api/internal/logic/user/mobile_login_logic.go`
|
||||||
- user.api中的`wxMiniAuth`接口生成的逻辑文件在`app/user/cmd/api/internal/logic/user/wx_mini_auth_logic.go`
|
- user.api中的`wxMiniAuth`接口生成的逻辑文件在`app/main/api/internal/logic/user/wx_mini_auth_logic.go`
|
||||||
- query.api中的`queryService`接口生成的逻辑文件在`app/user/cmd/api/internal/logic/query/query_service_logic.go`
|
- query.api中的`queryService`接口生成的逻辑文件在`app/main/api/internal/logic/query/query_service_logic.go`
|
||||||
|
|
||||||
生成的逻辑文件中需要实现`Logic`结构体的`XXX`方法(方法名与接口名对应),这是业务逻辑的核心部分。
|
生成的逻辑文件中需要实现`Logic`结构体的`XXX`方法(方法名与接口名对应),这是业务逻辑的核心部分。
|
||||||
|
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -13,10 +13,6 @@ data/*
|
|||||||
# gitlab ci
|
# gitlab ci
|
||||||
.cache
|
.cache
|
||||||
|
|
||||||
#vscode
|
|
||||||
.vscode
|
|
||||||
.vscode/
|
|
||||||
|
|
||||||
/tmp/
|
/tmp/
|
||||||
|
|
||||||
/app/api
|
/app/api
|
||||||
|
|||||||
16
.vscode/launch.json
vendored
Normal file
16
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "调试API服务",
|
||||||
|
"type": "go",
|
||||||
|
"request": "launch",
|
||||||
|
"mode": "auto",
|
||||||
|
"program": "${workspaceFolder}/app/main/api/main.go",
|
||||||
|
"args": ["-f", "etc/main.dev.yaml"],
|
||||||
|
"env": {
|
||||||
|
"ENV": "development"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
19
.vscode/tasks.json
vendored
Normal file
19
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "Run Go-Zero API (无调试)",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "go run ${workspaceFolder}/app/main/api/main.go -f ${workspaceFolder}/app/main/api/etc/main.dev.yaml",
|
||||||
|
"group": {
|
||||||
|
"kind": "build",
|
||||||
|
"isDefault": true
|
||||||
|
},
|
||||||
|
"presentation": {
|
||||||
|
"reveal": "always",
|
||||||
|
"panel": "new"
|
||||||
|
},
|
||||||
|
"problemMatcher": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM golang:1.22.4-alpine AS builder
|
FROM golang:1.23.4-alpine AS builder
|
||||||
|
|
||||||
LABEL stage=gobuilder
|
LABEL stage=gobuilder
|
||||||
|
|
||||||
@@ -14,8 +14,9 @@ ADD go.mod .
|
|||||||
ADD go.sum .
|
ADD go.sum .
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
COPY . .
|
COPY . .
|
||||||
COPY app/user/cmd/api/etc /app/etc
|
COPY app/main/api/etc /app/etc
|
||||||
RUN go build -ldflags="-s -w" -o /app/user app/user/cmd/api/main.go
|
COPY app/main/api/static /app/static
|
||||||
|
RUN go build -ldflags="-s -w" -o /app/main app/main/api/main.go
|
||||||
|
|
||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
@@ -25,7 +26,7 @@ COPY --from=builder /usr/share/zoneinfo/Asia/Shanghai /usr/share/zoneinfo/Asia/S
|
|||||||
ENV TZ Asia/Shanghai
|
ENV TZ Asia/Shanghai
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY --from=builder /app/user /app/user
|
COPY --from=builder /app/main /app/main
|
||||||
COPY --from=builder /app/etc /app/etc
|
COPY --from=builder /app/etc /app/etc
|
||||||
|
COPY --from=builder /app/static /app/static
|
||||||
CMD ["./user", "-f", "etc/main.yaml"]
|
CMD ["./main", "-f", "etc/main.yaml"]
|
||||||
385
app/main/api/desc/admin/admin_agent.api
Normal file
385
app/main/api/desc/admin/admin_agent.api
Normal file
@@ -0,0 +1,385 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "后台代理管理服务"
|
||||||
|
desc: "后台代理相关接口"
|
||||||
|
author: "team"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 代理管理接口
|
||||||
|
@server(
|
||||||
|
prefix: /api/v1/admin/agent
|
||||||
|
group: admin_agent
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
// 代理分页查询
|
||||||
|
@handler AdminGetAgentList
|
||||||
|
get /list (AdminGetAgentListReq) returns (AdminGetAgentListResp)
|
||||||
|
|
||||||
|
// 代理推广链接分页查询
|
||||||
|
@handler AdminGetAgentLinkList
|
||||||
|
get /agent-link/list (AdminGetAgentLinkListReq) returns (AdminGetAgentLinkListResp)
|
||||||
|
|
||||||
|
// 代理佣金分页查询
|
||||||
|
@handler AdminGetAgentCommissionList
|
||||||
|
get /agent-commission/list (AdminGetAgentCommissionListReq) returns (AdminGetAgentCommissionListResp)
|
||||||
|
|
||||||
|
// 代理奖励分页查询
|
||||||
|
@handler AdminGetAgentRewardList
|
||||||
|
get /agent-reward/list (AdminGetAgentRewardListReq) returns (AdminGetAgentRewardListResp)
|
||||||
|
|
||||||
|
// 代理提现分页查询
|
||||||
|
@handler AdminGetAgentWithdrawalList
|
||||||
|
get /agent-withdrawal/list (AdminGetAgentWithdrawalListReq) returns (AdminGetAgentWithdrawalListResp)
|
||||||
|
|
||||||
|
// 代理上级抽佣分页查询
|
||||||
|
@handler AdminGetAgentCommissionDeductionList
|
||||||
|
get /agent-commission-deduction/list (AdminGetAgentCommissionDeductionListReq) returns (AdminGetAgentCommissionDeductionListResp)
|
||||||
|
|
||||||
|
// 平台抽佣分页查询
|
||||||
|
@handler AdminGetAgentPlatformDeductionList
|
||||||
|
get /agent-platform-deduction/list (AdminGetAgentPlatformDeductionListReq) returns (AdminGetAgentPlatformDeductionListResp)
|
||||||
|
|
||||||
|
// 代理产品配置分页查询
|
||||||
|
@handler AdminGetAgentProductionConfigList
|
||||||
|
get /agent-production-config/list (AdminGetAgentProductionConfigListReq) returns (AdminGetAgentProductionConfigListResp)
|
||||||
|
|
||||||
|
// 代理产品配置编辑
|
||||||
|
@handler AdminUpdateAgentProductionConfig
|
||||||
|
post /agent-production-config/update (AdminUpdateAgentProductionConfigReq) returns (AdminUpdateAgentProductionConfigResp)
|
||||||
|
|
||||||
|
// 代理会员充值订单分页查询
|
||||||
|
@handler AdminGetAgentMembershipRechargeOrderList
|
||||||
|
get /agent-membership-recharge-order/list (AdminGetAgentMembershipRechargeOrderListReq) returns (AdminGetAgentMembershipRechargeOrderListResp)
|
||||||
|
|
||||||
|
// 代理会员配置分页查询
|
||||||
|
@handler AdminGetAgentMembershipConfigList
|
||||||
|
get /agent-membership-config/list (AdminGetAgentMembershipConfigListReq) returns (AdminGetAgentMembershipConfigListResp)
|
||||||
|
|
||||||
|
// 代理会员配置编辑
|
||||||
|
@handler AdminUpdateAgentMembershipConfig
|
||||||
|
post /agent-membership-config/update (AdminUpdateAgentMembershipConfigReq) returns (AdminUpdateAgentMembershipConfigResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 代理分页查询请求
|
||||||
|
AdminGetAgentListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
Mobile *string `form:"mobile,optional"` // 手机号(可选)
|
||||||
|
Region *string `form:"region,optional"` // 区域(可选)
|
||||||
|
ParentAgentId *int64 `form:"parent_agent_id,optional"` // 上级代理ID(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理列表项
|
||||||
|
AgentListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
UserId int64 `json:"user_id"` // 用户ID
|
||||||
|
ParentAgentId int64 `json:"parent_agent_id"` // 上级代理ID
|
||||||
|
LevelName string `json:"level_name"` // 等级名称
|
||||||
|
Region string `json:"region"` // 区域
|
||||||
|
Mobile string `json:"mobile"` // 手机号
|
||||||
|
MembershipExpiryTime string `json:"membership_expiry_time"` // 会员到期时间
|
||||||
|
Balance float64 `json:"balance"` // 钱包余额
|
||||||
|
TotalEarnings float64 `json:"total_earnings"` // 累计收益
|
||||||
|
FrozenBalance float64 `json:"frozen_balance"` // 冻结余额
|
||||||
|
WithdrawnAmount float64 `json:"withdrawn_amount"` // 提现总额
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
IsRealNameVerified bool `json:"is_real_name_verified"` // 是否已实名认证
|
||||||
|
RealName string `json:"real_name"` // 实名姓名
|
||||||
|
IdCard string `json:"id_card"` // 身份证号
|
||||||
|
RealNameStatus string `json:"real_name_status"` // 实名状态(pending/approved/rejected)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理分页查询响应
|
||||||
|
AdminGetAgentListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理推广链接分页查询请求
|
||||||
|
AdminGetAgentLinkListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
ProductName *string `form:"product_name,optional"` // 产品名(可选)
|
||||||
|
LinkIdentifier *string `form:"link_identifier,optional"` // 推广码(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理推广链接列表项
|
||||||
|
AgentLinkListItem {
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
ProductName string `json:"product_name"` // 产品名
|
||||||
|
Price float64 `json:"price"` // 价格
|
||||||
|
LinkIdentifier string `json:"link_identifier"` // 推广码
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理推广链接分页查询响应
|
||||||
|
AdminGetAgentLinkListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentLinkListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理佣金分页查询请求
|
||||||
|
AdminGetAgentCommissionListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
ProductName *string `form:"product_name,optional"` // 产品名(可选)
|
||||||
|
Status *int64 `form:"status,optional"` // 状态(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理佣金列表项
|
||||||
|
AgentCommissionListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
OrderId int64 `json:"order_id"` // 订单ID
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
ProductName string `json:"product_name"` // 产品名
|
||||||
|
Status int64 `json:"status"` // 状态
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理佣金分页查询响应
|
||||||
|
AdminGetAgentCommissionListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentCommissionListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理奖励分页查询请求
|
||||||
|
AdminGetAgentRewardListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
RelationAgentId *int64 `form:"relation_agent_id,optional"` // 关联代理ID(可选)
|
||||||
|
Type *string `form:"type,optional"` // 奖励类型(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理奖励列表项
|
||||||
|
AgentRewardListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
RelationAgentId int64 `json:"relation_agent_id"` // 关联代理ID
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Type string `json:"type"` // 奖励类型
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理奖励分页查询响应
|
||||||
|
AdminGetAgentRewardListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentRewardListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理提现分页查询请求
|
||||||
|
AdminGetAgentWithdrawalListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
Status *int64 `form:"status,optional"` // 状态(可选)
|
||||||
|
WithdrawNo *string `form:"withdraw_no,optional"` // 提现单号(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理提现列表项
|
||||||
|
AgentWithdrawalListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
WithdrawNo string `json:"withdraw_no"` // 提现单号
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Status int64 `json:"status"` // 状态
|
||||||
|
PayeeAccount string `json:"payee_account"` // 收款账户
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理提现分页查询响应
|
||||||
|
AdminGetAgentWithdrawalListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentWithdrawalListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理抽佣分页查询请求
|
||||||
|
AdminGetAgentCommissionDeductionListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
ProductName *string `form:"product_name,optional"` // 产品名(可选)
|
||||||
|
Type *string `form:"type,optional"` // 类型(cost/pricing,可选)
|
||||||
|
Status *int64 `form:"status,optional"` // 状态(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理抽佣列表项
|
||||||
|
AgentCommissionDeductionListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
DeductedAgentId int64 `json:"deducted_agent_id"` // 被扣代理ID
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
ProductName string `json:"product_name"` // 产品名
|
||||||
|
Type string `json:"type"` // 类型(cost/pricing)
|
||||||
|
Status int64 `json:"status"` // 状态
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理抽佣分页查询响应
|
||||||
|
AdminGetAgentCommissionDeductionListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentCommissionDeductionListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 平台抽佣分页查询请求
|
||||||
|
AdminGetAgentPlatformDeductionListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
Type *string `form:"type,optional"` // 类型(cost/pricing,可选)
|
||||||
|
Status *int64 `form:"status,optional"` // 状态(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 平台抽佣列表项
|
||||||
|
AgentPlatformDeductionListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Type string `json:"type"` // 类型(cost/pricing)
|
||||||
|
Status int64 `json:"status"` // 状态
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 平台抽佣分页查询响应
|
||||||
|
AdminGetAgentPlatformDeductionListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentPlatformDeductionListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理产品配置分页查询请求
|
||||||
|
AdminGetAgentProductionConfigListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
ProductName *string `form:"product_name,optional"` // 产品名(可选)
|
||||||
|
Id *int64 `form:"id,optional"` // 配置ID(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理产品配置分页查询响应
|
||||||
|
AdminGetAgentProductionConfigListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentProductionConfigItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理产品配置列表项
|
||||||
|
AgentProductionConfigItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
ProductName string `json:"product_name"` // 产品名
|
||||||
|
CostPrice float64 `json:"cost_price"` // 成本
|
||||||
|
PriceRangeMin float64 `json:"price_range_min"` // 最低定价
|
||||||
|
PriceRangeMax float64 `json:"price_range_max"` // 最高定价
|
||||||
|
PricingStandard float64 `json:"pricing_standard"` // 定价标准
|
||||||
|
OverpricingRatio float64 `json:"overpricing_ratio"` // 超价比例
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理产品配置编辑请求
|
||||||
|
AdminUpdateAgentProductionConfigReq {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
CostPrice float64 `json:"cost_price"` // 成本
|
||||||
|
PriceRangeMin float64 `json:"price_range_min"` // 最低定价
|
||||||
|
PriceRangeMax float64 `json:"price_range_max"` // 最高定价
|
||||||
|
PricingStandard float64 `json:"pricing_standard"` // 定价标准
|
||||||
|
OverpricingRatio float64 `json:"overpricing_ratio"` // 超价比例
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理产品配置编辑响应
|
||||||
|
AdminUpdateAgentProductionConfigResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员充值订单分页查询请求
|
||||||
|
AdminGetAgentMembershipRechargeOrderListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
UserId *int64 `form:"user_id,optional"` // 用户ID(可选)
|
||||||
|
AgentId *int64 `form:"agent_id,optional"` // 代理ID(可选)
|
||||||
|
OrderNo *string `form:"order_no,optional"` // 订单号(可选)
|
||||||
|
PlatformOrderId *string `form:"platform_order_id,optional"` // 平台订单号(可选)
|
||||||
|
Status *string `form:"status,optional"` // 状态(可选)
|
||||||
|
PaymentMethod *string `form:"payment_method,optional"` // 支付方式(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员充值订单列表项
|
||||||
|
AgentMembershipRechargeOrderListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
UserId int64 `json:"user_id"` // 用户ID
|
||||||
|
AgentId int64 `json:"agent_id"` // 代理ID
|
||||||
|
LevelName string `json:"level_name"` // 等级名称
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
PaymentMethod string `json:"payment_method"` // 支付方式
|
||||||
|
OrderNo string `json:"order_no"` // 订单号
|
||||||
|
PlatformOrderId string `json:"platform_order_id"` // 平台订单号
|
||||||
|
Status string `json:"status"` // 状态
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员充值订单分页查询响应
|
||||||
|
AdminGetAgentMembershipRechargeOrderListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentMembershipRechargeOrderListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员配置分页查询请求
|
||||||
|
AdminGetAgentMembershipConfigListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
LevelName *string `form:"level_name,optional"` // 会员级别名称(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员配置分页查询响应
|
||||||
|
AdminGetAgentMembershipConfigListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AgentMembershipConfigListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员配置列表项
|
||||||
|
AgentMembershipConfigListItem {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
LevelName string `json:"level_name"` // 会员级别名称
|
||||||
|
Price *float64 `json:"price"` // 会员年费
|
||||||
|
ReportCommission *float64 `json:"report_commission"` // 直推报告收益
|
||||||
|
LowerActivityReward *float64 `json:"lower_activity_reward"` // 下级活跃奖励金额
|
||||||
|
NewActivityReward *float64 `json:"new_activity_reward"` // 新增活跃奖励金额
|
||||||
|
LowerStandardCount *int64 `json:"lower_standard_count"` // 活跃下级达标个数
|
||||||
|
NewLowerStandardCount *int64 `json:"new_lower_standard_count"` // 新增活跃下级达标个数
|
||||||
|
LowerWithdrawRewardRatio *float64 `json:"lower_withdraw_reward_ratio"` // 下级提现奖励比例
|
||||||
|
LowerConvertVipReward *float64 `json:"lower_convert_vip_reward"` // 下级转化VIP奖励
|
||||||
|
LowerConvertSvipReward *float64 `json:"lower_convert_svip_reward"` // 下级转化SVIP奖励
|
||||||
|
ExemptionAmount *float64 `json:"exemption_amount"` // 免责金额
|
||||||
|
PriceIncreaseMax *float64 `json:"price_increase_max"` // 提价最高金额
|
||||||
|
PriceRatio *float64 `json:"price_ratio"` // 提价区间收取比例
|
||||||
|
PriceIncreaseAmount *float64 `json:"price_increase_amount"` // 在原本成本上加价的金额
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员配置编辑请求
|
||||||
|
AdminUpdateAgentMembershipConfigReq {
|
||||||
|
Id int64 `json:"id"` // 主键
|
||||||
|
LevelName string `json:"level_name"` // 会员级别名称
|
||||||
|
Price float64 `json:"price"` // 会员年费
|
||||||
|
ReportCommission float64 `json:"report_commission"` // 直推报告收益
|
||||||
|
LowerActivityReward *float64 `json:"lower_activity_reward,optional,omitempty"` // 下级活跃奖励金额
|
||||||
|
NewActivityReward *float64 `json:"new_activity_reward,optional,omitempty"` // 新增活跃奖励金额
|
||||||
|
LowerStandardCount *int64 `json:"lower_standard_count,optional,omitempty"` // 活跃下级达标个数
|
||||||
|
NewLowerStandardCount *int64 `json:"new_lower_standard_count,optional,omitempty"` // 新增活跃下级达标个数
|
||||||
|
LowerWithdrawRewardRatio *float64 `json:"lower_withdraw_reward_ratio,optional,omitempty"` // 下级提现奖励比例
|
||||||
|
LowerConvertVipReward *float64 `json:"lower_convert_vip_reward,optional,omitempty"` // 下级转化VIP奖励
|
||||||
|
LowerConvertSvipReward *float64 `json:"lower_convert_svip_reward,optional,omitempty"` // 下级转化SVIP奖励
|
||||||
|
ExemptionAmount *float64 `json:"exemption_amount,optional,omitempty"` // 免责金额
|
||||||
|
PriceIncreaseMax *float64 `json:"price_increase_max,optional,omitempty"` // 提价最高金额
|
||||||
|
PriceRatio *float64 `json:"price_ratio,optional,omitempty"` // 提价区间收取比例
|
||||||
|
PriceIncreaseAmount *float64 `json:"price_increase_amount,optional,omitempty"` // 在原本成本上加价的金额
|
||||||
|
}
|
||||||
|
|
||||||
|
// 代理会员配置编辑响应
|
||||||
|
AdminUpdateAgentMembershipConfigResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
)
|
||||||
108
app/main/api/desc/admin/admin_feature.api
Normal file
108
app/main/api/desc/admin/admin_feature.api
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "后台功能管理服务"
|
||||||
|
desc: "后台功能管理相关接口"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 功能管理接口
|
||||||
|
@server(
|
||||||
|
prefix: /api/v1/admin/feature
|
||||||
|
group: admin_feature
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
// 创建功能
|
||||||
|
@handler AdminCreateFeature
|
||||||
|
post /create (AdminCreateFeatureReq) returns (AdminCreateFeatureResp)
|
||||||
|
|
||||||
|
// 更新功能
|
||||||
|
@handler AdminUpdateFeature
|
||||||
|
put /update/:id (AdminUpdateFeatureReq) returns (AdminUpdateFeatureResp)
|
||||||
|
|
||||||
|
// 删除功能
|
||||||
|
@handler AdminDeleteFeature
|
||||||
|
delete /delete/:id (AdminDeleteFeatureReq) returns (AdminDeleteFeatureResp)
|
||||||
|
|
||||||
|
// 获取功能列表
|
||||||
|
@handler AdminGetFeatureList
|
||||||
|
get /list (AdminGetFeatureListReq) returns (AdminGetFeatureListResp)
|
||||||
|
|
||||||
|
// 获取功能详情
|
||||||
|
@handler AdminGetFeatureDetail
|
||||||
|
get /detail/:id (AdminGetFeatureDetailReq) returns (AdminGetFeatureDetailResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 创建功能请求
|
||||||
|
AdminCreateFeatureReq {
|
||||||
|
ApiId string `json:"api_id"` // API标识
|
||||||
|
Name string `json:"name"` // 描述
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建功能响应
|
||||||
|
AdminCreateFeatureResp {
|
||||||
|
Id int64 `json:"id"` // 功能ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新功能请求
|
||||||
|
AdminUpdateFeatureReq {
|
||||||
|
Id int64 `path:"id"` // 功能ID
|
||||||
|
ApiId *string `json:"api_id,optional"` // API标识
|
||||||
|
Name *string `json:"name,optional"` // 描述
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新功能响应
|
||||||
|
AdminUpdateFeatureResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除功能请求
|
||||||
|
AdminDeleteFeatureReq {
|
||||||
|
Id int64 `path:"id"` // 功能ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除功能响应
|
||||||
|
AdminDeleteFeatureResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取功能列表请求
|
||||||
|
AdminGetFeatureListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
ApiId *string `form:"api_id,optional"` // API标识
|
||||||
|
Name *string `form:"name,optional"` // 描述
|
||||||
|
}
|
||||||
|
|
||||||
|
// 功能列表项
|
||||||
|
FeatureListItem {
|
||||||
|
Id int64 `json:"id"` // 功能ID
|
||||||
|
ApiId string `json:"api_id"` // API标识
|
||||||
|
Name string `json:"name"` // 描述
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取功能列表响应
|
||||||
|
AdminGetFeatureListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []FeatureListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取功能详情请求
|
||||||
|
AdminGetFeatureDetailReq {
|
||||||
|
Id int64 `path:"id"` // 功能ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取功能详情响应
|
||||||
|
AdminGetFeatureDetailResp {
|
||||||
|
Id int64 `json:"id"` // 功能ID
|
||||||
|
ApiId string `json:"api_id"` // API标识
|
||||||
|
Name string `json:"name"` // 描述
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
)
|
||||||
175
app/main/api/desc/admin/admin_product.api
Normal file
175
app/main/api/desc/admin/admin_product.api
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "后台产品管理服务"
|
||||||
|
desc: "后台产品管理相关接口"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 产品管理接口
|
||||||
|
@server(
|
||||||
|
prefix: /api/v1/admin/product
|
||||||
|
group: admin_product
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
// 创建产品
|
||||||
|
@handler AdminCreateProduct
|
||||||
|
post /create (AdminCreateProductReq) returns (AdminCreateProductResp)
|
||||||
|
|
||||||
|
// 更新产品
|
||||||
|
@handler AdminUpdateProduct
|
||||||
|
put /update/:id (AdminUpdateProductReq) returns (AdminUpdateProductResp)
|
||||||
|
|
||||||
|
// 删除产品
|
||||||
|
@handler AdminDeleteProduct
|
||||||
|
delete /delete/:id (AdminDeleteProductReq) returns (AdminDeleteProductResp)
|
||||||
|
|
||||||
|
// 获取产品列表
|
||||||
|
@handler AdminGetProductList
|
||||||
|
get /list (AdminGetProductListReq) returns (AdminGetProductListResp)
|
||||||
|
|
||||||
|
// 获取产品详情
|
||||||
|
@handler AdminGetProductDetail
|
||||||
|
get /detail/:id (AdminGetProductDetailReq) returns (AdminGetProductDetailResp)
|
||||||
|
|
||||||
|
// 获取产品功能列表
|
||||||
|
@handler AdminGetProductFeatureList
|
||||||
|
get /feature/list/:product_id (AdminGetProductFeatureListReq) returns ([]AdminGetProductFeatureListResp)
|
||||||
|
|
||||||
|
// 更新产品功能关联(批量)
|
||||||
|
@handler AdminUpdateProductFeatures
|
||||||
|
put /feature/update/:product_id (AdminUpdateProductFeaturesReq) returns (AdminUpdateProductFeaturesResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 创建产品请求
|
||||||
|
AdminCreateProductReq {
|
||||||
|
ProductName string `json:"product_name"` // 服务名
|
||||||
|
ProductEn string `json:"product_en"` // 英文名
|
||||||
|
Description string `json:"description"` // 描述
|
||||||
|
Notes string `json:"notes,optional"` // 备注
|
||||||
|
CostPrice float64 `json:"cost_price"` // 成本
|
||||||
|
SellPrice float64 `json:"sell_price"` // 售价
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建产品响应
|
||||||
|
AdminCreateProductResp {
|
||||||
|
Id int64 `json:"id"` // 产品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新产品请求
|
||||||
|
AdminUpdateProductReq {
|
||||||
|
Id int64 `path:"id"` // 产品ID
|
||||||
|
ProductName *string `json:"product_name,optional"` // 服务名
|
||||||
|
ProductEn *string `json:"product_en,optional"` // 英文名
|
||||||
|
Description *string `json:"description,optional"` // 描述
|
||||||
|
Notes *string `json:"notes,optional"` // 备注
|
||||||
|
CostPrice *float64 `json:"cost_price,optional"` // 成本
|
||||||
|
SellPrice *float64 `json:"sell_price,optional"` // 售价
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新产品响应
|
||||||
|
AdminUpdateProductResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品请求
|
||||||
|
AdminDeleteProductReq {
|
||||||
|
Id int64 `path:"id"` // 产品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除产品响应
|
||||||
|
AdminDeleteProductResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取产品列表请求
|
||||||
|
AdminGetProductListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
ProductName *string `form:"product_name,optional"` // 服务名
|
||||||
|
ProductEn *string `form:"product_en,optional"` // 英文名
|
||||||
|
}
|
||||||
|
|
||||||
|
// 产品列表项
|
||||||
|
ProductListItem {
|
||||||
|
Id int64 `json:"id"` // 产品ID
|
||||||
|
ProductName string `json:"product_name"` // 服务名
|
||||||
|
ProductEn string `json:"product_en"` // 英文名
|
||||||
|
Description string `json:"description"` // 描述
|
||||||
|
Notes string `json:"notes"` // 备注
|
||||||
|
CostPrice float64 `json:"cost_price"` // 成本
|
||||||
|
SellPrice float64 `json:"sell_price"` // 售价
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取产品列表响应
|
||||||
|
AdminGetProductListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []ProductListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取产品详情请求
|
||||||
|
AdminGetProductDetailReq {
|
||||||
|
Id int64 `path:"id"` // 产品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取产品详情响应
|
||||||
|
AdminGetProductDetailResp {
|
||||||
|
Id int64 `json:"id"` // 产品ID
|
||||||
|
ProductName string `json:"product_name"` // 服务名
|
||||||
|
ProductEn string `json:"product_en"` // 英文名
|
||||||
|
Description string `json:"description"` // 描述
|
||||||
|
Notes string `json:"notes"` // 备注
|
||||||
|
CostPrice float64 `json:"cost_price"` // 成本
|
||||||
|
SellPrice float64 `json:"sell_price"` // 售价
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取产品功能列表请求
|
||||||
|
AdminGetProductFeatureListReq {
|
||||||
|
ProductId int64 `path:"product_id"` // 产品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取产品功能列表响应Item
|
||||||
|
AdminGetProductFeatureListResp {
|
||||||
|
Id int64 `json:"id"` // 关联ID
|
||||||
|
ProductId int64 `json:"product_id"` // 产品ID
|
||||||
|
FeatureId int64 `json:"feature_id"` // 功能ID
|
||||||
|
ApiId string `json:"api_id"` // API标识
|
||||||
|
Name string `json:"name"` // 功能描述
|
||||||
|
Sort int64 `json:"sort"` // 排序
|
||||||
|
Enable int64 `json:"enable"` // 是否启用
|
||||||
|
IsImportant int64 `json:"is_important"` // 是否重要
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// // 获取产品功能列表响应
|
||||||
|
// AdminGetProductFeatureListResp {
|
||||||
|
// Items []ProductFeatureListItem `json:"items"` // 列表数据
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 产品功能关联项
|
||||||
|
ProductFeatureItem {
|
||||||
|
FeatureId int64 `json:"feature_id"` // 功能ID
|
||||||
|
Sort int64 `json:"sort"` // 排序
|
||||||
|
Enable int64 `json:"enable"` // 是否启用
|
||||||
|
IsImportant int64 `json:"is_important"` // 是否重要
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新产品功能关联请求(批量)
|
||||||
|
AdminUpdateProductFeaturesReq {
|
||||||
|
ProductId int64 `path:"product_id"` // 产品ID
|
||||||
|
Features []ProductFeatureItem `json:"features"` // 功能列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新产品功能关联响应
|
||||||
|
AdminUpdateProductFeaturesResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
)
|
||||||
135
app/main/api/desc/admin/admin_query.api
Normal file
135
app/main/api/desc/admin/admin_query.api
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "查询服务"
|
||||||
|
desc: "查询服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/query
|
||||||
|
group: admin_query
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取查询详情"
|
||||||
|
@handler AdminGetQueryDetailByOrderId
|
||||||
|
get /detail/:order_id (AdminGetQueryDetailByOrderIdReq) returns (AdminGetQueryDetailByOrderIdResp)
|
||||||
|
|
||||||
|
@doc "获取清理日志列表"
|
||||||
|
@handler AdminGetQueryCleanupLogList
|
||||||
|
get /cleanup/logs (AdminGetQueryCleanupLogListReq) returns (AdminGetQueryCleanupLogListResp)
|
||||||
|
|
||||||
|
@doc "获取清理详情列表"
|
||||||
|
@handler AdminGetQueryCleanupDetailList
|
||||||
|
get /cleanup/details/:log_id (AdminGetQueryCleanupDetailListReq) returns (AdminGetQueryCleanupDetailListResp)
|
||||||
|
|
||||||
|
@doc "获取清理配置列表"
|
||||||
|
@handler AdminGetQueryCleanupConfigList
|
||||||
|
get /cleanup/configs (AdminGetQueryCleanupConfigListReq) returns (AdminGetQueryCleanupConfigListResp)
|
||||||
|
|
||||||
|
@doc "更新清理配置"
|
||||||
|
@handler AdminUpdateQueryCleanupConfig
|
||||||
|
put /cleanup/config (AdminUpdateQueryCleanupConfigReq) returns (AdminUpdateQueryCleanupConfigResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminGetQueryDetailByOrderIdReq {
|
||||||
|
OrderId int64 `path:"order_id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminGetQueryDetailByOrderIdResp {
|
||||||
|
Id int64 `json:"id"` // 主键ID
|
||||||
|
OrderId int64 `json:"order_id"` // 订单ID
|
||||||
|
UserId int64 `json:"user_id"` // 用户ID
|
||||||
|
ProductName string `json:"product_name"` // 产品ID
|
||||||
|
QueryParams map[string]interface{} `json:"query_params"`
|
||||||
|
QueryData []AdminQueryItem `json:"query_data"`
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
QueryState string `json:"query_state"` // 查询状态
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminQueryItem {
|
||||||
|
Feature interface{} `json:"feature"`
|
||||||
|
Data interface{} `json:"data"` // 这里可以是 map 或 具体的 struct
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理日志相关请求响应定义
|
||||||
|
type AdminGetQueryCleanupLogListReq {
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"page_size,default=20"` // 每页数量
|
||||||
|
Status int64 `form:"status,optional"` // 状态:1-成功,2-失败
|
||||||
|
StartTime string `form:"start_time,optional"` // 开始时间
|
||||||
|
EndTime string `form:"end_time,optional"` // 结束时间
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminGetQueryCleanupLogListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []QueryCleanupLogItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
type QueryCleanupLogItem {
|
||||||
|
Id int64 `json:"id"` // 主键ID
|
||||||
|
CleanupTime string `json:"cleanup_time"` // 清理时间
|
||||||
|
CleanupBefore string `json:"cleanup_before"` // 清理截止时间
|
||||||
|
Status int64 `json:"status"` // 状态:1-成功,2-失败
|
||||||
|
AffectedRows int64 `json:"affected_rows"` // 影响行数
|
||||||
|
ErrorMsg string `json:"error_msg"` // 错误信息
|
||||||
|
Remark string `json:"remark"` // 备注
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理详情相关请求响应定义
|
||||||
|
type AdminGetQueryCleanupDetailListReq {
|
||||||
|
LogId int64 `path:"log_id"` // 清理日志ID
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"page_size,default=20"` // 每页数量
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminGetQueryCleanupDetailListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []QueryCleanupDetailItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
type QueryCleanupDetailItem {
|
||||||
|
Id int64 `json:"id"` // 主键ID
|
||||||
|
CleanupLogId int64 `json:"cleanup_log_id"` // 清理日志ID
|
||||||
|
QueryId int64 `json:"query_id"` // 查询ID
|
||||||
|
OrderId int64 `json:"order_id"` // 订单ID
|
||||||
|
UserId int64 `json:"user_id"` // 用户ID
|
||||||
|
ProductName string `json:"product_name"` // 产品名称
|
||||||
|
QueryState string `json:"query_state"` // 查询状态
|
||||||
|
CreateTimeOld string `json:"create_time_old"` // 原创建时间
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 清理配置相关请求响应定义
|
||||||
|
type AdminGetQueryCleanupConfigListReq {
|
||||||
|
Status int64 `form:"status,optional"` // 状态:1-启用,0-禁用
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminGetQueryCleanupConfigListResp {
|
||||||
|
Items []QueryCleanupConfigItem `json:"items"` // 配置列表
|
||||||
|
}
|
||||||
|
|
||||||
|
type QueryCleanupConfigItem {
|
||||||
|
Id int64 `json:"id"` // 主键ID
|
||||||
|
ConfigKey string `json:"config_key"` // 配置键
|
||||||
|
ConfigValue string `json:"config_value"` // 配置值
|
||||||
|
ConfigDesc string `json:"config_desc"` // 配置描述
|
||||||
|
Status int64 `json:"status"` // 状态:1-启用,0-禁用
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminUpdateQueryCleanupConfigReq {
|
||||||
|
Id int64 `json:"id"` // 主键ID
|
||||||
|
ConfigValue string `json:"config_value"` // 配置值
|
||||||
|
Status int64 `json:"status"` // 状态:1-启用,0-禁用
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminUpdateQueryCleanupConfigResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
131
app/main/api/desc/admin/admin_user.api
Normal file
131
app/main/api/desc/admin/admin_user.api
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "后台用户中心服务"
|
||||||
|
desc: "后台用户中心服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/user
|
||||||
|
group: admin_user
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取用户列表"
|
||||||
|
@handler AdminGetUserList
|
||||||
|
get /list (AdminGetUserListReq) returns (AdminGetUserListResp)
|
||||||
|
|
||||||
|
@doc "获取用户详情"
|
||||||
|
@handler AdminGetUserDetail
|
||||||
|
get /detail/:id (AdminGetUserDetailReq) returns (AdminGetUserDetailResp)
|
||||||
|
|
||||||
|
@doc "创建用户"
|
||||||
|
@handler AdminCreateUser
|
||||||
|
post /create (AdminCreateUserReq) returns (AdminCreateUserResp)
|
||||||
|
|
||||||
|
@doc "更新用户"
|
||||||
|
@handler AdminUpdateUser
|
||||||
|
put /update/:id (AdminUpdateUserReq) returns (AdminUpdateUserResp)
|
||||||
|
|
||||||
|
@doc "删除用户"
|
||||||
|
@handler AdminDeleteUser
|
||||||
|
delete /delete/:id (AdminDeleteUserReq) returns (AdminDeleteUserResp)
|
||||||
|
|
||||||
|
@doc "用户信息"
|
||||||
|
@handler AdminUserInfo
|
||||||
|
get /info (AdminUserInfoReq) returns (AdminUserInfoResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 列表请求
|
||||||
|
AdminGetUserListReq {
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize,default=20"` // 每页数量
|
||||||
|
Username string `form:"username,optional"` // 用户名
|
||||||
|
RealName string `form:"real_name,optional"` // 真实姓名
|
||||||
|
Status int64 `form:"status,optional,default=-1"` // 状态:0-禁用,1-启用
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表响应
|
||||||
|
AdminGetUserListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []AdminUserListItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表项
|
||||||
|
AdminUserListItem {
|
||||||
|
Id int64 `json:"id"` // 用户ID
|
||||||
|
Username string `json:"username"` // 用户名
|
||||||
|
RealName string `json:"real_name"` // 真实姓名
|
||||||
|
Status int64 `json:"status"` // 状态:0-禁用,1-启用
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
RoleIds []int64 `json:"role_ids"` // 关联的角色ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情请求
|
||||||
|
AdminGetUserDetailReq {
|
||||||
|
Id int64 `path:"id"` // 用户ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情响应
|
||||||
|
AdminGetUserDetailResp {
|
||||||
|
Id int64 `json:"id"` // 用户ID
|
||||||
|
Username string `json:"username"` // 用户名
|
||||||
|
RealName string `json:"real_name"` // 真实姓名
|
||||||
|
Status int64 `json:"status"` // 状态:0-禁用,1-启用
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
RoleIds []int64 `json:"role_ids"` // 关联的角色ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
AdminCreateUserReq {
|
||||||
|
Username string `json:"username"` // 用户名
|
||||||
|
RealName string `json:"real_name"` // 真实姓名
|
||||||
|
Status int64 `json:"status,default=1"` // 状态:0-禁用,1-启用
|
||||||
|
RoleIds []int64 `json:"role_ids"` // 关联的角色ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建响应
|
||||||
|
AdminCreateUserResp {
|
||||||
|
Id int64 `json:"id"` // 用户ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新请求
|
||||||
|
AdminUpdateUserReq {
|
||||||
|
Id int64 `path:"id"` // 用户ID
|
||||||
|
Username *string `json:"username,optional"` // 用户名
|
||||||
|
RealName *string `json:"real_name,optional"` // 真实姓名
|
||||||
|
Status *int64 `json:"status,optional"` // 状态:0-禁用,1-启用
|
||||||
|
RoleIds []int64 `json:"role_ids,optional"` // 关联的角色ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新响应
|
||||||
|
AdminUpdateUserResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除请求
|
||||||
|
AdminDeleteUserReq {
|
||||||
|
Id int64 `path:"id"` // 用户ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除响应
|
||||||
|
AdminDeleteUserResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户信息请求
|
||||||
|
AdminUserInfoReq {
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户信息响应
|
||||||
|
AdminUserInfoResp {
|
||||||
|
Username string `json:"username"` // 用户名
|
||||||
|
RealName string `json:"real_name"` // 真实姓名
|
||||||
|
Roles []string `json:"roles"` // 角色编码列表
|
||||||
|
}
|
||||||
|
)
|
||||||
34
app/main/api/desc/admin/auth.api
Normal file
34
app/main/api/desc/admin/auth.api
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "认证中心服务"
|
||||||
|
desc: "认证中心服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/auth
|
||||||
|
group: admin_auth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "登录"
|
||||||
|
@handler AdminLogin
|
||||||
|
post /login (AdminLoginReq) returns (AdminLoginResp)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
AdminLoginReq {
|
||||||
|
Username string `json:"username" validate:"required"`
|
||||||
|
Password string `json:"password" validate:"required"`
|
||||||
|
Captcha bool `json:"captcha" validate:"required"`
|
||||||
|
}
|
||||||
|
AdminLoginResp {
|
||||||
|
AccessToken string `json:"access_token"`
|
||||||
|
AccessExpire int64 `json:"access_expire"`
|
||||||
|
RefreshAfter int64 `json:"refresh_after"`
|
||||||
|
Roles []string `json:"roles"`
|
||||||
|
}
|
||||||
|
)
|
||||||
149
app/main/api/desc/admin/menu.api
Normal file
149
app/main/api/desc/admin/menu.api
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "菜单中心服务"
|
||||||
|
desc: "菜单中心服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/menu
|
||||||
|
group: admin_menu
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取菜单列表"
|
||||||
|
@handler GetMenuList
|
||||||
|
get /list (GetMenuListReq) returns ([]MenuListItem)
|
||||||
|
|
||||||
|
@doc "获取菜单详情"
|
||||||
|
@handler GetMenuDetail
|
||||||
|
get /detail/:id (GetMenuDetailReq) returns (GetMenuDetailResp)
|
||||||
|
|
||||||
|
@doc "创建菜单"
|
||||||
|
@handler CreateMenu
|
||||||
|
post /create (CreateMenuReq) returns (CreateMenuResp)
|
||||||
|
|
||||||
|
@doc "更新菜单"
|
||||||
|
@handler UpdateMenu
|
||||||
|
put /update/:id (UpdateMenuReq) returns (UpdateMenuResp)
|
||||||
|
|
||||||
|
@doc "删除菜单"
|
||||||
|
@handler DeleteMenu
|
||||||
|
delete /delete/:id (DeleteMenuReq) returns (DeleteMenuResp)
|
||||||
|
|
||||||
|
@doc "获取所有菜单(树形结构)"
|
||||||
|
@handler GetMenuAll
|
||||||
|
get /all (GetMenuAllReq) returns ([]GetMenuAllResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 列表请求
|
||||||
|
GetMenuListReq {
|
||||||
|
Name string `form:"name,optional"` // 菜单名称
|
||||||
|
Path string `form:"path,optional"` // 路由路径
|
||||||
|
Status int64 `form:"status,optional,default=-1"` // 状态:0-禁用,1-启用
|
||||||
|
Type string `form:"type,optional"` // 类型
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表项
|
||||||
|
MenuListItem {
|
||||||
|
Id int64 `json:"id"` // 菜单ID
|
||||||
|
Pid int64 `json:"pid"` // 父菜单ID
|
||||||
|
Name string `json:"name"` // 路由名称
|
||||||
|
Path string `json:"path"` // 路由路径
|
||||||
|
Component string `json:"component"` // 组件路径
|
||||||
|
Redirect string `json:"redirect"` // 重定向路径
|
||||||
|
Meta map[string]interface{} `json:"meta"` // 路由元数据
|
||||||
|
Status int64 `json:"status"` // 状态:0-禁用,1-启用
|
||||||
|
Type string `json:"type"` // 类型
|
||||||
|
Sort int64 `json:"sort"` // 排序
|
||||||
|
CreateTime string `json:"createTime"` // 创建时间
|
||||||
|
Children []MenuListItem `json:"children"` // 子菜单
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情请求
|
||||||
|
GetMenuDetailReq {
|
||||||
|
Id int64 `path:"id"` // 菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情响应
|
||||||
|
GetMenuDetailResp {
|
||||||
|
Id int64 `json:"id"` // 菜单ID
|
||||||
|
Pid int64 `json:"pid"` // 父菜单ID
|
||||||
|
Name string `json:"name"` // 路由名称
|
||||||
|
Path string `json:"path"` // 路由路径
|
||||||
|
Component string `json:"component"` // 组件路径
|
||||||
|
Redirect string `json:"redirect"` // 重定向路径
|
||||||
|
Meta map[string]interface{} `json:"meta"` // 路由元数据
|
||||||
|
Status int64 `json:"status"` // 状态:0-禁用,1-启用
|
||||||
|
Type string `json:"type"` // 类型
|
||||||
|
Sort int64 `json:"sort"` // 排序
|
||||||
|
CreateTime string `json:"createTime"` // 创建时间
|
||||||
|
UpdateTime string `json:"updateTime"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
CreateMenuReq {
|
||||||
|
Pid int64 `json:"pid,optional"` // 父菜单ID
|
||||||
|
Name string `json:"name"` // 路由名称
|
||||||
|
Path string `json:"path,optional"` // 路由路径
|
||||||
|
Component string `json:"component,optional"` // 组件路径
|
||||||
|
Redirect string `json:"redirect,optional"` // 重定向路径
|
||||||
|
Meta map[string]interface{} `json:"meta"` // 路由元数据
|
||||||
|
Status int64 `json:"status,optional,default=1"` // 状态:0-禁用,1-启用
|
||||||
|
Type string `json:"type"` // 类型
|
||||||
|
Sort int64 `json:"sort,optional"` // 排序
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建响应
|
||||||
|
CreateMenuResp {
|
||||||
|
Id int64 `json:"id"` // 菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新请求
|
||||||
|
UpdateMenuReq {
|
||||||
|
Id int64 `path:"id"` // 菜单ID
|
||||||
|
Pid int64 `json:"pid,optional"` // 父菜单ID
|
||||||
|
Name string `json:"name"` // 路由名称
|
||||||
|
Path string `json:"path,optional"` // 路由路径
|
||||||
|
Component string `json:"component,optional"` // 组件路径
|
||||||
|
Redirect string `json:"redirect,optional"` // 重定向路径
|
||||||
|
Meta map[string]interface{} `json:"meta"` // 路由元数据
|
||||||
|
Status int64 `json:"status,optional"` // 状态:0-禁用,1-启用
|
||||||
|
Type string `json:"type"` // 类型
|
||||||
|
Sort int64 `json:"sort,optional"` // 排序
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新响应
|
||||||
|
UpdateMenuResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除请求
|
||||||
|
DeleteMenuReq {
|
||||||
|
Id int64 `path:"id"` // 菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除响应
|
||||||
|
DeleteMenuResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取所有菜单请求
|
||||||
|
GetMenuAllReq {
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取所有菜单响应
|
||||||
|
GetMenuAllResp {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Path string `json:"path"`
|
||||||
|
Redirect string `json:"redirect,omitempty"`
|
||||||
|
Component string `json:"component,omitempty"`
|
||||||
|
Sort int64 `json:"sort"`
|
||||||
|
Meta map[string]interface{} `json:"meta"`
|
||||||
|
Children []GetMenuAllResp `json:"children"`
|
||||||
|
}
|
||||||
|
)
|
||||||
127
app/main/api/desc/admin/notification.api
Normal file
127
app/main/api/desc/admin/notification.api
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 创建通知请求
|
||||||
|
AdminCreateNotificationReq {
|
||||||
|
Title string `json:"title"` // 通知标题
|
||||||
|
NotificationPage string `json:"notification_page"` // 通知页面
|
||||||
|
Content string `json:"content"` // 通知内容
|
||||||
|
StartDate string `json:"start_date"` // 生效开始日期(yyyy-MM-dd)
|
||||||
|
StartTime string `json:"start_time"` // 生效开始时间(HH:mm:ss)
|
||||||
|
EndDate string `json:"end_date"` // 生效结束日期(yyyy-MM-dd)
|
||||||
|
EndTime string `json:"end_time"` // 生效结束时间(HH:mm:ss)
|
||||||
|
Status int64 `json:"status"` // 状态:1-启用,0-禁用
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建通知响应
|
||||||
|
AdminCreateNotificationResp {
|
||||||
|
Id int64 `json:"id"` // 通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新通知请求
|
||||||
|
AdminUpdateNotificationReq {
|
||||||
|
Id int64 `path:"id"` // 通知ID
|
||||||
|
Title *string `json:"title,optional"` // 通知标题
|
||||||
|
Content *string `json:"content,optional"` // 通知内容
|
||||||
|
NotificationPage *string `json:"notification_page,optional"` // 通知页面
|
||||||
|
StartDate *string `json:"start_date,optional"` // 生效开始日期
|
||||||
|
StartTime *string `json:"start_time,optional"` // 生效开始时间
|
||||||
|
EndDate *string `json:"end_date,optional"` // 生效结束日期
|
||||||
|
EndTime *string `json:"end_time,optional"` // 生效结束时间
|
||||||
|
Status *int64 `json:"status,optional"` // 状态
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新通知响应
|
||||||
|
AdminUpdateNotificationResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除通知请求
|
||||||
|
AdminDeleteNotificationReq {
|
||||||
|
Id int64 `path:"id"` // 通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除通知响应
|
||||||
|
AdminDeleteNotificationResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取通知详情请求
|
||||||
|
AdminGetNotificationDetailReq {
|
||||||
|
Id int64 `path:"id"` // 通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取通知详情响应
|
||||||
|
AdminGetNotificationDetailResp {
|
||||||
|
Id int64 `json:"id"` // 通知ID
|
||||||
|
Title string `json:"title"` // 通知标题
|
||||||
|
Content string `json:"content"` // 通知内容
|
||||||
|
NotificationPage string `json:"notification_page"` // 通知页面
|
||||||
|
StartDate string `json:"start_date"` // 生效开始日期
|
||||||
|
StartTime string `json:"start_time"` // 生效开始时间
|
||||||
|
EndDate string `json:"end_date"` // 生效结束日期
|
||||||
|
EndTime string `json:"end_time"` // 生效结束时间
|
||||||
|
Status int64 `json:"status"` // 状态
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取通知列表请求
|
||||||
|
AdminGetNotificationListReq {
|
||||||
|
Page int64 `form:"page"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize"` // 每页数量
|
||||||
|
Title *string `form:"title,optional"` // 通知标题(可选)
|
||||||
|
NotificationPage *string `form:"notification_page,optional"` // 通知页面(可选)
|
||||||
|
Status *int64 `form:"status,optional"` // 状态(可选)
|
||||||
|
StartDate *string `form:"start_date,optional"` // 开始日期范围(可选)
|
||||||
|
EndDate *string `form:"end_date,optional"` // 结束日期范围(可选)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 通知列表项
|
||||||
|
NotificationListItem {
|
||||||
|
Id int64 `json:"id"` // 通知ID
|
||||||
|
Title string `json:"title"` // 通知标题
|
||||||
|
NotificationPage string `json:"notification_page"` // 通知页面
|
||||||
|
Content string `json:"content"` // 通知内容
|
||||||
|
StartDate string `json:"start_date"` // 生效开始日期
|
||||||
|
StartTime string `json:"start_time"` // 生效开始时间
|
||||||
|
EndDate string `json:"end_date"` // 生效结束日期
|
||||||
|
EndTime string `json:"end_time"` // 生效结束时间
|
||||||
|
Status int64 `json:"status"` // 状态
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取通知列表响应
|
||||||
|
AdminGetNotificationListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []NotificationListItem `json:"items"` // 列表数据
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// 通知管理接口
|
||||||
|
@server(
|
||||||
|
prefix: /api/v1/admin/notification
|
||||||
|
group: admin_notification
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
// 创建通知
|
||||||
|
@handler AdminCreateNotification
|
||||||
|
post /create (AdminCreateNotificationReq) returns (AdminCreateNotificationResp)
|
||||||
|
|
||||||
|
// 更新通知
|
||||||
|
@handler AdminUpdateNotification
|
||||||
|
put /update/:id (AdminUpdateNotificationReq) returns (AdminUpdateNotificationResp)
|
||||||
|
|
||||||
|
// 删除通知
|
||||||
|
@handler AdminDeleteNotification
|
||||||
|
delete /delete/:id (AdminDeleteNotificationReq) returns (AdminDeleteNotificationResp)
|
||||||
|
|
||||||
|
// 获取通知详情
|
||||||
|
@handler AdminGetNotificationDetail
|
||||||
|
get /detail/:id (AdminGetNotificationDetailReq) returns (AdminGetNotificationDetailResp)
|
||||||
|
|
||||||
|
// 获取通知列表
|
||||||
|
@handler AdminGetNotificationList
|
||||||
|
get /list (AdminGetNotificationListReq) returns (AdminGetNotificationListResp)
|
||||||
|
}
|
||||||
169
app/main/api/desc/admin/order.api
Normal file
169
app/main/api/desc/admin/order.api
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "订单服务"
|
||||||
|
desc: "订单服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/order
|
||||||
|
group: admin_order
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取订单列表"
|
||||||
|
@handler AdminGetOrderList
|
||||||
|
get /list (AdminGetOrderListReq) returns (AdminGetOrderListResp)
|
||||||
|
|
||||||
|
@doc "获取订单详情"
|
||||||
|
@handler AdminGetOrderDetail
|
||||||
|
get /detail/:id (AdminGetOrderDetailReq) returns (AdminGetOrderDetailResp)
|
||||||
|
|
||||||
|
@doc "创建订单"
|
||||||
|
@handler AdminCreateOrder
|
||||||
|
post /create (AdminCreateOrderReq) returns (AdminCreateOrderResp)
|
||||||
|
|
||||||
|
@doc "更新订单"
|
||||||
|
@handler AdminUpdateOrder
|
||||||
|
put /update/:id (AdminUpdateOrderReq) returns (AdminUpdateOrderResp)
|
||||||
|
|
||||||
|
@doc "删除订单"
|
||||||
|
@handler AdminDeleteOrder
|
||||||
|
delete /delete/:id (AdminDeleteOrderReq) returns (AdminDeleteOrderResp)
|
||||||
|
|
||||||
|
@doc "订单退款"
|
||||||
|
@handler AdminRefundOrder
|
||||||
|
post /refund/:id (AdminRefundOrderReq) returns (AdminRefundOrderResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 列表请求
|
||||||
|
AdminGetOrderListReq {
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize,default=20"` // 每页数量
|
||||||
|
OrderNo string `form:"order_no,optional"` // 商户订单号
|
||||||
|
PlatformOrderId string `form:"platform_order_id,optional"` // 支付订单号
|
||||||
|
ProductName string `form:"product_name,optional"` // 产品名称
|
||||||
|
PaymentPlatform string `form:"payment_platform,optional"` // 支付方式
|
||||||
|
PaymentScene string `form:"payment_scene,optional"` // 支付平台
|
||||||
|
Amount float64 `form:"amount,optional"` // 金额
|
||||||
|
Status string `form:"status,optional"` // 支付状态:pending-待支付,paid-已支付,refunded-已退款,closed-已关闭,failed-支付失败
|
||||||
|
IsPromotion int64 `form:"is_promotion,optional,default=-1"` // 是否推广订单:0-否,1-是
|
||||||
|
CreateTimeStart string `form:"create_time_start,optional"` // 创建时间开始
|
||||||
|
CreateTimeEnd string `form:"create_time_end,optional"` // 创建时间结束
|
||||||
|
PayTimeStart string `form:"pay_time_start,optional"` // 支付时间开始
|
||||||
|
PayTimeEnd string `form:"pay_time_end,optional"` // 支付时间结束
|
||||||
|
RefundTimeStart string `form:"refund_time_start,optional"` // 退款时间开始
|
||||||
|
RefundTimeEnd string `form:"refund_time_end,optional"` // 退款时间结束
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表响应
|
||||||
|
AdminGetOrderListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []OrderListItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表项
|
||||||
|
OrderListItem {
|
||||||
|
Id int64 `json:"id"` // 订单ID
|
||||||
|
OrderNo string `json:"order_no"` // 商户订单号
|
||||||
|
PlatformOrderId string `json:"platform_order_id"` // 支付订单号
|
||||||
|
ProductName string `json:"product_name"` // 产品名称
|
||||||
|
PaymentPlatform string `json:"payment_platform"` // 支付方式
|
||||||
|
PaymentScene string `json:"payment_scene"` // 支付平台
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Status string `json:"status"` // 支付状态:pending-待支付,paid-已支付,refunded-已退款,closed-已关闭,failed-支付失败
|
||||||
|
QueryState string `json:"query_state"` // 查询状态:pending-待查询,success-查询成功,failed-查询失败 processing-查询中
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
PayTime string `json:"pay_time"` // 支付时间
|
||||||
|
RefundTime string `json:"refund_time"` // 退款时间
|
||||||
|
IsPromotion int64 `json:"is_promotion"` // 是否推广订单:0-否,1-是
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情请求
|
||||||
|
AdminGetOrderDetailReq {
|
||||||
|
Id int64 `path:"id"` // 订单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情响应
|
||||||
|
AdminGetOrderDetailResp {
|
||||||
|
Id int64 `json:"id"` // 订单ID
|
||||||
|
OrderNo string `json:"order_no"` // 商户订单号
|
||||||
|
PlatformOrderId string `json:"platform_order_id"` // 支付订单号
|
||||||
|
ProductName string `json:"product_name"` // 产品名称
|
||||||
|
PaymentPlatform string `json:"payment_platform"` // 支付方式
|
||||||
|
PaymentScene string `json:"payment_scene"` // 支付平台
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Status string `json:"status"` // 支付状态:pending-待支付,paid-已支付,refunded-已退款,closed-已关闭,failed-支付失败
|
||||||
|
QueryState string `json:"query_state"` // 查询状态:pending-待查询,success-查询成功,failed-查询失败 processing-查询中
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
PayTime string `json:"pay_time"` // 支付时间
|
||||||
|
RefundTime string `json:"refund_time"` // 退款时间
|
||||||
|
IsPromotion int64 `json:"is_promotion"` // 是否推广订单:0-否,1-是
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
AdminCreateOrderReq {
|
||||||
|
OrderNo string `json:"order_no"` // 商户订单号
|
||||||
|
PlatformOrderId string `json:"platform_order_id"` // 支付订单号
|
||||||
|
ProductName string `json:"product_name"` // 产品名称
|
||||||
|
PaymentPlatform string `json:"payment_platform"` // 支付方式
|
||||||
|
PaymentScene string `json:"payment_scene"` // 支付平台
|
||||||
|
Amount float64 `json:"amount"` // 金额
|
||||||
|
Status string `json:"status,default=pending"` // 支付状态:pending-待支付,paid-已支付,refunded-已退款,closed-已关闭,failed-支付失败
|
||||||
|
IsPromotion int64 `json:"is_promotion,default=0"` // 是否推广订单:0-否,1-是
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建响应
|
||||||
|
AdminCreateOrderResp {
|
||||||
|
Id int64 `json:"id"` // 订单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新请求
|
||||||
|
AdminUpdateOrderReq {
|
||||||
|
Id int64 `path:"id"` // 订单ID
|
||||||
|
OrderNo *string `json:"order_no,optional"` // 商户订单号
|
||||||
|
PlatformOrderId *string `json:"platform_order_id,optional"` // 支付订单号
|
||||||
|
ProductName *string `json:"product_name,optional"` // 产品名称
|
||||||
|
PaymentPlatform *string `json:"payment_platform,optional"` // 支付方式
|
||||||
|
PaymentScene *string `json:"payment_scene,optional"` // 支付平台
|
||||||
|
Amount *float64 `json:"amount,optional"` // 金额
|
||||||
|
Status *string `json:"status,optional"` // 支付状态:pending-待支付,paid-已支付,refunded-已退款,closed-已关闭,failed-支付失败
|
||||||
|
PayTime *string `json:"pay_time,optional"` // 支付时间
|
||||||
|
RefundTime *string `json:"refund_time,optional"` // 退款时间
|
||||||
|
IsPromotion *int64 `json:"is_promotion,optional"` // 是否推广订单:0-否,1-是
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新响应
|
||||||
|
AdminUpdateOrderResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除请求
|
||||||
|
AdminDeleteOrderReq {
|
||||||
|
Id int64 `path:"id"` // 订单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除响应
|
||||||
|
AdminDeleteOrderResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 退款请求
|
||||||
|
AdminRefundOrderReq {
|
||||||
|
Id int64 `path:"id"` // 订单ID
|
||||||
|
RefundAmount float64 `json:"refund_amount"` // 退款金额
|
||||||
|
RefundReason string `json:"refund_reason"` // 退款原因
|
||||||
|
}
|
||||||
|
|
||||||
|
// 退款响应
|
||||||
|
AdminRefundOrderResp {
|
||||||
|
Status string `json:"status"` // 退款状态
|
||||||
|
RefundNo string `json:"refund_no"` // 退款单号
|
||||||
|
Amount float64 `json:"amount"` // 退款金额
|
||||||
|
}
|
||||||
|
)
|
||||||
124
app/main/api/desc/admin/platform_user.api
Normal file
124
app/main/api/desc/admin/platform_user.api
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "平台用户管理"
|
||||||
|
desc: "平台用户管理"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 平台用户管理接口
|
||||||
|
@server(
|
||||||
|
prefix: /api/v1/admin/platform_user
|
||||||
|
group: admin_platform_user
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
// 创建平台用户
|
||||||
|
@handler AdminCreatePlatformUser
|
||||||
|
post /create (AdminCreatePlatformUserReq) returns (AdminCreatePlatformUserResp)
|
||||||
|
|
||||||
|
// 更新平台用户
|
||||||
|
@handler AdminUpdatePlatformUser
|
||||||
|
put /update/:id (AdminUpdatePlatformUserReq) returns (AdminUpdatePlatformUserResp)
|
||||||
|
|
||||||
|
// 删除平台用户
|
||||||
|
@handler AdminDeletePlatformUser
|
||||||
|
delete /delete/:id (AdminDeletePlatformUserReq) returns (AdminDeletePlatformUserResp)
|
||||||
|
|
||||||
|
// 获取平台用户分页列表
|
||||||
|
@handler AdminGetPlatformUserList
|
||||||
|
get /list (AdminGetPlatformUserListReq) returns (AdminGetPlatformUserListResp)
|
||||||
|
|
||||||
|
// 获取平台用户详情
|
||||||
|
@handler AdminGetPlatformUserDetail
|
||||||
|
get /detail/:id (AdminGetPlatformUserDetailReq) returns (AdminGetPlatformUserDetailResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 分页列表请求
|
||||||
|
AdminGetPlatformUserListReq {
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize,default=20"` // 每页数量
|
||||||
|
Mobile string `form:"mobile,optional"` // 手机号
|
||||||
|
Nickname string `form:"nickname,optional"` // 昵称
|
||||||
|
Inside int64 `form:"inside,optional"` // 是否内部用户 1-是 0-否
|
||||||
|
CreateTimeStart string `form:"create_time_start,optional"` // 创建时间开始
|
||||||
|
CreateTimeEnd string `form:"create_time_end,optional"` // 创建时间结束
|
||||||
|
OrderBy string `form:"order_by,optional"` // 排序字段
|
||||||
|
OrderType string `form:"order_type,optional"` // 排序类型
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分页列表响应
|
||||||
|
AdminGetPlatformUserListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []PlatformUserListItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表项
|
||||||
|
PlatformUserListItem {
|
||||||
|
Id int64 `json:"id"` // 用户ID
|
||||||
|
Mobile string `json:"mobile"` // 手机号
|
||||||
|
Nickname string `json:"nickname"` // 昵称
|
||||||
|
Info string `json:"info"` // 备注信息
|
||||||
|
Inside int64 `json:"inside"` // 是否内部用户 1-是 0-否
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情请求
|
||||||
|
AdminGetPlatformUserDetailReq {
|
||||||
|
Id int64 `path:"id"` // 用户ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情响应
|
||||||
|
AdminGetPlatformUserDetailResp {
|
||||||
|
Id int64 `json:"id"` // 用户ID
|
||||||
|
Mobile string `json:"mobile"` // 手机号
|
||||||
|
Nickname string `json:"nickname"` // 昵称
|
||||||
|
Info string `json:"info"` // 备注信息
|
||||||
|
Inside int64 `json:"inside"` // 是否内部用户 1-是 0-否
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
AdminCreatePlatformUserReq {
|
||||||
|
Mobile string `json:"mobile"` // 手机号
|
||||||
|
Password string `json:"password"` // 密码
|
||||||
|
Nickname string `json:"nickname"` // 昵称
|
||||||
|
Info string `json:"info"` // 备注信息
|
||||||
|
Inside int64 `json:"inside"` // 是否内部用户 1-是 0-否
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建响应
|
||||||
|
AdminCreatePlatformUserResp {
|
||||||
|
Id int64 `json:"id"` // 用户ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新请求
|
||||||
|
AdminUpdatePlatformUserReq {
|
||||||
|
Id int64 `path:"id"` // 用户ID
|
||||||
|
Mobile *string `json:"mobile,optional"` // 手机号
|
||||||
|
Password *string `json:"password,optional"` // 密码
|
||||||
|
Nickname *string `json:"nickname,optional"` // 昵称
|
||||||
|
Info *string `json:"info,optional"` // 备注信息
|
||||||
|
Inside *int64 `json:"inside,optional"` // 是否内部用户 1-是 0-否
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新响应
|
||||||
|
AdminUpdatePlatformUserResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除请求
|
||||||
|
AdminDeletePlatformUserReq {
|
||||||
|
Id int64 `path:"id"` // 用户ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除响应
|
||||||
|
AdminDeletePlatformUserResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
)
|
||||||
183
app/main/api/desc/admin/promotion.api
Normal file
183
app/main/api/desc/admin/promotion.api
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "推广服务"
|
||||||
|
desc: "推广服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/promotion/link
|
||||||
|
group: admin_promotion
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取推广链接列表"
|
||||||
|
@handler GetPromotionLinkList
|
||||||
|
get /list (GetPromotionLinkListReq) returns (GetPromotionLinkListResp)
|
||||||
|
|
||||||
|
@doc "获取推广链接详情"
|
||||||
|
@handler GetPromotionLinkDetail
|
||||||
|
get /detail/:id (GetPromotionLinkDetailReq) returns (GetPromotionLinkDetailResp)
|
||||||
|
|
||||||
|
@doc "创建推广链接"
|
||||||
|
@handler CreatePromotionLink
|
||||||
|
post /create (CreatePromotionLinkReq) returns (CreatePromotionLinkResp)
|
||||||
|
|
||||||
|
@doc "更新推广链接"
|
||||||
|
@handler UpdatePromotionLink
|
||||||
|
put /update/:id (UpdatePromotionLinkReq) returns (UpdatePromotionLinkResp)
|
||||||
|
|
||||||
|
@doc "删除推广链接"
|
||||||
|
@handler DeletePromotionLink
|
||||||
|
delete /delete/:id (DeletePromotionLinkReq) returns (DeletePromotionLinkResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 列表请求
|
||||||
|
GetPromotionLinkListReq {
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize,default=20"` // 每页数量
|
||||||
|
Name string `form:"name,optional"` // 链接名称
|
||||||
|
Url string `form:"url,optional"` // 推广链接URL
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表响应
|
||||||
|
GetPromotionLinkListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []PromotionLinkItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表项
|
||||||
|
PromotionLinkItem {
|
||||||
|
Id int64 `json:"id"` // 链接ID
|
||||||
|
Name string `json:"name"` // 链接名称
|
||||||
|
Url string `json:"url"` // 推广链接URL
|
||||||
|
ClickCount int64 `json:"click_count"` // 点击数
|
||||||
|
PayCount int64 `json:"pay_count"` // 付费次数
|
||||||
|
PayAmount string `json:"pay_amount"` // 付费金额
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
LastClickTime string `json:"last_click_time,optional"` // 最后点击时间
|
||||||
|
LastPayTime string `json:"last_pay_time,optional"` // 最后付费时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情请求
|
||||||
|
GetPromotionLinkDetailReq {
|
||||||
|
Id int64 `path:"id"` // 链接ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情响应
|
||||||
|
GetPromotionLinkDetailResp {
|
||||||
|
Name string `json:"name"` // 链接名称
|
||||||
|
Url string `json:"url"` // 推广链接URL
|
||||||
|
ClickCount int64 `json:"click_count"` // 点击数
|
||||||
|
PayCount int64 `json:"pay_count"` // 付费次数
|
||||||
|
PayAmount string `json:"pay_amount"` // 付费金额
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
LastClickTime string `json:"last_click_time,optional"` // 最后点击时间
|
||||||
|
LastPayTime string `json:"last_pay_time,optional"` // 最后付费时间
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
CreatePromotionLinkReq {
|
||||||
|
Name string `json:"name"` // 链接名称
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建响应
|
||||||
|
CreatePromotionLinkResp {
|
||||||
|
Id int64 `json:"id"` // 链接ID
|
||||||
|
Url string `json:"url"` // 生成的推广链接URL
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新请求
|
||||||
|
UpdatePromotionLinkReq {
|
||||||
|
Id int64 `path:"id"` // 链接ID
|
||||||
|
Name *string `json:"name,optional"` // 链接名称
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新响应
|
||||||
|
UpdatePromotionLinkResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除请求
|
||||||
|
DeletePromotionLinkReq {
|
||||||
|
Id int64 `path:"id"` // 链接ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除响应
|
||||||
|
DeletePromotionLinkResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/promotion/link
|
||||||
|
group: admin_promotion
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "记录链接点击"
|
||||||
|
@handler RecordLinkClick
|
||||||
|
get /record/:path (RecordLinkClickReq) returns (RecordLinkClickResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 记录链接点击请求
|
||||||
|
RecordLinkClickReq {
|
||||||
|
Path string `path:"path"` // 链接路径
|
||||||
|
}
|
||||||
|
|
||||||
|
// 记录链接点击响应
|
||||||
|
RecordLinkClickResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/promotion/stats
|
||||||
|
group: admin_promotion
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取推广历史记录"
|
||||||
|
@handler GetPromotionStatsHistory
|
||||||
|
get /history (GetPromotionStatsHistoryReq) returns ([]PromotionStatsHistoryItem)
|
||||||
|
|
||||||
|
@doc "获取推广总统计"
|
||||||
|
@handler GetPromotionStatsTotal
|
||||||
|
get /total (GetPromotionStatsTotalReq) returns (GetPromotionStatsTotalResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 获取推广历史记录请求
|
||||||
|
GetPromotionStatsHistoryReq {
|
||||||
|
StartDate string `form:"start_date"` // 开始日期,格式:YYYY-MM-DD
|
||||||
|
EndDate string `form:"end_date"` // 结束日期,格式:YYYY-MM-DD
|
||||||
|
}
|
||||||
|
|
||||||
|
// 推广历史记录项
|
||||||
|
PromotionStatsHistoryItem {
|
||||||
|
Id int64 `json:"id"` // 记录ID
|
||||||
|
LinkId int64 `json:"link_id"` // 链接ID
|
||||||
|
PayAmount float64 `json:"pay_amount"` // 金额
|
||||||
|
ClickCount int64 `json:"click_count"` // 点击数
|
||||||
|
PayCount int64 `json:"pay_count"` // 付费次数
|
||||||
|
StatsDate string `json:"stats_date"` // 统计日期
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取推广总统计请求
|
||||||
|
GetPromotionStatsTotalReq {
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取推广总统计响应
|
||||||
|
GetPromotionStatsTotalResp {
|
||||||
|
TodayPayAmount float64 `json:"today_pay_amount"` // 今日金额
|
||||||
|
TodayClickCount int64 `json:"today_click_count"` // 今日点击数
|
||||||
|
TodayPayCount int64 `json:"today_pay_count"` // 今日付费次数
|
||||||
|
TotalPayAmount float64 `json:"total_pay_amount"` // 总金额
|
||||||
|
TotalClickCount int64 `json:"total_click_count"` // 总点击数
|
||||||
|
TotalPayCount int64 `json:"total_pay_count"` // 总付费次数
|
||||||
|
}
|
||||||
|
)
|
||||||
124
app/main/api/desc/admin/role.api
Normal file
124
app/main/api/desc/admin/role.api
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "角色服务"
|
||||||
|
desc: "角色服务"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/admin/role
|
||||||
|
group: admin_role
|
||||||
|
jwt: JwtAuth
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "获取角色列表"
|
||||||
|
@handler GetRoleList
|
||||||
|
get /list (GetRoleListReq) returns (GetRoleListResp)
|
||||||
|
|
||||||
|
@doc "获取角色详情"
|
||||||
|
@handler GetRoleDetail
|
||||||
|
get /detail/:id (GetRoleDetailReq) returns (GetRoleDetailResp)
|
||||||
|
|
||||||
|
@doc "创建角色"
|
||||||
|
@handler CreateRole
|
||||||
|
post /create (CreateRoleReq) returns (CreateRoleResp)
|
||||||
|
|
||||||
|
@doc "更新角色"
|
||||||
|
@handler UpdateRole
|
||||||
|
put /update/:id (UpdateRoleReq) returns (UpdateRoleResp)
|
||||||
|
|
||||||
|
@doc "删除角色"
|
||||||
|
@handler DeleteRole
|
||||||
|
delete /delete/:id (DeleteRoleReq) returns (DeleteRoleResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
// 列表请求
|
||||||
|
GetRoleListReq {
|
||||||
|
Page int64 `form:"page,default=1"` // 页码
|
||||||
|
PageSize int64 `form:"pageSize,default=20"` // 每页数量
|
||||||
|
Name string `form:"name,optional"` // 角色名称
|
||||||
|
Code string `form:"code,optional"` // 角色编码
|
||||||
|
Status int64 `form:"status,optional,default=-1"` // 状态:0-禁用,1-启用
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表响应
|
||||||
|
GetRoleListResp {
|
||||||
|
Total int64 `json:"total"` // 总数
|
||||||
|
Items []RoleListItem `json:"items"` // 列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表项
|
||||||
|
RoleListItem {
|
||||||
|
Id int64 `json:"id"` // 角色ID
|
||||||
|
RoleName string `json:"role_name"` // 角色名称
|
||||||
|
RoleCode string `json:"role_code"` // 角色编码
|
||||||
|
Description string `json:"description"` // 角色描述
|
||||||
|
Status int64 `json:"status"` // 状态:0-禁用,1-启用
|
||||||
|
Sort int64 `json:"sort"` // 排序
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
MenuIds []int64 `json:"menu_ids"` // 关联的菜单ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情请求
|
||||||
|
GetRoleDetailReq {
|
||||||
|
Id int64 `path:"id"` // 角色ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 详情响应
|
||||||
|
GetRoleDetailResp {
|
||||||
|
Id int64 `json:"id"` // 角色ID
|
||||||
|
RoleName string `json:"role_name"` // 角色名称
|
||||||
|
RoleCode string `json:"role_code"` // 角色编码
|
||||||
|
Description string `json:"description"` // 角色描述
|
||||||
|
Status int64 `json:"status"` // 状态:0-禁用,1-启用
|
||||||
|
Sort int64 `json:"sort"` // 排序
|
||||||
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
|
MenuIds []int64 `json:"menu_ids"` // 关联的菜单ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建请求
|
||||||
|
CreateRoleReq {
|
||||||
|
RoleName string `json:"role_name"` // 角色名称
|
||||||
|
RoleCode string `json:"role_code"` // 角色编码
|
||||||
|
Description string `json:"description"` // 角色描述
|
||||||
|
Status int64 `json:"status,default=1"` // 状态:0-禁用,1-启用
|
||||||
|
Sort int64 `json:"sort,default=0"` // 排序
|
||||||
|
MenuIds []int64 `json:"menu_ids"` // 关联的菜单ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建响应
|
||||||
|
CreateRoleResp {
|
||||||
|
Id int64 `json:"id"` // 角色ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新请求
|
||||||
|
UpdateRoleReq {
|
||||||
|
Id int64 `path:"id"` // 角色ID
|
||||||
|
RoleName *string `json:"role_name,optional"` // 角色名称
|
||||||
|
RoleCode *string `json:"role_code,optional"` // 角色编码
|
||||||
|
Description *string `json:"description,optional"` // 角色描述
|
||||||
|
Status *int64 `json:"status,optional"` // 状态:0-禁用,1-启用
|
||||||
|
Sort *int64 `json:"sort,optional"` // 排序
|
||||||
|
MenuIds []int64 `json:"menu_ids,optional"` // 关联的菜单ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新响应
|
||||||
|
UpdateRoleResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除请求
|
||||||
|
DeleteRoleReq {
|
||||||
|
Id int64 `path:"id"` // 角色ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除响应
|
||||||
|
DeleteRoleResp {
|
||||||
|
Success bool `json:"success"` // 是否成功
|
||||||
|
}
|
||||||
|
)
|
||||||
@@ -7,6 +7,22 @@ info (
|
|||||||
email: "2440983361@qq.com"
|
email: "2440983361@qq.com"
|
||||||
version: "v1"
|
version: "v1"
|
||||||
)
|
)
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/agent
|
||||||
|
group: agent
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
// 获取推广二维码海报
|
||||||
|
@handler GetAgentPromotionQrcode
|
||||||
|
get /promotion/qrcode (GetAgentPromotionQrcodeReq)
|
||||||
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
GetAgentPromotionQrcodeReq{
|
||||||
|
QrcodeType string `form:"qrcode_type"`
|
||||||
|
QrcodeUrl string `form:"qrcode_url"`
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
// 代理服务基本类型定义
|
// 代理服务基本类型定义
|
||||||
type AgentProductConfig {
|
type AgentProductConfig {
|
||||||
@@ -35,7 +51,6 @@ type ProductConfig {
|
|||||||
PriceRangeMin float64 `json:"price_range_min"`
|
PriceRangeMin float64 `json:"price_range_min"`
|
||||||
PriceRangeMax float64 `json:"price_range_max"`
|
PriceRangeMax float64 `json:"price_range_max"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@server (
|
@server (
|
||||||
prefix: api/v1/agent
|
prefix: api/v1/agent
|
||||||
group: agent
|
group: agent
|
||||||
@@ -46,6 +61,17 @@ service main {
|
|||||||
@handler GetAgentInfo
|
@handler GetAgentInfo
|
||||||
get /info returns (AgentInfoResp)
|
get /info returns (AgentInfoResp)
|
||||||
|
|
||||||
|
@handler GetAgentRevenueInfo
|
||||||
|
get /revenue (GetAgentRevenueInfoReq) returns (GetAgentRevenueInfoResp)
|
||||||
|
}
|
||||||
|
|
||||||
|
@server (
|
||||||
|
prefix: api/v1/agent
|
||||||
|
group: agent
|
||||||
|
jwt: JwtAuth
|
||||||
|
middleware: UserAuthInterceptor
|
||||||
|
)
|
||||||
|
service main {
|
||||||
// 查询代理申请状态
|
// 查询代理申请状态
|
||||||
@handler GetAgentAuditStatus
|
@handler GetAgentAuditStatus
|
||||||
get /audit/status returns (AgentAuditStatusResp)
|
get /audit/status returns (AgentAuditStatusResp)
|
||||||
@@ -65,6 +91,9 @@ service main {
|
|||||||
// 下级贡献详情
|
// 下级贡献详情
|
||||||
@handler GetAgentSubordinateContributionDetail
|
@handler GetAgentSubordinateContributionDetail
|
||||||
get /subordinate/contribution/detail (GetAgentSubordinateContributionDetailReq) returns (GetAgentSubordinateContributionDetailResp)
|
get /subordinate/contribution/detail (GetAgentSubordinateContributionDetailReq) returns (GetAgentSubordinateContributionDetailResp)
|
||||||
|
|
||||||
|
@handler AgentRealName
|
||||||
|
post /real_name (AgentRealNameReq) returns (AgentRealNameResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -75,8 +104,8 @@ type (
|
|||||||
level string `json:"level"`
|
level string `json:"level"`
|
||||||
region string `json:"region"`
|
region string `json:"region"`
|
||||||
mobile string `json:"mobile"`
|
mobile string `json:"mobile"`
|
||||||
wechatID string `json:"wechat_id"`
|
|
||||||
expiryTime string `json:"expiry_time"`
|
expiryTime string `json:"expiry_time"`
|
||||||
|
isRealName bool `json:"is_real_name"`
|
||||||
}
|
}
|
||||||
// 查询代理申请状态响应
|
// 查询代理申请状态响应
|
||||||
AgentAuditStatusResp {
|
AgentAuditStatusResp {
|
||||||
@@ -90,6 +119,7 @@ type (
|
|||||||
AgentGeneratingLinkResp {
|
AgentGeneratingLinkResp {
|
||||||
LinkIdentifier string `json:"link_identifier"`
|
LinkIdentifier string `json:"link_identifier"`
|
||||||
}
|
}
|
||||||
|
|
||||||
AgentProductConfigResp {
|
AgentProductConfigResp {
|
||||||
AgentProductConfig []AgentProductConfig
|
AgentProductConfig []AgentProductConfig
|
||||||
}
|
}
|
||||||
@@ -150,12 +180,22 @@ type (
|
|||||||
DescendantWithdrawCount int64 `json:"descendant_withdraw_count"` // 下级提现次数
|
DescendantWithdrawCount int64 `json:"descendant_withdraw_count"` // 下级提现次数
|
||||||
DescendantWithdrawAmount float64 `json:"descendant_withdraw_amount"` // 下级提现总额
|
DescendantWithdrawAmount float64 `json:"descendant_withdraw_amount"` // 下级提现总额
|
||||||
}
|
}
|
||||||
|
AgentRealNameReq {
|
||||||
|
Name string `json:"name"`
|
||||||
|
IDCard string `json:"id_card"`
|
||||||
|
Mobile string `json:"mobile"`
|
||||||
|
Code string `json:"code"`
|
||||||
|
}
|
||||||
|
AgentRealNameResp {
|
||||||
|
Status string `json:"status"`
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@server (
|
@server (
|
||||||
prefix: api/v1/agent
|
prefix: api/v1/agent
|
||||||
group: agent
|
group: agent
|
||||||
jwt: JwtAuth
|
jwt: JwtAuth
|
||||||
|
middleware: UserAuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@handler GetAgentMembershipProductConfig
|
@handler GetAgentMembershipProductConfig
|
||||||
@@ -191,10 +231,9 @@ type (
|
|||||||
prefix: api/v1/agent
|
prefix: api/v1/agent
|
||||||
group: agent
|
group: agent
|
||||||
jwt: JwtAuth
|
jwt: JwtAuth
|
||||||
|
middleware: UserAuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@handler GetAgentRevenueInfo
|
|
||||||
get /revenue (GetAgentRevenueInfoReq) returns (GetAgentRevenueInfoResp)
|
|
||||||
|
|
||||||
@handler GetAgentCommission
|
@handler GetAgentCommission
|
||||||
get /commission (GetCommissionReq) returns (GetCommissionResp)
|
get /commission (GetCommissionReq) returns (GetCommissionResp)
|
||||||
@@ -210,6 +249,9 @@ service main {
|
|||||||
|
|
||||||
@handler ActivateAgentMembership
|
@handler ActivateAgentMembership
|
||||||
post /membership/activate (AgentActivateMembershipReq) returns (AgentActivateMembershipResp)
|
post /membership/activate (AgentActivateMembershipReq) returns (AgentActivateMembershipResp)
|
||||||
|
|
||||||
|
@handler GetAgentWithdrawalTaxExemption
|
||||||
|
get /withdrawal/tax/exemption (GetWithdrawalTaxExemptionReq) returns (GetWithdrawalTaxExemptionResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -309,11 +351,20 @@ type (
|
|||||||
AgentActivateMembershipResp {
|
AgentActivateMembershipResp {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
}
|
}
|
||||||
|
GetWithdrawalTaxExemptionReq {
|
||||||
|
}
|
||||||
|
GetWithdrawalTaxExemptionResp {
|
||||||
|
TotalExemptionAmount float64 `json:"total_exemption_amount"`
|
||||||
|
UsedExemptionAmount float64 `json:"used_exemption_amount"`
|
||||||
|
RemainingExemptionAmount float64 `json:"remaining_exemption_amount"`
|
||||||
|
TaxRate float64 `json:"tax_rate"`
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@server (
|
@server (
|
||||||
prefix: api/v1/agent
|
prefix: api/v1/agent
|
||||||
group: agent
|
group: agent
|
||||||
|
middleware: AuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
// 提交代理申请
|
// 提交代理申请
|
||||||
@@ -323,7 +374,6 @@ service main {
|
|||||||
// 获取推广标识数据
|
// 获取推广标识数据
|
||||||
@handler GetLinkData
|
@handler GetLinkData
|
||||||
get /link (GetLinkDataReq) returns (GetLinkDataResp)
|
get /link (GetLinkDataReq) returns (GetLinkDataResp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -331,7 +381,6 @@ type (
|
|||||||
AgentApplyReq {
|
AgentApplyReq {
|
||||||
Region string `json:"region"`
|
Region string `json:"region"`
|
||||||
Mobile string `json:"mobile"`
|
Mobile string `json:"mobile"`
|
||||||
WechatID string `json:"wechat_id"`
|
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
Ancestor string `json:"ancestor,optional"`
|
Ancestor string `json:"ancestor,optional"`
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,7 @@ service main {
|
|||||||
prefix: api/v1
|
prefix: api/v1
|
||||||
group: pay
|
group: pay
|
||||||
jwt: JwtAuth
|
jwt: JwtAuth
|
||||||
middleware: SourceInterceptor
|
middleware: UserAuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
// 支付
|
// 支付
|
||||||
@@ -42,6 +42,9 @@ service main {
|
|||||||
|
|
||||||
@handler PaymentCheck
|
@handler PaymentCheck
|
||||||
post /pay/check (PaymentCheckReq) returns (PaymentCheckResp)
|
post /pay/check (PaymentCheckReq) returns (PaymentCheckResp)
|
||||||
|
|
||||||
|
@handler QueryPaymentCheck
|
||||||
|
post /pay/query_check (QueryPaymentCheckReq) returns (QueryPaymentCheckResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -62,6 +65,16 @@ type (
|
|||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
}
|
}
|
||||||
|
QueryPaymentCheckReq {
|
||||||
|
OrderNo string `json:"order_no" validate:"required"`
|
||||||
|
}
|
||||||
|
QueryPaymentCheckResp {
|
||||||
|
OrderStatus string `json:"order_status"`
|
||||||
|
AuthorizationStatus string `json:"authorization_status"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
IdCard string `json:"id_card"`
|
||||||
|
ProductName string `json:"product_name"`
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -26,6 +26,7 @@ type Product {
|
|||||||
prefix: api/v1/product
|
prefix: api/v1/product
|
||||||
group: product
|
group: product
|
||||||
jwt: JwtAuth
|
jwt: JwtAuth
|
||||||
|
middleware: UserAuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@handler GetProductByID
|
@handler GetProductByID
|
||||||
@@ -13,6 +13,7 @@ info (
|
|||||||
type Query {
|
type Query {
|
||||||
Id int64 `json:"id"` // 主键ID
|
Id int64 `json:"id"` // 主键ID
|
||||||
OrderId int64 `json:"order_id"` // 订单ID
|
OrderId int64 `json:"order_id"` // 订单ID
|
||||||
|
OrderNo string `json:"order_no"` // 订单号
|
||||||
UserId int64 `json:"user_id"` // 用户ID
|
UserId int64 `json:"user_id"` // 用户ID
|
||||||
ProductName string `json:"product_name"` // 产品ID
|
ProductName string `json:"product_name"` // 产品ID
|
||||||
QueryParams map[string]interface{} `json:"query_params"`
|
QueryParams map[string]interface{} `json:"query_params"`
|
||||||
@@ -20,6 +21,10 @@ type Query {
|
|||||||
CreateTime string `json:"create_time"` // 创建时间
|
CreateTime string `json:"create_time"` // 创建时间
|
||||||
UpdateTime string `json:"update_time"` // 更新时间
|
UpdateTime string `json:"update_time"` // 更新时间
|
||||||
QueryState string `json:"query_state"` // 查询状态
|
QueryState string `json:"query_state"` // 查询状态
|
||||||
|
IsPaid bool `json:"is_paid"` // 是否支付
|
||||||
|
IsQueryCompleted bool `json:"is_query_completed"` // 查询是否完成
|
||||||
|
IsAuthCompleted bool `json:"is_auth_completed"` // 授权是否完成
|
||||||
|
IsRefunded bool `json:"is_refunded"` // 是否退款
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -70,6 +75,7 @@ type (
|
|||||||
prefix: api/v1
|
prefix: api/v1
|
||||||
group: query
|
group: query
|
||||||
jwt: JwtAuth
|
jwt: JwtAuth
|
||||||
|
middleware: UserAuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@doc "query service"
|
@doc "query service"
|
||||||
@@ -81,6 +87,7 @@ service main {
|
|||||||
prefix: api/v1
|
prefix: api/v1
|
||||||
group: query
|
group: query
|
||||||
jwt: JwtAuth
|
jwt: JwtAuth
|
||||||
|
middleware: UserAuthInterceptor
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@doc "获取查询临时订单"
|
@doc "获取查询临时订单"
|
||||||
@@ -107,8 +114,31 @@ service main {
|
|||||||
@doc "更新查询数据"
|
@doc "更新查询数据"
|
||||||
@handler updateQueryData
|
@handler updateQueryData
|
||||||
post /query/update_data (UpdateQueryDataReq) returns (UpdateQueryDataResp)
|
post /query/update_data (UpdateQueryDataReq) returns (UpdateQueryDataResp)
|
||||||
|
|
||||||
|
@doc "确认查询状态"
|
||||||
|
@handler confirmQueryState
|
||||||
|
post /query/confirm_state (ConfirmQueryStateReq) returns (ConfirmQueryStateResp)
|
||||||
|
|
||||||
|
@doc "生成分享链接"
|
||||||
|
@handler QueryGenerateShareLink
|
||||||
|
post /query/generate_share_link (QueryGenerateShareLinkReq) returns (QueryGenerateShareLinkResp)
|
||||||
|
|
||||||
|
@doc "补查"
|
||||||
|
@handler queryRecheck
|
||||||
|
post /query/recheck/:query_id (QueryRecheckReq) returns (QueryRecheckResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type (
|
||||||
|
QueryGenerateShareLinkReq {
|
||||||
|
OrderId *int64 `json:"order_id,optional"`
|
||||||
|
OrderNo *string `json:"order_no,optional"`
|
||||||
|
}
|
||||||
|
QueryGenerateShareLinkResp {
|
||||||
|
ShareLink string `json:"share_link"`
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
// 获取查询临时订单
|
// 获取查询临时订单
|
||||||
type (
|
type (
|
||||||
QueryProvisionalOrderReq {
|
QueryProvisionalOrderReq {
|
||||||
@@ -199,15 +229,23 @@ service main {
|
|||||||
post /query/single/test (QuerySingleTestReq) returns (QuerySingleTestResp)
|
post /query/single/test (QuerySingleTestReq) returns (QuerySingleTestResp)
|
||||||
|
|
||||||
@doc "查询详情"
|
@doc "查询详情"
|
||||||
@handler queryDetail
|
@handler queryShareDetail
|
||||||
get /query/:id (QueryDetailReq) returns (QueryDetailResp)
|
get /query/share/:id (QueryShareDetailReq) returns (QueryShareDetailResp)
|
||||||
|
|
||||||
@doc "查询示例"
|
@doc "查询示例"
|
||||||
@handler queryExample
|
@handler queryExample
|
||||||
get /query/example (QueryExampleReq) returns (QueryExampleResp)
|
get /query/example (QueryExampleReq) returns (QueryExampleResp)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
type (
|
||||||
|
QueryShareDetailReq {
|
||||||
|
Id string `path:"id"`
|
||||||
|
}
|
||||||
|
QueryShareDetailResp {
|
||||||
|
Status string `json:"status"`
|
||||||
|
Query
|
||||||
|
}
|
||||||
|
)
|
||||||
type QuerySingleTestReq {
|
type QuerySingleTestReq {
|
||||||
Params map[string]interface{} `json:"params"`
|
Params map[string]interface{} `json:"params"`
|
||||||
Api string `json:"api"`
|
Api string `json:"api"`
|
||||||
@@ -218,3 +256,22 @@ type QuerySingleTestResp {
|
|||||||
Api string `json:"api"`
|
Api string `json:"api"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 新增接口的请求、响应类型定义
|
||||||
|
type (
|
||||||
|
ConfirmQueryStateReq {
|
||||||
|
OrderID int64 `json:"order_id" validate:"required"`
|
||||||
|
}
|
||||||
|
ConfirmQueryStateResp {
|
||||||
|
OrderState string `json:"order_state"` // 查询状态,例如"pending"、"success"、"failed"等
|
||||||
|
QueryState string `json:"query_state"`
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
QueryRecheckReq {
|
||||||
|
QueryId int64 `path:"query_id"`
|
||||||
|
}
|
||||||
|
QueryRecheckResp {
|
||||||
|
Success bool `json:"success"`
|
||||||
|
}
|
||||||
|
)
|
||||||
@@ -14,6 +14,7 @@ type User {
|
|||||||
Id int64 `json:"id"`
|
Id int64 `json:"id"`
|
||||||
Mobile string `json:"mobile"`
|
Mobile string `json:"mobile"`
|
||||||
NickName string `json:"nickName"`
|
NickName string `json:"nickName"`
|
||||||
|
UserType int64 `json:"userType"`
|
||||||
}
|
}
|
||||||
|
|
||||||
//no need login
|
//no need login
|
||||||
@@ -22,22 +23,10 @@ type User {
|
|||||||
group: user
|
group: user
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@doc "register"
|
|
||||||
@handler register
|
|
||||||
post /user/register (RegisterReq) returns (RegisterResp)
|
|
||||||
|
|
||||||
@doc "mobile login"
|
|
||||||
@handler mobileLogin
|
|
||||||
post /user/mobileLogin (MobileLoginReq) returns (MobileLoginResp)
|
|
||||||
|
|
||||||
@doc "mobile code login"
|
@doc "mobile code login"
|
||||||
@handler mobileCodeLogin
|
@handler mobileCodeLogin
|
||||||
post /user/mobileCodeLogin (MobileCodeLoginReq) returns (MobileCodeLoginResp)
|
post /user/mobileCodeLogin (MobileCodeLoginReq) returns (MobileCodeLoginResp)
|
||||||
|
|
||||||
@doc "agent mobile code login"
|
|
||||||
@handler agentMobileCodeLogin
|
|
||||||
post /user/agent_mobile_code_login (MobileCodeLoginReq) returns (MobileCodeLoginResp)
|
|
||||||
|
|
||||||
@doc "wechat mini auth"
|
@doc "wechat mini auth"
|
||||||
@handler wxMiniAuth
|
@handler wxMiniAuth
|
||||||
post /user/wxMiniAuth (WXMiniAuthReq) returns (WXMiniAuthResp)
|
post /user/wxMiniAuth (WXMiniAuthReq) returns (WXMiniAuthResp)
|
||||||
@@ -47,31 +36,6 @@ service main {
|
|||||||
post /user/wxh5Auth (WXH5AuthReq) returns (WXH5AuthResp)
|
post /user/wxh5Auth (WXH5AuthReq) returns (WXH5AuthResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
|
||||||
RegisterReq {
|
|
||||||
Mobile string `json:"mobile" validate:"required,mobile"`
|
|
||||||
Password string `json:"password" validate:"required,min=11,max=11,password"`
|
|
||||||
Code string `json:"code" validate:"required"`
|
|
||||||
}
|
|
||||||
RegisterResp {
|
|
||||||
AccessToken string `json:"accessToken"`
|
|
||||||
AccessExpire int64 `json:"accessExpire"`
|
|
||||||
RefreshAfter int64 `json:"refreshAfter"`
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
|
||||||
MobileLoginReq {
|
|
||||||
Mobile string `json:"mobile" validate:"required,mobile"`
|
|
||||||
Password string `json:"password" validate:"required"`
|
|
||||||
}
|
|
||||||
MobileLoginResp {
|
|
||||||
AccessToken string `json:"accessToken"`
|
|
||||||
AccessExpire int64 `json:"accessExpire"`
|
|
||||||
RefreshAfter int64 `json:"refreshAfter"`
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
type (
|
type (
|
||||||
MobileCodeLoginReq {
|
MobileCodeLoginReq {
|
||||||
Mobile string `json:"mobile"`
|
Mobile string `json:"mobile"`
|
||||||
@@ -87,8 +51,6 @@ type (
|
|||||||
type (
|
type (
|
||||||
WXMiniAuthReq {
|
WXMiniAuthReq {
|
||||||
Code string `json:"code"`
|
Code string `json:"code"`
|
||||||
IV string `json:"iv"`
|
|
||||||
EncryptedData string `json:"encryptedData"`
|
|
||||||
}
|
}
|
||||||
WXMiniAuthResp {
|
WXMiniAuthResp {
|
||||||
AccessToken string `json:"accessToken"`
|
AccessToken string `json:"accessToken"`
|
||||||
@@ -107,6 +69,17 @@ type (
|
|||||||
RefreshAfter int64 `json:"refreshAfter"`
|
RefreshAfter int64 `json:"refreshAfter"`
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
//need login
|
||||||
|
@server (
|
||||||
|
prefix: api/v1
|
||||||
|
group: user
|
||||||
|
middleware: AuthInterceptor
|
||||||
|
)
|
||||||
|
service main {
|
||||||
|
@doc "绑定手机号"
|
||||||
|
@handler bindMobile
|
||||||
|
post /user/bindMobile (BindMobileReq) returns (BindMobileResp)
|
||||||
|
}
|
||||||
|
|
||||||
//need login
|
//need login
|
||||||
@server (
|
@server (
|
||||||
@@ -126,9 +99,6 @@ service main {
|
|||||||
@handler cancelOut
|
@handler cancelOut
|
||||||
post /user/cancelOut
|
post /user/cancelOut
|
||||||
|
|
||||||
@doc "绑定手机号"
|
|
||||||
@handler bindMobile
|
|
||||||
post /user/bindMobile (BindMobileReq) returns (BindMobileResp)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -141,27 +111,85 @@ type (
|
|||||||
Code string `json:"code" validate:"required"`
|
Code string `json:"code" validate:"required"`
|
||||||
}
|
}
|
||||||
BindMobileResp {
|
BindMobileResp {
|
||||||
|
AccessToken string `json:"accessToken"`
|
||||||
|
AccessExpire int64 `json:"accessExpire"`
|
||||||
|
RefreshAfter int64 `json:"refreshAfter"`
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
//============================> auth v1 <============================
|
//============================> auth v1 <============================
|
||||||
@server (
|
@server (
|
||||||
prefix: api/v1
|
prefix: api/v1/auth
|
||||||
group: auth
|
group: auth
|
||||||
)
|
)
|
||||||
service main {
|
service main {
|
||||||
@doc "get mobile verify code"
|
@doc "get mobile verify code"
|
||||||
@handler sendSms
|
@handler sendSms
|
||||||
post /auth/sendSms (sendSmsReq)
|
post /sendSms (sendSmsReq)
|
||||||
|
|
||||||
|
@doc "发起人脸认证"
|
||||||
|
@handler initFaceVerify
|
||||||
|
post /face/init (InitFaceVerifyReq) returns (InitFaceVerifyResp)
|
||||||
|
|
||||||
|
@doc "查询人脸认证结果"
|
||||||
|
@handler getFaceVerifyResult
|
||||||
|
post /face/result (GetFaceVerifyResultReq) returns (GetFaceVerifyResultResp)
|
||||||
|
|
||||||
|
@doc "第三方拒绝授权"
|
||||||
|
@handler rejectAuthorization
|
||||||
|
post /rejectAuthorization (RejectAuthorizationReq) returns (RejectAuthorizationResp)
|
||||||
|
|
||||||
|
@doc "短信授权"
|
||||||
|
@handler smsAuthorization
|
||||||
|
post /smsAuthorization (SmsAuthorizationReq) returns (SmsAuthorizationResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
type (
|
||||||
sendSmsReq {
|
sendSmsReq {
|
||||||
Mobile string `json:"mobile" validate:"required,mobile"`
|
Mobile string `json:"mobile" validate:"required,mobile"`
|
||||||
ActionType string `json:"actionType" validate:"required,oneof=login register query agentApply bindMobile"`
|
ActionType string `json:"actionType" validate:"required,oneof=login register query agentApply bindMobile realName authorization"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发起人脸认证请求
|
||||||
|
InitFaceVerifyReq {
|
||||||
|
MetaInfo string `json:"meta_info" validate:"required"` // H5端获取的MetaInfo,JSON格式
|
||||||
|
OrderNo string `json:"order_no" validate:"required"` // 订单号
|
||||||
|
AuthType int64 `json:"auth_type" validate:"required"` // 认证类型
|
||||||
|
}
|
||||||
|
|
||||||
|
// 发起人脸认证响应
|
||||||
|
InitFaceVerifyResp {
|
||||||
|
CertifyId string `json:"certify_id"` // 认证ID
|
||||||
|
CertifyUrl string `json:"certify_url"` // 跳转认证页面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询人脸认证结果请求
|
||||||
|
GetFaceVerifyResultReq {
|
||||||
|
CertifyId string `json:"certify_id" validate:"required"` // 认证ID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询人脸认证结果响应
|
||||||
|
GetFaceVerifyResultResp {
|
||||||
|
Passed bool `json:"passed"` // 是否通过
|
||||||
|
OrderID int64 `json:"order_id"`
|
||||||
|
AuthType int64 `json:"auth_type"`
|
||||||
|
}
|
||||||
|
RejectAuthorizationReq {
|
||||||
|
OrderNo string `json:"order_no" validate:"required"` // 订单号
|
||||||
|
}
|
||||||
|
RejectAuthorizationResp {
|
||||||
|
}
|
||||||
|
|
||||||
|
SmsAuthorizationReq {
|
||||||
|
OrderNo string `json:"order_no" validate:"required"` // 订单号
|
||||||
|
Mobile string `json:"mobile" validate:"required,mobile"`
|
||||||
|
Code string `json:"code" validate:"required"`
|
||||||
|
}
|
||||||
|
SmsAuthorizationResp {
|
||||||
|
Passed bool `json:"passed"` // 是否通过
|
||||||
|
OrderID int64 `json:"order_id"`
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
//============================> notification v1 <============================
|
//============================> notification v1 <============================
|
||||||
@server (
|
@server (
|
||||||
prefix: api/v1
|
prefix: api/v1
|
||||||
30
app/main/api/desc/main.api
Normal file
30
app/main/api/desc/main.api
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
syntax = "v1"
|
||||||
|
|
||||||
|
info (
|
||||||
|
title: "单体服务中心"
|
||||||
|
desc: "单体服务中心"
|
||||||
|
author: "Liangzai"
|
||||||
|
email: "2440983361@qq.com"
|
||||||
|
version: "v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 前台
|
||||||
|
import "./front/user.api"
|
||||||
|
import "./front/query.api"
|
||||||
|
import "./front/pay.api"
|
||||||
|
import "./front/product.api"
|
||||||
|
import "./front/agent.api"
|
||||||
|
import "./front/app.api"
|
||||||
|
// 后台
|
||||||
|
import "./admin/auth.api"
|
||||||
|
import "./admin/menu.api"
|
||||||
|
import "./admin/role.api"
|
||||||
|
import "./admin/promotion.api"
|
||||||
|
import "./admin/order.api"
|
||||||
|
import "./admin/admin_user.api"
|
||||||
|
import "./admin/platform_user.api"
|
||||||
|
import "./admin/notification.api"
|
||||||
|
import "./admin/admin_product.api"
|
||||||
|
import "./admin/admin_feature.api"
|
||||||
|
import "./admin/admin_query.api"
|
||||||
|
import "./admin/admin_agent.api"
|
||||||
@@ -37,7 +37,7 @@ Alipay:
|
|||||||
AlipayRootCertPath: "etc/merchant/alipayRootCert.crt"
|
AlipayRootCertPath: "etc/merchant/alipayRootCert.crt"
|
||||||
IsProduction: true
|
IsProduction: true
|
||||||
NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/alipay/callback"
|
NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/alipay/callback"
|
||||||
ReturnURL: "http://192.168.10.13:5679/payment/result"
|
ReturnURL: "http://192.168.10.16:5679/payment/result"
|
||||||
|
|
||||||
Wxpay:
|
Wxpay:
|
||||||
AppID: "wx442ee1ac1ee75917"
|
AppID: "wx442ee1ac1ee75917"
|
||||||
@@ -45,10 +45,11 @@ Wxpay:
|
|||||||
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
|
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
|
||||||
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
|
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
|
||||||
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
|
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
|
||||||
MchPublicKeyID: "XXXXXX"
|
MchPublicKeyID: "PUB_KEY_ID_0116826351362025060900382267001601"
|
||||||
MchPublicKeyPath: "etc/merchant/pub_key.pem"
|
MchPublicKeyPath: "etc/merchant/pub_key.pem"
|
||||||
|
MchPlatformRAS: "1FFEC3F62E31885FAB4C91ADCB8D7557E9488781"
|
||||||
NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/wechat/callback"
|
NotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/wechat/callback"
|
||||||
RefundNotifyUrl: "https://6m4685017o.goho.co/api/v1/wechat/refund_callback"
|
RefundNotifyUrl: "https://6m4685017o.goho.co/api/v1/pay/wechat/refund_callback"
|
||||||
Applepay:
|
Applepay:
|
||||||
ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt"
|
ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt"
|
||||||
SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt"
|
SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt"
|
||||||
@@ -64,3 +65,23 @@ SystemConfig:
|
|||||||
WechatH5:
|
WechatH5:
|
||||||
AppID: "wx442ee1ac1ee75917"
|
AppID: "wx442ee1ac1ee75917"
|
||||||
AppSecret: "c80474909db42f63913b7a307b3bee17"
|
AppSecret: "c80474909db42f63913b7a307b3bee17"
|
||||||
|
WechatMini:
|
||||||
|
AppID: "wx5bacc94add2da981" # 小程序的AppID
|
||||||
|
AppSecret: "48a2c1e8ff1b7d4c0ff82fbefa64d2d0" # 小程序的AppSecret
|
||||||
|
CloudAuth:
|
||||||
|
AccessKeyId: "LTAI5tSWnaq1kvUawsV4ayL8"
|
||||||
|
AccessKeySecret: "fSGdUzm4TGtkus9rUVzipSOhEtimG5"
|
||||||
|
Endpoint: "cloudauth.aliyuncs.com"
|
||||||
|
SceneId: 1000013341
|
||||||
|
ReturnUrl: "https://www.quannengcha.com/authorization/result"
|
||||||
|
Query:
|
||||||
|
ShareLinkExpire: 604800 # 7天 = 7 * 24 * 60 * 60 = 604800秒
|
||||||
|
AdminConfig:
|
||||||
|
AccessSecret: "jK8nP3qR7tV2xZ5aB9cD1eF6gH4iJ0kL8mN5oP6qR7sT"
|
||||||
|
AccessExpire: 604800
|
||||||
|
RefreshAfter: 302400
|
||||||
|
AdminPromotion:
|
||||||
|
URLDomain: "https://quannengcha.com/p"
|
||||||
|
TaxConfig:
|
||||||
|
TaxRate: 0.2
|
||||||
|
TaxExemptionAmount: 800.00
|
||||||
@@ -46,10 +46,11 @@ Wxpay:
|
|||||||
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
|
MchCertificateSerialNumber: "5369B8AEEBDCF7AF274510252E6A8C0659C30F61"
|
||||||
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
|
MchApiv3Key: "e3ea4cf0765f1e71b01bb387dfcdbc9f"
|
||||||
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
|
MchPrivateKeyPath: "etc/merchant/apiclient_key.pem"
|
||||||
MchPublicKeyID: "XXXXXX"
|
MchPublicKeyID: "PUB_KEY_ID_0116826351362025060900382267001601"
|
||||||
MchPublicKeyPath: "etc/merchant/pub_key.pem"
|
MchPublicKeyPath: "etc/merchant/pub_key.pem"
|
||||||
|
MchPlatformRAS: "1FFEC3F62E31885FAB4C91ADCB8D7557E9488781"
|
||||||
NotifyUrl: "https://www.quannengcha.com/api/v1/pay/wechat/callback"
|
NotifyUrl: "https://www.quannengcha.com/api/v1/pay/wechat/callback"
|
||||||
RefundNotifyUrl: "https://www.quannengcha.com/api/v1/wechat/refund_callback"
|
RefundNotifyUrl: "https://www.quannengcha.com/api/v1/pay/wechat/refund_callback"
|
||||||
Applepay:
|
Applepay:
|
||||||
ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt"
|
ProductionVerifyURL: "https://api.storekit.itunes.apple.com/inApps/v1/transactions/receipt"
|
||||||
SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt"
|
SandboxVerifyURL: "https://api.storekit-sandbox.itunes.apple.com/inApps/v1/transactions/receipt"
|
||||||
@@ -61,7 +62,27 @@ Applepay:
|
|||||||
Ali:
|
Ali:
|
||||||
Code: "d55b58829efb41c8aa8e86769cba4844"
|
Code: "d55b58829efb41c8aa8e86769cba4844"
|
||||||
SystemConfig:
|
SystemConfig:
|
||||||
ThreeVerify: true
|
ThreeVerify: false
|
||||||
WechatH5:
|
WechatH5:
|
||||||
AppID: "wx442ee1ac1ee75917"
|
AppID: "wx442ee1ac1ee75917"
|
||||||
AppSecret: "c80474909db42f63913b7a307b3bee17"
|
AppSecret: "c80474909db42f63913b7a307b3bee17"
|
||||||
|
WechatMini:
|
||||||
|
AppID: "wx5bacc94add2da981" # 小程序的AppID
|
||||||
|
AppSecret: "48a2c1e8ff1b7d4c0ff82fbefa64d2d0" # 小程序的AppSecret
|
||||||
|
CloudAuth:
|
||||||
|
AccessKeyId: "LTAI5tSWnaq1kvUawsV4ayL8"
|
||||||
|
AccessKeySecret: "fSGdUzm4TGtkus9rUVzipSOhEtimG5"
|
||||||
|
Endpoint: "cloudauth.aliyuncs.com"
|
||||||
|
SceneId: 1000013341
|
||||||
|
ReturnUrl: "https://www.quannengcha.com/authorization/result"
|
||||||
|
Query:
|
||||||
|
ShareLinkExpire: 604800 # 7天 = 7 * 24 * 60 * 60 = 604800秒
|
||||||
|
AdminConfig:
|
||||||
|
AccessSecret: "jK8nP3qR7tV2xZ5aB9cD1eF6gH4iJ0kL8mN5oP6qR7sT"
|
||||||
|
AccessExpire: 604800
|
||||||
|
RefreshAfter: 302400
|
||||||
|
AdminPromotion:
|
||||||
|
URLDomain: "https://quannengcha.com/p"
|
||||||
|
TaxConfig:
|
||||||
|
TaxRate: 0.2
|
||||||
|
TaxExemptionAmount: 800.00
|
||||||
9
app/main/api/etc/merchant/pub_key.pem
Normal file
9
app/main/api/etc/merchant/pub_key.pem
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwSy7dS/ICZV38tI0HxM
|
||||||
|
SAIE7+Ug92qryuNlkNyaNDRjfsykHsrPCSsUUQEZblBNmZOLfLQxmAaWC+cQqWCv
|
||||||
|
zfy4rXGAHE1widWFkHGzQzaw6cB0VdDXatK9yAt1PgXdp5jzBRzOn9Z3u4t0s771
|
||||||
|
2zjuxCnLxMq84DovNgh2y0LBiuorWbtuTFTd8SXUGk2Jyuojq/02U3KTuyh+7SmW
|
||||||
|
ffJXKrzhrKwSpGh59e/fFxqX2xGlVoJ1kdohMZPo/7k+e5jP7qjrf93l7JVeUKYa
|
||||||
|
V27hNVowJ4oho21WVCJ1AYo41IbPJWI+6WxlaVeoR4zKix0Mb2timaWayyLoN53y
|
||||||
|
aQIDAQAB
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
3
app/main/api/etc/user-api.yaml
Normal file
3
app/main/api/etc/user-api.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
Name: user-api
|
||||||
|
Host: 0.0.0.0
|
||||||
|
Port: 8888
|
||||||
@@ -20,6 +20,12 @@ type Config struct {
|
|||||||
YushanConfig YushanConfig
|
YushanConfig YushanConfig
|
||||||
SystemConfig SystemConfig
|
SystemConfig SystemConfig
|
||||||
WechatH5 WechatH5Config
|
WechatH5 WechatH5Config
|
||||||
|
WechatMini WechatMiniConfig // 添加小程序配置
|
||||||
|
CloudAuth CloudAuthConfig
|
||||||
|
Query QueryConfig
|
||||||
|
AdminConfig AdminConfig
|
||||||
|
AdminPromotion AdminPromotion
|
||||||
|
TaxConfig TaxConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
// JwtAuth 用于 JWT 鉴权配置
|
// JwtAuth 用于 JWT 鉴权配置
|
||||||
@@ -59,6 +65,7 @@ type WxpayConfig struct {
|
|||||||
MchPrivateKeyPath string
|
MchPrivateKeyPath string
|
||||||
MchPublicKeyID string
|
MchPublicKeyID string
|
||||||
MchPublicKeyPath string
|
MchPublicKeyPath string
|
||||||
|
MchPlatformRAS string
|
||||||
NotifyUrl string
|
NotifyUrl string
|
||||||
RefundNotifyUrl string
|
RefundNotifyUrl string
|
||||||
}
|
}
|
||||||
@@ -92,3 +99,33 @@ type WechatH5Config struct {
|
|||||||
AppID string
|
AppID string
|
||||||
AppSecret string
|
AppSecret string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WechatMiniConfig 小程序配置
|
||||||
|
type WechatMiniConfig struct {
|
||||||
|
AppID string
|
||||||
|
AppSecret string
|
||||||
|
}
|
||||||
|
|
||||||
|
type CloudAuthConfig struct {
|
||||||
|
AccessKeyId string
|
||||||
|
AccessKeySecret string
|
||||||
|
Endpoint string
|
||||||
|
SceneId int64
|
||||||
|
ReturnUrl string
|
||||||
|
}
|
||||||
|
type QueryConfig struct {
|
||||||
|
ShareLinkExpire int64
|
||||||
|
}
|
||||||
|
type AdminConfig struct {
|
||||||
|
AccessSecret string
|
||||||
|
AccessExpire int64
|
||||||
|
RefreshAfter int64
|
||||||
|
}
|
||||||
|
|
||||||
|
type AdminPromotion struct {
|
||||||
|
URLDomain string
|
||||||
|
}
|
||||||
|
type TaxConfig struct {
|
||||||
|
TaxRate float64
|
||||||
|
TaxExemptionAmount float64
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentCommissionDeductionListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentCommissionDeductionListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentCommissionDeductionListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentCommissionDeductionList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentCommissionListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentCommissionListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentCommissionListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentCommissionList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentLinkListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentLinkListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentLinkListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentLinkList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentMembershipConfigListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentMembershipConfigListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentMembershipConfigListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentMembershipConfigList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentMembershipRechargeOrderListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentMembershipRechargeOrderListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentMembershipRechargeOrderListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentMembershipRechargeOrderList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentPlatformDeductionListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentPlatformDeductionListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentPlatformDeductionListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentPlatformDeductionList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentProductionConfigListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentProductionConfigListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentProductionConfigListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentProductionConfigList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentRewardListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentRewardListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentRewardListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentRewardList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetAgentWithdrawalListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetAgentWithdrawalListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminGetAgentWithdrawalListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetAgentWithdrawalList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateAgentMembershipConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateAgentMembershipConfigReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminUpdateAgentMembershipConfigLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateAgentMembershipConfig(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_agent
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_agent"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateAgentProductionConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateAgentProductionConfigReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_agent.NewAdminUpdateAgentProductionConfigLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateAgentProductionConfig(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_auth
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_auth"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminLoginReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_auth.NewAdminLoginLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminLogin(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_feature
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_feature"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminCreateFeatureHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminCreateFeatureReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_feature.NewAdminCreateFeatureLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminCreateFeature(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_feature
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_feature"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminDeleteFeatureHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminDeleteFeatureReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_feature.NewAdminDeleteFeatureLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminDeleteFeature(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_feature
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_feature"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetFeatureDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetFeatureDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_feature.NewAdminGetFeatureDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetFeatureDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_feature
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_feature"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetFeatureListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetFeatureListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_feature.NewAdminGetFeatureListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetFeatureList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_feature
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_feature"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateFeatureHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateFeatureReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_feature.NewAdminUpdateFeatureLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateFeature(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_menu
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_menu"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func CreateMenuHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.CreateMenuReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_menu.NewCreateMenuLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.CreateMenu(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_menu
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_menu"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func DeleteMenuHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.DeleteMenuReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_menu.NewDeleteMenuLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.DeleteMenu(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_menu
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_menu"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetMenuAllHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetMenuAllReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_menu.NewGetMenuAllLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetMenuAll(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_menu
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_menu"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetMenuDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetMenuDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_menu.NewGetMenuDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetMenuDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,20 +1,19 @@
|
|||||||
package user
|
package admin_menu
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"qnc-server/app/user/cmd/api/internal/logic/user"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
"qnc-server/app/user/cmd/api/internal/svc"
|
"qnc-server/app/main/api/internal/logic/admin_menu"
|
||||||
"qnc-server/app/user/cmd/api/internal/types"
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
"qnc-server/common/result"
|
"qnc-server/common/result"
|
||||||
"qnc-server/pkg/lzkit/validator"
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func MobileLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
func GetMenuListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
var req types.MobileLoginReq
|
var req types.GetMenuListReq
|
||||||
if err := httpx.Parse(r, &req); err != nil {
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
result.ParamErrorResult(r, w, err)
|
result.ParamErrorResult(r, w, err)
|
||||||
return
|
return
|
||||||
@@ -23,8 +22,8 @@ func MobileLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
|||||||
result.ParamValidateErrorResult(r, w, err)
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
l := user.NewMobileLoginLogic(r.Context(), svcCtx)
|
l := admin_menu.NewGetMenuListLogic(r.Context(), svcCtx)
|
||||||
resp, err := l.MobileLogin(&req)
|
resp, err := l.GetMenuList(&req)
|
||||||
result.HttpResult(r, w, resp, err)
|
result.HttpResult(r, w, resp, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_menu
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_menu"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func UpdateMenuHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.UpdateMenuReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_menu.NewUpdateMenuLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.UpdateMenu(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_notification
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_notification"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminCreateNotificationHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminCreateNotificationReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_notification.NewAdminCreateNotificationLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminCreateNotification(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_notification
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_notification"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminDeleteNotificationHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminDeleteNotificationReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_notification.NewAdminDeleteNotificationLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminDeleteNotification(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_notification
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_notification"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetNotificationDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetNotificationDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_notification.NewAdminGetNotificationDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetNotificationDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_notification
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_notification"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetNotificationListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetNotificationListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_notification.NewAdminGetNotificationListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetNotificationList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_notification
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_notification"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateNotificationHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateNotificationReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_notification.NewAdminUpdateNotificationLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateNotification(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_order
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_order"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminCreateOrderHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminCreateOrderReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_order.NewAdminCreateOrderLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminCreateOrder(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_order
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_order"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminDeleteOrderHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminDeleteOrderReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_order.NewAdminDeleteOrderLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminDeleteOrder(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_order
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_order"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetOrderDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetOrderDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_order.NewAdminGetOrderDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetOrderDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_order
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_order"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetOrderListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetOrderListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_order.NewAdminGetOrderListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetOrderList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_order
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_order"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminRefundOrderHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminRefundOrderReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_order.NewAdminRefundOrderLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminRefundOrder(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_order
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_order"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateOrderHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateOrderReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_order.NewAdminUpdateOrderLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateOrder(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_platform_user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_platform_user"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminCreatePlatformUserHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminCreatePlatformUserReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_platform_user.NewAdminCreatePlatformUserLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminCreatePlatformUser(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_platform_user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_platform_user"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminDeletePlatformUserHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminDeletePlatformUserReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_platform_user.NewAdminDeletePlatformUserLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminDeletePlatformUser(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_platform_user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_platform_user"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetPlatformUserDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetPlatformUserDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_platform_user.NewAdminGetPlatformUserDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetPlatformUserDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_platform_user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_platform_user"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetPlatformUserListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetPlatformUserListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_platform_user.NewAdminGetPlatformUserListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetPlatformUserList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_platform_user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_platform_user"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdatePlatformUserHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdatePlatformUserReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_platform_user.NewAdminUpdatePlatformUserLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdatePlatformUser(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminCreateProductHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminCreateProductReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminCreateProductLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminCreateProduct(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminDeleteProductHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminDeleteProductReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminDeleteProductLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminDeleteProduct(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetProductDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetProductDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminGetProductDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetProductDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetProductFeatureListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetProductFeatureListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminGetProductFeatureListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetProductFeatureList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetProductListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetProductListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminGetProductListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetProductList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateProductFeaturesHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateProductFeaturesReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminUpdateProductFeaturesLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateProductFeatures(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_product
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_product"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateProductHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateProductReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_product.NewAdminUpdateProductLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateProduct(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func CreatePromotionLinkHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.CreatePromotionLinkReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewCreatePromotionLinkLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.CreatePromotionLink(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
)
|
||||||
|
|
||||||
|
func DeletePromotionLinkHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.DeletePromotionLinkReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewDeletePromotionLinkLogic(r.Context(), svcCtx)
|
||||||
|
err := l.DeletePromotionLink(&req)
|
||||||
|
result.HttpResult(r, w, nil, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetPromotionLinkDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetPromotionLinkDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewGetPromotionLinkDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetPromotionLinkDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,20 +1,19 @@
|
|||||||
package user
|
package admin_promotion
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"qnc-server/app/user/cmd/api/internal/logic/user"
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
"qnc-server/app/user/cmd/api/internal/svc"
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
"qnc-server/app/user/cmd/api/internal/types"
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
"qnc-server/common/result"
|
"qnc-server/common/result"
|
||||||
"qnc-server/pkg/lzkit/validator"
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/rest/httpx"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func AgentMobileCodeLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
func GetPromotionLinkListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
var req types.MobileCodeLoginReq
|
var req types.GetPromotionLinkListReq
|
||||||
if err := httpx.Parse(r, &req); err != nil {
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
result.ParamErrorResult(r, w, err)
|
result.ParamErrorResult(r, w, err)
|
||||||
return
|
return
|
||||||
@@ -23,8 +22,8 @@ func AgentMobileCodeLoginHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
|||||||
result.ParamValidateErrorResult(r, w, err)
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
l := user.NewAgentMobileCodeLoginLogic(r.Context(), svcCtx)
|
l := admin_promotion.NewGetPromotionLinkListLogic(r.Context(), svcCtx)
|
||||||
resp, err := l.AgentMobileCodeLogin(&req)
|
resp, err := l.GetPromotionLinkList(&req)
|
||||||
result.HttpResult(r, w, resp, err)
|
result.HttpResult(r, w, resp, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetPromotionStatsHistoryHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetPromotionStatsHistoryReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewGetPromotionStatsHistoryLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetPromotionStatsHistory(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetPromotionStatsTotalHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetPromotionStatsTotalReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewGetPromotionStatsTotalLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetPromotionStatsTotal(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func RecordLinkClickHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.RecordLinkClickReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewRecordLinkClickLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.RecordLinkClick(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
package admin_promotion
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_promotion"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
)
|
||||||
|
|
||||||
|
func UpdatePromotionLinkHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.UpdatePromotionLinkReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_promotion.NewUpdatePromotionLinkLogic(r.Context(), svcCtx)
|
||||||
|
err := l.UpdatePromotionLink(&req)
|
||||||
|
result.HttpResult(r, w, nil, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_query
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_query"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetQueryCleanupConfigListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetQueryCleanupConfigListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_query.NewAdminGetQueryCleanupConfigListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetQueryCleanupConfigList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_query
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_query"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetQueryCleanupDetailListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetQueryCleanupDetailListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_query.NewAdminGetQueryCleanupDetailListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetQueryCleanupDetailList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_query
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_query"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetQueryCleanupLogListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetQueryCleanupLogListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_query.NewAdminGetQueryCleanupLogListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetQueryCleanupLogList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_query
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_query"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminGetQueryDetailByOrderIdHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminGetQueryDetailByOrderIdReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_query.NewAdminGetQueryDetailByOrderIdLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminGetQueryDetailByOrderId(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_query
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_query"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AdminUpdateQueryCleanupConfigHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.AdminUpdateQueryCleanupConfigReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_query.NewAdminUpdateQueryCleanupConfigLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.AdminUpdateQueryCleanupConfig(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_role
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_role"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func CreateRoleHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.CreateRoleReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_role.NewCreateRoleLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.CreateRole(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_role
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_role"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func DeleteRoleHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.DeleteRoleReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_role.NewDeleteRoleLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.DeleteRole(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_role
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_role"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetRoleDetailHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetRoleDetailReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_role.NewGetRoleDetailLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetRoleDetail(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package admin_role
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/rest/httpx"
|
||||||
|
"qnc-server/app/main/api/internal/logic/admin_role"
|
||||||
|
"qnc-server/app/main/api/internal/svc"
|
||||||
|
"qnc-server/app/main/api/internal/types"
|
||||||
|
"qnc-server/common/result"
|
||||||
|
"qnc-server/pkg/lzkit/validator"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetRoleListHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
var req types.GetRoleListReq
|
||||||
|
if err := httpx.Parse(r, &req); err != nil {
|
||||||
|
result.ParamErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := validator.Validate(req); err != nil {
|
||||||
|
result.ParamValidateErrorResult(r, w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
l := admin_role.NewGetRoleListLogic(r.Context(), svcCtx)
|
||||||
|
resp, err := l.GetRoleList(&req)
|
||||||
|
result.HttpResult(r, w, resp, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user