xingzai 1 tahun lalu
induk
melakukan
3f7396a965
3 mengubah file dengan 37 tambahan dan 4 penghapusan
  1. 23 3
      controllers/user.go
  2. 6 1
      services/activity.go
  3. 8 0
      utils/common.go

+ 23 - 3
controllers/user.go

@@ -210,24 +210,44 @@ func (this *UserController) Detail() {
 				//查询研选的权限状态
 				var condition string
 				var pars []interface{}
-				condition += " AND company_id = ?  AND status  IN ('正式','试用')  AND chart_permission_id = ?   ORDER BY company_report_permission_id DESC LIMIT 1  "
-				pars = append(pars, user.CompanyId, utils.CHART_PERMISSION_ID_YANXUAN)
+				condition += " AND company_id = ?  AND status  IN ('正式','试用')  AND chart_permission_id  IN  (31,52)    "
+				pars = append(pars, user.CompanyId)
 				companyReportPermissionDetail, err := models.GetCompanyReportPermissionDetailByCondition(condition, pars)
 				if err != nil && err.Error() != utils.ErrNoRow() {
 					br.Msg = "获取信息失败"
 					br.ErrMsg = "获取用户所在公司剩余的点失败,Err:" + err.Error()
 					return
 				}
+				companyReportPermissionList, err := models.GetCompanyReportPermissionList(condition, pars)
+				if err != nil && err.Error() != utils.ErrNoRow() {
+					br.Msg = "获取信息失败"
+					br.ErrMsg = "获取用户所在公司剩余的点失败,Err:" + err.Error()
+					return
+				}
 				companyProduct, err := models.GetCompanyProductDetail(user.CompanyId, 2)
 				if err != nil {
 					br.Msg = "获取信息失败"
 					br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
 					return
 				}
-
 				if companyReportPermissionDetail == nil || companyProduct.IsSuspend == 1 {
 					//hasPermission = 1
 				} else {
+					//有研选订阅或研选扣点包任意一项试用权限,即为试用客户,期限显示两项合并之后的最长时间
+					minDate := time.Now()
+					maxDate := time.Now()
+					var permissionStatus string
+					for _, v := range companyReportPermissionList {
+						if utils.StrDateToDate(v.StartDate).Before(minDate) {
+							minDate = utils.StrDateToDate(v.StartDate)
+						}
+						if utils.StrDateToDate(v.EndDate).After(maxDate) {
+							maxDate = utils.StrDateToDate(v.EndDate)
+						}
+						if permissionStatus != "正式" {
+							permissionStatus = v.Status
+						}
+					}
 					resp.PermissionStatus = companyReportPermissionDetail.Status
 					resp.StartDate = companyReportPermissionDetail.StartDate
 					resp.EndDate = companyReportPermissionDetail.EndDate

+ 6 - 1
services/activity.go

@@ -884,6 +884,11 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem, pe
 func ActivityArrButtonShow(items []*models.ActivityDetail, user *models.WxUserItem, permissionArr []string) (itemsActivity []*models.ActivityListResp) {
 
 	var activityIds []int
+	userPermissionCode, e := GetUserPermissionCode(user.UserId, user.CompanyId)
+	if e != nil {
+		e = errors.New("获取用户权限失败, userPermissionCode Err: " + e.Error())
+		return
+	}
 	authInfo, permissionArr, e := GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
 	if e != nil {
 		e = errors.New("获取用户权限失败, Err: " + e.Error())
@@ -1108,7 +1113,7 @@ func ActivityArrButtonShow(items []*models.ActivityDetail, user *models.WxUserIt
 		if au.HasPermission == 1 {
 			// 非宏观权限进一步判断是否有权限
 			if v.ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, v.ChartPermissionName) {
-				au.HasPermission = 2
+				au.HasPermission = userPermissionCode
 			}
 			//如果是易董的活动,主、副权限有一个满足即可 查研观向 11.0
 			if v.YidongActivityId != "" {

+ 8 - 0
utils/common.go

@@ -836,3 +836,11 @@ func InterceptHtmlLength(body string, length int) (newbody string) {
 	newbody = bodyText[0:length]
 	return
 }
+
+// 字符串转换为time类型
+func StrDateToDate(strTime string) time.Time {
+	timeLayout := "2006-01-02"           //转化所需模板
+	loc, _ := time.LoadLocation("Local") //重要:获取时区
+	resultTime, _ := time.ParseInLocation(timeLayout, strTime, loc)
+	return resultTime
+}