1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package pack
- import (
- "encoding/json"
- "github.com/caixw/lib.go/conv"
- "github.com/tidwall/gjson"
- "strconv"
- "youngee_b_api/consts"
- "youngee_b_api/model/gorm_model"
- "youngee_b_api/model/http_model"
- )
- func GetSelectionSquareCondition(req http_model.GetAllSelectionRequest) http_model.SelectionSquareCondition {
- return http_model.SelectionSquareCondition{
- ProductType: req.ProductType,
- Platform: req.Platform,
- SampleMode: req.SampleMode,
- TaskMode: req.TaskMode,
- }
- }
- func GormSelectionListToSelectionBriefInfoList(gormSelectionInfos []*gorm_model.YounggeeSelectionInfo) []*http_model.SelectionBriefInfo {
- var httpSelectionPreviews []*http_model.SelectionBriefInfo
- for _, gormSelectionInfo := range gormSelectionInfos {
- selectionBriefInfo := GormSelectionToSelectionBriefInfo(gormSelectionInfo)
- httpSelectionPreviews = append(httpSelectionPreviews, selectionBriefInfo)
- }
- return httpSelectionPreviews
- }
- func GormSelectionToSelectionBriefInfo(selectionInfo *gorm_model.YounggeeSelectionInfo) *http_model.SelectionBriefInfo {
- icon := consts.GetPaltformIcon(selectionInfo.Platform)
- productPrice := conv.MustString(gjson.Get(selectionInfo.ProductSnap, "ProductPrice"), "")
- price, _ := strconv.ParseFloat(productPrice, 64)
- estimatedIncome := price * float64(selectionInfo.CommissionRate) / 100
- var photoUrl string
- var p []gorm_model.YounggeeProductPhoto
- _ = json.Unmarshal([]byte(selectionInfo.ProductPhotoSnap), &p)
- for _, v := range p {
- if v.Symbol == 1 {
- photoUrl = v.PhotoUrl
- }
- }
- return &http_model.SelectionBriefInfo{
- SelectionId: selectionInfo.SelectionID,
- SelectionName: selectionInfo.SelectionName,
- Platform: selectionInfo.Platform,
- //ProductSnap: selectionInfo.ProductSnap,
- PlatformIcon: icon,
- ProductPrice: price,
- //ProductPhotoSnap: selectionInfo.ProductPhotoSnap,
- EstimatedIncome: estimatedIncome,
- CommissionRate: selectionInfo.CommissionRate,
- SampleMode: selectionInfo.SampleMode,
- TaskMode: selectionInfo.TaskMode,
- PhotoUrl: photoUrl,
- TaskReward: conv.MustFloat64(selectionInfo.TaskReward, 64),
- }
- }
|