Compare commits
No commits in common. "15e9ac20869ee2d859a40866aee11282c6704872" and "790a5290e3e13a3915af7c6bc2c0a681c1ebbe0e" have entirely different histories.
15e9ac2086
...
790a5290e3
@ -135,27 +135,23 @@ func BundleListV2(req *bundle.BundleListRequest) (res *bundle.BundleListResponse
|
|||||||
res.Bundles = make([]*bundle.BundleProfile, 0)
|
res.Bundles = make([]*bundle.BundleProfile, 0)
|
||||||
bundles := make([]*model.BundleProfile, 0)
|
bundles := make([]*model.BundleProfile, 0)
|
||||||
|
|
||||||
baseQuery := app.ModuleClients.BundleDB.Model(&model.BundleProfile{})
|
query := app.ModuleClients.BundleDB.Model(&model.BundleProfile{}).Preload("BundleProfileLang")
|
||||||
|
|
||||||
if req.Name != "" {
|
if req.Name != "" {
|
||||||
baseQuery = baseQuery.Where("name like ?", "%"+req.Name+"%")
|
query = query.Where("name like ?", "%"+req.Name+"%")
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.Content != "" {
|
if req.Content != "" {
|
||||||
baseQuery = baseQuery.Where("content like ?", "%"+req.Content+"%")
|
query = query.Where("content like ?", "%"+req.Content+"%")
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.Language != "" {
|
if req.Language != "" {
|
||||||
baseQuery = baseQuery.Where("language like ?", req.Language)
|
query = query.Where("language like ?", req.Language)
|
||||||
}
|
}
|
||||||
|
|
||||||
var total int64
|
count := *query
|
||||||
if err = baseQuery.Count(&total).Error; err != nil {
|
|
||||||
return res, commonErr.ReturnError(err, msg.ErrorGetBundleList, "获取套餐总数失败: ")
|
|
||||||
}
|
|
||||||
|
|
||||||
// 排序:sort 升序,相同 sort 按 created_at 倒序
|
// 排序:sort 升序,相同 sort 按 created_at 倒序
|
||||||
query := baseQuery.Preload("BundleProfileLang")
|
|
||||||
query = query.Order("sort ASC").Order("created_at DESC")
|
query = query.Order("sort ASC").Order("created_at DESC")
|
||||||
if req.PageSize != 0 && req.Page != 0 {
|
if req.PageSize != 0 && req.Page != 0 {
|
||||||
query = query.Limit(int(req.PageSize)).Offset(int(req.Page-1) * int(req.PageSize))
|
query = query.Limit(int(req.PageSize)).Offset(int(req.Page-1) * int(req.PageSize))
|
||||||
@ -227,6 +223,10 @@ func BundleListV2(req *bundle.BundleListRequest) (res *bundle.BundleListResponse
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var total int64
|
||||||
|
|
||||||
|
count.Count(&total)
|
||||||
|
|
||||||
res.Total = int32(total)
|
res.Total = int32(total)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
@ -103,8 +103,6 @@ func UpdateValueAddService(tx *gorm.DB, columns map[string]interface{}) (err err
|
|||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新单个语言表
|
|
||||||
func UpdateValueAddServiceLang(tx *gorm.DB, columns map[string]interface{}) (err error) {
|
func UpdateValueAddServiceLang(tx *gorm.DB, columns map[string]interface{}) (err error) {
|
||||||
err = tx.Model(&model.ValueAddServiceLang{}).Where("uuid =? and deleted_at = 0", columns["uuid"]).
|
err = tx.Model(&model.ValueAddServiceLang{}).Where("uuid =? and deleted_at = 0", columns["uuid"]).
|
||||||
Where("language = ?", columns["language"]).Updates(columns).Error
|
Where("language = ?", columns["language"]).Updates(columns).Error
|
||||||
@ -114,16 +112,6 @@ func UpdateValueAddServiceLang(tx *gorm.DB, columns map[string]interface{}) (err
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新所有语言版本的服务类型
|
|
||||||
func UpdateAllValueAddServiceLangServiceType(tx *gorm.DB, columns map[string]interface{}) (err error) {
|
|
||||||
err = tx.Model(&model.ValueAddServiceLang{}).Where("uuid = ? and deleted_at = 0", columns["uuid"]).
|
|
||||||
Updates(columns).Error
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// 增值套餐列表
|
// 增值套餐列表
|
||||||
func ValueAddServiceList(req *bundle.ValueAddServiceListRequest) (res []*model.ValueAddService, total int64, err error) {
|
func ValueAddServiceList(req *bundle.ValueAddServiceListRequest) (res []*model.ValueAddService, total int64, err error) {
|
||||||
query := app.ModuleClients.BundleDB.Model(&model.ValueAddService{}).
|
query := app.ModuleClients.BundleDB.Model(&model.ValueAddService{}).
|
||||||
|
|||||||
@ -190,21 +190,8 @@ func SaveBundle(req *bundle.BundleProfile) (res *bundle.SaveResponse, err error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !dao.ValidateQuotaCompatibility(benefitsQuota, optionalQuota) {
|
if !dao.ValidateQuotaCompatibility(benefitsQuota, optionalQuota) {
|
||||||
var serviceName string
|
return res, fmt.Errorf("服务类型%d的额度不兼容:套餐权益额度为%d,附加权益额度为%d",
|
||||||
switch detail.ServiceType {
|
detail.ServiceType, benefitsQuota.QuotaValue, optionalQuota.QuotaValue)
|
||||||
case msg.VideoService:
|
|
||||||
serviceName = "视频"
|
|
||||||
case msg.TextService:
|
|
||||||
serviceName = "图文"
|
|
||||||
case msg.DataReportService:
|
|
||||||
serviceName = "数据报表"
|
|
||||||
case msg.AccountService:
|
|
||||||
serviceName = "账号数"
|
|
||||||
case msg.AvailableTimeService:
|
|
||||||
serviceName = "可用时长"
|
|
||||||
}
|
|
||||||
return res, fmt.Errorf("服务类型%s的额度不兼容:套餐权益额度为%d,附加权益额度为%d",
|
|
||||||
serviceName, benefitsQuota.QuotaValue, optionalQuota.QuotaValue)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -197,9 +197,6 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
|||||||
hasDefault := false
|
hasDefault := false
|
||||||
for _, option := range options {
|
for _, option := range options {
|
||||||
if option.IsDefault {
|
if option.IsDefault {
|
||||||
if option.Symbol != "=" {
|
|
||||||
return res, errors.New("默认套餐数量只能选择数量符合为等于的选项")
|
|
||||||
}
|
|
||||||
hasDefault = true
|
hasDefault = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -317,14 +314,6 @@ func SaveValueAddService(in *bundle.ValueAddServiceLang) (res *bundle.SaveRespon
|
|||||||
if err = dao.UpdateValueAddService(tx, updateService); err != nil {
|
if err = dao.UpdateValueAddService(tx, updateService); err != nil {
|
||||||
return res, errors.New("更新增值服务失败")
|
return res, errors.New("更新增值服务失败")
|
||||||
}
|
}
|
||||||
updataAllLangServiceType := map[string]interface{}{
|
|
||||||
"uuid": in.Uuid,
|
|
||||||
"service_type": in.ServiceType,
|
|
||||||
"unit": in.Unit,
|
|
||||||
}
|
|
||||||
if err = dao.UpdateAllValueAddServiceLangServiceType(tx, updataAllLangServiceType); err != nil {
|
|
||||||
return res, errors.New("更新增值服务失败")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//更新语言表
|
//更新语言表
|
||||||
updateLangService := map[string]interface{}{
|
updateLangService := map[string]interface{}{
|
||||||
@ -380,8 +369,8 @@ func ValueAddServiceList(req *bundle.ValueAddServiceListRequest) (res *bundle.Va
|
|||||||
ServiceType: valueAddService.ServiceType,
|
ServiceType: valueAddService.ServiceType,
|
||||||
}
|
}
|
||||||
for _, serviceLang := range valueAddService.ValueAddServiceLang {
|
for _, serviceLang := range valueAddService.ValueAddServiceLang {
|
||||||
if serviceLang.QuotaType == 0 && serviceInfo.ServiceType != msg.AccountService && serviceInfo.ServiceType != msg.AvailableTimeService {
|
if serviceLang.QuotaType == 0 && serviceInfo.ServiceType != 5 && serviceInfo.ServiceType != 4 {
|
||||||
serviceLang.QuotaType = msg.UnlimitedQuota
|
serviceLang.QuotaType = 1
|
||||||
}
|
}
|
||||||
serviceLangInfo := &bundle.ValueAddServiceLang{
|
serviceLangInfo := &bundle.ValueAddServiceLang{
|
||||||
Uuid: valueAddService.UUID,
|
Uuid: valueAddService.UUID,
|
||||||
@ -472,9 +461,6 @@ func ValueAddServiceDetail(req *bundle.ValueAddServiceDetailRequest) (res *bundl
|
|||||||
valueAddService.ServiceName = detail.ServiceName
|
valueAddService.ServiceName = detail.ServiceName
|
||||||
valueAddService.ServiceType = detail.ServiceType
|
valueAddService.ServiceType = detail.ServiceType
|
||||||
for _, serviceLang := range detail.ValueAddServiceLang {
|
for _, serviceLang := range detail.ValueAddServiceLang {
|
||||||
if serviceLang.QuotaType == 0 && valueAddService.ServiceType != msg.AccountService && valueAddService.ServiceType != msg.AvailableTimeService {
|
|
||||||
serviceLang.QuotaType = msg.UnlimitedQuota
|
|
||||||
}
|
|
||||||
langOptions := []*bundle.ValueAddPriceOptions{}
|
langOptions := []*bundle.ValueAddPriceOptions{}
|
||||||
if len(serviceLang.Options) > 0 {
|
if len(serviceLang.Options) > 0 {
|
||||||
for _, opt := range serviceLang.Options {
|
for _, opt := range serviceLang.Options {
|
||||||
|
|||||||
@ -105,18 +105,3 @@ const (
|
|||||||
ErrorValueServicePriceModeEmpty = "增值服务价格模式不能为空"
|
ErrorValueServicePriceModeEmpty = "增值服务价格模式不能为空"
|
||||||
ErrorValueServiceOptionsEmpty = "增值服务选项不能为空"
|
ErrorValueServiceOptionsEmpty = "增值服务选项不能为空"
|
||||||
)
|
)
|
||||||
|
|
||||||
// 服务额度信息
|
|
||||||
const (
|
|
||||||
UnlimitedQuota = 1 //不限额度
|
|
||||||
LimitedQuota = 2 //限制额度
|
|
||||||
)
|
|
||||||
|
|
||||||
// 服务类型
|
|
||||||
const (
|
|
||||||
VideoService = 1 //视频
|
|
||||||
TextService = 2 //图文
|
|
||||||
DataReportService = 3 //数据报表
|
|
||||||
AccountService = 4 //账号数
|
|
||||||
AvailableTimeService = 5 //可用时长
|
|
||||||
)
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user