fix save config
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user