瀏覽代碼

更新阅读数据

hsun 2 年之前
父節點
當前提交
4e04107de4
共有 3 個文件被更改,包括 101 次插入61 次删除
  1. 11 0
      controllers/english_report.go
  2. 73 0
      models/english_company.go
  3. 17 61
      models/english_report_email.go

+ 11 - 0
controllers/english_report.go

@@ -82,6 +82,17 @@ func (this *EnglishReportShareController) EnglishReportDetail() {
 				errMsg = errors.New("新增邮箱PV失败, Err: " + e.Error())
 				return
 			}
+			// 更新阅读量
+			if e = models.UpdateEnglishReportEmailViewTotal(userEmail.Id); e != nil {
+				errMsg = errors.New("更新英文联系人阅读量失败, Err: " + e.Error())
+				return
+			}
+			if userEmail.CompanyId > 0 {
+				if e = models.UpdateEnglishCompanyViewTotal(userEmail.CompanyId); e != nil {
+					errMsg = errors.New("更新英文客户阅读量, Err: " + e.Error())
+					return
+				}
+			}
 		}()
 	}
 

+ 73 - 0
models/english_company.go

@@ -0,0 +1,73 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+// EnglishCompany 英文客户
+type EnglishCompany struct {
+	CompanyId   int       `orm:"column(company_id);pk" description:"英文客户ID"`
+	CompanyName string    `description:"客户名称"`
+	CountryCode string    `description:"国家Code"`
+	Country     string    `description:"国家"`
+	SellerId    int       `description:"销售ID"`
+	SellerName  string    `description:"销售姓名"`
+	ViewTotal   int       `description:"累计点击量/阅读量"`
+	IsDeleted   int       `description:"删除状态:0-正常;1-已删除"`
+	CreateTime  time.Time `description:"创建时间"`
+	ModifyTime  time.Time `description:"更新时间"`
+}
+
+func (item *EnglishCompany) TableName() string {
+	return "english_company"
+}
+
+func (item *EnglishCompany) Create() (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	id, err := o.Insert(item)
+	if err != nil {
+		return
+	}
+	item.CompanyId = int(id)
+	return
+}
+
+// EnglishCompanySaveReq 英文客户-保存请求体
+type EnglishCompanySaveReq struct {
+	CompanyId   int    `description:"客户ID"`
+	CompanyName string `description:"客户名称"`
+	CountryCode string `description:"国家代码"`
+	Country     string `description:"国家"`
+	SellerId    int    `description:"销售ID"`
+}
+
+func (item *EnglishCompany) Update(cols []string) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	_, err = o.Update(item, cols...)
+	return
+}
+
+// GetEnglishCompanyById 主键获取客户
+func GetEnglishCompanyById(id int) (item *EnglishCompany, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `SELECT * FROM english_company WHERE is_deleted = 0 AND company_id = ? LIMIT 1`
+	err = o.Raw(sql, id).QueryRow(&item)
+	return
+}
+
+// GetEnglishCompanyByName 名称获取客户
+func GetEnglishCompanyByName(companyName string) (item *EnglishCompany, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `SELECT * FROM english_company WHERE is_deleted = 0 AND company_name = ? LIMIT 1`
+	err = o.Raw(sql, companyName).QueryRow(&item)
+	return
+}
+
+// UpdateEnglishCompanyViewTotal 更新英文客户阅读量
+func UpdateEnglishCompanyViewTotal(companyId int) (err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `UPDATE english_company SET view_total = view_total+1 WHERE company_id = ? `
+	_, err = o.Raw(sql, companyId).Exec()
+	return
+}

+ 17 - 61
models/english_report_email.go

