Bladeren bron

no message

xingzai 1 jaar geleden
bovenliggende
commit
f8927bc5e4
2 gewijzigde bestanden met toevoegingen van 19 en 4 verwijderingen
  1. 3 2
      controllers/cygx/activity_special_trip.go
  2. 16 2
      services/cygx/activity_special.go

+ 3 - 2
controllers/cygx/activity_special_trip.go

@@ -47,6 +47,7 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
 		return
 	}
+	roleTypeCode := AdminUser.RoleTypeCode
 	var items []*cygx.CygxActivitySpecialTrip
 	var itemsBill []*cygx.CygxActivitySpecialTripBill
 	var itemsMeet []*cygx.CygxActivitySpecialMeetingDetail
@@ -194,7 +195,7 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
 					}
 				}
 				items = append(items, item)
-				err = cygxService.DeductTripRemainingtimesByUser(infoUser, activityInfo) //扣除用户专项调研剩余次数
+				err = cygxService.DeductTripRemainingtimesByUser(infoUser, activityInfo, roleTypeCode) //扣除用户专项调研剩余次数
 				if err != nil {
 					br.Msg = "操作失败"
 					br.ErrMsg = "操作失败,Err:" + err.Error()
@@ -212,7 +213,7 @@ func (this *ActivitySpecialTripCoAntroller) AddUser() {
 				if time.Now().Add(+time.Hour * 48).After(resultTime) {
 					itemBill.BillDetailed = 0 //48小时之内,取消报名之后二次报名,不扣除流水记录
 				} else {
-					err = cygxService.DeductTripRemainingtimesByUser(infoUser, activityInfo) //扣除用户专项调研剩余次数
+					err = cygxService.DeductTripRemainingtimesByUser(infoUser, activityInfo, roleTypeCode) //扣除用户专项调研剩余次数
 					if err != nil {
 						br.Msg = "操作失败"
 						br.ErrMsg = "操作失败,Err:" + err.Error()

+ 16 - 2
services/cygx/activity_special.go

@@ -759,10 +759,22 @@ func GetSpecialBillMaxChartPermissionId(user *cygx.UserAndCompanyName) (maxChart
 }
 
 // DeductTripRemainingtimesByUser 扣除用户专项调研剩余次数
-func DeductTripRemainingtimesByUser(user *cygx.UserAndCompanyName, activityInfo *cygx.ActivitySpecialDetail) (err error) {
+func DeductTripRemainingtimesByUser(user *cygx.UserAndCompanyName, activityInfo *cygx.ActivitySpecialDetail, roleTypeCode string) (err error) {
+
 	msgTemplate := "您的专项调研次数已用完,如仍想参加,请与您的对口销售商议"
 	companyId := user.CompanyId
 	chartPermissionName := activityInfo.ChartPermissionName
+
+	companyProduct, e := company.GetCompanyProductByCompanyIdAndProductId(companyId, utils.COMPANY_PRODUCT_RAI_ID)
+	if e != nil {
+		err = errors.New("GetCompanyProductByCompanyIdAndProductId, Err:" + e.Error())
+		return
+	}
+	//永续客户不做判断
+	if companyProduct.Status == utils.COMPANY_STATUS_FOREVER {
+		return
+	}
+
 	var condition string
 	var pars []interface{}
 	condition = " AND  company_id  = ?  AND points  > 0   ORDER BY  points DESC LIMIT 1   "
@@ -779,8 +791,9 @@ func DeductTripRemainingtimesByUser(user *cygx.UserAndCompanyName, activityInfo
 		err = errors.New("GetCygxActivitySpecialPermissionPointsList, Err:" + e.Error())
 		return
 	}
+
 	//如果没有剩余的点数,就返回
-	if len(activitySpecialPermissionPointsList) == 0 {
+	if len(activitySpecialPermissionPointsList) == 0 && roleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
 		err = errors.New(msgTemplate)
 		return
 	}
@@ -796,6 +809,7 @@ func DeductTripRemainingtimesByUser(user *cygx.UserAndCompanyName, activityInfo
 		err = errors.New("UpdateCygxActivitySpecialPermissionPoints, Err:" + e.Error())
 		return
 	}
+
 	return
 }