xingzai 1 ano atrás
pai
commit
924b7dcba1
3 arquivos alterados com 79 adições e 18 exclusões
  1. 15 0
      models/seller.go
  2. 24 18
      services/activity.go
  3. 40 0
      services/admin.go

+ 15 - 0
models/seller.go

@@ -75,3 +75,18 @@ func GetSelleridWhichGroup(companyId, productId int) (adminId string, err error)
 	err = o.Raw(sql, companyId, productId).QueryRow(&adminId)
 	return
 }
+
+func GetSellerByAdminMobile(mobile string) (item *AdminItem, err error) {
+	o := orm.NewOrmUsingDB("weekly_report")
+	sql := ` SELECT * FROM admin WHERE mobile=?  `
+	err = o.Raw(sql, mobile).QueryRow(&item)
+	return
+}
+
+// GetAdminListByGroupId 根据分组id获取系统用户列表
+func GetAdminListByGroupId(groupId int) (items []*Admin, err error) {
+	sql := `SELECT * FROM admin WHERE group_id=? and enabled=1 `
+	o := orm.NewOrmUsingDB("weekly_report")
+	_, err = o.Raw(sql, groupId).QueryRows(&items)
+	return
+}

+ 24 - 18
services/activity.go

@@ -624,11 +624,12 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
 	}
 	// 处理本组可见权限
 	if activityInfo.VisibleRange == 1 {
-		adminIds, e := models.GetSelleridWhichGroup(user.CompanyId, 2)
-		if e != nil {
-			err = errors.New("GetSelleridWhichGroup, Err: " + e.Error())
-			return
-		}
+		//adminIds, e := models.GetSelleridWhichGroup(user.CompanyId, 2)
+		//if e != nil {
+		//	err = errors.New("GetSelleridWhichGroup, Err: " + e.Error())
+		//	return
+		//}
+		adminIds := GetSelleridWhichGroup(user.CompanyId, 2, user.Mobile)
 		haveVisibleRange := false
 		adminIdSlice := strings.Split(adminIds, ",")
 
@@ -842,11 +843,12 @@ func GetShareNoPowe(activityInfo *models.ActivityDetail, permissionStr string, u
 func CheckUserPowerByActivityChoose(user *models.WxUserItem, activityInfo *models.ActivityDetail) (noPower bool, err error) {
 	//处理 见范围 1,仅本组可见 、2,全部客户可见
 	if activityInfo.VisibleRange == 1 {
-		adminIds, errAdmin := models.GetSelleridWhichGroup(user.CompanyId, 2)
-		if errAdmin != nil {
-			err = errAdmin
-			return
-		}
+		//adminIds, errAdmin := models.GetSelleridWhichGroup(user.CompanyId, 2)
+		//if errAdmin != nil {
+		//	err = errAdmin
+		//	return
+		//}
+		adminIds := GetSelleridWhichGroup(user.CompanyId, 2, user.Mobile)
 		sliceAdminIds := strings.Split(adminIds, ",")
 		var haveAdminId bool
 		for _, v := range sliceAdminIds {
@@ -918,10 +920,12 @@ func GetHavePower(activityInfo *models.ActivityDetail, permissionStr, companyDet
 // @Param   ikType   query   int  false       "联想词类型 , 1不做联想,2,做除初始词的联想,3所有联想"
 func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermissionIds, whichDay, activeState, label string, isPower, source int, keyWord string, playBack, ikType int) (conditionActivity string, err error) {
 	keyWordNoIk := keyWord
-	adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
-	if err != nil {
-		return
-	}
+	//adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
+	//if err != nil {
+	//	return
+	//}
+
+	adminIds := GetSelleridWhichGroup(user.CompanyId, 2, user.Mobile)
 	userType, permissionStr, permissionStrZhengShi, err := GetUserTypeZhengShi(user.CompanyId)
 	if err != nil {
 		return
@@ -1222,10 +1226,12 @@ func ActivityConditioninitSql(user *models.WxUserItem, condition string, isPower
 	if (GetBelongingRaiIt(user.Mobile) && user.CompanyId == utils.HZ_COMPANY_ID) || user.UserId == 0 {
 		return
 	}
-	adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
-	if err != nil {
-		return
-	}
+	//adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
+	//if err != nil {
+	//	return
+	//}
+	adminIds := GetSelleridWhichGroup(user.CompanyId, 2, user.Mobile)
+
 	userType, permissionStr, permissionStrZhengShi, err := GetUserTypeZhengShi(user.CompanyId)
 	if err != nil {
 		return

+ 40 - 0
services/admin.go

@@ -1,8 +1,12 @@
 package services
 
 import (
+	"errors"
+	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
+	"strconv"
+	"strings"
 )
 
 func GetAdminMobileMap() (mapItem map[string]string, err error) {
@@ -115,3 +119,39 @@ func GetAdminCheckUserMobileMap(user *models.WxUserItem) (mapItem map[string]str
 	mapItem = mapMobile
 	return
 }
+
+// 获取本组的销售ID
+func GetSelleridWhichGroup(companyId, productId int, mobile string) (adminIds string) {
+	var err error
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("获取本组的销售ID GetSelleridWhichGroup失败 ErrMsg:"+err.Error(), 2)
+		}
+	}()
+
+	adminIds, e := models.GetSelleridWhichGroup(companyId, productId)
+	if e != nil {
+		err = errors.New("GetSelleridWhichGroup, Err: " + e.Error())
+		return
+	}
+
+	if mobile != "" {
+		adminUser, e := models.GetSellerByAdminMobile(mobile)
+		if e != nil {
+			err = errors.New("GetSellerByAdminId, Err: " + e.Error())
+			return
+		}
+		adminList, e := models.GetAdminListByGroupId(adminUser.GroupId)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("models GetAdminListByGroupId, Err: " + e.Error())
+			return
+		}
+		var adminIdArr []string
+		for _, v := range adminList {
+			adminIdArr = append(adminIdArr, strconv.Itoa(v.AdminId))
+		}
+		adminIds += "," + strings.Join(adminIdArr, ",")
+	}
+	return
+}