Compare commits

..

3 Commits

Author SHA1 Message Date
sugarBecomer 618d6384d9 🐛 代理信息修改 2025-11-07 20:00:05 +08:00
sugarBecomer face5ca364 🐛 代理充值 2025-11-07 19:46:25 +08:00
sugarBecomer d3869f68f8 🐛 代理设置 2025-11-07 19:45:57 +08:00
+10 -4
View File
@@ -76,10 +76,14 @@ func (s *AgentServiceV1) Ban(ctx context.Context, req *v1.AgentBanReq) *utils.Re
}
func (s *AgentServiceV1) Recharge(ctx context.Context, req *v1.AgentRechargeReq) *utils.Response[any] {
// 参数校验
user := db.Global.SysUser.Query().Where(sysuser.IDEQ(req.ID)).WithAgent().OnlyX(ctx)
if !utils.IsAdminFromCtx(ctx) {
currentUser := db.Global.SysUser.Query().Where(sysuser.ID(utils.GetUserInfoFromCtx(ctx).ID)).WithAgent().OnlyX(ctx)
currentUser := utils.GetUserInfoFromCtx(ctx)
// 参数校验
if user.Edges.Agent == nil {
return utils.FailParam("用户不是代理")
}
// 判断是否是自己的下级代理
parent := user.QueryParent().WithAgent().FirstX(ctx)
if parent == nil || parent.ID != currentUser.ID {
@@ -136,8 +140,10 @@ func (s *AgentServiceV1) AgentPutInfoReq(ctx context.Context, req *v1.AgentPutIn
err = tx.Commit()
//按照新费率计算余额
newBalance := utils.TransformBalance(oldBalance, req.Rate)
// 6. 更新用户余额
balance.BalanceService.ChangeUserBalance(ctx, user.ID, newBalance.Sub(oldBalance))
// 6. 更新用户余额(如果更新了费率或者第一次改为代理)
if user.Edges.Agent == nil || !user.Edges.Agent.Rate.Equal(req.Rate) {
balance.BalanceService.ChangeUserBalance(ctx, user.ID, newBalance.Sub(user.Balance))
}
utils.OkOrPanic(err, func(err error) error {
return oops.
WithContext(ctx).