fix(subscribe): improve order details retrieval logic in resetUserSubscribeTokenLogic

This commit is contained in:
Chang lue Tsen 2025-05-05 10:55:46 -04:00
parent aef567c06f
commit ead1a9a8a6
2 changed files with 13 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package user
import ( import (
"context" "context"
"github.com/perfect-panel/server/internal/model/order"
"time" "time"
"github.com/perfect-panel/server/pkg/constant" "github.com/perfect-panel/server/pkg/constant"
@ -47,12 +48,20 @@ func (l *ResetUserSubscribeTokenLogic) ResetUserSubscribeToken(req *types.ResetU
l.Errorw("UserSubscribeId does not belong to the current user") l.Errorw("UserSubscribeId does not belong to the current user")
return errors.Wrapf(xerr.NewErrCode(xerr.InvalidAccess), "UserSubscribeId does not belong to the current user") return errors.Wrapf(xerr.NewErrCode(xerr.InvalidAccess), "UserSubscribeId does not belong to the current user")
} }
var orderDetails *order.Details
// find order // find order
orderDetails, err := l.svcCtx.OrderModel.FindOneDetails(l.ctx, userSub.OrderId) if userSub.OrderId != 0 {
if err != nil { orderDetails, err = l.svcCtx.OrderModel.FindOneDetails(l.ctx, userSub.OrderId)
l.Errorw("FindOneDetails failed:", logger.Field("error", err.Error())) if err != nil {
return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "FindOneDetails failed: %v", err.Error()) l.Errorw("FindOneDetails failed:", logger.Field("error", err.Error()))
return errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "FindOneDetails failed: %v", err.Error())
}
} else {
// if order id is 0, this a admin create user subscribe
orderDetails = &order.Details{}
} }
userSub.Token = uuidx.SubscribeToken(orderDetails.OrderNo + time.Now().Format("20060102150405.000")) userSub.Token = uuidx.SubscribeToken(orderDetails.OrderNo + time.Now().Format("20060102150405.000"))
userSub.UUID = uuid.New().String() userSub.UUID = uuid.New().String()
var newSub user.Subscribe var newSub user.Subscribe

View File

@ -55,7 +55,6 @@ func (m *defaultUserModel) FindOneSubscribe(ctx context.Context, id int64) (*Sub
return conn.Model(&Subscribe{}).Where("id = ?", id).First(&data).Error return conn.Model(&Subscribe{}).Where("id = ?", id).First(&data).Error
}) })
return &data, err return &data, err
} }
func (m *defaultUserModel) FindUsersSubscribeBySubscribeId(ctx context.Context, subscribeId int64) ([]*Subscribe, error) { func (m *defaultUserModel) FindUsersSubscribeBySubscribeId(ctx context.Context, subscribeId int64) ([]*Subscribe, error) {