瀏覽代碼

新增修复最后一次访问报告时间

rdluck 4 年之前
父節點
當前提交
0f06395799
共有 3 個文件被更改,包括 55 次插入6 次删除
  1. 32 5
      models/users.go
  2. 1 1
      services/task.go
  3. 22 0
      services/users.go

+ 32 - 5
models/users.go

@@ -1,6 +1,8 @@
 package models
 
-import "rdluck_tools/orm"
+import (
+	"rdluck_tools/orm"
+)
 
 type HongzeUsers struct {
 	RealName    string
@@ -42,8 +44,33 @@ func GetWxUserByMobile(mobile string) (item *WxUser, err error) {
 	return
 }
 
-func AddWxUser(companyId int,mobile,realName,email string) (err error) {
-	sql:=`INSERT INTO wx_user(company_id,real_name,mobile,first_login,enabled,is_note,from_type,apply_method,email) VALUES (?,?,?,1,1,1,'report',0,?);`
-	orm.NewOrm().Raw(sql,companyId,realName,mobile,email).Exec()
+func AddWxUser(companyId int, mobile, realName, email string) (err error) {
+	sql := `INSERT INTO wx_user(company_id,real_name,mobile,first_login,enabled,is_note,from_type,apply_method,email) VALUES (?,?,?,1,1,1,'report',0,?);`
+	orm.NewOrm().Raw(sql, companyId, realName, mobile, email).Exec()
 	return
-}
+}
+
+func GetPotentialUser() (items []*WxUser, err error) {
+	sql := ` SELECT * FROM wx_user WHERE company_id=1 AND report_last_view_time <> '' `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+func GetMaxReviewTime(uid int) (max_time string, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT MAX(a.max_time) AS max_time FROM (
+			SELECT MAX(created_time)AS max_time FROM user_view_history AS a WHERE user_id=?
+			UNION 
+			SELECT MAX(create_time)AS max_time FROM  hongze_rddp.report_view_record AS a WHERE user_id=?
+			)AS a`
+	err = o.Raw(sql, uid, uid).QueryRow(&max_time)
+	return
+}
+
+func ModifyUserLastViewTime(uid int, lastViewTime string) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE wx_user SET report_last_view_time=? WHERE user_id=? `
+	_, err = o.Raw(sql, lastViewTime, uid).Exec()
+	return
+}

+ 1 - 1
services/task.go

@@ -59,7 +59,7 @@ func Task() {
 
 func Task123() {
 	fmt.Println("start")
-	ImportCompanyCreditCode()
+	FixReportLasterViewTime()
 	fmt.Println("end")
 }
 

+ 22 - 0
services/users.go

@@ -71,3 +71,25 @@ func HongzeUsers() (err error) {
 	fmt.Println("end send email")
 	return nil
 }
+
+func FixReportLasterViewTime() {
+	items,err:=models.GetPotentialUser()
+	if err!=nil {
+		fmt.Println("Err:"+err.Error())
+		return
+	}
+	for k,v:=range items{
+		maxTime,err:=models.GetMaxReviewTime(int(v.UserId))
+		if err!=nil {
+			fmt.Println("GetMaxReviewTime Err:"+err.Error())
+			return
+		}
+		err=models.ModifyUserLastViewTime(int(v.UserId),maxTime)
+		if err!=nil {
+			fmt.Println("ModifyUserLastViewTime Err:"+err.Error())
+			return
+		}
+
+		fmt.Println(k,v.UserId,v.Mobile)
+	}
+}