|
@@ -5,6 +5,8 @@ import (
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/http"
|
|
|
+ "hongze/hz_crm_api/models/company"
|
|
|
+ "hongze/hz_crm_api/models/cygx"
|
|
|
"hongze/hz_crm_api/models/roadshow"
|
|
|
"hongze/hz_crm_api/models/system"
|
|
|
"hongze/hz_crm_api/services/alarm_msg"
|
|
@@ -1097,3 +1099,54 @@ func GetCalendarFrom(userPhone, startDate, endDate string) (list []roadshow.User
|
|
|
list, err = getCalendarFrom(userPhone, startDate, endDate)
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 公司添加路演的时候,校验公司对应点数,以及研究员关联行业的权限
|
|
|
+func CheckAddRoadShowCompanyPoint(companyId int, researcherList []*roadshow.CalendarResearcher) (points int, addType int, err error) {
|
|
|
+ addType = 1
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("获取公司剩余点数失败:"+err.Error(), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ productItemRai, e := company.GetCompanyProductByCompanyIdAndProductId(companyId, utils.COMPANY_PRODUCT_RAI_ID)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyProductByCompanyIdAndProductId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ permissionStr, e := cygx.GetCompanyPermission(companyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyPermission, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //用户没有路演服务,以及研究员所关联行业的权限,就进行报错提示
|
|
|
+ if !strings.Contains(permissionStr, utils.LU_YAN_FU_WU) {
|
|
|
+ var adminIds []string
|
|
|
+ for _, v := range researcherList {
|
|
|
+ adminIds = append(adminIds, strconv.Itoa(v.ResearcherId))
|
|
|
+ }
|
|
|
+ askEmailList, e := cygx.GetAskEmailListByAdminIds(strings.Join(adminIds, ","))
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetAskEmailListByAdminIds, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range askEmailList {
|
|
|
+ if !strings.Contains(permissionStr, v.ChartPermissionName) {
|
|
|
+ addType = 2
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ pointsCompany, e := cygx.GetCygxActivitySpecialPermissionPointsCount(companyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivitySpecialPermissionPointsCount, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if pointsCompany > 0 || productItemRai.Status == utils.COMPANY_STATUS_FORMAL {
|
|
|
+ points = len(researcherList)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|