package models import ( "github.com/beego/beego/v2/client/orm" "time" ) type CygxApplyRecord struct { ApplyRecordId int `orm:"column(apply_record_id);pk" description:"申请试用id"` UserId int `description:"用户ID"` BusinessCardUrl string `description:"名片地址"` RealName string `description:"姓名"` CompanyName string `description:"公司名称"` CompanyIdPay int `description:"已付费客户公司id"` CompanyIdType int `description:"用户状态,1:潜在客户 、2:现有客户 、3:FICC客户 、4:现有客户(正式,无对应权限) 、5:现有客户(试用,无对应权限) 、6:现有客户(试用暂停) 、7:现有客户(冻结) 、8:现有客户(流失) "` CompanyNamePay string `description:"公司名称"` Mobile string `description:"手机号"` CreateTime time.Time `description:"创建时间"` ApplyMethod int `description:"1:已付费客户申请试用,2:非客户申请试用"` RegisterPlatform int `description:"来源 1小程序,2:网页"` InviteCompanySource int `description:"来源 1小程序,2:网页"` SourceId int `description:"资源ID"` Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"` Title string `description:"标题"` } func AddApplyRecord(item *CygxApplyRecord) (err error) { o, err := orm.NewOrm().Begin() if err != nil { return } defer func() { if err != nil { o.Rollback() } else { o.Commit() } }() _, err = o.Insert(item) ow := orm.NewOrmUsingDB("weekly_report") if err != nil { return } msql := `UPDATE wx_user SET note = ?, is_note = 1, apply_method = ?, real_name=?, mobile=? WHERE user_id = ? ` _, err = ow.Raw(msql, item.CompanyName, item.ApplyMethod, item.RealName, item.Mobile, item.UserId).Exec() return } func GetApplyRecordCount(userId int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) AS count FROM cygx_apply_record WHERE user_id=? AND status=0 ` err = o.Raw(sql, userId).QueryRow(&count) return } // 通过手机号获取详情 func GetCygxApplyRecordByMobile(mobile string) (item *CygxApplyRecord, err error) { o := orm.NewOrm() sql := `SELECT * FROM cygx_apply_record WHERE mobile=? AND status=0 ORDER BY apply_record_id DESC LIMIT 1 ` err = o.Raw(sql, mobile).QueryRow(&item) return } // 获取客户的试用申请次数 func GetApplyRecordCountByCompanyIdPay(companyIdPay int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) AS count FROM cygx_apply_record WHERE company_id_pay = ? ` err = o.Raw(sql, companyIdPay).QueryRow(&count) return }