From 280c9a3fa02a24786b7cd0e2d9f471575c7e68df Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Fri, 14 Mar 2025 16:34:12 +0800 Subject: [PATCH] fix save config --- .../saveagentmembershipuserconfiglogic.go | 56 ++++++++++++------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/app/user/cmd/api/internal/logic/agent/saveagentmembershipuserconfiglogic.go b/app/user/cmd/api/internal/logic/agent/saveagentmembershipuserconfiglogic.go index e02e2eb..07e85bf 100644 --- a/app/user/cmd/api/internal/logic/agent/saveagentmembershipuserconfiglogic.go +++ b/app/user/cmd/api/internal/logic/agent/saveagentmembershipuserconfiglogic.go @@ -2,11 +2,12 @@ package agent import ( "context" - "github.com/pkg/errors" "tydata-server/app/user/model" "tydata-server/common/ctxdata" "tydata-server/common/xerr" + "github.com/pkg/errors" + "tydata-server/app/user/cmd/api/internal/svc" "tydata-server/app/user/cmd/api/internal/types" @@ -36,30 +37,45 @@ func (l *SaveAgentMembershipUserConfigLogic) SaveAgentMembershipUserConfig(req * if err != nil { return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置: %v", err) } - agentMembershipUserConfigModel, err := l.svcCtx.AgentMembershipUserConfigModel.FindOneByAgentIdProductId(l.ctx, agentModel.Id, req.ProductID) - if err != nil && !errors.Is(err, model.ErrNotFound) { - return err + + var agentMembershipUserConfigModel *model.AgentMembershipUserConfig + agentMembershipUserConfigModel, err = l.svcCtx.AgentMembershipUserConfigModel.FindOneByAgentIdProductId(l.ctx, agentModel.Id, req.ProductID) + + // 检查记录是否存在 + if err != nil { + if errors.Is(err, model.ErrNotFound) { + // 记录不存在,创建新的配置对象 + agentMembershipUserConfigModel = &model.AgentMembershipUserConfig{ + UserId: userID, + AgentId: agentModel.Id, + ProductId: req.ProductID, + PriceRatio: req.PriceRatio, + PriceIncreaseAmount: req.PriceIncreaseAmount, + PriceRangeFrom: req.PriceRangeFrom, + PriceRangeTo: req.PriceRangeTo, + } + + // 插入新记录 + _, err = l.svcCtx.AgentMembershipUserConfigModel.Insert(l.ctx, nil, agentMembershipUserConfigModel) + if err != nil { + return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置,插入新记录失败: %v", err) + } + return nil + } + + // 其他错误 + return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置,查询记录失败: %v", err) } - //err = copier.Copy(&agentMembershipUserConfigModel, &req) - //if err != nil { - // return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置: %v", err) - //} + + // 记录存在,更新现有配置 agentMembershipUserConfigModel.PriceRatio = req.PriceRatio agentMembershipUserConfigModel.PriceIncreaseAmount = req.PriceIncreaseAmount agentMembershipUserConfigModel.PriceRangeFrom = req.PriceRangeFrom agentMembershipUserConfigModel.PriceRangeTo = req.PriceRangeTo - if agentMembershipUserConfigModel == nil { - agentMembershipUserConfigModel.UserId = userID - agentMembershipUserConfigModel.AgentId = agentModel.Id - _, err = l.svcCtx.AgentMembershipUserConfigModel.Insert(l.ctx, nil, agentMembershipUserConfigModel) - if err != nil { - return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置: %v", err) - } - } else { - _, err = l.svcCtx.AgentMembershipUserConfigModel.Update(l.ctx, nil, agentMembershipUserConfigModel) - if err != nil { - return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置: %v", err) - } + + _, err = l.svcCtx.AgentMembershipUserConfigModel.Update(l.ctx, nil, agentMembershipUserConfigModel) + if err != nil { + return errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "保存会员代理报告配置,更新记录失败: %v", err) } return nil