소스 검색

no message

xingzai 1 년 전
부모
커밋
129e0325fd

+ 25 - 0
controllers/user.go

@@ -244,6 +244,31 @@ func (this *UserController) Detail() {
 			return
 		}
 
+		totalCollect, err := models.GetArticleUserCollectCount(uid) // 文章收藏数量
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "GetArticleUserCollectCount,Err:" + err.Error()
+			return
+		}
+
+		totalHistory, err := models.GetArticleUserHistoryNum(uid) // 足迹数量
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "GetArticleUserHistoryNum,Err:" + err.Error()
+			return
+		}
+
+		totalSchedule, err := models.GetArticleUserScheduleNum(uid) // 我的日程数量
+		if err != nil {
+			br.Msg = "获取数据失败"
+			br.ErrMsg = "GetArticleUserScheduleNum,Err:" + err.Error()
+			return
+		}
+
+		detail.ConNum = totalCollect
+		detail.HistoryNum = totalHistory
+		detail.ScheduleNum = totalSchedule
+
 		userRecord, _ := models.GetUserRecordByUserId(uid, utils.WxPlatform)
 		if userRecord != nil {
 			detail.NickName = userRecord.NickName

+ 5 - 5
models/admin.go

@@ -11,7 +11,7 @@ type AdminMobileResp struct {
 
 // 获取销售所能查看到的手机号
 func GetAdminByRole() (items []*AdminMobileResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT mobile  FROM admin  WHERE role = 'admin' `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
@@ -56,21 +56,21 @@ type Admin struct {
 
 func GetSysAdminById(adminId int) (item *Admin, err error) {
 	sql := `SELECT * FROM admin WHERE admin_id=? `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, adminId).QueryRow(&item)
 	return
 }
 
 func GetSysAdminByMobile(mobile string) (item *Admin, err error) {
 	sql := `SELECT * FROM admin WHERE mobile=? LIMIT 1 `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, mobile).QueryRow(&item)
 	return
 }
 
 // 获取权益内部人员手机号
 func GetRaiAdmin() (items []*AdminMobileResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 	mobile
 FROM
@@ -92,7 +92,7 @@ type GetSellerUserMobileResp struct {
 
 // 获取销售所能查看到的手机号
 func GetSellerUserMobile(adminId int) (items []*GetSellerUserMobileResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT mobile FROM user_seller_relation WHERE seller_id  = ? `
 	_, err = o.Raw(sql, adminId).QueryRows(&items)
 	return

+ 17 - 17
models/company.go

@@ -28,7 +28,7 @@ func GetCompanyDetailById(companyId int) (item *CompanyDetail, err error) {
 			LEFT JOIN admin AS c ON b.seller_id=c.admin_id
 			WHERE a.company_id=? AND cp.cygx_auth=1
 			OR (a.company_id = ? AND  cp.permission_name = '策略' ) ORDER BY  b.product_id  DESC LIMIT 1` // 兼容永续状态
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId, companyId).QueryRow(&item)
 	return
 }
@@ -43,7 +43,7 @@ func GetCompanyDetailByIdGroup(companyId int) (item *CompanyDetail, err error) {
 			WHERE a.company_id=? AND b.product_id = 2 
 			OR (a.company_id = ? AND  cp.permission_name = '策略' ) 
 			ORDER BY b.product_id DESC  LIMIT 0,1 `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId, companyId).QueryRow(&item)
 	return
 }
@@ -56,7 +56,7 @@ func GetCountCompanyDetailByIdGroup(companyId int) (count int, err error) {
 			INNER JOIN chart_permission AS cp ON cp.chart_permission_id = p.chart_permission_id
 			LEFT JOIN admin AS c ON b.seller_id=c.admin_id
 			WHERE a.company_id=? AND b.product_id = 2    OR (a.company_id = ? AND  cp.permission_name = '策略' )   `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId, companyId).QueryRow(&count)
 	return
 }
@@ -86,7 +86,7 @@ func GetCompanyPermission(companyId int) (permission string, err error) {
             AND b.cygx_auth=1
 			AND c.status IN('正式','试用','永续')
 			AND a.status IN('正式','试用','永续') `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&permission)
 	return
 }
@@ -101,7 +101,7 @@ func GetCompanyPermissionName(companyId int) (permission string, err error) {
             AND b.cygx_auth=1
 			AND c.status IN('正式','试用','永续')
 			AND a.status IN('正式','试用','永续') `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&permission)
 	return
 }
@@ -116,7 +116,7 @@ func GetCompanyPermissionByUser(companyId int) (permission string, err error) {
             AND b.cygx_auth=1
 			AND c.status IN('正式','试用','永续')
 			AND a.status IN('正式','试用','永续') `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&permission)
 	return
 }
@@ -138,7 +138,7 @@ func GetCompanyPermissionList(companyId int) (items []*PermissionItem, err error
             AND b.cygx_auth=1
 			AND c.status IN('正式','试用','永续')
 			AND a.status IN('正式','试用','永续')   ORDER BY b.sort ASC `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Raw(sql, companyId).QueryRows(&items)
 	return
 }
@@ -152,7 +152,7 @@ func GetCompanyPermissionByUserNoStatus(companyId int) (permission string, err e
 			WHERE  a.company_id=?
 			AND c.is_suspend=0
             AND b.cygx_auth=1`
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&permission)
 	return
 }
@@ -167,7 +167,7 @@ func GetCompanyPermissionByUserZhengShi(companyId int) (permission string, err e
 			AND c.is_suspend=0
             AND b.cygx_auth=1
 			AND a.status IN('正式') `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&permission)
 	return
 }
@@ -195,7 +195,7 @@ func GetCompanyDetailAllById(companyId int) (item *CompanyDetail, err error) {
 			WHERE a.company_id=? AND cp.cygx_auth=1
 			OR (a.company_id = ? AND  cp.permission_name = '策略' )` // 兼容永续状态
 	//WHERE a.company_id=?  AND b.status IN('正式','试用','永续')`
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId, companyId).QueryRow(&item)
 	return
 }
@@ -210,7 +210,7 @@ func GetSellerDetailAllByCompanyId(companyId int) (item *CompanyDetail, err erro
 			WHERE
 			b.product_id = 2 
 			AND a.company_id = ? LIMIT 1`
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&item)
 	return
 }
@@ -222,7 +222,7 @@ func GetCompanySellerName(companyId int) (sellerName string, err error) {
 			company_product AS p
 		WHERE
 			p.company_id = ? `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&sellerName)
 	return
 }
