浏览代码

conversrc->converUrl

kobe6258 3 月之前
父节点
当前提交
e87e6e44fb
共有 3 个文件被更改,包括 16 次插入6 次删除
  1. 2 0
      domian/media/media_service.go
  2. 4 2
      domian/merchant/merchant_product.go
  3. 10 4
      models/merchant/merchant_product.go

+ 2 - 0
domian/media/media_service.go

@@ -55,6 +55,7 @@ type MediaDTO struct {
 	MediaName             string   `json:"mediaName"`
 	MediaTitle            string   `json:"mediaTitle,omitempty"`
 	CoverSrc              string   `json:"coverSrc"`
+	CoverUrl              string   `json:"coverUrl"`
 	SourceType            string   `json:"sourceType"`
 	MediaPlayMilliseconds int      `json:"mediaPlayMilliseconds"`
 	PublishedTime         string   `json:"publishedTime"`
@@ -332,6 +333,7 @@ func convertMediaDTO(media mediaDao.Media, fullTime bool) MediaDTO {
 			MediaName:             media.MediaName,
 			SourceType:            media.SourceType,
 			CoverSrc:              media.CoverSrc,
+			CoverUrl:              media.CoverSrc,
 			MediaPlayMilliseconds: media.MediaPlayMilliseconds,
 			PermissionIDs:         media.PermissionIDs,
 			PublishedTime:         media.PublishedTime.Format(time.DateTime),

+ 4 - 2
domian/merchant/merchant_product.go

@@ -58,8 +58,8 @@ func GetMerchantProductById(id int) (productDTO MerchantProductDTO, err error) {
 	productDTO = convertToDTO(product)
 	return
 }
-func convertToDTO(product merchantDao.MerchantProduct) MerchantProductDTO {
-	return MerchantProductDTO{
+func convertToDTO(product merchantDao.MerchantProduct) (productDTO MerchantProductDTO) {
+	productDTO = MerchantProductDTO{
 		Id:          product.Id,
 		Title:       product.Title,
 		CoverSrc:    product.CoverSrc,
@@ -76,6 +76,7 @@ func convertToDTO(product merchantDao.MerchantProduct) MerchantProductDTO {
 		SaleStatus:  string(product.SaleStatus),
 		CreatedTime: product.CreatedTime,
 	}
+
 }
 
 func GetProductBySourceId(id int, productType merchantDao.MerchantProductType) (product MerchantProductDTO, err error) {
@@ -99,6 +100,7 @@ func GetProductListBySourceIds(ids []int, productType string) (productDTOS []Mer
 		return
 	}
 	for _, product := range productList {
+
 		productDTO := convertToDTO(product)
 		productDTOS = append(productDTOS, productDTO)
 	}

+ 10 - 4
models/merchant/merchant_product.go

@@ -15,8 +15,9 @@ type SaleStatus string
 type MerchantProductType string
 
 const (
-	detailColumns  = "id,source_id,title,cover_src,cover_url,description,price,type,is_permanent,valid_days,sale_status,created_time,updated_time"
-	sourceIdColumn = "id,source_id"
+	detailColumns         = "id,source_id,title,cover_src,cover_url,description,price,type,is_permanent,valid_days,sale_status,created_time,updated_time"
+	detailColumnsWithRisk = "id,source_id,title,cover_src,cover_url,description,price,type,is_permanent,valid_days,sale_status,created_time,updated_time,permissions.risk_level as risk_level"
+	sourceIdColumn        = "id,source_id"
 )
 const (
 	OnSale  SaleStatus          = "on_sale"  //上架
@@ -36,7 +37,7 @@ type MerchantProduct struct {
 	CoverUrl    string              `gorm:"column:cover_url;type:varchar(255);comment:封面图片url"`
 	Description string              `gorm:"column:description;type:varchar(255);comment:描述"`
 	Price       string              `gorm:"column:price;type:decimal(10,2);comment:价格"`
-	RiskLevel   string              `gorm:"-"`
+	RiskLevel   string              `gorm:"column:risk_level;type:varchar(100);comment:风险等级"`
 	Type        MerchantProductType `gorm:"column:type;type:enum('report','video','audio','package');not null;comment:类型"`
 	IsPermanent bool                `gorm:"column:is_permanent;type:int(1);not null;default:0;comment:是否永久"`
 	ValidDays   int                 `gorm:"column:valid_days;type:int(11);comment:有效期天数"`
@@ -61,7 +62,12 @@ func GetMerchantProductBySourceId(sourceId int, productType ...MerchantProductTy
 	db := models.Main()
 	if len(productType) > 0 {
 		if len(productType) == 1 {
-			err = db.Select(detailColumns).Where("source_id =? and type = ? and deleted =?", sourceId, productType[0], 0).First(&product).Error
+
+			if productType[0] == Package {
+				err = db.Select(detailColumnsWithRisk).InnerJoins("permissions  on permissions.permission_id=source_id")
+			} else {
+				err = db.Select(detailColumns).Where("source_id =? and type = ? and deleted =?", sourceId, productType[0], 0).First(&product).Error
+			}
 		} else {
 			err = db.Select(detailColumns).Where("source_id =? and type in (?) and deleted =?", sourceId, productType, 0).First(&product).Error
 		}