From 4347c7cfdaac7cf12d4b9bda6c4f5776e8a15e4a Mon Sep 17 00:00:00 2001 From: huangjiajun <582604932@qq.com> Date: Fri, 13 Sep 2024 17:44:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/hdl/hdl_set_center.go | 7 +++++++ app/md/md_index.go | 10 ++++++++-- app/svc/svc_index.go | 42 ++++++++++++++++++++++++++++++++++++++- app/svc/svc_redis.go | 12 +++++++++++ 4 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 app/svc/svc_redis.go diff --git a/app/hdl/hdl_set_center.go b/app/hdl/hdl_set_center.go index aa4ecd8..d87202a 100644 --- a/app/hdl/hdl_set_center.go +++ b/app/hdl/hdl_set_center.go @@ -45,6 +45,11 @@ func SetOss(c *gin.Context) { sysCfgDb.SysCfgUpdate(enum.FileBucketHost, req.FileBucketHost) sysCfgDb.SysCfgUpdate(enum.FileBucketRegion, req.FileBucketRegion) sysCfgDb.SysCfgUpdate(enum.FileBucket, req.FileBucket) + svc.ClearRedis(c, enum.FileAccessKey) + svc.ClearRedis(c, enum.FileSecretKey) + svc.ClearRedis(c, enum.FileBucketHost) + svc.ClearRedis(c, enum.FileBucketRegion) + svc.ClearRedis(c, enum.FileBucket) e.OutSuc(c, "success", nil) return } @@ -495,6 +500,8 @@ func SetMob(c *gin.Context) { sysCfgDb := implement2.NewSysCfgDb(engine, masterId) sysCfgDb.SysCfgUpdate("mob_app_key", req.MobAppKey) sysCfgDb.SysCfgUpdate("mob_app_secret", req.MobAppSecret) + svc.ClearRedis(c, "mob_app_key") + svc.ClearRedis(c, "mob_app_secret") e.OutSuc(c, "success", nil) return } diff --git a/app/md/md_index.go b/app/md/md_index.go index 45c1144..3e3ee80 100644 --- a/app/md/md_index.go +++ b/app/md/md_index.go @@ -6,9 +6,15 @@ type IndexAppListReq struct { Sort string `json:"sort" example:"排序"` Name string `json:"name" ` } +type IndexAppListTableReq struct { + StartDate string `json:"start_date" example:"2024-08-30"` + EndDate string `json:"end_date" example:"2024-08-30"` + AppId []string `json:"app_id"` +} type IndexAppListRes struct { - List []IndexAppListData `json:"list" ` - Sort []SelectData `json:"sort"` + List []IndexAppListData `json:"list" ` + Sort []SelectData `json:"sort"` + AppId []string `json:"app_id"` } type IndexAppListData struct { diff --git a/app/svc/svc_index.go b/app/svc/svc_index.go index a642c33..31af816 100644 --- a/app/svc/svc_index.go +++ b/app/svc/svc_index.go @@ -57,6 +57,18 @@ func commBili(c *gin.Context, before, after []map[string]string, types string) s } return bili } +func beforeSevenPoint(c *gin.Context, req md.IndexAppListTableReq) { + //start := utils.TimeStdParseUnix(req.StartDate + " 00:00:00") + //day := (utils.TimeStdParseUnix(req.EndDate+" 00:00:00") - start) / 86400 + //firstTime := time.Unix(start-1-day*86400*7, 0).Format("2006-01-02") + //list := make([]map[string]interface{}, 0) + //if len(req.AppId) > 0 { + // commTotalByDate(c, firstTime, req.EndDate, req.AppId) + //} + //{Name: "广告预估收益", Type: "media_revenue", Bili: commBili(c, dataLastMap[v["app_id"]], tmpList, "media_revenue"), Value: utils.Float64ToStr(utils.StrToFloat64(v["media_revenue"]) / 100)}, + +} + func IndexAppList(c *gin.Context, req md.IndexAppListReq) md.IndexAppListRes { appId := make([]string, 0) data := commTotalByApp(c, req, appId) @@ -101,7 +113,8 @@ func IndexAppList(c *gin.Context, req md.IndexAppListReq) md.IndexAppListRes { list = append(list, tmp) } res := md.IndexAppListRes{ - List: list, + List: list, + AppId: appId, Sort: []md.SelectData{ {Name: "按收益最高", Value: "media_revenue desc"}, {Name: "按ECPM最高", Value: "ecpm desc"}, @@ -172,3 +185,30 @@ func commTotalByApp(c *gin.Context, req md.IndexAppListReq, appId []string) []ma nativeString, _ := db.QueryNativeString(db.Db, sql) return nativeString } +func commTotalByDate(c *gin.Context, startDate, endDate string, appId []string) []map[string]string { + sql := ` + SELECT + app_id as app_id, + date as date, + SUM(exposure_count) as exposure_count, + SUM(click_count) as click_count, + SUM(click_count)/SUM(exposure_count)*100 as click_rate, + SUM(ecpm) as ecpm, + SUM(media_revenue) as media_revenue + FROM generate_wx_ad_data + where %s group by date,app_id +` + where := "uuid=" + c.GetString("mid") + if startDate != "" { + where += " and date>='" + startDate + "'" + } + if endDate != "" { + where += " and date<='" + endDate + "'" + } + if len(appId) > 0 { + where += " and app_id in(" + strings.Join(appId, ",") + ")" + } + sql = fmt.Sprintf(sql, where) + nativeString, _ := db.QueryNativeString(db.Db, sql) + return nativeString +} diff --git a/app/svc/svc_redis.go b/app/svc/svc_redis.go new file mode 100644 index 0000000..b249105 --- /dev/null +++ b/app/svc/svc_redis.go @@ -0,0 +1,12 @@ +package svc + +import ( + "applet/app/utils/cache" + "fmt" + "github.com/gin-gonic/gin" +) + +func ClearRedis(c *gin.Context, key string) { + key1 := fmt.Sprintf("%s:cfg_cache:%s", c.GetString("mid"), key) + cache.Del(key1) +}