Bläddra i källkod

Merge branch 'cygx_12.9' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 1 år sedan
förälder
incheckning
d2cf893a68

+ 5 - 5
controllers/report_billboard.go

@@ -81,11 +81,11 @@ func (this *ReportBillboardController) FllowList() {
 		condition += ` AND man.industrial_management_id IN (` + utils.GetOrmInReplace(activeIndustryLen) + `)`
 		pars = append(pars, activeIndustryIds)
 	}
-	nowTime := time.Now().Local()
-	startTime := nowTime.AddDate(0, -1, 0)
-	endTime := nowTime.AddDate(0, 0, -1)
-	condition += ` AND idf.create_time BETWEEN ? AND ?`
-	pars = append(pars, startTime, endTime)
+	//nowTime := time.Now().Local()
+	//startTime := nowTime.AddDate(0, -1, 0)
+	//endTime := nowTime.AddDate(0, 0, -1)
+	//condition += ` AND idf.create_time BETWEEN ? AND ?`
+	//pars = append(pars, startTime, endTime)
 
 	// 查询近一个月至昨日关注度最高的15个产业(不再指定行业, chartPermissionId可筛选行业)
 	list, e := models.GetTopIndustryFollowData(0, topNum, condition, pars)

+ 10 - 0
controllers/user.go

@@ -1028,6 +1028,16 @@ func (this *UserController) ApplyTryOut() {
 		}
 		title = ProductInteriorDetail.Title
 		source = "productinterior"
+	} else if tryType == "YanxuanSpecial" {
+		// 研选专栏
+		YanxuanSpecialBySpeciaDetail, e := models.GetYanxuanSpecialBySpecialId(detailId)
+		if e != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = "产品内测信息有误, 不存在的detailId: " + strconv.Itoa(detailId)
+			return
+		}
+		title = YanxuanSpecialBySpeciaDetail.Title
+		source = "yanxuanspecial"
 	}
 
 	//缓存校验

+ 14 - 1
controllers/yanxuan_special.go

@@ -211,7 +211,20 @@ func (this *YanxuanSpecialController) Detail() {
 	resp.ExamineStatus = item.Status
 	if item.UserId != sysUser.UserId && item.Status != 3 && !strings.Contains(cnf.ConfigValue, sysUser.Mobile) {
 		resp.CygxYanxuanSpecialItem = *new(models.CygxYanxuanSpecialItem) // 如果内容不可见,就把内容置空
-		resp.HasPermission = 2
+		//resp.HasPermission = 2
+	}
+
+	//如果是用户本人写的专栏,那么就不做校验
+	if item.UserId == sysUser.UserId {
+		resp.HasPermission = 1
+	} else {
+		hasPermission, err := services.GetUserRaiPermissionYanXuanInfo(sysUser)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败, Err:" + err.Error()
+			return
+		}
+		resp.HasPermission = hasPermission
 	}
 
 	//如果在web端有样式或者上传了文件,小程序就禁止编辑修改内容

+ 3 - 7
models/industry_fllow.go

