一、项目入口:main.go
流程:
1、开启定时任务
- 每天01:00生成报表
reportservice.GenClireport(yesterday)
reportservice.GenSupreport(yesterday)
- 每分钟的第30秒生成1分半钟前的流量数据
reportservice.GenFlowRecord(lastMin)
2、开启http服务
二、路由配置入口:router.go
流程:
1、绑定路由分组/api/sa
- 中间件过滤,进行登录和权限验证,原理是获取session中的STAFF_SESSION_MARK标志位来验证
group.Middleware(middleware.StaffAuth)
2、绑定路由分组/api/portal
- 中间件过滤,进行登录验证,原理是获取session中的CLIENT_SESSION_MARK标志位来验证
group.Middleware(middleware.ClientAuth)
3、绑定路由分组/api/bus
4、绑定路由分组/api/ali
三、业务逻辑api分析——/api/sa/security
接口:
1、生成验证码并记录ID:Captcha
2、用户登录,成功返回用户信息,否则返回nil:SignIn
3、用户注销:SignOut
4、获得员工信息详情-包含权限:GetProfile
5、修改密码:UpdatePassword
四、业务逻辑api分析——/api/sa/stafflog
接口:
1、获取员工信息:Staffs
2、获取当前登录的员工的操作日志:List
3、获取所有员工的操作日志:All
五、业务逻辑api分析——/api/sa/role
接口:
1、获取角色列表:List
2、创建角色:Insert
3、变更角色:Update
4、删除角色:Delete
六、业务逻辑api分析——/api/sa/staff
接口:
1、获取角色名称列表:Roles
2、获取员工信息列表(包括员工对应的角色信息):List
3、检查员工名是否存在:CheckUsername
4、创建员工并指定角色:Insert
5、更新员工信息:Update
6、删除员工信息:Delete
7、变更员工状态:UpdateStatus
七、业务逻辑api分析——/api/sa/product
接口:
1、获取产品信息列表:List
2、验证产品编码:CheckCode
3、创建产品信息:Insert
4、变更产品信息:Update
5、删除产品信息:Delete
八、业务逻辑api分析——/api/sa/supplier
接口:
1、获取供应商信息列表:List
2、验证供应商编码:CheckCode
3、创建供应商信息:Insert
4、变更供应商信息:Update
5、删除供应商信息:Delete
九、业务逻辑api分析——/api/sa/supcost
接口:
1、获取产品编码和名称信息列表:Products
2、获取供应商编码和名称信息列表:Suppliers
3、根据产品编码和供应商编码获取成本信息列表:List
4、创建成本配置:Insert
5、变更成本配置:Update
6、删除成本配置:Delete
十、业务逻辑api分析——/api/sa/client
接口:
1、获取客户信息列表:List
2、创建客户信息:Insert
3、变更客户信息:Update
4、客户充值:Recharge
5、删除客户信息:Delete
十一、业务逻辑api分析——/api/sa/cliapi
接口:
1、获取客户名信息列表:Clients
2、获取客户API信息列表:List
3、创建客户API信息:Insert
4、变更客户API信息:Update
5、删除客户API信息:Delete
十二、业务逻辑api分析——/api/sa/cliapiproduct
接口:
1、获取客户API信息列表:Cliapis
2、获取产品信息列表:Products
3、获取供应商信息列表:Suppliers
4、根据产品和供应商查询成本:Querycost
5、获取运营配置信息列表:List
6、创建运营配置信息:Insert
7、变更运营配置信息:Update
8、删除运营配置信息:Delete
9、变更运营配置状态:UpdateStatus
十三、业务逻辑api分析——/api/sa/fund
接口:
1、获取客户信息:Clients
2、获取客户的财务流水信息列表:List
十四:业务逻辑api分析——/api/sa/record
接口:
1、获取客户信息:Clients
2、获取产品信息:Products
3、获取供应商信息:Suppliers
4、获取日志信息列表:List
5、导出日志信息:Export
十五、业务逻辑api分析——/api/sa/clireport
接口:
1、获取客户信息:Clients
2、获取产品信息:Products
3、获取报表信息列表:List
4、导出报表:Export
十六、业务逻辑api分析——/api/sa/supreport
接口:
1、获取产品信息:Products
2、获取供应商信息:Suppliers
3、获取报表信息列表:List
4、导出报表:Export
十七、业务逻辑api分析——/api/sa/ticket
接口:
1、获取工单信息列表:List
2、变更留言工单的状态:UpdateStatus
十八、业务逻辑api分析——/api/sa/flowrecord
接口:
1、获取客户信息:Clients
2、获取产品信息:Products
3、获取供应商信息:Suppliers
4、查询记录信息列表:List
十九、业务逻辑api分析——/api/sa/flowlistener
接口:
1、获取客户信息:Clients
2、获取产品信息:Products
3、获取供应商信息:Suppliers
4、获取告警信息列表:List
5、创建流量监听告警信息:Insert
6、变更流量监听告警信息:Update
7、删除流量监听告警信息:Delete
8、变更流量监听告警状态:UpdateStatus
二十、业务逻辑api分析——/api/portal/security
接口:
1、生成验证码并记录ID:Captcha
2、客户登录:SignIn
3、客户注销:SignOut
4、获取当前登录的客户信息:GetProfile
5、修改密码:UpdatePassword
二十一、业务逻辑api分析——/api/portal/account
接口:
1、获取当前登录客户的告警信息:BalanceWarn
2、变更当前登录客户的告警信息:BalanceWarnUpdate
3、获取当前登录客户的Api列表:Apilist
二十二、业务逻辑api分析——/api/portal/report
接口:
1、获取当前登录客户的Api关联的产品信息:Products
2、获取当前登录客户的日报表信息:Today
3、获取当前登录客户的报表信息:History
二十三、业务逻辑api分析——/api/portal/ticket
接口:
1、创建工单申请:SignUp
2、创建工单留言:SendMsg
二十四、业务逻辑api分析——/api/bus/verify
二十五、业务逻辑api分析——/api/bus/account
接口:
1、账户余额查询:Balance
二十六、业务逻辑api分析——/api/ali/verify