浏览代码

Merge branch 'crm_15.4' of http://8.136.199.33:3000/hongze/hongze_mobile_admin into debug

xingzai 11 月之前
父节点
当前提交
3d3db0d75a
共有 2 个文件被更改,包括 32 次插入3 次删除
  1. 18 3
      models/tables/company_approval/company_approval.go
  2. 14 0
      utils/common.go

+ 18 - 3
models/tables/company_approval/company_approval.go

@@ -303,7 +303,9 @@ func TryOutToFormalXClassRai(companyId, productId, sellerId, companyApprovalId,
 			_ = tx.Commit()
 		}
 	}()
-
+	//123月份申请转正通过时,将试用期限延长(更新)至4.30。456月份申请转正通过时,将试用期限延长至7.31。789月份申请转正通过时,将试用期限延长至10.31。101112月份申请转正通过时,将试用期限延长至次年1.31。
+	endDate = utils.GetLastDayOfQuarter(time.Now()).Format(utils.FormatDate)
+	
 	// 当套餐类型为0时, 不更新套餐类型
 	sql := `UPDATE company_product SET status='永续',try_out_time=NULL,last_description_time=NULL,freeze_time=NULL,renewal_intention=0,is_suspend=0,is_formal=1,approve_status='已审批',end_date=?,rai_package_type=?,modify_time=NOW(),formal_time=NOW(),try_stage=1  WHERE company_id=? `
 	_, err = tx.Raw(sql, endDate, raiPackageType, companyId).Exec()
@@ -338,8 +340,8 @@ func TryOutToFormalXClassRai(companyId, productId, sellerId, companyApprovalId,
 		go company_permission_log.AddCompanyPermissionLog(cpLog)
 	}
 
-	sql = `UPDATE company_report_permission SET  status='永续', end_date=? WHERE  company_id=?  ` // 更改权限的开始时间结束时间
-	_, err = tx.Raw(sql, endDate, companyId).Exec()
+	sql = `DELETE FROM company_report_permission WHERE company_id=? AND product_id=?`
+	_, err = tx.Raw(sql, companyId, productId).Exec()
 	if err != nil {
 		return
 	}
@@ -368,8 +370,21 @@ func TryOutToFormalXClassRai(companyId, productId, sellerId, companyApprovalId,
 			IsUpgrade:          pv.IsUpgrade,
 			ExpensiveYx:        pv.ExpensiveYx,
 		}
+		newId, tmpErr := tx.Insert(tmpCompanyReportPermission)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		tmpCompanyReportPermission.CompanyReportPermissionId = newId
 		newCompanyReportPermissionList = append(newCompanyReportPermissionList, tmpCompanyReportPermission)
 	}
+
+	sql = `UPDATE company_report_permission SET  status='永续', end_date=? WHERE  company_id=?  ` // 更改权限的开始时间结束时间
+	_, err = tx.Raw(sql, endDate, companyId).Exec()
+	if err != nil {
+		return
+	}
+
 	sql = `UPDATE company_contract SET status=1 WHERE company_contract_id=? AND company_id=? AND product_id=? `
 	_, err = tx.Raw(sql, companyContractId, companyId, productId).Exec()
 	if err != nil {

+ 14 - 0
utils/common.go

@@ -997,3 +997,17 @@ func GetQuarterStrStartDatesInRange(startTimeStr, endTimeStr string) (quartersSt
 	quartersStar = strings.Join(quarters, "+")
 	return quartersStar, nil
 }
+
+// 获取当前时间所属季度的最后一天,并往后推一个月
+func GetLastDayOfQuarter(t time.Time) time.Time {
+	month := (t.Month()-1)/3*3 + 1 // 计算当前季度的第一个月份
+	nextQuarter := month + 3
+	year := t.Year()
+	if nextQuarter > 12 {
+		nextQuarter -= 12
+		year++
+	}
+	// 构建当前季度的最后一天
+	lastDay := time.Date(year, time.Month(nextQuarter), 1, 0, 0, 0, 0, time.UTC).AddDate(0, 1, 0).Add(-time.Second)
+	return lastDay
+}