123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package company
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- // CompanyRenewalRecord
- // @Description: 客户续约状态记录表
- type CompanyRenewalRecord struct {
- Id int `orm:"column(id);pk"`
- CompanyId int `description:"客户id"`
- ProductId int `description:"产品id"`
- Source int `description:"类型,枚举值,1:续约异常客户;2:续约正常客户;3:超时续约客户"`
- SellerId int `description:"销售id"`
- SellerName string `description:"销售名称"`
- ShareSellerId int `description:"共享销售id"`
- ShareSellerName string `description:"共享销售名称"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"修改时间"`
- }
- type UnusualRenewCompanyGroup struct {
- SellerId int `description:"所属销售id"`
- ShareSellerId int `description:"所属共享销售id"`
- //AdminName string `description:"所属销售名称"`
- Num int `description:"汇总次数"`
- CompanyIds string `description:"客户id字符串"`
- }
- // GetUnusualRenewCompanyList 获取销售未续约数据
- func GetUnusualRenewCompanyList(startDate, endDate time.Time, productId int) (list []*CompanyRenewalRecord, err error) {
- o := orm.NewOrm()
- sql := ` SELECT
- *
- FROM
- company_renewal_record
- WHERE
- modify_time BETWEEN ?
- AND ?
- AND source = 1
- AND product_id = ?;
- `
- _, err = o.Raw(sql, startDate, endDate, productId).QueryRows(&list)
- return
- }
- // GetUnusualRenewCompanyByShareSellerList 获取销售未续约数据
- func GetUnusualRenewCompanyByShareSellerList(startDate, endDate time.Time, productId, source int) (list []*UnusualRenewCompanyGroup, err error) {
- o := orm.NewOrm()
- sql := ` SELECT
- a.seller_id,a.share_seller_id,
- count(
- DISTINCT ( a.company_id )) num,
- GROUP_CONCAT( DISTINCT a.company_id SEPARATOR ',' ) AS company_ids
- FROM
- company_renewal_record as a
- WHERE
- a.modify_time BETWEEN ?
- AND ?
- AND a.source = ?
- AND a.product_id = ?
- GROUP BY
- a.share_seller_id;
- `
- _, err = o.Raw(sql, startDate, endDate, source, productId).QueryRows(&list)
- return
- }
- // Add
- // @Description: 添加续约用户记录
- // @author: Roc
- // @datetime 2023-12-07 14:16:37
- // @param item *CompanyRenewalRecord
- // @return err error
- func (item *CompanyRenewalRecord) Add() (err error) {
- o := orm.NewOrm()
- lastId, err := o.Insert(item)
- if err != nil {
- return
- }
- item.Id = int(lastId)
- return
- }
- type GetUnusualRenewListGroupMonth struct {
- Date string
- CompanyNum int
- }
- type GetUnusualRenewListGroupMonthResp struct {
- List []*GetUnusualRenewListGroupMonth
- }
- // GetUnusualRenewList 获取未续约公司列表
- func GetUnusualRenewList(startDate, endDate time.Time, productId, source int, sellerIds string) (list []*CompanyRenewalRecord, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- *
- FROM
- company_renewal_record
- WHERE
- source = ?
- AND modify_time BETWEEN ?
- AND ?
- AND product_id = ?
- AND (share_seller_id in (` + sellerIds + `)
- OR seller_id in (` + sellerIds + `))
- `
- _, err = o.Raw(sql, source, startDate, endDate, productId).QueryRows(&list)
- return
- }
- func (item *CompanyRenewalRecord) InsertMulti(items []*CompanyRenewalRecord) (err error) {
- o := orm.NewOrm()
- _, err = o.InsertMulti(len(items), items)
- return
- }
|