You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
3.2 KiB
134 lines
3.2 KiB
package http |
|
|
|
import ( |
|
"strconv" |
|
"strings" |
|
"time" |
|
|
|
"go-common/app/interface/main/creative/model/archive" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/net/metadata" |
|
) |
|
|
|
func webArchVideos(c *bm.Context) { |
|
params := c.Request.Form |
|
ck := c.Request.Header.Get("Cookie") |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
aidStr := params.Get("aid") |
|
aid, err := strconv.ParseInt(aidStr, 10, 64) |
|
if err != nil || aid == 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
ap, err := arcSvc.SimpleArchiveVideos(c, mid, aid, "", ck, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(ap, nil) |
|
} |
|
|
|
func webRecommandCover(c *bm.Context) { |
|
params := c.Request.Form |
|
fnsStr := params.Get("fns") |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
cvs, err := dataSvc.Covers(c, mid, strings.Split(fnsStr, ","), metadata.String(c, metadata.RemoteIP)) |
|
if err != nil { |
|
log.Error(" arcSvc.CoverList fnsStr(%s), mid(%d), ip(%s) error(%v)", fnsStr, mid, metadata.String(c, metadata.RemoteIP), err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(cvs, nil) |
|
} |
|
|
|
func webMissionProtocol(c *bm.Context) { |
|
params := c.Request.Form |
|
missionIDStr := params.Get("msid") |
|
missionID, err := strconv.ParseInt(missionIDStr, 10, 64) |
|
if err != nil || missionID <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
missionProtocol, err := arcSvc.MissionProtocol(c, missionID) |
|
if err != nil { |
|
log.Error(" arcSvc.MissionProtocol missionID(%s), mid(%d), ip(%s) error(%v)", missionIDStr, mid, metadata.String(c, metadata.RemoteIP), err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"protocol": missionProtocol.Protocol, |
|
}, nil) |
|
} |
|
|
|
func webUgcPayProtocol(c *bm.Context) { |
|
params := c.Request.Form |
|
protocolID := params.Get("protocol_id") |
|
if len(protocolID) == 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
_, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.CreativeNotLogin) |
|
return |
|
} |
|
payProtocol, err := paySvc.Protocol(c, protocolID) |
|
if err != nil { |
|
log.Error("paySvc.Protocol protocolID(%s) error(%v)", protocolID, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"protocol": payProtocol, |
|
}, nil) |
|
} |
|
|
|
func voteAcsByTime(c *bm.Context) { |
|
params := c.Request.Form |
|
startStr := params.Get("start") |
|
endStr := params.Get("end") |
|
start, err := getTimeFromSecStr(startStr) |
|
if err != nil || start == nil || start.After(time.Now()) { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
end, err := getTimeFromSecStr(endStr) |
|
if err != nil || start == nil || !isInHalfYear(start, end) { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
c.JSON(arcSvc.BIZsByTime(c, start, end, archive.VoteType)) |
|
} |
|
|
|
func getTimeFromSecStr(secStr string) (t *time.Time, err error) { |
|
sec, err := strconv.ParseInt(secStr, 10, 64) |
|
if err != nil || sec <= 0 { |
|
return |
|
} |
|
ti := time.Unix(sec, 0) |
|
t = &ti |
|
return |
|
} |
|
|
|
func isInHalfYear(start, end *time.Time) bool { |
|
return end.Unix() <= start.Add(6*31*24*time.Hour).Unix() |
|
}
|
|
|