|
@@ -4,8 +4,10 @@ import (
|
|
|
"fmt"
|
|
|
"hongze/hongze_yb/models/tables/admin"
|
|
|
"hongze/hongze_yb/models/tables/chart_permission"
|
|
|
+ "hongze/hongze_yb/models/tables/company"
|
|
|
"hongze/hongze_yb/models/tables/company_product"
|
|
|
"hongze/hongze_yb/models/tables/company_report_permission"
|
|
|
+ "hongze/hongze_yb/models/tables/wx_user"
|
|
|
"hongze/hongze_yb/utils"
|
|
|
)
|
|
|
|
|
@@ -45,9 +47,18 @@ func GetValidPermissionIdListByCompany2ProductId(companyId, productId int64) (li
|
|
|
|
|
|
// PermissionCheckInfo 权限校验完成后的结果
|
|
|
type PermissionCheckInfo struct {
|
|
|
- Name string `json:"name" description:"销售名称"`
|
|
|
- Mobile string `json:"mobile" description:"手机号"`
|
|
|
- Type string `json:"type" description:"校验失败,没有权限,需要让前端处理的类型,枚举值:apply,contact"`
|
|
|
+ Name string `json:"name" description:"销售名称"`
|
|
|
+ Mobile string `json:"mobile" description:"手机号"`
|
|
|
+ Type string `json:"type" description:"校验失败,没有权限,需要让前端处理的类型,枚举值:apply,contact"`
|
|
|
+ CustomerInfo CustomerInfo `json:"customer_info" description:"客户信息"`
|
|
|
+}
|
|
|
+
|
|
|
+// CustomerInfo 客户信息
|
|
|
+type CustomerInfo struct {
|
|
|
+ CompanyName string `json:"company_name" description:"客户(公司)名称"`
|
|
|
+ Name string `json:"name" description:"联系人名称"`
|
|
|
+ Mobile string `json:"mobile" description:"手机号"`
|
|
|
+ Status string `json:"status" description:"状态"`
|
|
|
}
|
|
|
|
|
|
// CheckPermissionByFicc 权限校验
|
|
@@ -107,12 +118,13 @@ func CheckPermissionByFicc(companyId int64, permissionId int) (ok bool, permissi
|
|
|
}
|
|
|
|
|
|
// CheckPermissionByPermissionIdList2Ficc 根据权限id集合权限校验
|
|
|
-func CheckPermissionByPermissionIdList2Ficc(companyId int64, permissionIdList []int) (ok bool, permissionCheckInfo PermissionCheckInfo, err error) {
|
|
|
+func CheckPermissionByPermissionIdList2Ficc(companyId int64, userId int, permissionIdList []int) (ok bool, permissionCheckInfo PermissionCheckInfo, err error) {
|
|
|
//非潜在客户
|
|
|
if len(permissionIdList) <= 0 {
|
|
|
err = fmt.Errorf("权限异常,请传入需要校验的权限")
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
permissionMap := make(map[int]bool)
|
|
|
for _, permissionId := range permissionIdList {
|
|
|
permissionMap[permissionId] = true
|
|
@@ -132,6 +144,31 @@ func CheckPermissionByPermissionIdList2Ficc(companyId int64, permissionIdList []
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ wxUser, err := wx_user.GetByUserId(userId)
|
|
|
+ if err != nil {
|
|
|
+ permissionCheckInfo.Type = "apply"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //客户信息
|
|
|
+ companyInfo, tmpErr := company.GetByCompanyId(companyId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ // 没有开通ficc的客户
|
|
|
+ if tmpErr == utils.ErrNoRow {
|
|
|
+ permissionCheckInfo.Type = "apply"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ customerInfo := CustomerInfo{
|
|
|
+ CompanyName: companyInfo.CompanyName,
|
|
|
+ Status: companyProductInfo.Status,
|
|
|
+ Name: wxUser.RealName,
|
|
|
+ Mobile: wxUser.Mobile,
|
|
|
+ }
|
|
|
+ permissionCheckInfo.CustomerInfo = customerInfo
|
|
|
+
|
|
|
// 如果客户ficc产品的状态是流失,那么也是让去申请
|
|
|
if companyProductInfo.Status == "流失" {
|
|
|
permissionCheckInfo.Type = "apply"
|