123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package http
- import (
- "context"
- "strconv"
- "time"
- accmdl "go-common/app/interface/main/creative/model/account"
- "go-common/app/interface/main/creative/model/archive"
- "go-common/app/interface/main/creative/model/faq"
- "go-common/app/interface/main/creative/model/watermark"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/net/metadata"
- "go-common/library/sync/errgroup"
- )
- func appArcDescFormat(c *bm.Context) {
- params := c.Request.Form
- ip := metadata.String(c, metadata.RemoteIP)
- typeidStr := params.Get("typeid")
- cpStr := params.Get("copyright")
- lang := params.Get("lang")
- // check user
- midStr, _ := c.Get("mid")
- mid := midStr.(int64)
- if mid <= 0 {
- c.JSON(nil, ecode.CreativeNotLogin)
- return
- }
- typeid, err := strconv.ParseInt(typeidStr, 10, 16)
- if typeid < 0 || err != nil {
- typeid = 0
- }
- copyright, err := strconv.ParseInt(cpStr, 10, 16)
- if copyright <= 0 || err != nil {
- copyright = archive.CopyrightReprint
- }
- desc, length, err := arcSvc.DescFormatForApp(c, typeid, copyright, lang, ip)
- if err != nil {
- c.JSON(nil, err)
- return
- }
- c.JSON(map[string]interface{}{
- "desc_length": length,
- "desc_format": desc,
- }, nil)
- }
- func appArchivePre(c *bm.Context) {
- ip := metadata.String(c, metadata.RemoteIP)
- params := c.Request.Form
- plat := params.Get("platform")
- lang := params.Get("lang")
- if lang != "en" {
- lang = "ch"
- }
- midStr, _ := c.Get("mid")
- mid := midStr.(int64)
- if mid <= 0 {
- c.JSON(nil, ecode.CreativeNotLogin)
- return
- }
- var (
- err error
- mf *accmdl.MyInfo
- wm *watermark.Watermark
- g = &errgroup.Group{}
- ctx = context.TODO()
- faqs = make(map[string]*faq.Faq)
- recFriends []*accmdl.Friend
- lotteryCheck bool
- )
- g.Go(func() error {
- mf, err = accSvc.MyInfo(ctx, mid, ip, time.Now())
- if err != nil {
- log.Info("accSvc.MyInfo (%d) err(%v)", mid, err)
- }
- if mf != nil {
- mf.Commercial = arcSvc.AllowCommercial(c, mid)
- }
- return nil
- })
- g.Go(func() error {
- wm, err = wmSvc.WaterMark(ctx, mid)
- if err != nil {
- log.Info("wmSvc.WaterMark (%d) err(%+v) WaterMark(%+v)", mid, err, wm)
- }
- if len(wm.URL) == 0 {
- wm.State = 1
- }
- return nil
- })
- g.Go(func() error {
- faqs = faqSvc.Pre(ctx)
- return nil
- })
- g.Go(func() error {
- lotteryCheck, _ = dymcSvc.LotteryUserCheck(ctx, mid)
- return nil
- })
- g.Go(func() error {
- recFriends, _ = accSvc.RecFollows(ctx, mid)
- return nil
- })
- g.Wait()
- uploadinfo, _ := whiteSvc.UploadInfoForMainApp(mf, plat, mid)
- mf.DymcLottery = lotteryCheck
- c.JSON(map[string]interface{}{
- "uploadinfo": uploadinfo,
- "typelist": arcSvc.AppTypes(c, lang),
- "myinfo": mf,
- "arctip": arcSvc.ArcTip,
- "activities": arcSvc.Activities(c),
- "watermark": wm,
- "fav": arcSvc.Fav(c, mid),
- "tip": vsSvc.AppManagerTip,
- "cus_tip": vsSvc.CusManagerTip,
- // common data
- "camera_cfg": appSvc.CameraCfg,
- "module_show": arcSvc.AppModuleShowMap(mid, lotteryCheck),
- "icons": appSvc.Icons(),
- "faqs": faqs,
- "rec_friends": recFriends,
- }, nil)
- }
|