97 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package admin_agent
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"database/sql"
 | |
| 
 | |
| 	"ycc-server/app/main/api/internal/svc"
 | |
| 	"ycc-server/app/main/api/internal/types"
 | |
| 
 | |
| 	"github.com/zeromicro/go-zero/core/logx"
 | |
| )
 | |
| 
 | |
| type AdminUpdateAgentMembershipConfigLogic struct {
 | |
| 	logx.Logger
 | |
| 	ctx    context.Context
 | |
| 	svcCtx *svc.ServiceContext
 | |
| }
 | |
| 
 | |
| func NewAdminUpdateAgentMembershipConfigLogic(ctx context.Context, svcCtx *svc.ServiceContext) *AdminUpdateAgentMembershipConfigLogic {
 | |
| 	return &AdminUpdateAgentMembershipConfigLogic{
 | |
| 		Logger: logx.WithContext(ctx),
 | |
| 		ctx:    ctx,
 | |
| 		svcCtx: svcCtx,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (l *AdminUpdateAgentMembershipConfigLogic) AdminUpdateAgentMembershipConfig(req *types.AdminUpdateAgentMembershipConfigReq) (resp *types.AdminUpdateAgentMembershipConfigResp, err error) {
 | |
| 	cfg, err := l.svcCtx.AgentMembershipConfigModel.FindOne(l.ctx, req.Id)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	cfg.LevelName = req.LevelName
 | |
| 	cfg.Price = sql.NullFloat64{Float64: req.Price, Valid: true}
 | |
| 	cfg.ReportCommission = sql.NullFloat64{Float64: req.ReportCommission, Valid: true}
 | |
| 	if req.LowerActivityReward == nil {
 | |
| 		cfg.LowerActivityReward = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.LowerActivityReward = sql.NullFloat64{Float64: *req.LowerActivityReward, Valid: true}
 | |
| 	}
 | |
| 	if req.NewActivityReward == nil {
 | |
| 		cfg.NewActivityReward = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.NewActivityReward = sql.NullFloat64{Float64: *req.NewActivityReward, Valid: true}
 | |
| 	}
 | |
| 	if req.LowerStandardCount == nil {
 | |
| 		cfg.LowerStandardCount = sql.NullInt64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.LowerStandardCount = sql.NullInt64{Int64: *req.LowerStandardCount, Valid: true}
 | |
| 	}
 | |
| 	if req.NewLowerStandardCount == nil {
 | |
| 		cfg.NewLowerStandardCount = sql.NullInt64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.NewLowerStandardCount = sql.NullInt64{Int64: *req.NewLowerStandardCount, Valid: true}
 | |
| 	}
 | |
| 	if req.LowerWithdrawRewardRatio == nil {
 | |
| 		cfg.LowerWithdrawRewardRatio = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.LowerWithdrawRewardRatio = sql.NullFloat64{Float64: *req.LowerWithdrawRewardRatio, Valid: true}
 | |
| 	}
 | |
| 	if req.LowerConvertVipReward == nil {
 | |
| 		cfg.LowerConvertVipReward = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.LowerConvertVipReward = sql.NullFloat64{Float64: *req.LowerConvertVipReward, Valid: true}
 | |
| 	}
 | |
| 	if req.LowerConvertSvipReward == nil {
 | |
| 		cfg.LowerConvertSvipReward = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.LowerConvertSvipReward = sql.NullFloat64{Float64: *req.LowerConvertSvipReward, Valid: true}
 | |
| 	}
 | |
| 	if req.ExemptionAmount == nil {
 | |
| 		cfg.ExemptionAmount = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.ExemptionAmount = sql.NullFloat64{Float64: *req.ExemptionAmount, Valid: true}
 | |
| 	}
 | |
| 	if req.PriceIncreaseMax == nil {
 | |
| 		cfg.PriceIncreaseMax = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.PriceIncreaseMax = sql.NullFloat64{Float64: *req.PriceIncreaseMax, Valid: true}
 | |
| 	}
 | |
| 	if req.PriceRatio == nil {
 | |
| 		cfg.PriceRatio = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.PriceRatio = sql.NullFloat64{Float64: *req.PriceRatio, Valid: true}
 | |
| 	}
 | |
| 	if req.PriceIncreaseAmount == nil {
 | |
| 		cfg.PriceIncreaseAmount = sql.NullFloat64{Valid: false}
 | |
| 	} else {
 | |
| 		cfg.PriceIncreaseAmount = sql.NullFloat64{Float64: *req.PriceIncreaseAmount, Valid: true}
 | |
| 	}
 | |
| 	_, err = l.svcCtx.AgentMembershipConfigModel.Update(l.ctx, nil, cfg)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	resp = &types.AdminUpdateAgentMembershipConfigResp{Success: true}
 | |
| 	return
 | |
| }
 |