package company import ( "github.com/beego/beego/v2/client/orm" "hongze/hz_crm_api/utils" ) type CompanySellers struct { AdminId int `description:"系统用户id"` AdminName string `description:"系统用户名称"` RealName string `description:"用户真实名称"` } func GetCompanySeller(roleTypeCode string) (items []*CompanySellers, err error) { o := orm.NewOrm() sql := ` SELECT a.admin_id,a.admin_name,real_name FROM admin AS a INNER JOIN sys_role AS b ON a.role_id=b.role_id WHERE enabled=1 AND b.role_type_code IN(` + roleTypeCode + `) ORDER BY created_time DESC ` _, err = o.Raw(sql).QueryRows(&items) return } type CompanySellerResp struct { List []*CompanySellers } // DepartmentGroupSellersResp 销售列表(根据部门、分组来) type DepartmentGroupSellersResp struct { List []DepartmentGroupSellers } type DepartmentGroupSellers struct { AdminId string `description:"系统用户id"` //AdminName string `description:"系统用户名称"` RealName string `description:"用户真实名称"` ChildrenList []DepartmentGroupSellers `description:"销售列表"` RoleTypeCode string `description:"角色编码"` Authority int `description:"管理权限,0:无,1:部门负责人,2:小组负责人,或者ficc销售主管,4:ficc销售组长"` } func GetCompanyCheckSeller(condition string, pars []interface{}) (items []*CompanySellers, err error) { o := orm.NewOrm() sql := ` SELECT a.admin_id,a.admin_name,real_name FROM admin AS a INNER JOIN sys_role AS b ON a.role_id=b.role_id WHERE enabled=1 AND b.role_type_code IN(` + utils.ROLE_TYPE_SELLERS + `) ` if condition != "" { sql += condition } sql += `ORDER BY created_time DESC` _, err = o.Raw(sql, pars).QueryRows(&items) return } // 根据企业id获取对应的销售信息 func GetCompanySellerByCompanyId(companyId int) (items []*CompanySellers, err error) { o := orm.NewOrm() sql := ` SELECT a.admin_id,a.admin_name,real_name FROM admin AS a INNER JOIN sys_role AS b ON a.role_id=b.role_id INNER JOIN company_product AS c ON a.admin_id=c.seller_id WHERE enabled=1 AND c.company_id=? ORDER BY created_time DESC ` _, err = o.Raw(sql, companyId).QueryRows(&items) return } // GetCompanySellerByRoleCodes func GetCompanySellerByRoleCodes(roleTypeCodes []string) (items []*CompanySellers, err error) { itemsLen := len(roleTypeCodes) if itemsLen == 0 { return } o := orm.NewOrm() sql := `SELECT a.admin_id, a.admin_name, real_name FROM admin AS a INNER JOIN sys_role AS b ON a.role_id = b.role_id WHERE enabled = 1 AND b.role_type_code IN (` + utils.GetOrmInReplace(itemsLen) + `) ORDER BY created_time DESC ` _, err = o.Raw(sql, roleTypeCodes).QueryRows(&items) return }