فهرست منبع

C类电话会关于本组可见的权限判断处理

xingzai 2 سال پیش
والد
کامیت
c5dfc58cf0
2فایلهای تغییر یافته به همراه26 افزوده شده و 4 حذف شده
  1. 19 2
      models/activity.go
  2. 7 2
      services/activity.go

+ 19 - 2
models/activity.go

@@ -1,8 +1,10 @@
 package models
 
 import (
+	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"hongze/hongze_cygx/utils"
 	"strings"
 	"time"
 )
@@ -289,6 +291,13 @@ func DeleteActivity(activityId int) (err error) {
 
 //修改活动状态至进行中
 func UpdateActivitySattusToHaveInHand() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("修改活动状态至进行中失败"+err.Error(), 2)
+			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "修改活动状态至进行中失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+		}
+	}()
 	o := orm.NewOrm()
 	resultTime_30 := time.Now().Add(-time.Minute * 30).Format("2006-01-02 15:04:05")
 	resultTime_60 := time.Now().Add(-time.Minute * 60).Format("2006-01-02 15:04:05")
@@ -296,15 +305,23 @@ func UpdateActivitySattusToHaveInHand() (err error) {
 	var condition string
 	condition += ` AND activity_time < NOW()`
 	sqlOr = condition
-	condition += ` AND (activity_type_id IN ( 1, 2, 3 ) AND  activity_time > ` + "'" + resultTime_30 + "'" + ")"
+	condition += ` AND (activity_type_id IN ( 1, 2, 3, 7 ) AND  activity_time > ` + "'" + resultTime_30 + "'" + ")"
 	condition += ` OR(activity_type_id IN ( 4, 5, 6 ) AND  activity_time > ` + "'" + resultTime_60 + "'" + sqlOr + ")"
 	msql := " UPDATE cygx_activity SET active_state = 2 WHERE 1 = 1 " + condition
 	_, err = o.Raw(msql).Exec()
+
 	return
 }
 
 //修改活动状态至已结束
 func UpdateActivitySattusToComplete() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go utils.SendAlarmMsg("修改活动状态至已结束"+err.Error(), 2)
+			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "修改活动状态至已结束 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
+		}
+	}()
 	o := orm.NewOrm()
 	resultTime_30 := time.Now().Add(-time.Minute * 30).Format("2006-01-02 15:04:05")
 	resultTime_60 := time.Now().Add(-time.Minute * 60).Format("2006-01-02 15:04:05")
@@ -312,7 +329,7 @@ func UpdateActivitySattusToComplete() (err error) {
 	var condition string
 	//condition += ` AND activity_time < NOW()`
 	//sqlOr = condition
-	condition += ` AND (activity_type_id IN ( 1, 2, 3 ) AND  activity_time < ` + "'" + resultTime_30 + "'" + ")"
+	condition += ` AND (activity_type_id IN ( 1, 2, 3, 7 ) AND  activity_time < ` + "'" + resultTime_30 + "'" + ")"
 	condition += ` OR(activity_type_id IN ( 4, 5, 6 ) AND  activity_time < ` + "'" + resultTime_60 + "'" + ")"
 	msql := " UPDATE cygx_activity SET active_state = 3 WHERE 1 = 1 " + condition
 	_, err = o.Raw(msql).Exec()

+ 7 - 2
services/activity.go

@@ -359,7 +359,7 @@ func GetUserType(companyId int) (userType int, permissionStrnew string, err erro
 				}
 			} else if companyDetail.Status == "冻结" {
 				userType = 6
-			} else if companyDetail.Status == "流失" {
+			} else if companyDetail.Status == "流失" {
 				userType = 7
 			}
 		}
@@ -543,7 +543,12 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 		}
 	}
 	if adminIds != "" {
-		conditionOr += ` OR ( art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
+		conditionOr += ` OR (  art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' ` + ` AND  art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
+		if companyProduct != nil {
+			if companyProduct.Scale != "" {
+				conditionOr += ` OR (  art.scale LIKE '%` + companyProduct.Scale + `%'` + ` AND  art.admin_id IN (` + adminIds + `) ` + conditionAdmin + `) `
+			}
+		}
 	}
 
 	conditionActivity = condition + permissionSqlStr + sqlExport + conditionOr