@@ -186,19 +186,15 @@ func GetCountCygxIndustryFllowByUidAndChartPermissionId(userId, ChartPermissionI
 // GetTopIndustryFollowData 获取关注度最高的产业关注数据
 func GetTopIndustryFollowData(startSize, pageSize int, condition string, pars []interface{}) (list []*IndustrialManagement, err error) {
 	sql := `SELECT
-				COUNT(1) AS one_month_follow_num,
 				man.*
 			FROM
-				cygx_industry_fllow AS idf
-			JOIN cygx_industrial_management AS man ON idf.industrial_management_id = man.industrial_management_id
+                cygx_industrial_management AS man 
 			WHERE 1 = 1 `
 	if condition != "" {
 		sql += condition
 	}
-	sql += ` GROUP BY
-				idf.industrial_management_id
-			ORDER BY
-				one_month_follow_num DESC
+	sql += ` ORDER BY
+				one_month_follow_num DESC , man.industrial_management_id DESC 
 			LIMIT ?,?`
 	_, err = orm.NewOrm().Raw(sql, pars, startSize, pageSize).QueryRows(&list)
 	return

+ 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

@@ -638,11 +638,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, ",")
 
@@ -856,11 +857,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 {
@@ -932,10 +934,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
@@ -1236,10 +1240,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

+ 42 - 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,41 @@ 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 && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetSellerByAdminId, Err: " + e.Error())
+			return
+		}
+		if adminUser != nil {
+			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
+}

+ 8 - 2
services/cygx_yanxuan_special_company.go

@@ -93,6 +93,12 @@ func AddSpecialRecord(user *models.WxUserItem, specialId, stopTime int) (err err
 			return
 		}
 
+		detail, e := models.GetYanxuanSpecialBySpecialId(specialId)
+		if e != nil {
+			err = errors.New("GetYanxuanSpecialBySpecialId, Err: " + e.Error())
+			return
+		}
+
 		item := new(models.CygxYanxuanSpecialRecord)
 		item.UserId = user.UserId
 		item.Mobile = user.Mobile
@@ -122,7 +128,7 @@ func AddSpecialRecord(user *models.WxUserItem, specialId, stopTime int) (err err
 			}
 
 			//专栏作者Pv数量进行加一
-			e = models.UpdateCygxYanxuanSpecialAuthorPv(user.UserId)
+			e = models.UpdateCygxYanxuanSpecialAuthorPv(detail.UserId)
 			if e != nil {
 				err = errors.New("UpdateCygxYanxuanSpecialAuthorPv, Err: " + e.Error())
 				return
@@ -137,7 +143,7 @@ func AddSpecialRecord(user *models.WxUserItem, specialId, stopTime int) (err err
 				}
 
 				//专栏作者Uv数量进行加一
-				e = models.UpdateCygxYanxuanSpecialAuthorUv(user.UserId)
+				e = models.UpdateCygxYanxuanSpecialAuthorUv(detail.UserId)
 				if e != nil {
 					err = errors.New("UpdateCygxYanxuanSpecialAuthorUv, Err: " + e.Error())
 					return

+ 2 - 2
services/task.go

@@ -35,7 +35,7 @@ func Task() {
 		getChartListByApi := task.NewTask("getChartListByApi", "0 */10 * * * *", GetChartDetailByChartId) //同步图表
 		task.AddTask("getChartListByApi", getChartListByApi)
 
-		getYiDongActivityMeeting := task.NewTask("getYiDongActivityMeeting", "0 */60 * * * *", GetYiDongActivityMeeting) //同步易董的活动信息
+		getYiDongActivityMeeting := task.NewTask("getYiDongActivityMeeting", "0 */60 * * * *", GetYiDongActivityMeeting) //同步易董的活动到会信息
 		task.AddTask("getYiDongActivityMeeting", getYiDongActivityMeeting)
 
 		yiDongSignAppointmentsForThird := task.NewTask("yiDongSignAppointmentsForThird", "0 */10 * * * *", YiDongSignAppointmentsForThird) //会前一小时将,报名信息同步到易董
@@ -93,7 +93,7 @@ func Task() {
 		reportBillboardUpdate := task.NewTask("reportBillboardUpdate", "0 10 0 * * *", ReportBillboardUpdate) //报告榜单更新
 		task.AddTask("reportBillboardUpdate", reportBillboardUpdate)
 
-		doActivityOnenIdWxTemplateMsg := task.NewTask("doActivityOnenIdWxTemplateMsg", "0 30 16 * * 1", DoActivityOnenIdWxTemplateMsg) //周日下午四点半推送全部活动
+		doActivityOnenIdWxTemplateMsg := task.NewTask("doActivityOnenIdWxTemplateMsg", "0 30 16 * * 0", DoActivityOnenIdWxTemplateMsg) //周日下午四点半推送全部活动
 		task.AddTask("doActivityOnenIdWxTemplateMsg", doActivityOnenIdWxTemplateMsg)
 
 		updateCygxActivitySpecialSignupNum := task.NewTask("updateCygxActivitySpecialSignupNum", "0 25 0 * * *", UpdateCygxActivitySpecialSignupNum) //修改专项调研,用户与公司的参与数量

+ 24 - 0
services/user_permission.go

@@ -85,3 +85,27 @@ func GetUserRaiPermissionInfo(userId, companyId int) (authInfo models.UserPermis
 	permissionArr = strings.Split(permissions, ",")
 	return
 }
+
+// 查询研选的权限状态
+func GetUserRaiPermissionYanXuanInfo(user *models.WxUserItem) (hasPermission int, err error) {
+	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)
+	companyReportPermissionDetail, e := models.GetCompanyReportPermissionDetailByCondition(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCompanyReportPermissionDetailByCondition, Err: " + e.Error())
+		return
+	}
+	//如果用户没有研选权限,那么就获取他对应的状态码
+	if companyReportPermissionDetail == nil {
+		hasPermission, _, _, _, e = GetUserHasPermissionArticle(user)
+		if e != nil {
+			err = errors.New("GetUserHasPermissionArticle, Err: " + e.Error())
+			return
+		}
+	} else {
+		hasPermission = 1
+	}
+	return
+}