wangkaiyue 9 сар өмнө
parent
commit
57a16c8c9b

+ 2 - 2
common/mg.go

@@ -1,11 +1,11 @@
 package common
 package common
 
 
 import (
 import (
-	"app.yhyue.com/moapp/jybase/mongodb"
+	//"app.yhyue.com/moapp/jybase/mongodb"
 	"context"
 	"context"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/util/gconv"
 	"github.com/gogf/gf/v2/util/gconv"
-	//"workTasks/common/mongodb"
+	"workTasks/common/mongodb"
 )
 )
 
 
 type (
 type (

+ 13 - 12
userSign/main.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"fmt"
 	_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
 	_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
 	_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
 	_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
+	"github.com/gogf/gf/v2/frame/g"
 	"time"
 	"time"
 	"workTasks/userSign/userAnalysis"
 	"workTasks/userSign/userAnalysis"
 )
 )
@@ -16,18 +17,18 @@ func main() {
 func runOnce(ctx context.Context) {
 func runOnce(ctx context.Context) {
 	manager := userAnalysis.NewManager()
 	manager := userAnalysis.NewManager()
 	var allRes []*userAnalysis.AnalysisRes
 	var allRes []*userAnalysis.AnalysisRes
-	//if err := manager.LoadMapping(); err != nil {
-	//	g.Log().Errorf(ctx, "加载对应关系异常 %v", err)
-	//}
-	////订单分析
-	//if res, err := manager.TiDBOrderRange(ctx); err == nil && len(res) > 0 {
-	//	allRes = append(allRes, res...)
-	//}
-	////会员状态分析
-	//if res, err := manager.GetMgoUserRes(ctx); err == nil && len(res) > 0 {
-	//	allRes = append(allRes, res...)
-	//}
+	if err := manager.LoadMapping(); err != nil {
+		g.Log().Errorf(ctx, "加载对应关系异常 %v", err)
+	}
+	//订单分析
+	if res, err := manager.TiDBOrderRange(ctx); err == nil && len(res) > 0 {
+		allRes = append(allRes, res...)
+	}
 
 
+	//会员状态分析
+	if res, err := manager.GetMgoUserRes(ctx); err == nil && len(res) > 0 {
+		allRes = append(allRes, res...)
+	}
 	var (
 	var (
 		sourceArr    = []string{"pc", "wx", "app"}
 		sourceArr    = []string{"pc", "wx", "app"}
 		nowTime      = time.Now()
 		nowTime      = time.Now()
@@ -42,7 +43,7 @@ func runOnce(ctx context.Context) {
 	//未活跃用户占比
 	//未活跃用户占比
 	for _, day := range unActiveTime {
 	for _, day := range unActiveTime {
 		if res, err := manager.UnActiveUserLoad(ctx, nowTime.AddDate(0, 0, -day)); err == nil && len(res) > 0 {
 		if res, err := manager.UnActiveUserLoad(ctx, nowTime.AddDate(0, 0, -day)); err == nil && len(res) > 0 {
-			allRes = append(allRes, &userAnalysis.AnalysisRes{Name: fmt.Sprintf("%d天未活跃用户", day), Code: "unActive_%d", Data: res})
+			allRes = append(allRes, &userAnalysis.AnalysisRes{Name: fmt.Sprintf("%d天未活跃用户", day), Code: fmt.Sprintf("unActive_%d", day), Data: res})
 		}
 		}
 	}
 	}
 
 

+ 1 - 1
userSign/userAnalysis/analysisManager.go

@@ -61,7 +61,7 @@ func (ar *AnalysisRes) UpdateTag(ctx context.Context) {
 			}
 			}
 		}
 		}
 	}
 	}
-	fmt.Println(ar.Code, "len", len(ar.Data))
+	g.Log().Infof(ctx, "code %s 更新%d个完成", ar.Code, len(ar.Data))
 }
 }
 
 
 func NewManager() *UserAnalysis {
 func NewManager() *UserAnalysis {

+ 1 - 1
userSign/userAnalysis/jobLogsAnalysis.go

@@ -42,7 +42,7 @@ func (ua *UserAnalysis) UnActiveUserLoad(ctx context.Context, start time.Time) (
 	unActiveUser := map[BaseUserId]bool{}
 	unActiveUser := map[BaseUserId]bool{}
 	for _, m := range rPc.List() {
 	for _, m := range rPc.List() {
 		// 插入pc30天活跃用户
 		// 插入pc30天活跃用户
-		unActiveUser[BaseUserId(gconv.Int64(m["baseUserId"]))] = true
+		unActiveUser[BaseUserId(gconv.Int64(m["baseUserId1"]))] = true
 	}
 	}
 	return unActiveUser, nil
 	return unActiveUser, nil
 }
 }

+ 5 - 5
userSign/userAnalysis/jobMgoUserRange.go

@@ -10,9 +10,6 @@ import (
 )
 )
 
 
 func (ua *UserAnalysis) GetMgoUserRes(ctx context.Context) ([]*AnalysisRes, error) {
 func (ua *UserAnalysis) GetMgoUserRes(ctx context.Context) ([]*AnalysisRes, error) {
-	if len(ua.UserMapping) == 0 {
-		return nil, nil
-	}
 	ua.mgoUserRange(ctx)
 	ua.mgoUserRange(ctx)
 	ua.mgoEntUserRange(ctx)
 	ua.mgoEntUserRange(ctx)
 	return []*AnalysisRes{
 	return []*AnalysisRes{
@@ -30,7 +27,7 @@ func (ua *UserAnalysis) mgoUserRange(ctx context.Context) {
 	sess := common.MG.DB().GetMgoConn()
 	sess := common.MG.DB().GetMgoConn()
 	defer common.MG.DB().DestoryMongoConn(sess)
 	defer common.MG.DB().DestoryMongoConn(sess)
 	//个人身份
 	//个人身份
-	it := sess.DB("qfw").C("user").Select(g.Map{"base_user_id": 1, "s_phone": 1, "s_m_phone": 1, "s_email": 1, "l_registedate": 1, "i_vip_status": 1, "l_vip_endtime": 1, "i_member_status": 1}).Iter()
+	it := sess.DB("qfw").C("user").Find(nil).Select(g.Map{"base_user_id": 1, "s_phone": 1, "s_m_phone": 1, "s_email": 1, "l_registedate": 1, "i_vip_status": 1, "l_vip_endtime": 1, "i_member_status": 1}).Iter()
 	var (
 	var (
 		index int64
 		index int64
 		now   = time.Now()
 		now   = time.Now()
@@ -79,6 +76,9 @@ func (ua *UserAnalysis) mgoUserRange(ctx context.Context) {
 }
 }
 
 
 func (ua *UserAnalysis) mgoEntUserRange(ctx context.Context) {
 func (ua *UserAnalysis) mgoEntUserRange(ctx context.Context) {
+	if len(ua.UserMapping) == 0 {
+		return
+	}
 	sess := common.MG.DB().GetMgoConn()
 	sess := common.MG.DB().GetMgoConn()
 	defer common.MG.DB().DestoryMongoConn(sess)
 	defer common.MG.DB().DestoryMongoConn(sess)
 
 
@@ -87,7 +87,7 @@ func (ua *UserAnalysis) mgoEntUserRange(ctx context.Context) {
 		Member, MemberExpire = map[int64]bool{}, map[int64]bool{}
 		Member, MemberExpire = map[int64]bool{}, map[int64]bool{}
 	)
 	)
 	//企业身份
 	//企业身份
-	it := sess.DB("qfw").C("ent_user").Select(g.Map{"i_userid": 1, "l_registedate": 1, "i_vip_status": 1, "l_vip_endtime": 1, "i_member_status": 1}).Iter()
+	it := sess.DB("qfw").C("ent_user").Find(nil).Select(g.Map{"i_userid": 1, "l_registedate": 1, "i_vip_status": 1, "l_vip_endtime": 1, "i_member_status": 1}).Iter()
 	var (
 	var (
 		index int64
 		index int64
 		now   = time.Now()
 		now   = time.Now()

+ 8 - 8
userSign/userAnalysis/jobOrderRange.go

@@ -9,10 +9,10 @@ import (
 
 
 // TiDBOrderRange 订单分析
 // TiDBOrderRange 订单分析
 func (ua *UserAnalysis) TiDBOrderRange(ctx context.Context) ([]*AnalysisRes, error) {
 func (ua *UserAnalysis) TiDBOrderRange(ctx context.Context) ([]*AnalysisRes, error) {
-	if len(ua.UserMapping) > 0 {
+	if len(ua.UserMapping) == 0 {
 		return nil, nil
 		return nil, nil
 	}
 	}
-	order, err := g.DB("order").Query(ctx, "SELECT user_id,order_status,product_type,create_time,order_money FROM dataexport_order")
+	order, err := g.DB("order").Query(ctx, "SELECT user_id,order_status,product_type,create_time,pay_money,is_backstage_order FROM dataexport_order")
 	if err != nil {
 	if err != nil {
 		g.Log().Errorf(ctx, "读取订单异常")
 		g.Log().Errorf(ctx, "读取订单异常")
 		return nil, err
 		return nil, err
@@ -41,26 +41,26 @@ func (ua *UserAnalysis) TiDBOrderRange(ctx context.Context) ([]*AnalysisRes, err
 		if orderStatus == 1 {
 		if orderStatus == 1 {
 			hasPay[baseUserId] = true
 			hasPay[baseUserId] = true
 		}
 		}
-		if orderStatus == -1 {
-			continue
-		}
 		//统计超级订阅、大会员当月加购未购
 		//统计超级订阅、大会员当月加购未购
 		if product == "VIP订阅" || product == "大会员" {
 		if product == "VIP订阅" || product == "大会员" {
-			var order_money = gconv.Int(m["order_money"])
+			var (
+				pay_money          = gconv.Int(m["pay_money"])
+				is_backstage_order = gconv.Int(m["is_backstage_order"])
+			)
 			t, err := time.ParseInLocation(time.DateTime, gconv.String(m["create_time"]), time.Local)
 			t, err := time.ParseInLocation(time.DateTime, gconv.String(m["create_time"]), time.Local)
 			if err != nil {
 			if err != nil {
 				continue
 				continue
 			}
 			}
 			if now.Month() == t.Month() && now.Year() == t.Year() {
 			if now.Month() == t.Month() && now.Year() == t.Year() {
 				if product == "VIP订阅" {
 				if product == "VIP订阅" {
-					if orderStatus <= 0 && order_money == 0 {
+					if orderStatus <= 0 && pay_money == 0 && is_backstage_order == 0 {
 						vip[baseUserId] += 0
 						vip[baseUserId] += 0
 					} else {
 					} else {
 						vip[baseUserId] += 1
 						vip[baseUserId] += 1
 					}
 					}
 				}
 				}
 				if product == "大会员" {
 				if product == "大会员" {
-					if orderStatus <= 0 && order_money == 0 {
+					if orderStatus <= 0 && pay_money == 0 && is_backstage_order == 0 {
 						member[baseUserId] += 0
 						member[baseUserId] += 0
 					} else {
 					} else {
 						member[baseUserId] += 1
 						member[baseUserId] += 1