@@ -2,19 +2,22 @@ package models
 
 import (
 	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
 
-// EnglishReportEmail 英文研报-邮箱
+// EnglishReportEmail 英文研报-邮箱/客户联系人
 type EnglishReportEmail struct {
-	Id         int       `orm:"column(id);pk" description:"邮箱ID"`
-	Name       string    `description:"客户名称"`
-	Email      string    `description:"邮箱地址"`
-	AdminId    int       `description:"创建人ID"`
-	AdminName  string    `description:"创建人姓名"`
-	CreateTime time.Time `description:"创建时间"`
-	ModifyTime time.Time `description:"更新时间"`
+	Id           int       `orm:"column(id);pk" description:"邮箱ID"`
+	CompanyId    int       `description:"客户ID"`
+	Name         string    `description:"联系人名称"`
+	Email        string    `description:"邮箱地址"`
+	ViewTotal    int       `description:"累计点击量/阅读量"`
+	LastViewTime time.Time `description:"最后阅读时间"`
+	IsDeleted    int       `description:"删除状态:0-正常;1-已删除"`
+	AdminId      int       `description:"创建人ID"`
+	AdminName    string    `description:"创建人姓名"`
+	CreateTime   time.Time `description:"创建时间"`
+	ModifyTime   time.Time `description:"更新时间"`
 }
 
 func (item *EnglishReportEmail) TableName() string {
@@ -47,62 +50,15 @@ func (item *EnglishReportEmail) Update(cols []string) (err error) {
 // GetEnglishReportEmailById 主键获取邮箱
 func GetEnglishReportEmailById(id int) (item *EnglishReportEmail, err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT * FROM english_report_email WHERE id = ? LIMIT 1`
+	sql := `SELECT * FROM english_report_email WHERE is_deleted = 0 AND id = ? LIMIT 1`
 	err = o.Raw(sql, id).QueryRow(&item)
 	return
 }
 
-// EnglishReportEmailPageListResp 分页列表响应体
-type EnglishReportEmailPageListResp struct {
-	List   []*EnglishReportEmailResp
-	Paging *paging.PagingItem `description:"分页数据"`
-}
-
-// EnglishReportEmailResp 邮箱响应体
-type EnglishReportEmailResp struct {
-	Id         int    `description:"邮箱ID"`
-	Name       string `description:"客户名称"`
-	Email      string `description:"邮箱地址"`
-	AdminName  string `description:"创建人姓名"`
-	CreateTime string `description:"创建时间"`
-}
-
-// GetEnglishReportEmailPageList 获取邮箱列表-分页
-func GetEnglishReportEmailPageList(condition string, pars []interface{}, order string, startSize, pageSize int) (total int, list []*EnglishReportEmail, err error) {
-	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT * FROM english_report_email WHERE 1 = 1 `
-	sql += condition
-	if order != "" {
-		sql += order
-	} else {
-		sql += ` ORDER BY create_time DESC`
-	}
-	totalSQl := `SELECT COUNT(1) total FROM (` + sql + `) z`
-	if err = o.Raw(totalSQl, pars).QueryRow(&total); err != nil {
-		return
-	}
-	sql += ` LIMIT ?,?`
-	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
-	return
-}
-
-// GetEnglishReportEmailByEmail 地址获取邮箱
-func GetEnglishReportEmailByEmail(email string) (item *EnglishReportEmail, err error) {
-	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT * FROM english_report_email WHERE email = ? LIMIT 1`
-	err = o.Raw(sql, email).QueryRow(&item)
-	return
-}
-
-// EnglishReportEmailDelReq 删除邮箱请求体
-type EnglishReportEmailDelReq struct {
-	EmailId int `description:"邮箱ID"`
-}
-
-// DelEnglishReportEmail 删除邮箱
-func DelEnglishReportEmail(id int) (err error) {
+// UpdateEnglishReportEmailViewTotal 更新英文联系人阅读量
+func UpdateEnglishReportEmailViewTotal(emailId int) (err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `DELETE FROM english_report_email WHERE id = ? LIMIT 1`
-	_, err = o.Raw(sql, id).Exec()
+	sql := `UPDATE english_report_email SET view_total = view_total+1, last_view_time = NOW() WHERE id = ? `
+	_, err = o.Raw(sql, emailId).Exec()
 	return
 }