修改返回数据校验
This commit is contained in:
parent
668b7eb06e
commit
9c9e9c0663
@ -160,7 +160,7 @@ func BundleListV2(req *bundle.BundleListRequest) (res *bundle.BundleListResponse
|
|||||||
if err = query.Preload("BundleToValueAddService").Find(&bundles).Error; err != nil {
|
if err = query.Preload("BundleToValueAddService").Find(&bundles).Error; err != nil {
|
||||||
return res, commonErr.ReturnError(err, msg.ErrorGetBundleList, "获取套餐列表失败: ")
|
return res, commonErr.ReturnError(err, msg.ErrorGetBundleList, "获取套餐列表失败: ")
|
||||||
}
|
}
|
||||||
if bundles != nil && len(bundles) > 0 {
|
if len(bundles) > 0 {
|
||||||
for _, bundleProfile := range bundles {
|
for _, bundleProfile := range bundles {
|
||||||
selectValueAddService := make([]*bundle.SelectValueAddService, 0)
|
selectValueAddService := make([]*bundle.SelectValueAddService, 0)
|
||||||
if bundleProfile.BundleToValueAddService != nil {
|
if bundleProfile.BundleToValueAddService != nil {
|
||||||
@ -172,7 +172,7 @@ func BundleListV2(req *bundle.BundleListRequest) (res *bundle.BundleListResponse
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
bundleProfileLang := []*bundle.BundleProfileLang{}
|
bundleProfileLang := []*bundle.BundleProfileLang{}
|
||||||
if bundleProfile.BundleProfileLang != nil && len(bundleProfile.BundleProfileLang) > 0 {
|
if len(bundleProfile.BundleProfileLang) > 0 {
|
||||||
for _, lang := range bundleProfile.BundleProfileLang {
|
for _, lang := range bundleProfile.BundleProfileLang {
|
||||||
bpl := &bundle.BundleProfileLang{
|
bpl := &bundle.BundleProfileLang{
|
||||||
Uuid: lang.UUID,
|
Uuid: lang.UUID,
|
||||||
@ -385,7 +385,7 @@ func BundleListH5V2(req *bundle.BundleListRequest) (res *bundle.BundleListRespon
|
|||||||
if err = query.Preload("BundleToValueAddService").Find(&bundles).Error; err != nil {
|
if err = query.Preload("BundleToValueAddService").Find(&bundles).Error; err != nil {
|
||||||
return res, commonErr.ReturnError(err, msg.ErrorGetBundleList, "获取套餐列表失败: ")
|
return res, commonErr.ReturnError(err, msg.ErrorGetBundleList, "获取套餐列表失败: ")
|
||||||
}
|
}
|
||||||
if bundles != nil && len(bundles) > 0 {
|
if len(bundles) > 0 {
|
||||||
for _, bundleProfile := range bundles {
|
for _, bundleProfile := range bundles {
|
||||||
selectValueAddService := make([]*bundle.SelectValueAddService, 0)
|
selectValueAddService := make([]*bundle.SelectValueAddService, 0)
|
||||||
if bundleProfile.BundleToValueAddService != nil {
|
if bundleProfile.BundleToValueAddService != nil {
|
||||||
@ -397,7 +397,7 @@ func BundleListH5V2(req *bundle.BundleListRequest) (res *bundle.BundleListRespon
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
bundleProfileLang := []*bundle.BundleProfileLang{}
|
bundleProfileLang := []*bundle.BundleProfileLang{}
|
||||||
if bundleProfile.BundleProfileLang != nil && len(bundleProfile.BundleProfileLang) > 0 {
|
if len(bundleProfile.BundleProfileLang) > 0 {
|
||||||
for _, lang := range bundleProfile.BundleProfileLang {
|
for _, lang := range bundleProfile.BundleProfileLang {
|
||||||
bpl := &bundle.BundleProfileLang{
|
bpl := &bundle.BundleProfileLang{
|
||||||
Uuid: lang.UUID,
|
Uuid: lang.UUID,
|
||||||
|
@ -259,7 +259,7 @@ func BundleDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailRe
|
|||||||
bundleProfile.CreatedAt = detail.CreatedAt.Format("2006-01-02 15:04:05")
|
bundleProfile.CreatedAt = detail.CreatedAt.Format("2006-01-02 15:04:05")
|
||||||
bundleProfile.UpdatedAt = detail.UpdatedAt.Format("2006-01-02 15:04:05")
|
bundleProfile.UpdatedAt = detail.UpdatedAt.Format("2006-01-02 15:04:05")
|
||||||
bundleProfile.Contract = detail.Contract
|
bundleProfile.Contract = detail.Contract
|
||||||
if detail.BundleToValueAddService != nil && len(detail.BundleToValueAddService) > 0 {
|
if len(detail.BundleToValueAddService) > 0 {
|
||||||
for _, valueAddService := range detail.BundleToValueAddService {
|
for _, valueAddService := range detail.BundleToValueAddService {
|
||||||
valueAddDetail, err := dao.ValueAddServiceDetailByUuidAndLanguage(valueAddService.ValueUid, req.Language)
|
valueAddDetail, err := dao.ValueAddServiceDetailByUuidAndLanguage(valueAddService.ValueUid, req.Language)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -274,7 +274,7 @@ func BundleDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailRe
|
|||||||
selectValueAddServices = append(selectValueAddServices, selectValueAddService)
|
selectValueAddServices = append(selectValueAddServices, selectValueAddService)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if detail.BundleProfileLang != nil && len(detail.BundleProfileLang) > 0 {
|
if len(detail.BundleProfileLang) > 0 {
|
||||||
for _, lang := range detail.BundleProfileLang {
|
for _, lang := range detail.BundleProfileLang {
|
||||||
bundleProfileLang := &bundle.BundleProfileLang{
|
bundleProfileLang := &bundle.BundleProfileLang{
|
||||||
Uuid: lang.UUID,
|
Uuid: lang.UUID,
|
||||||
@ -297,7 +297,7 @@ func BundleDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailRe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if selectValueAddServices != nil && len(selectValueAddServices) > 0 {
|
if len(selectValueAddServices) > 0 {
|
||||||
bundleProfile.SelectValueAddService = selectValueAddServices
|
bundleProfile.SelectValueAddService = selectValueAddServices
|
||||||
}
|
}
|
||||||
bundleProfile.BundleProfileLang = bundleProfileLangs
|
bundleProfile.BundleProfileLang = bundleProfileLangs
|
||||||
@ -341,8 +341,8 @@ func BundleLangDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleProf
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func HandleShelf(req *bundle.HandShelfRequest) (res *bundle.CommonResponse, err error) {
|
func HandleShelf(req *bundle.HandShelfRequest) (*bundle.CommonResponse, error) {
|
||||||
res = new(bundle.CommonResponse)
|
res := new(bundle.CommonResponse)
|
||||||
if req.Uuid == "" {
|
if req.Uuid == "" {
|
||||||
return res, errors.New("缺少套餐UUID")
|
return res, errors.New("缺少套餐UUID")
|
||||||
}
|
}
|
||||||
@ -354,10 +354,10 @@ func HandleShelf(req *bundle.HandShelfRequest) (res *bundle.CommonResponse, err
|
|||||||
return res, errors.New("获取套餐信息失败")
|
return res, errors.New("获取套餐信息失败")
|
||||||
}
|
}
|
||||||
if detail.ShelfStatus == req.ShelfStatus {
|
if detail.ShelfStatus == req.ShelfStatus {
|
||||||
if detail.ShelfStatus == 1 {
|
switch detail.ShelfStatus {
|
||||||
|
case 1:
|
||||||
return res, errors.New("套餐已上架,请勿重复操作")
|
return res, errors.New("套餐已上架,请勿重复操作")
|
||||||
}
|
case 2:
|
||||||
if detail.ShelfStatus == 2 {
|
|
||||||
return res, errors.New("套餐已下架,请勿重复操作")
|
return res, errors.New("套餐已下架,请勿重复操作")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -398,12 +398,12 @@ func HandleShelf(req *bundle.HandShelfRequest) (res *bundle.CommonResponse, err
|
|||||||
return res, errors.New("缺失可用时长服务类型")
|
return res, errors.New("缺失可用时长服务类型")
|
||||||
}
|
}
|
||||||
//校验币种
|
//校验币种
|
||||||
valueAddServices, err := dao.BatchValueAddServiceDetailTx(tx, valueAddUuids)
|
valueAddServices, er := dao.BatchValueAddServiceDetailTx(tx, valueAddUuids)
|
||||||
if err != nil {
|
if er != nil {
|
||||||
return res, errors.New("查询增值服务详情失败")
|
return res, errors.New("查询增值服务详情失败")
|
||||||
}
|
}
|
||||||
for _, valueAddService := range valueAddServices {
|
for _, valueAddService := range valueAddServices {
|
||||||
if valueAddService.ValueAddServiceLang != nil && len(valueAddService.ValueAddServiceLang) > 0 {
|
if len(valueAddService.ValueAddServiceLang) > 0 {
|
||||||
for _, lang := range valueAddService.ValueAddServiceLang {
|
for _, lang := range valueAddService.ValueAddServiceLang {
|
||||||
if langToPriceType[lang.Language] != lang.PriceType {
|
if langToPriceType[lang.Language] != lang.PriceType {
|
||||||
return res, errors.New("所选增值服务币种与套餐币种不一致")
|
return res, errors.New("所选增值服务币种与套餐币种不一致")
|
||||||
@ -486,7 +486,7 @@ func saveBundleHistory(tx *gorm.DB, bundleUuid string, operator string, operator
|
|||||||
bundleToValueAddService := data.BundleToValueAddService
|
bundleToValueAddService := data.BundleToValueAddService
|
||||||
data.BundleToValueAddService = nil
|
data.BundleToValueAddService = nil
|
||||||
var valueUuid []string
|
var valueUuid []string
|
||||||
if bundleToValueAddService != nil && len(bundleToValueAddService) > 0 {
|
if len(bundleToValueAddService) > 0 {
|
||||||
for _, v := range bundleToValueAddService {
|
for _, v := range bundleToValueAddService {
|
||||||
valueUuid = append(valueUuid, v.ValueUid)
|
valueUuid = append(valueUuid, v.ValueUid)
|
||||||
}
|
}
|
||||||
|
@ -272,7 +272,7 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 已存在,进行更新
|
// 已存在,进行更新
|
||||||
if err := saveValueAddServiceHistory(tx, in.Uuid); err != nil {
|
if err = saveValueAddServiceHistory(tx, in.Uuid); err != nil {
|
||||||
return res, errors.New("保存增值服务历史记录失败")
|
return res, errors.New("保存增值服务历史记录失败")
|
||||||
}
|
}
|
||||||
//中文状态下,更新主表和语言表
|
//中文状态下,更新主表和语言表
|
||||||
@ -306,7 +306,7 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
|||||||
return res, errors.New("获取套餐信息失败")
|
return res, errors.New("获取套餐信息失败")
|
||||||
}
|
}
|
||||||
bundleUuids := []string{}
|
bundleUuids := []string{}
|
||||||
if data != nil && len(data) > 0 {
|
if len(data) > 0 {
|
||||||
for _, bundle := range data {
|
for _, bundle := range data {
|
||||||
bundleUuids = append(bundleUuids, bundle.BundleUuid)
|
bundleUuids = append(bundleUuids, bundle.BundleUuid)
|
||||||
}
|
}
|
||||||
@ -349,19 +349,22 @@ func ValueAddServiceList(req *bundle.ValueAddServiceListRequest) (res *bundle.Va
|
|||||||
CreatedAt: time.Unix(serviceLang.CreatedAt, 0).Format("2006-01-02 15:04:05"),
|
CreatedAt: time.Unix(serviceLang.CreatedAt, 0).Format("2006-01-02 15:04:05"),
|
||||||
UpdatedAt: time.Unix(serviceLang.UpdatedAt, 0).Format("2006-01-02 15:04:05"),
|
UpdatedAt: time.Unix(serviceLang.UpdatedAt, 0).Format("2006-01-02 15:04:05"),
|
||||||
}
|
}
|
||||||
if serviceLang.Options != nil && len(serviceLang.Options) > 0 {
|
if len(serviceLang.Options) > 0 {
|
||||||
var options []*bundle.ValueAddPriceOptions
|
var options []*bundle.ValueAddPriceOptions
|
||||||
for _, option := range serviceLang.Options {
|
for _, option := range serviceLang.Options {
|
||||||
var saveAmount decimal.Decimal
|
var saveAmount decimal.Decimal
|
||||||
if serviceLang.PriceMode == 1 {
|
switch serviceLang.PriceMode {
|
||||||
|
case 1:
|
||||||
original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
||||||
price := decimal.NewFromFloat(float64(option.Price))
|
price := decimal.NewFromFloat(float64(option.Price))
|
||||||
num := decimal.NewFromInt(int64(option.Num))
|
num := decimal.NewFromInt(int64(option.Num))
|
||||||
saveAmount = original.Sub(price).Mul(num)
|
saveAmount = original.Sub(price).Mul(num)
|
||||||
} else if serviceLang.PriceMode == 2 {
|
case 2:
|
||||||
//original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
//original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
||||||
//price := decimal.NewFromFloat(float64(option.Price))
|
//price := decimal.NewFromFloat(float64(option.Price))
|
||||||
saveAmount = decimal.NewFromInt(int64(0))
|
saveAmount = decimal.NewFromInt(int64(0))
|
||||||
|
default:
|
||||||
|
return nil, errors.New("无效的价格模式")
|
||||||
}
|
}
|
||||||
options = append(options, &bundle.ValueAddPriceOptions{
|
options = append(options, &bundle.ValueAddPriceOptions{
|
||||||
Id: int64(option.Id),
|
Id: int64(option.Id),
|
||||||
@ -405,19 +408,21 @@ func ValueAddServiceDetail(req *bundle.ValueAddServiceDetailRequest) (res *bundl
|
|||||||
valueAddService.ServiceType = detail.ServiceType
|
valueAddService.ServiceType = detail.ServiceType
|
||||||
for _, serviceLang := range detail.ValueAddServiceLang {
|
for _, serviceLang := range detail.ValueAddServiceLang {
|
||||||
langOptions := []*bundle.ValueAddPriceOptions{}
|
langOptions := []*bundle.ValueAddPriceOptions{}
|
||||||
if serviceLang.Options != nil && len(serviceLang.Options) > 0 {
|
if len(serviceLang.Options) > 0 {
|
||||||
for _, opt := range serviceLang.Options {
|
for _, opt := range serviceLang.Options {
|
||||||
var saveAmount decimal.Decimal
|
var saveAmount decimal.Decimal
|
||||||
if serviceLang.PriceMode == 1 {
|
switch serviceLang.PriceMode {
|
||||||
|
case 1:
|
||||||
original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
||||||
price := decimal.NewFromFloat(float64(opt.Price))
|
price := decimal.NewFromFloat(float64(opt.Price))
|
||||||
num := decimal.NewFromInt(int64(opt.Num))
|
num := decimal.NewFromInt(int64(opt.Num))
|
||||||
saveAmount = original.Sub(price).Mul(num)
|
saveAmount = original.Sub(price).Mul(num)
|
||||||
} else if serviceLang.PriceMode == 2 {
|
case 2:
|
||||||
//original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
//original := decimal.NewFromFloat(float64(serviceLang.OriginalPrice))
|
||||||
//price := decimal.NewFromFloat(float64(opt.Price))
|
//price := decimal.NewFromFloat(float64(opt.Price))
|
||||||
saveAmount = decimal.NewFromInt(int64(0))
|
saveAmount = decimal.NewFromInt(int64(0))
|
||||||
|
default:
|
||||||
|
return nil, errors.New("无效的价格模式")
|
||||||
}
|
}
|
||||||
langOptions = append(langOptions, &bundle.ValueAddPriceOptions{
|
langOptions = append(langOptions, &bundle.ValueAddPriceOptions{
|
||||||
Id: int64(opt.Id),
|
Id: int64(opt.Id),
|
||||||
@ -486,19 +491,21 @@ func ValueAddServiceDetailByUuidAndLanguage(req *bundle.ValueAddServiceDetailReq
|
|||||||
return res, errors.New("增值服务不存在")
|
return res, errors.New("增值服务不存在")
|
||||||
}
|
}
|
||||||
langOptions := []*bundle.ValueAddPriceOptions{}
|
langOptions := []*bundle.ValueAddPriceOptions{}
|
||||||
if detail.Options != nil && len(detail.Options) > 0 {
|
if len(detail.Options) > 0 {
|
||||||
for _, opt := range detail.Options {
|
for _, opt := range detail.Options {
|
||||||
var saveAmount decimal.Decimal
|
var saveAmount decimal.Decimal
|
||||||
if detail.PriceMode == 1 {
|
switch detail.PriceMode {
|
||||||
|
case 1:
|
||||||
original := decimal.NewFromFloat(float64(detail.OriginalPrice))
|
original := decimal.NewFromFloat(float64(detail.OriginalPrice))
|
||||||
price := decimal.NewFromFloat(float64(opt.Price))
|
price := decimal.NewFromFloat(float64(opt.Price))
|
||||||
num := decimal.NewFromInt(int64(opt.Num))
|
num := decimal.NewFromInt(int64(opt.Num))
|
||||||
saveAmount = original.Sub(price).Mul(num)
|
saveAmount = original.Sub(price).Mul(num)
|
||||||
} else if detail.PriceMode == 2 {
|
case 2:
|
||||||
//original := decimal.NewFromFloat(float64(detail.OriginalPrice))
|
//original := decimal.NewFromFloat(float64(detail.OriginalPrice))
|
||||||
//price := decimal.NewFromFloat(float64(opt.Price))
|
//price := decimal.NewFromFloat(float64(opt.Price))
|
||||||
saveAmount = decimal.NewFromInt(int64(0))
|
saveAmount = decimal.NewFromInt(int64(0))
|
||||||
|
default:
|
||||||
|
return nil, errors.New("无效的价格模式")
|
||||||
}
|
}
|
||||||
langOptions = append(langOptions, &bundle.ValueAddPriceOptions{
|
langOptions = append(langOptions, &bundle.ValueAddPriceOptions{
|
||||||
Id: int64(opt.Id),
|
Id: int64(opt.Id),
|
||||||
@ -559,7 +566,7 @@ func CalculatePrice(req *bundle.CalculatePriceRequest) (res *bundle.CalculatePri
|
|||||||
}
|
}
|
||||||
func BatchGetValueAddServiceLang(req *bundle.BatchGetValueAddServiceLangRequest) (res *bundle.BatchGetValueAddServiceLangResponse, err error) {
|
func BatchGetValueAddServiceLang(req *bundle.BatchGetValueAddServiceLangRequest) (res *bundle.BatchGetValueAddServiceLangResponse, err error) {
|
||||||
res = &bundle.BatchGetValueAddServiceLangResponse{}
|
res = &bundle.BatchGetValueAddServiceLangResponse{}
|
||||||
if req.Uuids == nil || len(req.Uuids) == 0 {
|
if len(req.Uuids) == 0 {
|
||||||
return res, errors.New("缺少套餐UUID")
|
return res, errors.New("缺少套餐UUID")
|
||||||
}
|
}
|
||||||
if req.Language == "" {
|
if req.Language == "" {
|
||||||
@ -571,18 +578,21 @@ func BatchGetValueAddServiceLang(req *bundle.BatchGetValueAddServiceLangRequest)
|
|||||||
}
|
}
|
||||||
for _, v := range detail {
|
for _, v := range detail {
|
||||||
langOptions := []*bundle.ValueAddPriceOptions{}
|
langOptions := []*bundle.ValueAddPriceOptions{}
|
||||||
if v.Options != nil && len(v.Options) > 0 {
|
if len(v.Options) > 0 {
|
||||||
for _, opt := range v.Options {
|
for _, opt := range v.Options {
|
||||||
var saveAmount decimal.Decimal
|
var saveAmount decimal.Decimal
|
||||||
if v.PriceMode == 1 {
|
switch v.PriceMode {
|
||||||
|
case 1:
|
||||||
original := decimal.NewFromFloat(float64(v.OriginalPrice))
|
original := decimal.NewFromFloat(float64(v.OriginalPrice))
|
||||||
price := decimal.NewFromFloat(float64(opt.Price))
|
price := decimal.NewFromFloat(float64(opt.Price))
|
||||||
num := decimal.NewFromInt(int64(opt.Num))
|
num := decimal.NewFromInt(int64(opt.Num))
|
||||||
saveAmount = original.Sub(price).Mul(num)
|
saveAmount = original.Sub(price).Mul(num)
|
||||||
} else if v.PriceMode == 2 {
|
case 2:
|
||||||
//original := decimal.NewFromFloat(float64(v.OriginalPrice))
|
//original := decimal.NewFromFloat(float64(v.OriginalPrice))
|
||||||
//price := decimal.NewFromFloat(float64(opt.Price))
|
//price := decimal.NewFromFloat(float64(opt.Price))
|
||||||
saveAmount = decimal.NewFromInt(int64(0))
|
saveAmount = decimal.NewFromInt(int64(0))
|
||||||
|
default:
|
||||||
|
return nil, errors.New("无效的价格模式")
|
||||||
}
|
}
|
||||||
langOptions = append(langOptions, &bundle.ValueAddPriceOptions{
|
langOptions = append(langOptions, &bundle.ValueAddPriceOptions{
|
||||||
Id: int64(opt.Id),
|
Id: int64(opt.Id),
|
||||||
|
Loading…
Reference in New Issue
Block a user