|
@@ -1305,6 +1305,8 @@ func (this *CompanyUserController) List() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ mapRaiUserStatus := services.GetRaiUserStatus(userIds)
|
|
|
+
|
|
|
if isUserYanXuanButtonShow {
|
|
|
userYanxuanPermissionMap := cygxService.GetCygxUserYanxuanPermissionMapItem(userIds) // 如果是权益部门下的人,则展示研选相关的信息
|
|
|
userInteractionNumMap := cygxService.GetUserInteractionNumMap(userIds) // 如果是权益部门下的人,展示互动量相关的信息
|
|
@@ -1358,6 +1360,7 @@ func (this *CompanyUserController) List() {
|
|
|
// 分产品阅读统计
|
|
|
//list[i].YbProductViewTotal = userYbViewsMap[int(item.UserId)]
|
|
|
list[i].MfyxInteractionNum = userInteractionNumMap[int(item.UserId)]
|
|
|
+ list[i].RaiUserStatus = mapRaiUserStatus[int(item.UserId)]
|
|
|
//权益销售查看用户研选的信息
|
|
|
if userYanxuanPermissionMap[int(item.UserId)] != nil {
|
|
|
mfyxItem := userYanxuanPermissionMap[int(item.UserId)]
|
|
@@ -6630,3 +6633,112 @@ func (this *CompanyController) EditUserOutboundMobile() {
|
|
|
br.Success = true
|
|
|
br.Msg = "标记成功"
|
|
|
}
|
|
|
+
|
|
|
+// UserPermissionList
|
|
|
+// @Title 联系人权限列表
|
|
|
+// @Description 联系人权限列表接口
|
|
|
+// @Param UserId query int true "用户ID"
|
|
|
+// @Success 200 {object} company.CompanyUserListResp
|
|
|
+// @router /user/PermissionList [get]
|
|
|
+func (this *CompanyUserController) UserPermissionList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ userId, _ := this.GetInt("UserId")
|
|
|
+ if userId < 1 {
|
|
|
+ br.Msg = "用户ID不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionItems, err := company.GetPermissionLookItemsRaiByTypeByUser(utils.COMPANY_PRODUCT_RAI_ID)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取权限信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取客户权益报告权限
|
|
|
+ reportPermissions, e := company.GetUserReportPermissionListByUserId(utils.COMPANY_PRODUCT_RAI_ID, userId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("获取客户权益报告权限列表失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ reportPermissionMap := make(map[int]*company.PermissionLookItem, 0)
|
|
|
+ for i := range reportPermissions {
|
|
|
+ reportPermissionMap[reportPermissions[i].ChartPermissionId] = reportPermissions[i]
|
|
|
+ }
|
|
|
+ resp := new(company.UserPermissionLookList)
|
|
|
+ respList := make([]*company.UserPermissionLookItem, 0)
|
|
|
+ checkList := make([]int, 0) // 客户拥有的权限, 用于前端匹配权限列表回显
|
|
|
+
|
|
|
+ for _, v := range permissionItems {
|
|
|
+ item := new(company.UserPermissionLookItem)
|
|
|
+ p := reportPermissionMap[v.ChartPermissionId]
|
|
|
+ if p != nil {
|
|
|
+
|
|
|
+ checkList = append(checkList, v.ChartPermissionId)
|
|
|
+ item.StartDate = p.StartDate
|
|
|
+ item.EndDate = p.EndDate
|
|
|
+ item.Status = p.Status
|
|
|
+
|
|
|
+ // 计算到期天数
|
|
|
+ endDateTime, _ := time.Parse(utils.FormatDate, item.EndDate)
|
|
|
+ endDateTime = endDateTime.AddDate(0, 0, 1)
|
|
|
+ sub := endDateTime.Sub(time.Now())
|
|
|
+ if sub < 0 {
|
|
|
+ sub = 0
|
|
|
+ }
|
|
|
+ expireDay := fmt.Sprintf("%v", int(sub.Hours()/24))
|
|
|
+ item.ExpireDay = expireDay
|
|
|
+ } else {
|
|
|
+ item.Status = "关闭"
|
|
|
+ item.ExpireDay = "0"
|
|
|
+ }
|
|
|
+
|
|
|
+ item.ChartPermissionId = v.ChartPermissionId
|
|
|
+ item.PermissionName = v.PermissionName
|
|
|
+ item.ClassifyName = v.ClassifyName
|
|
|
+ respList = append(respList, item)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 拼接研选部分数据
|
|
|
+ userYanxuanPermissionMap := cygxService.GetCygxUserYanxuanPermissionMapItem([]int{userId}) // 如果是权益部门下的人,则展示研选相关的信息
|
|
|
+ item := new(company.UserPermissionLookItem)
|
|
|
+ item.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
|
|
|
+ item.PermissionName = utils.CHART_PERMISSION_NAME_MF_YANXUAN
|
|
|
+ p := userYanxuanPermissionMap[userId]
|
|
|
+ if p != nil {
|
|
|
+ checkList = append(checkList, item.ChartPermissionId)
|
|
|
+ item.StartDate = p.StartDate
|
|
|
+ item.EndDate = p.EndDate
|
|
|
+ item.Status = p.Status
|
|
|
+
|
|
|
+ // 计算到期天数
|
|
|
+ endDateTime, _ := time.Parse(utils.FormatDate, item.EndDate)
|
|
|
+ endDateTime = endDateTime.AddDate(0, 0, 1)
|
|
|
+ sub := endDateTime.Sub(time.Now())
|
|
|
+ if sub < 0 {
|
|
|
+ sub = 0
|
|
|
+ }
|
|
|
+ expireDay := fmt.Sprintf("%v", int(sub.Hours()/24))
|
|
|
+ item.ExpireDay = expireDay
|
|
|
+ } else {
|
|
|
+ item.Status = "关闭"
|
|
|
+ item.ExpireDay = "0"
|
|
|
+ }
|
|
|
+ respList = append(respList, item)
|
|
|
+ resp.Items = respList
|
|
|
+ resp.CheckList = checkList
|
|
|
+ resp.ClassifyName = utils.COMPANY_CLASSIFY_RAI
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|