@@ -239,14 +239,14 @@ type CompanyProductDetial struct {
 // 获取对应销售以及销售的手机号
 func GetCompanyProductDetail(companyId, productId int) (item *CompanyProductDetial, err error) {
 	sql := ` SELECT * FROM company_product WHERE company_id = ? AND product_id = ?; `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId, productId).QueryRow(&item)
 	return
 }
 
 // 获取公司详情详情
 func GetCompanyByName(companyName string) (item *Company, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM company WHERE company_name = ? LIMIT 1`
 	err = o.Raw(sql, companyName).QueryRow(&item)
 	return
@@ -254,7 +254,7 @@ func GetCompanyByName(companyName string) (item *Company, err error) {
 
 // 获取公司详情详情
 func GetCompanyById(companyId int) (item *Company, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM company WHERE company_id = ? LIMIT 1`
 	err = o.Raw(sql, companyId).QueryRow(&item)
 	return
@@ -262,7 +262,7 @@ func GetCompanyById(companyId int) (item *Company, err error) {
 
 // 获取公司详情详情
 func GetCompanyByThirdName(tripartiteCompanyCode string) (item *Company, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM company WHERE tripartite_company_code = ? LIMIT 1`
 	err = o.Raw(sql, tripartiteCompanyCode).QueryRow(&item)
 	return
@@ -270,7 +270,7 @@ func GetCompanyByThirdName(tripartiteCompanyCode string) (item *Company, err err
 
 // 更新机构互动量
 func UpdateComapanyInteractionNum(interactionNum, companyId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE company SET interaction_num = ? WHERE company_id=? `
 	_, err = o.Raw(sql, interactionNum, companyId).Exec()
 	return

+ 1 - 1
models/company/company_approval.go

@@ -27,7 +27,7 @@ type CompanyApproval struct {
 
 func GetCompanyApprovalById(companyId int) (item *CompanyApproval, err error) {
 	sql := `SELECT * FROM company_approval WHERE company_id=? AND product_id=2 AND approve_status='已审批' order by company_approval_id desc LIMIT 1 `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&item)
 	return
 }

+ 1 - 1
models/company/company_contract.go

@@ -19,7 +19,7 @@ type CompanyContractPermission struct {
 }
 
 func GetCompanyContractPermissionCheck(companyContractId, permissionId int) (count int, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT COUNT(1) AS count FROM company_contract_permission AS a WHERE a.company_contract_id=? AND a.chart_permission_id=? `
 	err = o.Raw(sql, companyContractId, permissionId).QueryRow(&count)
 	return

+ 11 - 12
models/company_activity_trip.go

@@ -3,7 +3,7 @@ package models
 import "github.com/beego/beego/v2/client/orm"
 
 func GetCountCompanyDetailByIdGroupTrip(companyId int) (count int, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 	COUNT( 1 ) AS count 
 FROM
@@ -26,7 +26,7 @@ WHERE
 }
 
 func GetCompanyDetailByIdGroupTrip(companyId int) (item *CompanyDetail, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT a.company_id,a.company_name,b.status,b.seller_id,b.seller_name,c.mobile ,b.is_suspend
             FROM company AS a
 			INNER JOIN company_product AS b ON a.company_id=b.company_id
@@ -40,7 +40,7 @@ func GetCompanyDetailByIdGroupTrip(companyId int) (item *CompanyDetail, err erro
 }
 
 func GetCompanyPermissionByUserTrip(companyId int) (permission string, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 			GROUP_CONCAT( DISTINCT b.remark ORDER BY b.sort ASC SEPARATOR ',' ) AS permission 
 		FROM
@@ -70,14 +70,14 @@ func GetCompanyPermissionByUserZhengShiTrip(companyId int) (permission string, e
 			AND c.is_suspend=0
             AND b.cygx_auth=1
 			AND ( a.is_upgrade = 1 AND c.STATUS = '正式' OR c.STATUS = '永续' ) `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql, companyId).QueryRow(&permission)
 	return
 }
 
 // GetCompanyReportPermissionUpgrade 获取升级的权限类型
 func GetCompanyReportPermissionUpgrade(companyId, productId int) (items []*CompanyReportPermission, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 	re.*
 FROM
@@ -103,14 +103,14 @@ func GetChartPermissionByIds(permissionIds []string) (list []*ChartPermission, e
 	sql := qb.String()
 
 	// 执行 SQL 语句
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Raw(sql).QueryRows(&list)
 	return
 }
 
 // GetCompanyPermissionNameCheck 通过名称判断客户是否开了某一类型的权限
 func GetCompanyPermissionNameCheck(companyId, productId int, permissionName string) (count int, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 			COUNT( 1 ) AS count 
 		FROM
@@ -125,10 +125,9 @@ func GetCompanyPermissionNameCheck(companyId, productId int, permissionName stri
 	return
 }
 
-
 // GetCompanyReportPermissionByCompanyIdAndProductId 获取权限类型
 func GetCompanyReportPermissionByCompanyIdAndProductId(companyId, productId int) (items []*CompanyReportPermission, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 	re.*
 FROM
@@ -144,7 +143,7 @@ WHERE
 
 // GetCompanyReportPermissionByCompanyIdAndProductIdForInit 获取权限类型-初始化用,去掉正式的判断
 func GetCompanyReportPermissionByCompanyIdAndProductIdForInit(companyId, productId int) (items []*CompanyReportPermission, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 	re.*
 FROM
@@ -160,7 +159,7 @@ WHERE
 
 // GetCompanyReportPermissionByCompanyIdAndProductIdForInit 获取权限类型-初始化total用,去掉权限的判断
 func GetCompanyReportPermissionByCompanyIdAndProductIdForInit2(companyId, productId int) (items []*CompanyReportPermission, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 	re.*
 FROM
@@ -172,4 +171,4 @@ WHERE
 	 `
 	_, err = o.Raw(sql, companyId, productId).QueryRows(&items)
 	return
-}
+}

+ 3 - 2
models/company_product.go

@@ -6,14 +6,15 @@ import (
 
 // 获取是否属于权益客户
 func GetCountCompanyProductCompanyId(companyId, productId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM company_product WHERE company_id = ?  AND product_id = ?  `
-	err = orm.NewOrm().Raw(sql, companyId, productId).QueryRow(&count)
+	err = o.Raw(sql, companyId, productId).QueryRow(&count)
 	return
 }
 
 // 获取列表
 func GetCompanyProductList(condition string, pars []interface{}) (items []*CompanyProduct, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM company_product WHERE 1= 1 `
 	if condition != "" {
 		sql += condition

+ 2 - 2
models/company_report_permission.go

@@ -28,7 +28,7 @@ func GetCompanyReportPermissionDetailByCondition(condition string, pars []interf
 	if condition == "" {
 		return
 	}
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM company_report_permission  WHERE 1 = 1  ` + condition
 	err = o.Raw(sql, pars).QueryRow(&item)
 	return
@@ -36,7 +36,7 @@ func GetCompanyReportPermissionDetailByCondition(condition string, pars []interf
 
 // 列表
 func GetCompanyReportPermissionList(condition string, pars []interface{}) (items []*CompanyReportPermission, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM company_report_permission  WHERE 1= 1 `
 	if condition != "" {
 		sql += condition

+ 29 - 27
models/crm_company.go

@@ -182,23 +182,25 @@ type CompanySource struct {
 	SourceName string `description:"来源名称"`
 }
 
-//判断公司名称是否存在
+// 判断公司名称是否存在
 func GetCompanyCountByName(companyName string) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM company WHERE company_name = ?`
-	err = orm.NewOrm().Raw(sql, companyName).QueryRow(&count)
+	err = o.Raw(sql, companyName).QueryRow(&count)
 	return
 }
 
-//判断三方公司公司名称是否存在
+// 判断三方公司公司名称是否存在
 func GetCompanyCountByThirdName(tripartiteCompanyCode string) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM company WHERE tripartite_company_code = ?`
-	err = orm.NewOrm().Raw(sql, tripartiteCompanyCode).QueryRow(&count)
+	err = o.Raw(sql, tripartiteCompanyCode).QueryRow(&count)
 	return
 }
 
-//获取来源详情
+// 获取来源详情
 func GetCompanySourceByName(companyName string) (item *CompanySource, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM company_source WHERE source_name = ?`
 	err = o.Raw(sql, companyName).QueryRow(&item)
 	return
@@ -206,7 +208,7 @@ func GetCompanySourceByName(companyName string) (item *CompanySource, err error)
 
 func GetCompanyCode() (companyCode string, err error) {
 	var num int
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT COUNT(1) AS num FROM company WHERE created_time >=? `
 	err = o.Raw(sql, time.Now().Format(utils.FormatDate)).QueryRow(&num)
 	if err != nil {
@@ -216,74 +218,74 @@ func GetCompanyCode() (companyCode string, err error) {
 	return
 }
 
-//新增客户
+// 新增客户
 func AddCompany(item *Company) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	lastId, err = o.Insert(item)
 	return
 }
 
-//更新客户基础信息
+// 更新客户基础信息
 func (company *Company) Update(cols []string) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Update(company, cols...)
 	fmt.Println(company)
 	fmt.Println(err)
 	return
 }
 
-//新增客户产品
+// 新增客户产品
 func AddCompanyProduct(item *CompanyProduct) (newId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	newId, err = o.Insert(item)
 	return
 }
 
-//新增客户产品
+// 新增客户产品
 func AddCompanyProductLog(item *CompanyProductLog) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Insert(item)
 	return
 }
 
 func GetCompanyReportPermissionCount(companyId, productId int) (count int, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT COUNT(1) AS count FROM company_report_permission WHERE company_id=? AND product_id=? `
 	err = o.Raw(sql, companyId, productId).QueryRow(&count)
 	return
 }
 
 func DeleteCompanyReportPermission(companyId, productId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` DELETE FROM company_report_permission WHERE company_id=? AND product_id=? `
 	_, err = o.Raw(sql, companyId, productId).Exec()
 	return
 }
 
-//新增客户权限
+// 新增客户权限
 func AddCompanyReportPermission(item *CompanyReportPermission) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Insert(item)
 	return
 }
 
-//新增客户权限日志
+// 新增客户权限日志
 func AddCompanyPermissionLog(item *CompanyPermissionLog) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Insert(item)
 	return
 }
 
-//新增客户操作记录
+// 新增客户操作记录
 func AddCompanyOperationRecord(item *CompanyOperationRecord) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	lastId, err = o.Insert(item)
 	return
 }
 
-//新增客户产品
+// 新增客户产品
 func AddCompanyLog(item *CompanyLog) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Insert(item)
 	return
 }
@@ -301,9 +303,9 @@ type UserSellerRelation struct {
 	CreateTime time.Time `description:"创建时间"`
 }
 
-//添加销售员与员工的关系
+// 添加销售员与员工的关系
 func AddUserSellerRelation(userId int64, companyId, sellerId, productId int, seller, mobile, email string) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	relation := UserSellerRelation{
 		UserId:     int(userId),
 		SellerId:   sellerId,

+ 9 - 2
models/db.go

@@ -10,11 +10,18 @@ import (
 
 func init() {
 
-	_ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL)
+	_ = orm.RegisterDataBase("default", "mysql", utils.MYSQL_URL_CYGX)
 	orm.SetMaxIdleConns("default", 50)
 	orm.SetMaxOpenConns("default", 100)
 
-	db, _ := orm.GetDB("default")
+	cygx_db, _ := orm.GetDB("default")
+	cygx_db.SetConnMaxLifetime(10 * time.Minute)
+
+	_ = orm.RegisterDataBase("weekly_report", "mysql", utils.MYSQL_URL)
+	orm.SetMaxIdleConns("weekly_report", 50)
+	orm.SetMaxOpenConns("weekly_report", 100)
+
+	db, _ := orm.GetDB("weekly_report")
 	db.SetConnMaxLifetime(10 * time.Minute)
 
 	_ = orm.RegisterDataBase("rddp", "mysql", utils.MYSQL_URL_RDDP)

+ 5 - 5
models/seller.go

@@ -21,7 +21,7 @@ type AdminItem struct {
 }
 
 func GetSellerByCompanyId(companyId int) (item *AdminItem, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT b.*,c.open_id,c.user_id,a.company_name FROM company_product AS a
 			INNER JOIN admin AS b ON a.seller_id=b.admin_id
 			LEFT JOIN wx_user AS c ON b.mobile=c.mobile
@@ -31,7 +31,7 @@ func GetSellerByCompanyId(companyId int) (item *AdminItem, err error) {
 }
 
 func GetSellerByCompanyIdCheckFicc(companyId, productId int) (item *AdminItem, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT b.*,c.open_id,c.user_id,a.company_name FROM company_product AS a
 			INNER JOIN admin AS b ON a.seller_id=b.admin_id
 			LEFT JOIN wx_user AS c ON b.mobile=c.mobile
@@ -41,7 +41,7 @@ func GetSellerByCompanyIdCheckFicc(companyId, productId int) (item *AdminItem, e
 }
 
 func GetSellerByName(userName string) (item *AdminItem, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT * FROM admin WHERE real_name=? `
 	err = o.Raw(sql, userName).QueryRow(&item)
 	return
@@ -54,9 +54,9 @@ func GetSellerByAdminId(adminId int) (item *AdminItem, err error) {
 	return
 }
 
-//获取本组的销售ID
+// 获取本组的销售ID
 func GetSelleridWhichGroup(companyId, productId int) (adminId string, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 			GROUP_CONCAT( DISTINCT admin_id SEPARATOR ',' ) AS adminId
 			FROM

+ 22 - 22
models/send_company_user.go

@@ -62,16 +62,16 @@ type CompanyUnJsonList struct {
 	SyncData []CompanyJson `json:"sync_data"`
 }
 
-//删除用户
+// 删除用户
 type ShangHaiCrmUserDeleteResp struct {
 	Social string `json:"social"`
 	Mobile string `json:"phone"`
 	Name   string `json:"name"`
 }
 
-//获取公司
+// 获取公司
 func GetSendCompanyList(condition string) (items []*CompanyJson, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 			c.company_name,
 			c.company_id as cid, 
@@ -122,7 +122,7 @@ type PermissionDataResp struct {
 }
 
 func GetSendCompanyPermissionDataList(condition string, pars []interface{}) (items []*PermissionDataResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 				company_id,
 				c.permission_name,
@@ -140,9 +140,9 @@ func GetSendCompanyPermissionDataList(condition string, pars []interface{}) (ite
 	return
 }
 
-//获取FICC公司
+// 获取FICC公司
 func GetSendCompanyFiccList(condition string) (items []*CompanyJson, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 			c.company_name,
 			c.company_id AS cid,
@@ -209,9 +209,9 @@ func GetSendCompanyFiccList(condition string) (items []*CompanyJson, err error)
 	return
 }
 
-//获取用户
+// 获取用户
 func GetSendUserList(condition string) (items []*UserJson, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 			c.credit_code,
 			u.real_name,
@@ -272,9 +272,9 @@ type WxUserOpLogDeleteResp struct {
 	RealName         string `description:"真实姓名"`
 }
 
-//获取指定时间内更新的用户
+// 获取指定时间内更新的用户
 func GetWxUserOpLog(createTime string) (items []*WxUserOpLogResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT
 			u.company_id 
 		FROM
@@ -286,9 +286,9 @@ func GetWxUserOpLog(createTime string) (items []*WxUserOpLogResp, err error) {
 	return
 }
 
-//获取指定时间内删除的用户
+// 获取指定时间内删除的用户
 func GetWxUserOpLogDelete(createTime string) (items []*WxUserOpLogDeleteResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 			l.*,
 			c.credit_code 
@@ -299,9 +299,9 @@ func GetWxUserOpLogDelete(createTime string) (items []*WxUserOpLogDeleteResp, er
 	return
 }
 
-//获取指定时间内被暂停的客户
+// 获取指定时间内被暂停的客户
 func GetWxUserOpLogSuspend(createTime string) (items []*WxUserOpLogDeleteResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 				* 
 			FROM
@@ -313,9 +313,9 @@ func GetWxUserOpLogSuspend(createTime string) (items []*WxUserOpLogDeleteResp, e
 	return
 }
 
-//获取指定时间内被移动的客户
+// 获取指定时间内被移动的客户
 func GetCompanyOperationRecord(createTime string) (items []*WxUserOpLogDeleteResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 				* 
 			FROM
@@ -327,25 +327,25 @@ func GetCompanyOperationRecord(createTime string) (items []*WxUserOpLogDeleteRes
 	return
 }
 
-//获取指定时间内试用转冻结,冻结转流失的客户
+// 获取指定时间内试用转冻结,冻结转流失的客户
 func GetCompanyFreezeAndLoss(createTime string) (items []*WxUserOpLogResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT * FROM  company_operation_record WHERE status IN ('冻结','流失') AND  create_time >  '` + createTime + `'  GROUP BY company_id `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
-//获取指定时间内被移动的用户
+// 获取指定时间内被移动的用户
 func GetWxUserOpLogList(startDate, endDate string) (items []*WxUserOpLogResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT company_id,user_id,mobile FROM wx_user_op_log WHERE  log_type IN ('move','add') AND create_time >=  '` + startDate + `' AND create_time <=  '` + endDate + `'    GROUP BY user_id `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
-//获取指定时间内被删除的用户
+// 获取指定时间内被删除的用户
 func GetWxUserOpLogDeleteList(startDate, endDate string) (items []*WxUserOpLogResp, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT company_id,user_id,mobile FROM wx_user_op_log WHERE  log_type IN ('delete') AND create_time >=  '` + startDate + `' AND create_time <=  '` + endDate + `'   GROUP BY user_id `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return

+ 37 - 23
models/user.go

@@ -29,16 +29,25 @@ type UserDetail struct {
 }
 
 func GetUserDetailByUserId(userId int) (item *UserDetail, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT *,
-	( SELECT COUNT( 1 ) AS count FROM cygx_article_collect AS a	INNER JOIN cygx_article AS art ON art.article_id = a.article_id  WHERE
-		a.user_id = ? AND art.publish_status = 1 ) AS con_num,
-	(SELECT	COUNT( 1 ) AS count FROM
-		( SELECT count(*) FROM cygx_article_history_record AS a WHERE a.user_id = ?  GROUP BY a.article_id ) b ) AS history_num ,
-	( SELECT COUNT( 1 ) AS count FROM	cygx_my_schedule AS a INNER JOIN cygx_activity AS art ON art.activity_id = a.activity_id WHERE
-		a.user_id = ? AND art.publish_status = 1 AND art.active_state != 3 ) AS schedule_num
+	o := orm.NewOrmUsingDB("weekly_report")
+	sql := `SELECT *
 	FROM wx_user WHERE user_id = ? `
-	err = o.Raw(sql, userId, userId, userId, userId).QueryRow(&item)
+	err = o.Raw(sql, userId).QueryRow(&item)
+	return
+}
+
+// 足迹数量
+func GetArticleUserHistoryNum(userId int) (count int, err error) {
+	sql := `SELECT	count(*) AS count FROM	( SELECT count(*) FROM cygx_article_history_record AS a WHERE a.user_id = ? GROUP BY a.article_id ) AS c  `
+	err = orm.NewOrm().Raw(sql, userId).QueryRow(&count)
+	return
+}
+
+// 我的日程数量
+func GetArticleUserScheduleNum(userId int) (count int, err error) {
+	sql := `SELECT COUNT( 1 ) AS count FROM	cygx_my_schedule AS a INNER JOIN cygx_activity AS art ON art.activity_id = a.activity_id WHERE
+		a.user_id = ? AND art.publish_status = 1 AND art.active_state != 3  `
+	err = orm.NewOrm().Raw(sql, userId).QueryRow(&count)
 	return
 }
 
@@ -58,6 +67,7 @@ type LoginReq struct {
 
 func PcBindMobile(unionId, mobile string, userId, loginType int) (wxUserId int, err error) {
 	//loginType  登录方式:1:手机,2:邮箱
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ``
 	if loginType == 1 {
 		sql = `SELECT * FROM wx_user WHERE mobile = ? `
@@ -65,7 +75,7 @@ func PcBindMobile(unionId, mobile string, userId, loginType int) (wxUserId int,
 		sql = "SELECT * FROM wx_user WHERE email = ? "
 	}
 	user := new(WxUser)
-	o := orm.NewOrm()
+
 	err = o.Raw(sql, mobile).QueryRow(&user)
 
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -228,7 +238,7 @@ type CountryCodeItem struct {
 }
 
 func AddCountryCode(CountryCode string, user *WxUserItem) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	if user.OutboundCountryCode == "" {
 		sql := `UPDATE wx_user SET country_code=?,outbound_mobile=?,outbound_country_code=?  WHERE user_id=? `
 		_, err = o.Raw(sql, CountryCode, user.OutboundMobile, user.OutboundCountryCode, user.UserId).Exec()
@@ -247,7 +257,7 @@ type OutboundMobileItem struct {
 }
 
 func AddOutboundMobile(item *OutboundMobileItem, userId int) (err error) {
-	o, err := orm.NewOrm().Begin()
+	o, err := orm.NewOrmUsingDB("weekly_report").Begin()
 	if err != nil {
 		return
 	}
@@ -273,7 +283,7 @@ func AddOutboundMobile(item *OutboundMobileItem, userId int) (err error) {
 
 // 用户绑定手机号时同时绑定外呼手机号
 func BindUserOutboundMobile(mobile, countryCode string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET outbound_mobile=? ,outbound_country_code = ?, country_code= ? WHERE user_id=? `
 	_, err = o.Raw(sql, mobile, countryCode, countryCode, userId).Exec()
 	return
@@ -281,7 +291,7 @@ func BindUserOutboundMobile(mobile, countryCode string, userId int) (err error)
 
 // 已经绑定手机号,没有绑定外呼手机号的的用户,预约外呼的时候,将外呼手机号同步成手机号
 func BindUserOutboundMobileByMobile(mobile, countryCode string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET outbound_mobile=? ,outbound_country_code = ? WHERE user_id=? `
 	_, err = o.Raw(sql, mobile, countryCode, userId).Exec()
 	return
@@ -289,7 +299,7 @@ func BindUserOutboundMobileByMobile(mobile, countryCode string, userId int) (err
 
 // 将手机号为11位的用户,区号默认设置为86
 func ChangeUserOutboundMobileByMobile(userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET country_code = 86 WHERE user_id=? `
 	_, err = o.Raw(sql, userId).Exec()
 	return
@@ -312,6 +322,7 @@ type UserWhiteListRep struct {
 
 // 获取正式试用用户白名单
 func GetFormalUserWhiteList(fieldStr, condition string) (items []*UserWhiteList, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT ` + fieldStr + `
 		(SELECT cp.seller_name FROM company_product  AS cp WHERE cp.company_id = u.company_id ORDER BY cp.product_id DESC  LIMIT 0,1 ) as seller_name,
 		GROUP_CONCAT( DISTINCT b.chart_permission_name SEPARATOR '/' ) AS permission
@@ -325,12 +336,13 @@ func GetFormalUserWhiteList(fieldStr, condition string) (items []*UserWhiteList,
 		AND b.product_id = 2
 		AND u.company_id >1 ` + condition + `
 		GROUP BY u.user_id`
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
 // 获取永续用户白名单
 func GetSustainableUserWhiteList(fieldStr, condition string) (items []*UserWhiteList, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT ` + fieldStr + `
 			(SELECT cp.seller_name FROM company_product  AS cp WHERE cp.company_id = u.company_id ORDER BY cp.product_id DESC  LIMIT 0,1 ) as seller_name,
 			(SELECT
@@ -351,7 +363,7 @@ func GetSustainableUserWhiteList(fieldStr, condition string) (items []*UserWhite
 			WHERE 1 = 1
 			AND u.company_id > 1  ` + condition + `
 			GROUP BY u.user_id `
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
@@ -371,6 +383,7 @@ type GetSendEmailAllUserWithRAIRep struct {
 }
 
 func GetSendEmailAllUserWithRAI() (items []*GetSendEmailAllUserWithRAIRep, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 			c.company_name,
 			c.credit_code,
@@ -398,7 +411,7 @@ func GetSendEmailAllUserWithRAI() (items []*GetSendEmailAllUserWithRAIRep, err e
 			c.company_id 
 		ORDER BY
 			c.company_id DESC`
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
@@ -414,6 +427,7 @@ type GetSendEmailAllUserWithCompanyRep struct {
 }
 
 func GetSendEmailAllUserWithCompany() (items []*GetSendEmailAllUserWithCompanyRep, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 			u.real_name,
 			u.mobile,
@@ -432,7 +446,7 @@ func GetSendEmailAllUserWithCompany() (items []*GetSendEmailAllUserWithCompanyRe
 			u.user_id 
 		ORDER BY
 			c.company_id ASC`
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
@@ -445,7 +459,7 @@ type UserEmail struct {
 
 // 更改用户手机号
 func UpdateUserHeadimgurl(headimgurl string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET headimgurl = ? WHERE user_id=? `
 	_, err = o.Raw(sql, headimgurl, userId).Exec()
 	return
@@ -453,7 +467,7 @@ func UpdateUserHeadimgurl(headimgurl string, userId int) (err error) {
 
 // 更改用户邮箱号
 func UpdateUserEmail(email string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET email = ? WHERE user_id=? `
 	_, err = o.Raw(sql, email, userId).Exec()
 	return
@@ -461,7 +475,7 @@ func UpdateUserEmail(email string, userId int) (err error) {
 
 // 更新用户标签
 func UpdateUserLabel(userLabel string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET user_label = ? WHERE user_id=? `
 	_, err = o.Raw(sql, userLabel, userId).Exec()
 	return
@@ -469,7 +483,7 @@ func UpdateUserLabel(userLabel string, userId int) (err error) {
 
 // 更新用户互动量
 func UpdateUserInteractionNum(interactionNum, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET interaction_num = ? WHERE user_id=? `
 	_, err = o.Raw(sql, interactionNum, userId).Exec()
 	return

+ 5 - 4
models/user_invitee.go

@@ -18,16 +18,17 @@ type UserInvitee struct {
 	InviteeEmail      string    `description:"邀请人邮箱"`
 }
 
-//添加收藏信息
+// 添加收藏信息
 func AddUserInvite(item *UserInvitee) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	lastId, err = o.Insert(item)
 	return
 }
 
-//获取数量
+// 获取数量
 func GetUserInviteeCount(userId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT COUNT(1) AS count FROM user_invitee WHERE inviteed_user_id=? `
-	err = orm.NewOrm().Raw(sql, userId).QueryRow(&count)
+	err = o.Raw(sql, userId).QueryRow(&count)
 	return
 }

+ 12 - 25
models/user_record.go

@@ -27,14 +27,15 @@ type UserRecord struct {
 
 // 根据openid获取用户关系
 func GetUserRecordByOpenId(openId string) (item *UserRecord, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM user_record WHERE open_id=? `
-	err = orm.NewOrm().Raw(sql, openId).QueryRow(&item)
+	err = o.Raw(sql, openId).QueryRow(&item)
 	return
 }
 
 // 根据openid解除绑定用户关系
 func UnBindUserRecordByOpenid(openId string) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	msql := ` UPDATE user_record SET user_id = 0,bind_account="" WHERE open_id = ? `
 	_, err = o.Raw(msql, openId).Exec()
 	return
@@ -42,37 +43,22 @@ func UnBindUserRecordByOpenid(openId string) (err error) {
 
 // 根据用户id和平台id获取用户关系
 func GetUserRecordByUserId(userId, platform int) (item *UserRecord, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM user_record WHERE user_id=? AND create_platform = ?`
-	err = orm.NewOrm().Raw(sql, userId, platform).QueryRow(&item)
-	return
-}
-
-// 根据用户id和平台id获取用户关系
-func GetUserRecordByUserIdByXzs(mobile string, platform int) (item *OpenIdList, err error) {
-	sql := `SELECT
-			cr.open_id,
-			u.user_id
-		FROM
-			wx_user AS u
-			INNER JOIN user_record AS r ON r.user_id = u.user_id
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
-		WHERE
-			u.mobile = ? 
-			AND create_platform = ?`
-	err = orm.NewOrm().Raw(sql, mobile, platform).QueryRow(&item)
+	err = o.Raw(sql, userId, platform).QueryRow(&item)
 	return
 }
 
 // 添加用户关系
 func AddUserRecord(record *UserRecord) (recordId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	recordId, err = o.Insert(record)
 	return
 }
 
 // 根据openid绑定用户关系
 func BindUserRecordByOpenid(userId int, openId, bindAccount string) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	msql := " UPDATE user_record SET user_id = ?,bind_account=? WHERE open_id = ? "
 	_, err = o.Raw(msql, userId, bindAccount, openId).Exec()
 	return
@@ -80,7 +66,7 @@ func BindUserRecordByOpenid(userId int, openId, bindAccount string) (err error)
 
 // 修改用户微信信息
 func ModifyUserRecordInfo(openId, nickName, headimgUrl, city, province, country, sessionKey string, sex, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE user_record SET nick_name=?,headimgurl=?,sex=?,city=?,province=?,country=?,session_key=? WHERE user_id=? and open_id=? `
 	_, err = o.Raw(sql, nickName, headimgUrl, sex, city, province, country, sessionKey, userId, openId).Exec()
 	return
@@ -88,7 +74,7 @@ func ModifyUserRecordInfo(openId, nickName, headimgUrl, city, province, country,
 
 // 修改用户微信信息
 func ModifyUserRecordByDetail(openId, unionId, nickName, headimgUrl, city, province, country string, sex, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE user_record SET union_id=?, nick_name=?,headimgurl=?,sex=?,city=?,province=?,country=? WHERE user_id=? and open_id=? `
 	_, err = o.Raw(sql, unionId, nickName, headimgUrl, sex, city, province, country, userId, openId).Exec()
 	return
@@ -96,7 +82,7 @@ func ModifyUserRecordByDetail(openId, unionId, nickName, headimgUrl, city, provi
 
 // 修改用户微信信息
 func ModifyUserRecordSessionKey(openId, sessionKey string) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE user_record SET session_key=? WHERE open_id=? `
 	_, err = o.Raw(sql, sessionKey, openId).Exec()
 	return
@@ -121,8 +107,9 @@ func GetUserRecordByMobile(platform int, bindAccount string) (item *OpenIdList,
 
 // 获取该用户第一个的 三方信息(微信头像信息)
 func GetUserThirdRecordByUserId(userId int) (item *UserRecord, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM user_record WHERE user_id = ? order by user_record_id asc`
-	err = orm.NewOrm().Raw(sql, userId).QueryRow(&item)
+	err = o.Raw(sql, userId).QueryRow(&item)
 	return
 }
 

+ 2 - 2
models/user_template_record.go

@@ -15,9 +15,9 @@ type UserTemplateRecord struct {
 	SendType   int
 }
 
-//添加banner
+// 添加
 func AddUserTemplateRecord(item *UserTemplateRecord) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Insert(item)
 	return
 }

+ 2 - 2
models/wechat.go

@@ -41,7 +41,7 @@ type ReturnBodyRule struct {
 }
 
 func GetWxAccessToken() (accessTokenStr string, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM wx_token LIMIT 1`
 	wxToken := new(WxToken)
 	err = o.Raw(sql).QueryRow(&wxToken)
@@ -130,7 +130,7 @@ func GetWxAccessTokenByXzs() (accessTokenStr string, err error) {
 	return
 }
 
-//获取小助手的微信Token
+// 获取小助手的微信Token
 func GetWxTokenByXzs() (item *WxAccessToken, err error) {
 	getUrl := "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + utils.WxPublicIdXzs + "&secret=" + utils.WxPublicSecretXzs
 	result, err := http.Get(getUrl)

+ 45 - 17
models/wx_template_msg.go

@@ -14,9 +14,11 @@ type SendTemplateResponse struct {
 type OpenIdList struct {
 	OpenId string
 	UserId int
+	Mobile string `description:"手机号"`
 }
 
 func GetOpenIdList() (items []*OpenIdList, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	openIdstr := WxUsersGet()
 	sql := `SELECT open_id FROM wx_user AS wu 
           INNER JOIN company AS c ON c.company_id = wu.company_id 
@@ -24,15 +26,20 @@ func GetOpenIdList() (items []*OpenIdList, err error) {
 	if openIdstr != "" {
 		sql += ` AND open_id in (` + openIdstr + `) `
 	}
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
 func GetWxOpenIdByMobileList(mobile string) (items []*OpenIdList, err error) {
 	//sql := `SELECT * FROM user_record WHERE bind_account IN (` + utils.WxMsgTemplateIdAskMsgMobile + `) AND create_platform = 1`
-	sql := `SELECT cr.*,user_id FROM user_record  as c
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
-			WHERE bind_account IN (` + mobile + `) AND create_platform = 4`
+	//sql := `SELECT cr.*,user_id FROM user_record  as c
+	//		INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
+	//		WHERE bind_account IN (` + mobile + `) AND create_platform = 4`
+
+	sql := ` SELECT
+				union_id,
+				cygx_user_id AS user_id
+				FROM cygx_user_record	WHERE	1 = 1	AND cygx_bind_account IN (` + mobile + `)`
 	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
 	return
 }
@@ -46,30 +53,51 @@ type AdminOpenIdList struct {
 
 // GetAdminOpendidByCompany 通过用户公司ID获取对应销售的openid
 func GetAdminOpendidByCompany(condition string, pars []interface{}) (list []*AdminOpenIdList, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
-			cr.open_id,a.mobile,p.company_id,cr.union_id
+			a.mobile,
+			p.company_id 
 		FROM
 			company_product AS p
 			INNER JOIN admin AS a ON a.admin_id = p.seller_id 
-			INNER JOIN user_record  as c ON c.bind_account = a.mobile
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
 		WHERE
 			1 = 1 
-			AND p.product_id = 2
-			AND create_platform = 4 ` + condition
-	_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&list)
+			AND p.product_id = 2 ` + condition
+	_, err = o.Raw(sql, pars).QueryRows(&list)
 	return
 }
 
+//func GetWxOpenIdByMobileSliceList(mobiles []string) (items []*OpenIdList, err error) {
+//	itemsLen := len(mobiles)
+//	if itemsLen == 0 {
+//		return
+//	}
+//	o := orm.NewOrm()
+//	sql := `SELECT cr.*,user_id FROM user_record  as c
+//			INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
+//			WHERE bind_account IN (` + utils.GetOrmInReplace(itemsLen) + `) AND create_platform = 4`
+//	_, err = o.Raw(sql, mobiles).QueryRows(&items)
+//	return
+//}
+
+// 根据手机号获取用户的openid
 func GetWxOpenIdByMobileSliceList(mobiles []string) (items []*OpenIdList, err error) {
-	itemsLen := len(mobiles)
-	if itemsLen == 0 {
+	o := orm.NewOrm()
+	lenarr := len(mobiles)
+	if lenarr == 0 {
 		return
 	}
-	o := orm.NewOrm()
-	sql := `SELECT cr.*,user_id FROM user_record  as c
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
-			WHERE bind_account IN (` + utils.GetOrmInReplace(itemsLen) + `) AND create_platform = 4`
-	_, err = o.Raw(sql, mobiles).QueryRows(&items)
+	var condition string
+	var pars []interface{}
+	condition = ` AND u.cygx_bind_account IN (` + utils.GetOrmInReplace(lenarr) + `)`
+	pars = append(pars, mobiles)
+	sql := `SELECT
+			u.open_id,
+			u.cygx_user_id AS user_id 
+		FROM
+			cygx_user_record AS u 
+		WHERE
+			1 = 1  ` + condition
+	_, err = o.Raw(sql, pars).QueryRows(&items)
 	return
 }

+ 82 - 63
models/wx_user.go

@@ -90,23 +90,19 @@ type WxUserItem struct {
 }
 
 func GetWxUserItemByUnionid(unionid string) (item *WxUserItem, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM wx_user WHERE union_id=? `
-	err = orm.NewOrm().Raw(sql, unionid).QueryRow(&item)
+	err = o.Raw(sql, unionid).QueryRow(&item)
 	return
 }
 
 // 根据用户ID获取相关信息
 func GetWxUserItemByUserId(userId int) (item *WxUserItem, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT a.*,b.company_name FROM wx_user AS a
 			LEFT JOIN company AS b on a.company_id=b.company_id
 			WHERE a.user_id=? `
-	err = orm.NewOrm().Raw(sql, userId).QueryRow(&item)
-	return
-}
-
-func GetWxUserItemByOpenId(openId string) (item *WxUserItem, err error) {
-	sql := `SELECT * FROM wx_user WHERE open_id=? `
-	err = orm.NewOrm().Raw(sql, openId).QueryRow(&item)
+	err = o.Raw(sql, userId).QueryRow(&item)
 	return
 }
 
@@ -132,7 +128,7 @@ type WxGetUserInfoReq struct {
 
 // 修改用户会话key
 func ModifyWxUserSessionKey(sessionKey string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET session_key=? WHERE user_id=? `
 	_, err = o.Raw(sql, sessionKey, userId).Exec()
 	return
@@ -140,7 +136,7 @@ func ModifyWxUserSessionKey(sessionKey string, userId int) (err error) {
 
 // 添加用户信息
 func ModifyWxUserInfo(unionId, nickName, province, city, country, avatar string, gender, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET union_id=?,unionid=?,nick_name=?,sex=?,province=?,city=?,country=?,headimgurl=? WHERE user_id=? `
 	_, err = o.Raw(sql, unionId, unionId, nickName, gender, province, city, country, avatar, userId).Exec()
 	return
@@ -148,7 +144,7 @@ func ModifyWxUserInfo(unionId, nickName, province, city, country, avatar string,
 
 // 修改用户会话key
 func DeleteWxUserByUserId(userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `DELETE FROM wx_user WHERE user_id=? `
 	_, err = o.Raw(sql, userId).Exec()
 	return
@@ -177,7 +173,7 @@ type WxGetPhoneNumberReq struct {
 }
 
 func ModifyUsersMobile(usersId int, phoneNumber string) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET mobile=? WHERE user_id=? `
 	_, err = o.Raw(sql, phoneNumber, usersId).Exec()
 	return
@@ -191,48 +187,50 @@ type WxGetPhoneNumberResp struct {
 
 // 根据用户手机号获取相关信息
 func GetWxUserItemByMobile(mobile string) (item *WxUserItem, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT a.*,b.company_name FROM wx_user AS a
 			LEFT JOIN company AS b on a.company_id=b.company_id
 			WHERE a.mobile=  '` + mobile + `'  ORDER BY a.company_id DESC LIMIT 1 `
-	err = orm.NewOrm().Raw(sql).QueryRow(&item)
+	err = o.Raw(sql).QueryRow(&item)
 	return
 }
 
 // 根据用户手机号获取相关信息
 func GetWxUserAouthByMobile(mobile string) (item *WxUserItem, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 			a.*,
-			s.mobile,
 			b.company_name 
 		FROM
-			cygx_session_mobile AS s
-			LEFT JOIN wx_user AS a ON a.mobile = s.mobile
+		    wx_user AS a 
 			LEFT JOIN company AS b ON a.company_id = b.company_id 
 		WHERE
-			s.mobile = ?
+			a.mobile = ?
 		ORDER BY
 			a.company_id DESC 
 			LIMIT 1`
-	err = orm.NewOrm().Raw(sql, mobile).QueryRow(&item)
+	err = o.Raw(sql, mobile).QueryRow(&item)
 	return
 }
 
 func GetWxUserItemByEmail(email string) (item *WxUserItem, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM wx_user WHERE email=? `
-	err = orm.NewOrm().Raw(sql, email).QueryRow(&item)
+	err = o.Raw(sql, email).QueryRow(&item)
 	return
 }
 
 func ModifyReportLastViewTime(uid int) (err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` UPDATE wx_user SET report_last_view_time=NOW()
 			WHERE user_id=? `
-	_, err = orm.NewOrm().Raw(sql, uid).Exec()
+	_, err = o.Raw(sql, uid).Exec()
 	return
 }
 
 // 变更联系人是否已注册状态
 func ModifyWxUserRegisterStatus(userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET is_register=?,source=3,register_time=NOW() WHERE user_id = ? `
 	_, err = o.Raw(sql, 1, userId).Exec()
 	return
@@ -240,7 +238,7 @@ func ModifyWxUserRegisterStatus(userId int) (err error) {
 
 // 修改用户是否绑定外呼手机号弹窗
 func ModifyWxUserIsMsgOutboundMobile(userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET is_msg_outbound_mobile=1 WHERE user_id=? `
 	_, err = o.Raw(sql, userId).Exec()
 	return
@@ -248,7 +246,7 @@ func ModifyWxUserIsMsgOutboundMobile(userId int) (err error) {
 
 // 列表
 func GetUserListAll() (items []*WxUserItem, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM wx_user  WHERE mobile <>'' AND outbound_mobile = ''`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
@@ -256,7 +254,7 @@ func GetUserListAll() (items []*WxUserItem, err error) {
 
 // 修改手机号区号  8位号码+852,9位号码+886,10位号码+1,11位及以上号码+86
 func UPdateUserCountryCode(item *WxUserItem) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	if item.CountryCode == "" && len(item.Mobile) >= 11 {
 		sql := ` UPDATE wx_user SET  outbound_mobile= ? , outbound_country_code=86 , country_code=86  WHERE user_id = ?`
 		_, err = o.Raw(sql, item.Mobile, item.UserId).Exec()
@@ -279,42 +277,47 @@ func UPdateUserCountryCode(item *WxUserItem) (err error) {
 
 // 判断公司下用户名称是否存在
 func GetUserCountByName(companyId int, name string) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM wx_user WHERE company_id = ? AND real_name = ?`
-	err = orm.NewOrm().Raw(sql, companyId, name).QueryRow(&count)
+	err = o.Raw(sql, companyId, name).QueryRow(&count)
 	return
 }
 
 // 判断这个用户是否被设置消息提醒
 func GetUserRemind(uid int) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM cygx_user_remind WHERE user_id = ? `
-	err = orm.NewOrm().Raw(sql, uid).QueryRow(&count)
+	err = o.Raw(sql, uid).QueryRow(&count)
 	return
 }
 
 // 判断公司下用户名称是否存在
 func GetUserCountByThirdName(companyId int, name string) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM wx_user WHERE company_id = ? AND tripartite_code = ?`
-	err = orm.NewOrm().Raw(sql, companyId, name).QueryRow(&count)
+	err = o.Raw(sql, companyId, name).QueryRow(&count)
 	return
 }
 
 // 获取公司下一共有多少用户
 func GetUserCountByCompanyId(companyId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT  COUNT(1) AS count FROM wx_user WHERE company_id = ? `
-	err = orm.NewOrm().Raw(sql, companyId).QueryRow(&count)
+	err = o.Raw(sql, companyId).QueryRow(&count)
 	return
 }
 
 func UpdateUserMobile(uid int, mobile string) (err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` UPDATE wx_user SET mobile=?
 			WHERE user_id=? `
-	_, err = orm.NewOrm().Raw(sql, mobile, uid).Exec()
+	_, err = o.Raw(sql, mobile, uid).Exec()
 	return
 }
 
 // 获取公司下用户详情详情详情
 func GetUserByName(companyId int, name string) (item *WxUser, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM wx_user WHERE company_id = ? AND real_name = ? `
 	err = o.Raw(sql, companyId, name).QueryRow(&item)
 	return
@@ -322,45 +325,61 @@ func GetUserByName(companyId int, name string) (item *WxUser, err error) {
 
 // 获取公司下用户详情详情详情
 func GetUserByThirdName(companyId int, name string) (item *WxUser, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT *  FROM wx_user WHERE company_id = ? AND tripartite_code = ? `
 	err = o.Raw(sql, companyId, name).QueryRow(&item)
 	return
 }
 
+// 获取所有注册的权益用户
+//func GetUserRegisterList() (items []*WxUser, err error) {
+//	o := orm.NewOrmUsingDB("weekly_report")
+//	sql := `SELECT
+//			u.user_id,
+//			u.company_id,
+//			u.mobile,
+//			u.email,
+//			u.real_name,
+//			u.is_register,
+//			u.is_maker,
+//			u.register_time
+//		FROM
+//			wx_user AS u
+//			INNER JOIN company AS c ON c.company_id = u.company_id
+//			INNER JOIN company_product AS cp ON cp.company_id = c.company_id
+//		WHERE
+//			u.company_id IN (
+//			SELECT
+//				a.company_id
+//			FROM
+//				company AS a
+//				INNER JOIN company_product AS b ON a.company_id = b.company_id
+//			WHERE
+//				a.enabled = 1
+//				AND b.STATUS IN ( '正式', '试用', '冻结' )
+//				AND cp.product_id = 2
+//			)
+//			AND cp.product_id = 2
+//		GROUP BY
+//			u.user_id `
+//	_, err = o.Raw(sql).QueryRows(&items)
+//	//AND u.register_time IS NOT NULL OR u.report_last_view_time <>'' 统计阅读时间与注册时间不为空的用户
+//	return
+//}
+
 // 获取所有注册的权益用户
 func GetUserRegisterList() (items []*WxUser, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
-			u.user_id,
-			u.company_id,
-			u.mobile,
-			u.email,
-			u.real_name,
-			u.is_register,
-			u.is_maker,
-			u.register_time 
-		FROM
-			wx_user AS u
-			INNER JOIN company AS c ON c.company_id = u.company_id
-			INNER JOIN company_product AS cp ON cp.company_id = c.company_id 
-		WHERE
-			u.company_id IN (
-			SELECT
-				a.company_id 
+				* 
 			FROM
-				company AS a
-				INNER JOIN company_product AS b ON a.company_id = b.company_id 
+				cygx_page_history_record 
 			WHERE
-				a.enabled = 1 
-				AND b.STATUS IN ( '正式', '试用', '冻结' ) 
-				AND cp.product_id = 2 
-			)
-			AND cp.product_id = 2
-		GROUP BY
-			u.user_id `
+				user_id > 0 
+				AND company_id > 0 
+				AND create_time > DATE_SUB( DATE( NOW()), INTERVAL 1 DAY ) 
+			GROUP BY user_id `
 	_, err = o.Raw(sql).QueryRows(&items)
-	//AND u.register_time IS NOT NULL OR u.report_last_view_time <>'' 统计阅读时间与注册时间不为空的用户
 	return
 }
 
@@ -560,14 +579,14 @@ func GetCygxCompanyUserUserInteraction(userIds string) (items []*CygxUserInterac
 				man.activity_id IN ( SELECT activity_id FROM cygx_activity_signup AS f WHERE f.user_id = u.user_id  AND label != '') 
 			) AS activity_label
 		FROM
-			wx_user AS u WHERE  u.user_id IN( ` + userIds + `) `
+			cygx_page_history_record AS u WHERE  u.user_id IN( ` + userIds + `)  	GROUP BY u.user_id  `
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
 // GetWxUserListByUserIds 根据用户ID集合获取用户
 func GetWxUserListByUserIds(userIds string) (list []*WxUserItem, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := ` SELECT u.*, c.company_name FROM wx_user AS u
 			INNER JOIN company AS c ON c.company_id = u.company_id 
 			WHERE user_id IN (` + userIds + `) `
@@ -582,7 +601,7 @@ func GetWxUserByMobiles(mobiles []string) (items []*WxUser, err error) {
 		return
 	}
 	sql := `SELECT* FROM wx_user  WHERE mobile in (` + utils.GetOrmInReplace(lenmobiles) + `)  `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Raw(sql, mobiles).QueryRows(&items)
 	return
 }
@@ -594,13 +613,13 @@ func GetWxUserByOutboundMobiles(mobiles []string) (items []*WxUser, err error) {
 		return
 	}
 	sql := `SELECT* FROM wx_user  WHERE outbound_mobile in (` + utils.GetOrmInReplace(lenmobiles) + `)  `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	_, err = o.Raw(sql, mobiles).QueryRows(&items)
 	return
 }
 
 func UserSubscribe(subscribeTime string, userId int) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `UPDATE wx_user SET cygx_subscribe=1,cygx_subscribe_time=? WHERE user_id = ? `
 	_, err = o.Raw(sql, subscribeTime, userId).Exec()
 	return
@@ -611,7 +630,7 @@ func GetWxUserOutboundMobiles(mobiles []string) (item []*WxUserOutboundMobile, e
 	if lenmobiles == 0 {
 		return
 	}
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT u.real_name,u.mobile,u.outbound_mobile,u.company_id,p.company_name ,GROUP_CONCAT( DISTINCT p.seller_name SEPARATOR '/' ) AS seller_name
 			FROM wx_user as u 
 			INNER JOIN company_product AS p ON p.company_id = u.company_id 

+ 38 - 39
models/wx_user_code.go

@@ -16,25 +16,24 @@ type WxUserCode struct {
 	CreateTime     time.Time
 }
 
-//添加联系人日志信息
+// 添加联系人日志信息
 func AddWxUserCode(item *WxUserCode) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	lastId, err = o.Insert(item)
 	return
 }
 
 func GetWxUserCode(wxCode string) (item *WxUserCode, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT * FROM wx_user_code WHERE wx_code=? `
 	err = o.Raw(sql, wxCode).QueryRow(&item)
 	return
 }
 
-//获取所有有权限的用户的opid
+// 获取所有有权限的用户的手机号
 func GetCygxUserRecordPower(condition string, pars []interface{}) (items []*OpenIdList, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
-			cr.open_id,
 			u.user_id,
 			u.company_id,
 			u.real_name,
@@ -43,75 +42,75 @@ func GetCygxUserRecordPower(condition string, pars []interface{}) (items []*Open
 			company_report_permission AS p
 			INNER JOIN wx_user AS u ON u.company_id = p.company_id
 			INNER JOIN user_record AS r ON r.user_id = u.user_id
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
 		WHERE
-			 r.create_platform = 4 ` + condition + ` AND p.STATUS IN ('正式','试用','永续')  GROUP BY cr.open_id`
+			r.create_platform = 4 ` + condition + `
+			AND p.STATUS IN ( '正式', '试用', '永续' ) 
+			GROUP BY u.mobile `
 	_, err = o.Raw(sql, pars).QueryRows(&items)
 	return
 }
 
-//获取关注这个文章对应产业的用户的 openid
+// 获取关注这个文章对应产业的用户的 openid
 func GetCygxUserFllowOpenid(articleId int) (items []*OpenIdList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
-			cr.open_id,
+			f.mobile,
 			f.user_id 
 		FROM
 			cygx_xzs_choose_send AS s
 			INNER JOIN cygx_industry_fllow AS f ON f.user_id = s.user_id
-			INNER JOIN user_record AS r ON r.user_id = f.user_id
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
-			INNER JOIN cygx_industrial_article_group_management as mg  ON mg.industrial_management_id = f.industrial_management_id
+			INNER JOIN cygx_industrial_article_group_management AS mg ON mg.industrial_management_id = f.industrial_management_id 
 		WHERE
-			r.create_platform = 4 
-			AND mg.article_id  = ?`
+			1 = 1 
+			AND mg.article_id = ? 
+			GROUP BY f.user_id `
 	_, err = o.Raw(sql, articleId).QueryRows(&items)
 	return
 }
 
-//获取拒绝接收推送的的用户的 openid
+// 获取拒绝接收推送的的用户的 openid
 func GetCygxUserRefusetOpenid() (items []*OpenIdList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			cr.open_id,
-			s.user_id
-			FROM
+			cr.cygx_user_id AS user_id 
+		FROM
 			cygx_xzs_choose_send AS s
-			INNER JOIN user_record AS r ON r.user_id = s.user_id
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id
-			WHERE
-			r.create_platform = 4
+			INNER JOIN cygx_user_record AS cr ON cr.cygx_user_id = s.user_id 
+		WHERE
+			1 = 1 
 			AND s.is_refuse = 1`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
-//获取选择策略推送的用户的openid openid
+// 获取选择策略推送的用户的openid openid
 func GetCygxUserFllowCeLueOpenid(categoryId int) (items []*OpenIdList, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			cr.open_id,
-			f.user_id 
+			cr.cygx_user_id AS user_id 
 		FROM
 			cygx_xzs_choose_send AS s
 			INNER JOIN cygx_xzs_choose_category AS f ON f.user_id = s.user_id
-			INNER JOIN user_record AS r ON r.user_id = f.user_id
-			INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id 
+			INNER JOIN cygx_user_record AS cr ON cr.cygx_user_id = s.user_id 
 		WHERE
-			r.create_platform = 4
-			AND s.is_refuse = 0
-			AND (s.is_subjective = 1 OR s.is_objective = 1)
-			AND f.category_id = ?`
+			1 = 1 
+			AND s.is_refuse = 0 
+			AND ( s.is_subjective = 1 OR s.is_objective = 1 ) 
+			AND f.category_id = ?
+		GROUP BY
+			s.user_id `
 	_, err = o.Raw(sql, categoryId).QueryRows(&items)
 	return
 }
 
-//获取提交过推送规则用户的userId
-func GetCygxXzsChooseSendOpenIdByUserIds(idStr string) (items []*OpenIdList, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT ur.user_id, cr.open_id FROM user_record AS ur
-INNER JOIN cygx_user_record AS cr
-WHERE ur.user_id IN (` + idStr + `) AND create_platform=4 AND ur.union_id=cr.union_id `
-	_, err = o.Raw(sql).QueryRows(&items)
-	return
-}
+// 获取提交过推送规则用户的userId
+//func GetCygxXzsChooseSendOpenIdByUserIds(idStr string) (items []*OpenIdList, err error) {
+//	o := orm.NewOrm()
+//	sql := `SELECT ur.user_id, cr.open_id FROM user_record AS ur
+//INNER JOIN cygx_user_record AS cr
+//WHERE ur.user_id IN (` + idStr + `) AND create_platform=4 AND ur.union_id=cr.union_id `
+//	_, err = o.Raw(sql).QueryRows(&items)
+//	return
+//}

+ 2 - 2
models/wx_user_log.go

@@ -17,9 +17,9 @@ type WxUserLog struct {
 	CreateTime time.Time
 }
 
-//添加联系人日志信息
+// 添加联系人日志信息
 func AddWxUserLog(item *WxUserLog) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	lastId, err = o.Insert(item)
 	return
 }

+ 14 - 12
models/wx_user_white.go

@@ -20,14 +20,14 @@ type WxUserWhite struct {
 	SellerName          string `description:"销售"`
 }
 
-//添加
+// 添加
 func AddWxUserWhite(item *WxUserWhite) (lastId int64, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	lastId, err = o.Insert(item)
 	return
 }
 
-//获取用户手机号白名单
+// 获取用户手机号白名单
 func GetWxUserWhiteMobile() (mobileStr string, err error) {
 	sql := ` SELECT
 			GROUP_CONCAT( DISTINCT u.mobile SEPARATOR ',' ) AS mobileStr 
@@ -43,12 +43,12 @@ func GetWxUserWhiteMobile() (mobileStr string, err error) {
 				AND u.mobile NOT IN ( SELECT mobile FROM wx_user_white ) 
 				AND u.mobile != ''
 				AND cp.status IN ( '正式', '试用' ) `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql).QueryRow(&mobileStr)
 	return
 }
 
-//获取用户外呼手机号白名单
+// 获取用户外呼手机号白名单
 func GetWxUserWhiteOutboundMobile() (mobileStr string, err error) {
 	sql := ` SELECT
 			GROUP_CONCAT( DISTINCT u.outbound_mobile SEPARATOR ',' ) AS outboundmobileStr 
@@ -66,13 +66,14 @@ func GetWxUserWhiteOutboundMobile() (mobileStr string, err error) {
 				AND cp.status IN ( '正式', '试用' )
 				AND u.mobile != ''
 				AND u.mobile !=  u.outbound_mobile `
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	err = o.Raw(sql).QueryRow(&mobileStr)
 	return
 }
 
-//获取冻结用户白名单
+// 获取冻结用户白名单
 func GetFrozenUserWhiteList() (items []*WxUserWhite, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 				* 
 			FROM
@@ -94,12 +95,13 @@ func GetFrozenUserWhiteList() (items []*WxUserWhite, err error) {
 					AND mobile != '' 
 				) 
 				AND w.outbound_mobile = '' ` //OR w.outbound_mobile NOT IN ( SELECT outbound_mobile FROM wx_user )`
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
-//获取冻结用户白名单外呼号
+// 获取冻结用户白名单外呼号
 func GetFrozenUserWhiteListOutbound() (items []*WxUserWhite, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
 	sql := `SELECT
 				* 
 			FROM
@@ -120,13 +122,13 @@ func GetFrozenUserWhiteListOutbound() (items []*WxUserWhite, err error) {
 					AND cp.STATUS IN ( '正式', '试用' ) 
 					AND outbound_mobile != '') 
             AND w.mobile = ''`
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
-//删除数据
+// 删除数据
 func DeleteWxUserWhite(item *WxUserWhite) (err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("weekly_report")
 	if item.Mobile != "" {
 		sql := ` DELETE FROM wx_user_white WHERE mobile = ?`
 		_, err = o.Raw(sql, item.Mobile).Exec()

+ 11 - 1
services/activity.go

@@ -2298,10 +2298,20 @@ func DoActivityOnenIdWxTemplateMsg(cont context.Context) (err error) {
 	}()
 	var condition string
 	var pars []interface{}
-	openidPowerList, err := models.GetCygxUserRecordPower(condition, pars)
+	openidPowerListMobile, err := models.GetCygxUserRecordPower(condition, pars)
 	if err != nil {
 		return err
 	}
+
+	var mobileArr []string
+	for _, v := range openidPowerListMobile {
+		mobileArr = append(mobileArr, v.Mobile)
+	}
+	openidPowerList, err := models.GetWxOpenIdByMobileSliceList(mobileArr)
+	if err != nil {
+		return err
+	}
+
 	first := "近期所有行业活动预告,欢迎参与"
 	keyword1 := "下周活动预告"
 	keyword2 := "已发布"

+ 44 - 3
services/activity_special.go

@@ -1108,6 +1108,7 @@ func SendWxMsgActivitySpecialTwoDays(cont context.Context) (err error) {
 			condition = ` AND p.company_id IN (` + utils.GetOrmInReplace(companyIdsLen) + `)  GROUP BY  p.company_id  `
 			pars = append(pars, companyIds)
 
+			//获取销售的手机号
 			listSeller, e := models.GetAdminOpendidByCompany(condition, pars)
 			if e != nil && e.Error() != utils.ErrNoRow() {
 				err = errors.New("GetAdminOpendidByCompany, Err: " + e.Error())
@@ -1116,13 +1117,33 @@ func SendWxMsgActivitySpecialTwoDays(cont context.Context) (err error) {
 			if len(listSeller) == 0 {
 				continue
 			}
+			var mobileArr []string
+			for _, v := range listSeller {
+				if v.Mobile != "" {
+					mobileArr = append(mobileArr, v.Mobile)
+				}
+			}
+			mobileLen := len(mobileArr)
+			if mobileLen == 0 {
+				return
+			}
+			//获取手机号对应的Openid
+			listSellerOpenid, err := models.GetWxOpenIdByMobileSliceList(mobileArr)
+			if err != nil {
+				return
+			}
+			mapMobileOpenid := make(map[string]string)
+			for _, v := range listSellerOpenid {
+				mapMobileOpenid[v.Mobile] = v.OpenId
+			}
+
 			mapSller := make(map[string]string)
 			mapSllerOpenid := make(map[string]string)
 			for _, vS := range listSeller {
 				for _, vT := range listSpecialTrip {
 					if vT.CompanyId == vS.CompanyId {
 						mapSller[vS.Mobile] += "【" + vT.RealName + "--" + vT.CompanyName + "】"
-						mapSllerOpenid[vS.Mobile] = vS.OpenId
+						mapSllerOpenid[vS.Mobile] = mapMobileOpenid[vS.Mobile]
 					}
 				}
 			}
@@ -1234,8 +1255,28 @@ func SendWxMsgActivitySpecialCancel(cont context.Context) (err error) {
 				err = errors.New("GetAdminOpendidByCompany, Err: " + e.Error())
 				return
 			}
-			if len(listSeller) > 0 {
-				for _, vOpenid := range listSeller {
+
+			if len(listSeller) == 0 {
+				continue
+			}
+			var mobileArr []string
+			for _, v := range listSeller {
+				if v.Mobile != "" {
+					mobileArr = append(mobileArr, v.Mobile)
+				}
+			}
+			mobileLen := len(mobileArr)
+			if mobileLen == 0 {
+				return
+			}
+			//获取手机号对应的Openid
+			listSellerOpenid, err := models.GetWxOpenIdByMobileSliceList(mobileArr)
+			if err != nil {
+				return
+			}
+
+			if len(listSellerOpenid) > 0 {
+				for _, vOpenid := range listSellerOpenid {
 					openIdArr = append(openIdArr, vOpenid.OpenId)
 				}
 			}

+ 23 - 2
services/article.go

@@ -1350,7 +1350,16 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 		condition += ` AND p.chart_permission_id  IN (` + utils.GetOrmInReplace(len(slicepermissionId)) + ` )  `
 		pars = append(pars, permissionIdList)
 	}
-	openidPowerList, err := models.GetCygxUserRecordPower(condition, pars)
+	openidPowerListMobile, err := models.GetCygxUserRecordPower(condition, pars)
+	if err != nil {
+		return err
+	}
+
+	var mobileArr []string
+	for _, v := range openidPowerListMobile {
+		mobileArr = append(mobileArr, v.Mobile)
+	}
+	openidPowerList, err := models.GetWxOpenIdByMobileSliceList(mobileArr)
 	if err != nil {
 		return err
 	}
@@ -1373,13 +1382,25 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
 	//获取关注这个文章对应产业的用户的 openid
 	mapOpenidFllow := make(map[int]string)
 	if chartPermissionId != utils.CE_LUE_ID && chartPermissionId != utils.GU_SHOU_ID {
-		openidFllowList, err := models.GetCygxUserFllowOpenid(articleId)
+		openidFllowListMobile, err := models.GetCygxUserFllowOpenid(articleId)
 		if err != nil {
 			return err
 		}
+
+		var mobileArrFllow []string
+		for _, v := range openidFllowListMobile {
+			mobileArrFllow = append(mobileArrFllow, v.Mobile)
+		}
+
+		openidFllowList, err := models.GetWxOpenIdByMobileSliceList(mobileArrFllow)
+		if err != nil {
+			return err
+		}
+
 		for _, v := range openidFllowList {
 			mapOpenidFllow[v.UserId] = v.OpenId
 		}
+
 	}
 
 	//获取拒绝接收推送的的用户的 openid

+ 2 - 0
utils/config.go

@@ -9,6 +9,7 @@ import (
 var (
 	RunMode               string //运行模式
 	MYSQL_URL             string //数据库连接
+	MYSQL_URL_CYGX        string //查研观向数据库连接
 	MYSQL_URL_RDDP        string //数据库连接
 	MYSQL_URL_TACTICS     string
 	MYSQL_URL_COMEIN_DATA string // 路演记录数据库
@@ -122,6 +123,7 @@ func init() {
 	}
 	//beego.Info(RunMode + " 模式")
 	MYSQL_URL = config["mysql_url"]
+	MYSQL_URL_CYGX = config["mysql_url_cygx"]
 	MYSQL_URL_RDDP = config["mysql_url_rddp"]
 	MYSQL_URL_TACTICS = config["mysql_url_tactics"]
 	MYSQL_URL_COMEIN_DATA = config["mysql_url_comein_data"]