174 lines
6.4 KiB
Go
174 lines
6.4 KiB
Go
package grpc
|
|
|
|
import (
|
|
walletv1 "hyapp.local/api/proto/wallet/v1"
|
|
resourcedomain "hyapp/services/wallet-service/internal/domain/resource"
|
|
)
|
|
|
|
func resourceCommandFromCreate(req *walletv1.CreateResourceRequest) resourcedomain.ResourceCommand {
|
|
return resourcedomain.ResourceCommand{
|
|
AppCode: req.GetAppCode(),
|
|
ResourceCode: req.GetResourceCode(),
|
|
ResourceType: req.GetResourceType(),
|
|
Name: req.GetName(),
|
|
Status: req.GetStatus(),
|
|
Grantable: req.GetGrantable(),
|
|
GrantStrategy: req.GetGrantStrategy(),
|
|
WalletAssetType: req.GetWalletAssetType(),
|
|
WalletAssetAmount: req.GetWalletAssetAmount(),
|
|
PriceType: req.GetPriceType(),
|
|
CoinPrice: req.GetCoinPrice(),
|
|
GiftPointAmount: 0,
|
|
UsageScopes: req.GetUsageScopes(),
|
|
AssetURL: req.GetAssetUrl(),
|
|
PreviewURL: req.GetPreviewUrl(),
|
|
AnimationURL: req.GetAnimationUrl(),
|
|
MetadataJSON: req.GetMetadataJson(),
|
|
SortOrder: req.GetSortOrder(),
|
|
OperatorUserID: req.GetOperatorUserId(),
|
|
ManagerGrantEnabled: managerGrantEnabledOrDefault(req.ManagerGrantEnabled),
|
|
}
|
|
}
|
|
|
|
func resourceCommandFromUpdate(req *walletv1.UpdateResourceRequest) resourcedomain.ResourceCommand {
|
|
command := resourceCommandFromCreate(&walletv1.CreateResourceRequest{
|
|
AppCode: req.GetAppCode(),
|
|
ResourceCode: req.GetResourceCode(),
|
|
ResourceType: req.GetResourceType(),
|
|
Name: req.GetName(),
|
|
Status: req.GetStatus(),
|
|
Grantable: req.GetGrantable(),
|
|
GrantStrategy: req.GetGrantStrategy(),
|
|
WalletAssetType: req.GetWalletAssetType(),
|
|
WalletAssetAmount: req.GetWalletAssetAmount(),
|
|
PriceType: req.GetPriceType(),
|
|
CoinPrice: req.GetCoinPrice(),
|
|
GiftPointAmount: 0,
|
|
UsageScopes: req.GetUsageScopes(),
|
|
AssetUrl: req.GetAssetUrl(),
|
|
PreviewUrl: req.GetPreviewUrl(),
|
|
AnimationUrl: req.GetAnimationUrl(),
|
|
MetadataJson: req.GetMetadataJson(),
|
|
SortOrder: req.GetSortOrder(),
|
|
OperatorUserId: req.GetOperatorUserId(),
|
|
ManagerGrantEnabled: req.ManagerGrantEnabled,
|
|
})
|
|
command.ResourceID = req.GetResourceId()
|
|
return command
|
|
}
|
|
|
|
func resourceGroupCommandFromCreate(req *walletv1.CreateResourceGroupRequest) resourcedomain.ResourceGroupCommand {
|
|
return resourcedomain.ResourceGroupCommand{
|
|
AppCode: req.GetAppCode(),
|
|
GroupCode: req.GetGroupCode(),
|
|
Name: req.GetName(),
|
|
Status: req.GetStatus(),
|
|
Description: req.GetDescription(),
|
|
SortOrder: req.GetSortOrder(),
|
|
Items: groupItemInputs(req.GetItems()),
|
|
OperatorUserID: req.GetOperatorUserId(),
|
|
}
|
|
}
|
|
|
|
func resourceGroupCommandFromUpdate(req *walletv1.UpdateResourceGroupRequest) resourcedomain.ResourceGroupCommand {
|
|
return resourcedomain.ResourceGroupCommand{
|
|
AppCode: req.GetAppCode(),
|
|
GroupID: req.GetGroupId(),
|
|
GroupCode: req.GetGroupCode(),
|
|
Name: req.GetName(),
|
|
Status: req.GetStatus(),
|
|
Description: req.GetDescription(),
|
|
SortOrder: req.GetSortOrder(),
|
|
Items: groupItemInputs(req.GetItems()),
|
|
OperatorUserID: req.GetOperatorUserId(),
|
|
}
|
|
}
|
|
|
|
func giftConfigCommandFromCreate(req *walletv1.CreateGiftConfigRequest) resourcedomain.GiftConfigCommand {
|
|
return resourcedomain.GiftConfigCommand{
|
|
AppCode: req.GetAppCode(),
|
|
GiftID: req.GetGiftId(),
|
|
ResourceID: req.GetResourceId(),
|
|
Status: req.GetStatus(),
|
|
Name: req.GetName(),
|
|
SortOrder: req.GetSortOrder(),
|
|
PresentationJSON: req.GetPresentationJson(),
|
|
PriceVersion: req.GetPriceVersion(),
|
|
CoinPrice: req.GetCoinPrice(),
|
|
GiftPointAmount: 0,
|
|
HeatValue: req.GetHeatValue(),
|
|
EffectiveAtMS: req.GetEffectiveAtMs(),
|
|
GiftTypeCode: req.GetGiftTypeCode(),
|
|
CPRelationType: req.GetCpRelationType(),
|
|
ChargeAssetType: req.GetChargeAssetType(),
|
|
EffectiveFromMS: req.GetEffectiveFromMs(),
|
|
EffectiveToMS: req.GetEffectiveToMs(),
|
|
EffectTypes: req.GetEffectTypes(),
|
|
OperatorUserID: req.GetOperatorUserId(),
|
|
RegionIDs: req.GetRegionIds(),
|
|
}
|
|
}
|
|
|
|
func giftConfigCommandFromUpdate(req *walletv1.UpdateGiftConfigRequest) resourcedomain.GiftConfigCommand {
|
|
return resourcedomain.GiftConfigCommand{
|
|
AppCode: req.GetAppCode(),
|
|
GiftID: req.GetGiftId(),
|
|
ResourceID: req.GetResourceId(),
|
|
Status: req.GetStatus(),
|
|
Name: req.GetName(),
|
|
SortOrder: req.GetSortOrder(),
|
|
PresentationJSON: req.GetPresentationJson(),
|
|
PriceVersion: req.GetPriceVersion(),
|
|
CoinPrice: req.GetCoinPrice(),
|
|
GiftPointAmount: 0,
|
|
HeatValue: req.GetHeatValue(),
|
|
EffectiveAtMS: req.GetEffectiveAtMs(),
|
|
GiftTypeCode: req.GetGiftTypeCode(),
|
|
CPRelationType: req.GetCpRelationType(),
|
|
ChargeAssetType: req.GetChargeAssetType(),
|
|
EffectiveFromMS: req.GetEffectiveFromMs(),
|
|
EffectiveToMS: req.GetEffectiveToMs(),
|
|
EffectTypes: req.GetEffectTypes(),
|
|
OperatorUserID: req.GetOperatorUserId(),
|
|
RegionIDs: req.GetRegionIds(),
|
|
}
|
|
}
|
|
|
|
func groupItemInputs(items []*walletv1.ResourceGroupItemInput) []resourcedomain.ResourceGroupItemInput {
|
|
out := make([]resourcedomain.ResourceGroupItemInput, 0, len(items))
|
|
for _, item := range items {
|
|
if item == nil {
|
|
continue
|
|
}
|
|
out = append(out, resourcedomain.ResourceGroupItemInput{
|
|
ItemType: item.GetItemType(),
|
|
ResourceID: item.GetResourceId(),
|
|
WalletAssetType: item.GetWalletAssetType(),
|
|
WalletAssetAmount: item.GetWalletAssetAmount(),
|
|
Quantity: item.GetQuantity(),
|
|
DurationMS: item.GetDurationMs(),
|
|
SortOrder: item.GetSortOrder(),
|
|
})
|
|
}
|
|
return out
|
|
}
|
|
|
|
func resourceShopItemInputs(items []*walletv1.ResourceShopItemInput) []resourcedomain.ResourceShopItemInput {
|
|
out := make([]resourcedomain.ResourceShopItemInput, 0, len(items))
|
|
for _, item := range items {
|
|
if item == nil {
|
|
continue
|
|
}
|
|
out = append(out, resourcedomain.ResourceShopItemInput{
|
|
ShopItemID: item.GetShopItemId(),
|
|
ResourceID: item.GetResourceId(),
|
|
Status: item.GetStatus(),
|
|
DurationDays: item.GetDurationDays(),
|
|
EffectiveFromMS: item.GetEffectiveFromMs(),
|
|
EffectiveToMS: item.GetEffectiveToMs(),
|
|
SortOrder: item.GetSortOrder(),
|
|
})
|
|
}
|
|
return out
|
|
}
|