修改
This commit is contained in:
parent
379cc1b1e7
commit
4c027c4a08
@ -3,7 +3,6 @@ package logic
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"micro-bundle/internal/dao"
|
||||
"micro-bundle/pkg/app"
|
||||
"micro-bundle/pkg/msg"
|
||||
@ -60,7 +59,7 @@ func BundleDetail(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailResp
|
||||
func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error) {
|
||||
res = &bundle.SaveResponse{}
|
||||
if req.Language == "" {
|
||||
return res, errors.New("语言参数不能为空")
|
||||
return res, errors.New("语言不能为空")
|
||||
}
|
||||
if req.Sort <= 0 {
|
||||
return res, errors.New("排序参数需为正整数")
|
||||
@ -92,7 +91,7 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
if req.Uuid != "" {
|
||||
valueService, existErr := dao.GetValueAddServiceUuidsByBundleUuid(req.Uuid)
|
||||
if existErr != nil {
|
||||
return res, existErr
|
||||
return res, errors.New("查询增值服务失败")
|
||||
}
|
||||
if valueService != nil && len(valueService) > 0 {
|
||||
for _, v := range valueService {
|
||||
@ -108,15 +107,15 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
detail, checkErr := dao.ValueAddServiceDetailByUuidAndLanguage(v.ValueAddUuid, req.Language)
|
||||
if checkErr != nil {
|
||||
if checkErr == gorm.ErrRecordNotFound {
|
||||
return res, errors.New(fmt.Sprintf("所选增值服务[%s]%s版不存在,请先创建对应增值套餐", v.ServiceName, req.Language))
|
||||
return res, errors.New("增值服务不存在")
|
||||
} else {
|
||||
return res, checkErr
|
||||
return res, errors.New("查询增值服务失败")
|
||||
}
|
||||
}
|
||||
if detail.PriceType != req.PriceType {
|
||||
if req.Uuid == "" {
|
||||
//中文套餐创建时,币种不一致直接返回错误
|
||||
return res, errors.New(fmt.Sprintf("所选增值服务[%s]%s币种与套餐币种不一致", detail.ServiceName, req.Language))
|
||||
return res, errors.New("所选增值服务币种与套餐币种不一致")
|
||||
} else {
|
||||
//更新时,判断是否已存在,存在则取消关联
|
||||
_, ok := existValueService[v.ValueAddUuid]
|
||||
@ -125,13 +124,13 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
continue
|
||||
} else {
|
||||
//币种不一致,新加币种时返回错误
|
||||
return res, errors.New(fmt.Sprintf("所选增值服务[%s]%s币种与套餐币种不一致", detail.ServiceName, req.Language))
|
||||
return res, errors.New("所选增值服务币种与套餐币种不一致")
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if _, exists := selectValueAddServiceCount[int(detail.ServiceType)]; exists {
|
||||
return res, errors.New(fmt.Sprintf("所选增值服务[%s]类型存在多个", detail.ServiceName))
|
||||
return res, errors.New("每种增值服务类型只可选择一个")
|
||||
}
|
||||
selectValueAddServiceCount[int(detail.ServiceType)] = struct{}{}
|
||||
selectService = append(selectService, &model.BundleToValueAddService{
|
||||
@ -161,14 +160,14 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
res.Msg = "请先创建中文版本套餐"
|
||||
return res, errors.New("请先创建中文版本套餐")
|
||||
} else {
|
||||
return res, err
|
||||
return res, errors.New("获取套餐信息失败")
|
||||
}
|
||||
}
|
||||
}
|
||||
if req.Language == msg.ZH_CN {
|
||||
bundleProfile.UUID = utils.GetUUID()
|
||||
if err = dao.TxCreateBundle(tx, bundleProfile); err != nil {
|
||||
return res, errors.New("保存中文语言套餐失败: " + err.Error())
|
||||
return res, errors.New("创建套餐信息失败")
|
||||
}
|
||||
bundleLang.UUID = bundleProfile.UUID
|
||||
res.Uuid = bundleProfile.UUID
|
||||
@ -178,7 +177,7 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
}
|
||||
if len(selectService) > 0 {
|
||||
if err = dao.CreateBundleToValueAddService(tx, selectService); err != nil {
|
||||
return res, errors.New("保存套餐与增值服务关联失败: " + err.Error())
|
||||
return res, errors.New("保存套餐与增值服务关联失败")
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -194,11 +193,11 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
//可以改成批量获取
|
||||
valueDetail, err2 := dao.ValueAddServiceDetailByUuidAndLanguage(v, req.Language)
|
||||
if err2 != nil {
|
||||
return res, err2
|
||||
return res, errors.New("查询增值服务失败")
|
||||
}
|
||||
if valueDetail.PriceType != req.PriceType {
|
||||
if err = tx.Where("bundle_uuid =? AND value_uid =?", bundleLang.UUID, v).Delete(&model.BundleToValueAddService{}).Error; err != nil {
|
||||
return res, errors.New("删除套餐与增值服务关联失败: " + err.Error())
|
||||
return res, errors.New("删除套餐与增值服务关联失败")
|
||||
}
|
||||
count++
|
||||
}
|
||||
@ -207,9 +206,8 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
res.CancelNum = int64(count)
|
||||
}
|
||||
if err = dao.TxCreateBundleLang(tx, bundleLang); err != nil {
|
||||
return res, errors.New("保存语言套餐失败: " + err.Error())
|
||||
return res, errors.New("创建套餐信息失败")
|
||||
}
|
||||
res.Msg = "保存成功"
|
||||
return res, nil
|
||||
} else {
|
||||
return
|
||||
@ -223,15 +221,11 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
|
||||
if req.Language == msg.ZH_CN {
|
||||
if len(cancelValueAddService) > 0 {
|
||||
cancel := "以下增值服务:"
|
||||
for _, v := range cancelValueAddService {
|
||||
cancel += fmt.Sprintf("[%s]%s", v, req.Language)
|
||||
if err = tx.Where("bundle_uuid = ? AND value_uid = ?", req.Uuid, v).Delete(&model.BundleToValueAddService{}).Error; err != nil {
|
||||
return res, errors.New("删除套餐与增值服务关联失败: " + err.Error())
|
||||
return res, errors.New("删除套餐与增值服务关联失败")
|
||||
}
|
||||
}
|
||||
cancel += "版币种与套餐币种不一致"
|
||||
res.Msg = "保存cn成功 " + cancel
|
||||
}
|
||||
res.CancelNum = int64(len(cancelValueAddService))
|
||||
updateBundle := map[string]interface{}{
|
||||
@ -246,18 +240,18 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
"font_color": req.FontColor,
|
||||
}
|
||||
if err = dao.TxUpdateBundle(tx, req.Uuid, updateBundle); err != nil {
|
||||
return res, err
|
||||
return res, errors.New("更新套餐信息失败")
|
||||
}
|
||||
// 更新中间表函数
|
||||
if err = diffUpdateBundleToValueAddService(tx, req.Uuid, selectService); err != nil {
|
||||
tx.Rollback()
|
||||
return res, err
|
||||
return res, errors.New("更新套餐与增值服务关联失败")
|
||||
}
|
||||
} else {
|
||||
//更新其他语言时 先获取所有关联增值服务,判断币种是否一致,不一致则取消关联
|
||||
valueAddService, err := dao.GetBundleToValueAddServiceByBundleUuid(req.Uuid)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return res, errors.New("查询套餐与增值服务关联失败")
|
||||
}
|
||||
cancelValueService := make(map[string]string)
|
||||
for _, v := range valueAddService {
|
||||
@ -266,7 +260,7 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
if checkErr == gorm.ErrRecordNotFound {
|
||||
continue
|
||||
} else {
|
||||
return res, checkErr
|
||||
return res, errors.New("查询增值服务失败")
|
||||
}
|
||||
}
|
||||
if detail.PriceType != req.PriceType {
|
||||
@ -275,15 +269,11 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
}
|
||||
}
|
||||
if int64(len(cancelValueService)) > 0 {
|
||||
cancel := "以下增值服务:"
|
||||
for k, v := range cancelValueService {
|
||||
cancel += fmt.Sprintf("[%s]%s", v, req.Language)
|
||||
for k, _ := range cancelValueService {
|
||||
if err = tx.Where("bundle_uuid = ? AND value_uid = ?", req.Uuid, k).Delete(&model.BundleToValueAddService{}).Error; err != nil {
|
||||
return res, errors.New("删除套餐与增值服务关联失败: " + err.Error())
|
||||
return res, errors.New("删除套餐与增值服务关联失败")
|
||||
}
|
||||
}
|
||||
cancel += "版币种与套餐币种不一致,已取消相关关联"
|
||||
res.Msg = "保存成功 " + cancel
|
||||
res.CancelNum = int64(len(cancelValueService))
|
||||
}
|
||||
}
|
||||
@ -294,13 +284,10 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
"price_type": req.PriceType,
|
||||
}
|
||||
if err = dao.TxUpdateBundleLang(tx, req.Uuid, req.Language, updateBundleLang); err != nil {
|
||||
return res, err
|
||||
return res, errors.New("更新套餐信息失败")
|
||||
}
|
||||
|
||||
res.Uuid = req.Uuid
|
||||
if res.Msg == "" {
|
||||
res.Msg = "保存成功"
|
||||
}
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
@ -308,7 +295,10 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
||||
func BundleListV2(req *bundle.BundleListRequest) (res *bundle.BundleListResponse, err error) {
|
||||
res = new(bundle.BundleListResponse)
|
||||
res, err = dao.BundleListV2(req)
|
||||
return
|
||||
if err != nil {
|
||||
return res, errors.New("获取套餐列表失败")
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
func BundleDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailResponseV2, err error) {
|
||||
res = new(bundle.BundleDetailResponseV2)
|
||||
@ -316,14 +306,14 @@ func BundleDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailRe
|
||||
bundleProfileLangs := make([]*bundle.BundleProfileLang, 0)
|
||||
selectValueAddServices := make([]*bundle.SelectValueAddService, 0) //已选增值服务
|
||||
if req.Uuid == "" {
|
||||
return res, errors.New("uuid不能为空")
|
||||
return res, errors.New("缺少套餐UUID")
|
||||
}
|
||||
// if req.Language == "" {
|
||||
// return res, errors.New("language不能为空")
|
||||
// }
|
||||
detail, err := dao.BundleDetailV2(req)
|
||||
if err != nil {
|
||||
res.Msg = err.Error()
|
||||
return res, errors.New("获取套餐信息失败")
|
||||
}
|
||||
if detail != nil {
|
||||
bundleProfile.Uuid = detail.UUID
|
||||
@ -404,19 +394,17 @@ func BundleDetailV2(req *bundle.BundleDetailRequest) (res *bundle.BundleDetailRe
|
||||
func HandleShelf(req *bundle.HandShelfRequest) (res *bundle.CommonResponse, err error) {
|
||||
res = new(bundle.CommonResponse)
|
||||
if req.Uuid == "" {
|
||||
return res, errors.New("uuid不能为空")
|
||||
return res, errors.New("缺少套餐UUID")
|
||||
}
|
||||
if req.ShelfStatus != 1 && req.ShelfStatus != 2 {
|
||||
return res, errors.New("Invalid shelf status")
|
||||
return res, errors.New("状态值无效")
|
||||
}
|
||||
|
||||
res, err = dao.HandShelf(req.Uuid, req.ShelfStatus)
|
||||
if err != nil {
|
||||
res.Msg = err.Error()
|
||||
return res, err
|
||||
return res, errors.New("更新套餐状态失败")
|
||||
}
|
||||
|
||||
res.Msg = "Operation success"
|
||||
return res, nil
|
||||
}
|
||||
|
||||
@ -424,7 +412,7 @@ func HandleShelf(req *bundle.HandShelfRequest) (res *bundle.CommonResponse, err
|
||||
func diffUpdateBundleToValueAddService(tx *gorm.DB, bundleUuid string, selectService []*model.BundleToValueAddService) error {
|
||||
oldUuids, err := dao.GetValueAddServiceUuidsByBundleUuid(bundleUuid)
|
||||
if err != nil {
|
||||
return errors.New("查询旧套餐与增值服务关联失败: " + err.Error())
|
||||
return errors.New("查询套餐与增值服务关联失败")
|
||||
}
|
||||
newUuids := make(map[string]*model.BundleToValueAddService)
|
||||
for _, s := range selectService {
|
||||
@ -451,12 +439,12 @@ func diffUpdateBundleToValueAddService(tx *gorm.DB, bundleUuid string, selectSer
|
||||
}
|
||||
if len(toDel) > 0 {
|
||||
if err = tx.Where("bundle_uuid = ? AND value_uid IN ?", bundleUuid, toDel).Delete(&model.BundleToValueAddService{}).Error; err != nil {
|
||||
return errors.New("删除套餐与增值服务关联失败: " + err.Error())
|
||||
return errors.New("删除套餐与增值服务关联失败")
|
||||
}
|
||||
}
|
||||
if len(toAdd) > 0 {
|
||||
if err = dao.CreateBundleToValueAddService(tx, toAdd); err != nil {
|
||||
return errors.New("保存套餐与增值服务关联失败: " + err.Error())
|
||||
return errors.New("保存套餐与增值服务关联失败")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@ -465,7 +453,7 @@ func saveBundleHistory(tx *gorm.DB, bundleUuid string, operator string, operator
|
||||
// 保存历史记录
|
||||
data, err := dao.GetBundleDetailByUuid(bundleUuid)
|
||||
if err != nil {
|
||||
return errors.New("查询套餐详情失败: " + err.Error())
|
||||
return errors.New("获取套餐信息失败")
|
||||
}
|
||||
bundleToValueAddService := data.BundleToValueAddService
|
||||
data.BundleToValueAddService = nil
|
||||
@ -477,15 +465,15 @@ func saveBundleHistory(tx *gorm.DB, bundleUuid string, operator string, operator
|
||||
}
|
||||
valueData, err := dao.BatchValueAddServiceDetailTx(tx, valueUuid)
|
||||
if err != nil {
|
||||
return errors.New("查询增值服务详情失败: " + err.Error())
|
||||
return errors.New("查询增值服务详情失败")
|
||||
}
|
||||
j, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return errors.New("套餐json转换失败: " + err.Error())
|
||||
return errors.New("序列化转换失败")
|
||||
}
|
||||
vJ, err := json.Marshal(valueData)
|
||||
if err != nil {
|
||||
return errors.New("增值服务json转换失败: " + err.Error())
|
||||
return errors.New("序列化转换失败")
|
||||
}
|
||||
history := &model.BundleProfileHistory{
|
||||
Uuid: bundleUuid,
|
||||
@ -495,7 +483,7 @@ func saveBundleHistory(tx *gorm.DB, bundleUuid string, operator string, operator
|
||||
OperatorId: operatorId,
|
||||
}
|
||||
if err := tx.Create(history).Error; err != nil {
|
||||
return errors.New("保存套餐历史记录失败: " + err.Error())
|
||||
return errors.New("保存套餐历史记录失败")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -147,15 +147,15 @@ func ValueAddBundleDetail(req *bundle.ValueAddBundleDetailRequest) (res *bundle.
|
||||
func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveResponse, err error) {
|
||||
res = &bundle.SaveResponse{}
|
||||
if in.Language == "" {
|
||||
return res, errors.New("语言参数不能为空")
|
||||
return res, errors.New("语言不能为空")
|
||||
}
|
||||
var options model.PriceOptions
|
||||
if in.OriginalPrice == "" {
|
||||
return res, errors.New("原价参数不能为空")
|
||||
return res, errors.New("原价不能为空")
|
||||
}
|
||||
originalPrice, parseErr := strconv.ParseFloat(in.OriginalPrice, 32)
|
||||
if parseErr != nil {
|
||||
return res, parseErr
|
||||
return res, errors.New("原价格式转换失败")
|
||||
}
|
||||
index := 1
|
||||
for _, option := range in.Options {
|
||||
@ -196,7 +196,7 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
Options: options,
|
||||
}
|
||||
if in.Uuid == "" && in.Language != msg.ZH_CN {
|
||||
return res, errors.New("请先新增简体中文套餐,再添加其他语言版本")
|
||||
return res, errors.New("请先创建中文版本增值服务")
|
||||
}
|
||||
tx := app.ModuleClients.BundleDB.Begin()
|
||||
defer func() {
|
||||
@ -214,7 +214,7 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
_, err = dao.ValueAddServiceDetailByUuidAndLanguage(in.Uuid, msg.ZH_CN)
|
||||
if err != nil {
|
||||
if err != gorm.ErrRecordNotFound {
|
||||
return res, errors.New("请先创建中文套餐")
|
||||
return res, errors.New("请先创建中文版本增值服务")
|
||||
} else {
|
||||
// // 新语言补充:只要UUID存在即可直接插入新语言
|
||||
// if in.Uuid != "" {
|
||||
@ -234,12 +234,12 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
valueAddService.UUID = utils.GetUUID()
|
||||
err = dao.CreateValueAddService(tx, valueAddService)
|
||||
if err != nil {
|
||||
return res, errors.New("保存中文语言套餐失败: " + err.Error())
|
||||
return res, errors.New("保存增值服务失败")
|
||||
}
|
||||
valueAddServiceLang.UUID = valueAddService.UUID
|
||||
res.Uuid = valueAddService.UUID
|
||||
if err = dao.CreateValueAddServiceLang(tx, valueAddServiceLang); err != nil {
|
||||
return res, errors.New("保存语言套餐失败: " + err.Error())
|
||||
return res, errors.New("保存增值服务失败")
|
||||
}
|
||||
}
|
||||
langList := []string{msg.ZH_TW, msg.EN, msg.DE_DE, msg.JS_JP}
|
||||
@ -258,10 +258,9 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
}
|
||||
otherLang.Language = lang
|
||||
if err = dao.CreateValueAddServiceLang(tx, &otherLang); err != nil {
|
||||
return res, errors.New(fmt.Sprintf("保存%s语言套餐失败: ", lang) + err.Error())
|
||||
return res, errors.New("保存增值服务失败")
|
||||
}
|
||||
}
|
||||
res.Msg = "保存成功"
|
||||
return
|
||||
} else {
|
||||
return
|
||||
@ -269,7 +268,7 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
} else {
|
||||
// 已存在,进行更新
|
||||
if err := saveValueAddServiceHistory(tx, in.Uuid); err != nil {
|
||||
return res, err
|
||||
return res, errors.New("保存增值服务历史记录失败")
|
||||
}
|
||||
//中文状态下,更新主表和语言表
|
||||
if in.Language == msg.ZH_CN {
|
||||
@ -279,7 +278,7 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
"service_type": in.ServiceType,
|
||||
}
|
||||
if err = dao.UpdateValueAddService(tx, updateService); err != nil {
|
||||
return res, err
|
||||
return res, errors.New("更新增值服务失败")
|
||||
}
|
||||
}
|
||||
// 查找所有与该增值服务关联的套餐,若币种不一致则取消关联并统计
|
||||
@ -305,10 +304,9 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
||||
"language": in.Language,
|
||||
}
|
||||
if err := dao.UpdateValueAddServiceLang(tx, updateLangService); err != nil {
|
||||
return res, err
|
||||
return res, errors.New("更新增值服务失败")
|
||||
}
|
||||
res.Uuid = in.Uuid
|
||||
res.Msg = "保存成功"
|
||||
res.CancelNum = cancelNum
|
||||
}
|
||||
return
|
||||
@ -319,8 +317,7 @@ func ValueAddServiceList(req *bundle.ValueAddServiceListRequest) (res *bundle.Va
|
||||
res = &bundle.ValueAddServiceListResponse{}
|
||||
list, total, err := dao.ValueAddServiceList(req)
|
||||
if err != nil {
|
||||
res.Msg = msg.ErrorValueAddServiceList
|
||||
return res, err
|
||||
return res, errors.New("查询增值服务列表失败")
|
||||
}
|
||||
for _, valueAddService := range list {
|
||||
serviceInfo := &bundle.ValueAddService{
|
||||
@ -370,7 +367,6 @@ func ValueAddServiceList(req *bundle.ValueAddServiceListRequest) (res *bundle.Va
|
||||
res.ValueAddServiceList = append(res.ValueAddServiceList, serviceInfo)
|
||||
}
|
||||
res.Total = int32(total)
|
||||
res.Msg = msg.SuccessValueAddServiceList
|
||||
return
|
||||
|
||||
}
|
||||
@ -382,7 +378,7 @@ func ValueAddServiceDetail(req *bundle.ValueAddServiceDetailRequest) (res *bundl
|
||||
serviceLangs := []*bundle.ValueAddServiceLang{}
|
||||
if req.Uuid == "" {
|
||||
res.Msg = msg.ErrorValueAddServiceInfo
|
||||
return res, errors.New("uuid不能为空")
|
||||
return res, errors.New("缺少套餐UUID")
|
||||
}
|
||||
// if req.Language == "" {
|
||||
// res.Msg = msg.ErrorValueAddServiceInfo
|
||||
@ -390,8 +386,7 @@ func ValueAddServiceDetail(req *bundle.ValueAddServiceDetailRequest) (res *bundl
|
||||
// }
|
||||
detail, err := dao.ValueAddServiceDetail(req.Uuid)
|
||||
if err != nil {
|
||||
res.Msg = msg.ErrorValueAddServiceInfo
|
||||
return res, err
|
||||
return res, errors.New("查询增值服务详情失败")
|
||||
}
|
||||
if detail != nil && len(detail.ValueAddServiceLang) > 0 {
|
||||
valueAddService.Uuid = detail.UUID
|
||||
@ -440,7 +435,6 @@ func ValueAddServiceDetail(req *bundle.ValueAddServiceDetailRequest) (res *bundl
|
||||
valueAddService.ServiceLang = serviceLangs
|
||||
|
||||
res.ValueAddService = valueAddService
|
||||
res.Msg = msg.SuccessValueAddServiceInfo
|
||||
return
|
||||
}
|
||||
|
||||
@ -448,11 +442,11 @@ func saveValueAddServiceHistory(tx *gorm.DB, uuid string) (err error) {
|
||||
// 保存历史记录
|
||||
data, err := dao.GetValueAddServiceDetailByUuid(tx, uuid)
|
||||
if err != nil {
|
||||
return errors.New("查询增值服务详情失败: " + err.Error())
|
||||
return errors.New("查询增值服务详情失败")
|
||||
}
|
||||
j, err := json.Marshal(data)
|
||||
if err != nil {
|
||||
return errors.New("json转换失败: " + err.Error())
|
||||
return errors.New("序列化转换失败")
|
||||
}
|
||||
history := &model.ValueAddServiceHistory{
|
||||
Uuid: uuid,
|
||||
@ -461,21 +455,21 @@ func saveValueAddServiceHistory(tx *gorm.DB, uuid string) (err error) {
|
||||
//OperatorId: operatorId,
|
||||
}
|
||||
if err := tx.Create(history).Error; err != nil {
|
||||
return errors.New("保存增值服务历史记录失败: " + err.Error())
|
||||
return errors.New("保存增值服务历史记录失败")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func ValueAddServiceDetailByUuidAndLanguage(req *bundle.ValueAddServiceDetailRequest) (res *bundle.ValueAddServiceLang, err error) {
|
||||
res = &bundle.ValueAddServiceLang{}
|
||||
if req.Uuid == "" {
|
||||
return res, errors.New("uuid不能为空")
|
||||
return res, errors.New("缺少套餐UUID")
|
||||
}
|
||||
if req.Language == "" {
|
||||
return res, errors.New("语言选项不能为空")
|
||||
return res, errors.New("语言不能为空")
|
||||
}
|
||||
detail, err := dao.ValueAddServiceDetailByUuidAndLanguage(req.Uuid, req.Language)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return res, errors.New("查询增值服务详情失败")
|
||||
}
|
||||
if detail == nil {
|
||||
return res, errors.New("增值服务不存在")
|
||||
@ -521,14 +515,14 @@ func ValueAddServiceDetailByUuidAndLanguage(req *bundle.ValueAddServiceDetailReq
|
||||
func CalculatePrice(req *bundle.CalculatePriceRequest) (res *bundle.CalculatePriceResponse, err error) {
|
||||
res = &bundle.CalculatePriceResponse{}
|
||||
if req.Uuid == "" {
|
||||
return res, errors.New("uuid不能为空")
|
||||
return res, errors.New("缺少套餐UUID")
|
||||
}
|
||||
if req.Language == "" {
|
||||
return res, errors.New("语言选项不能为空")
|
||||
return res, errors.New("语言不能为空")
|
||||
}
|
||||
detail, err := dao.ValueAddServiceDetailByUuidAndLanguage(req.Uuid, req.Language)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return res, errors.New("查询增值服务详情失败")
|
||||
}
|
||||
if detail == nil {
|
||||
return res, errors.New("增值服务不存在")
|
||||
@ -546,7 +540,7 @@ func CalculatePrice(req *bundle.CalculatePriceRequest) (res *bundle.CalculatePri
|
||||
// }
|
||||
price, err := detail.Options.CalculatePrice(detail.PriceMode, req.Num)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return res, errors.New("计算价格失败")
|
||||
}
|
||||
res.Price = price
|
||||
return
|
||||
@ -554,14 +548,14 @@ func CalculatePrice(req *bundle.CalculatePriceRequest) (res *bundle.CalculatePri
|
||||
func BatchGetValueAddServiceLang(req *bundle.BatchGetValueAddServiceLangRequest) (res *bundle.BatchGetValueAddServiceLangResponse, err error) {
|
||||
res = &bundle.BatchGetValueAddServiceLangResponse{}
|
||||
if req.Uuids == nil || len(req.Uuids) == 0 {
|
||||
return res, errors.New("uuid不能为空")
|
||||
return res, errors.New("缺少套餐UUID")
|
||||
}
|
||||
if req.Language == "" {
|
||||
return res, errors.New("语言选项不能为空")
|
||||
return res, errors.New("语言不能为空")
|
||||
}
|
||||
detail, err := dao.BatchGetValueAddServiceLang(req.Uuids, req.Language)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return res, errors.New("查询增值服务详情失败")
|
||||
}
|
||||
for _, v := range detail {
|
||||
langOptions := []*bundle.ValueAddPriceOptions{}
|
||||
|
Loading…
Reference in New Issue
Block a user