package models

import (
	"github.com/beego/beego/v2/client/orm"
	"time"
)

type CygxProductInteriorHistory struct {
	Id                int `orm:"column(id);pk"`
	ProductInteriorId int
	UserId            int
	CreateTime        time.Time
	Mobile            string    `description:"手机号"`
	Email             string    `description:"邮箱"`
	CompanyId         int       `description:"公司id"`
	CompanyName       string    `description:"公司名称"`
	ModifyTime        time.Time `description:"修改时间"`
	RealName          string    `description:"用户实际名称"`
	SellerName        string    `description:"所属销售"`
}

// 添加历史信息
func AddCygxProductInteriorHistory(item *CygxProductInteriorHistory) (lastId int64, err error) {
	o := orm.NewOrm()
	item.ModifyTime = time.Now()
	lastId, err = o.Insert(item)
	return
}

type ListProductInteriorPvUvResp struct {
	ProductInteriorId int `description:"文章ID"`
	Pv                int `description:"pv"`
	Uv                int `description:"pv"`
}

// 列表
func GetCygxProductInteriorHistoryList(condition string, pars []interface{}) (items []*ListProductInteriorPvUvResp, err error) {
	o := orm.NewOrm()
	sql := `SELECT
			COUNT( 1 ) AS pv,
			product_interior_id
		FROM
			cygx_product_interior_history  WHERE 1 = 1  `
	if condition != "" {
		sql += condition
	}
	sql += ` GROUP BY product_interior_id `
	_, err = o.Raw(sql, pars).QueryRows(&items)
	return
}

type ListProductInteriorPvResp struct {
	ProductInteriorId int `description:"文章ID"`
	Pv                int `description:"pv"`
}

// 列表
func GetCygxProductInteriorHistoryListPv(condition string, pars []interface{}) (items []*ListProductInteriorPvResp, err error) {
	o := orm.NewOrm()
	sql := `SELECT  product_interior_id ,COUNT(*)  as  pv  FROM cygx_product_interior_history WHERE 1= 1 `
	if condition != "" {
		sql += condition
	}
	sql += " GROUP BY product_interior_id "
	_, err = o.Raw(sql, pars).QueryRows(&items)
	return
}