123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- package models
- import "github.com/beego/beego/v2/client/orm"
- type CompanyDetail struct {
- CompanyId int `orm:"column(company_id);pk"`
- CompanyName string `description:"客户名称"`
- Status string `description:"客户状态"`
- SellerId int `description:"销售id"`
- SellerName string `description:"销售名称"`
- Mobile string `description:"销售手机号"`
- ProductId int `description:"1,FICC,2权益"`
- IsSuspend int `description:"1:暂停,0:启用"`
- }
- func GetCompanyDetailById(companyId int) (item *CompanyDetail, err error) {
- //sql := ` SELECT a.company_id,a.company_name,b.status,b.seller_id,b.seller_name,c.mobile
- // FROM company AS a
- // INNER JOIN company_product AS b ON a.company_id=b.company_id
- // LEFT JOIN admin AS c ON b.seller_id=c.admin_id
- // WHERE a.company_id=? AND b.product_id=2 `
- sql := ` SELECT a.company_id,a.company_name,b.status,b.seller_id,b.seller_name,c.mobile,p.product_id
- FROM company AS a
- INNER JOIN company_product AS b ON a.company_id=b.company_id
- INNER JOIN company_report_permission AS p ON p.company_id = a.company_id
- 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 cp.cygx_auth=1
- OR (a.company_id = ? AND cp.permission_name = '策略' ) ORDER BY b.product_id DESC LIMIT 1` // 兼容永续状态
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId, companyId).QueryRow(&item)
- return
- }
- func GetCompanyDetailByIdGroup(companyId int) (item *CompanyDetail, err error) {
- 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
- INNER JOIN company_report_permission AS p ON p.company_id = a.company_id
- 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 = '策略' )
- ORDER BY b.product_id DESC LIMIT 0,1 `
- err = o.Raw(sql, companyId, companyId).QueryRow(&item)
- return
- }
- func GetCountCompanyDetailByIdGroup(companyId int) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count
- FROM company AS a
- INNER JOIN company_product AS b ON a.company_id=b.company_id
- INNER JOIN company_report_permission AS p ON p.company_id = a.company_id
- 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.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId, companyId).QueryRow(&count)
- return
- }
- //原有权限叫校验,下方更改与2021-5.18
- //func GetCompanyPermission(companyId int) (permission string, err error) {
- // sql := ` SELECT GROUP_CONCAT(DISTINCT b.chart_permission_name ORDER BY b.sort ASC SEPARATOR ',') AS permission
- // FROM company_report_permission AS a
- // INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
- // INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
- // WHERE a.company_id=?
- // AND a.product_id=2
- // AND b.show_type=1
- // AND c.status IN('正式','试用','永续') `
- // o := orm.NewOrm()
- // err = o.Raw(sql, companyId).QueryRow(&permission)
- // return
- //}
- func GetCompanyPermissionByUser(companyId int) (permission string, err error) {
- sql := ` SELECT GROUP_CONCAT(DISTINCT b.remark ORDER BY b.sort ASC SEPARATOR ',') AS permission
- FROM company_report_permission AS a
- INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
- INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
- WHERE a.company_id=?
- AND c.is_suspend=0
- AND b.cygx_auth=1
- AND c.status IN('正式','试用','永续')
- AND a.status IN('正式','试用','永续') `
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId).QueryRow(&permission)
- return
- }
- // 获取用户权限不限制状态
- func GetCompanyPermissionByUserNoStatus(companyId int) (permission string, err error) {
- sql := ` SELECT GROUP_CONCAT(DISTINCT b.remark ORDER BY b.sort ASC SEPARATOR ',') AS permission
- FROM company_report_permission AS a
- INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
- INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
- WHERE a.company_id=?
- AND c.is_suspend=0
- AND b.cygx_auth=1`
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId).QueryRow(&permission)
- return
- }
- // 获取正式权限
- func GetCompanyPermissionByUserZhengShi(companyId int) (permission string, err error) {
- sql := ` SELECT GROUP_CONCAT(DISTINCT b.remark ORDER BY b.sort ASC SEPARATOR ',') AS permission
- FROM company_report_permission AS a
- INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
- INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
- WHERE a.company_id=?
- AND c.is_suspend=0
- AND b.cygx_auth=1
- AND c.status IN('正式')
- AND a.status IN('正式') `
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId).QueryRow(&permission)
- return
- }
- func GetCompanyPermissionByName(name string) (permission string, err error) {
- sql := ` SELECT GROUP_CONCAT(DISTINCT b.chart_permission_name ORDER BY b.sort ASC SEPARATOR '/') AS permission
- FROM company_report_permission AS a
- INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
- INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
- INNER JOIN company AS cm ON cm.company_id=c.company_id
- WHERE cm.company_name=?
- AND b.product_id = 2 `
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, name).QueryRow(&permission)
- return
- }
- func GetCompanyDetailAllById(companyId int) (item *CompanyDetail, err error) {
- sql := ` SELECT a.company_id,a.company_name,b.status,b.seller_id,b.seller_name,c.mobile
- FROM company AS a
- INNER JOIN company_product AS b ON a.company_id=b.company_id
- INNER JOIN company_report_permission AS p ON p.company_id = a.company_id
- 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 cp.cygx_auth=1
- OR (a.company_id = ? AND cp.permission_name = '策略' )` // 兼容永续状态
- //WHERE a.company_id=? AND b.status IN('正式','试用','永续')`
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId, companyId).QueryRow(&item)
- return
- }
- // 获取对应销售以及销售的手机号
- func GetSellerDetailAllByCompanyId(companyId int) (item *CompanyDetail, err error) {
- sql := ` SELECT c.mobile ,c.real_name as seller_name,a.company_name
- FROM
- company AS a
- INNER JOIN company_product AS b ON a.company_id = b.company_id
- INNER JOIN admin AS c ON b.seller_id = c.admin_id
- WHERE
- b.product_id = 2
- AND a.company_id = ? LIMIT 1`
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId).QueryRow(&item)
- return
- }
- func GetCompanySellerName(companyId int) (sellerName string, err error) {
- sql := ` SELECT
- GROUP_CONCAT( DISTINCT p.seller_name SEPARATOR '/' ) AS sellerName
- FROM
- company_product AS p
- WHERE
- p.company_id = ? `
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId).QueryRow(&sellerName)
- return
- }
- type CompanyProductStatus struct {
- IsSuspend int `description:"1:暂停,0:启用"`
- }
- type CompanyProductDetial struct {
- IsSuspend int `description:"1:暂停,0:启用"`
- Scale string `description:"管理规模,空不填,1::50亿以下,2:50~100亿,3:100亿以上。多个用, 隔开"`
- }
- // 获取对应销售以及销售的手机号
- func GetCompanyProductDetail(companyId, productId int) (item *CompanyProductDetial, err error) {
- sql := ` SELECT * FROM company_product WHERE company_id = ? AND product_id = ?; `
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId, productId).QueryRow(&item)
- return
- }
- type PermissionItem struct {
- ChartPermissionId int `description:"权限id"`
- PermissionName string `description:"权限名称"`
- IsUpgrade int `description:"是否升级,1是,0否"`
- Remark string `description:"备注区分主观客观"`
- }
- func GetCompanyPermissionList(companyId int) (items []*PermissionItem, err error) {
- sql := ` SELECT b.chart_permission_id,b.permission_name,b.remark,a.is_upgrade
- FROM company_report_permission AS a
- INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
- INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
- WHERE a.company_id=?
- AND c.is_suspend=0
- AND b.cygx_auth=1
- AND c.status IN('正式','试用','永续')
- AND a.status IN('正式','试用','永续') ORDER BY b.sort ASC `
- o := orm.NewOrmUsingDB("weekly_report")
- _, err = o.Raw(sql, companyId).QueryRows(&items)
- return
- }
- func GetCompanyProductCount(companyId, productId int) (count int, err error) {
- sql := ` SELECT COUNT(1) AS count FROM company_product WHERE company_id = ? AND product_id = ? AND company_id > 1 `
- o := orm.NewOrmUsingDB("weekly_report")
- err = o.Raw(sql, companyId, productId).QueryRow(&count)
- return
- }
|