|
@@ -158,7 +158,7 @@ func CompanyTryOut(cont context.Context) (err error) {
|
|
|
}
|
|
|
|
|
|
{ // 更新用户是否签约过
|
|
|
- UpdateCompanyProductIsSigning(v.CompanyId,v.ProductId)
|
|
|
+ UpdateCompanyProductIsSigning(v.CompanyId, v.ProductId)
|
|
|
}
|
|
|
}
|
|
|
return
|
|
@@ -773,16 +773,124 @@ func StaticCompanyTryDay(cont context.Context) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 更新用户是否签约过
|
|
|
-func UpdateCompanyProductIsSigning(companyId ,productId int) () {
|
|
|
+func UpdateCompanyProductIsSigning(companyId, productId int) {
|
|
|
var err error
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
- msg := fmt.Sprint("companyId:", companyId,"productId:", productId)
|
|
|
+ msg := fmt.Sprint("companyId:", companyId, "productId:", productId)
|
|
|
go alarm_msg.SendAlarmMsg("更新用户是否签约过失败:UpdateCompanyProductIsSigning "+err.Error()+msg, 2)
|
|
|
}
|
|
|
}()
|
|
|
- err = models.UpdateCompanyProductIsSigningById(companyId,productId)
|
|
|
+ err = models.UpdateCompanyProductIsSigningById(companyId, productId)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 权益正式客户自动转X类试用(永续)->合同到期未续约转X类试用(永续)
|
|
|
+func CompanyTryOutXClassRai(cont context.Context) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "正式客户自动试用->合同到期未续约转试用 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ endDate := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
|
|
|
+ items, err := models.GetCompanyNeedTryOutXClassRai(endDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetCompanyNeedTryOutRai Err:" + err.Error())
|
|
|
+ utils.FileLog.Info("GetCompanyNeedTryOutRai Err:%s" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range items {
|
|
|
+ count, err := models.GetCompanyApprovalCount(v.CompanyId, v.ProductId)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ fmt.Println(k, v.CompanyId)
|
|
|
+
|
|
|
+ // 更新专项调研点数,需要在状态变更之前
|
|
|
+ if v.ProductId == 2 {
|
|
|
+ cygx.ActivitySpecialCompanyTryOutReduce(v.CompanyId)
|
|
|
+ }
|
|
|
+ //客户正式转试用
|
|
|
+ companyReportPermissionList, err := models.CompanyTryOutXClassRai(v.CompanyId, v.ProductId)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("CompanyTryOutXClassRai Err:%s" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //新增操作记录
|
|
|
+ {
|
|
|
+ remark := "正式转X类试用"
|
|
|
+ operation := "try_out_x_class"
|
|
|
+ approveContent := "X类试用"
|
|
|
+ AddCompanyOperationRecord(v.CompanyId, utils.AdminId, v.ProductId, utils.AdminId, v.CompanyName,
|
|
|
+ v.ProductName, utils.RealName, remark, operation, approveContent, approveContent, "", v.Status)
|
|
|
+
|
|
|
+ //新增 客户产品权限 正式 转 试用 的日志
|
|
|
+ for _, v := range companyReportPermissionList {
|
|
|
+ _ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId, v.CompanyId, v.ProductId, utils.AdminId, v.ProductName, utils.RealName, remark, operation, v.Status)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ {
|
|
|
+ //正式转试用,删除不续约归因内容
|
|
|
+ company.DeleteCompanNoRenewedAscribe(v.CompanyId, v.ProductId)
|
|
|
+ }
|
|
|
+
|
|
|
+ //正式转试用定时任务更新研选扣点
|
|
|
+ {
|
|
|
+ cygx.YanXuanCompanyCompanyTryOut(v.CompanyId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 客户自动冻结->X类试用(永续)三个月结束后,进入冻结
|
|
|
+func CompanyFreezeXClassRai(cont context.Context) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "X类试用(永续)三个月结束后,进入冻结ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ endDate := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
|
|
|
+ items, err := models.GetCompanyNeedFreezeXClassRai(endDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetCompanyNeedFreezeXClassRai Err:" + err.Error())
|
|
|
+ utils.FileLog.Info("GetCompanyNeedFreezeXClassRai Err:%s" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println(len(items))
|
|
|
+ //return
|
|
|
+ for k, v := range items {
|
|
|
+ fmt.Println(k, v.CompanyId)
|
|
|
+ count, err := models.GetCompanyApprovalCount(v.CompanyId, v.ProductId)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //试用转冻结
|
|
|
+ companyReportPermissionList, err := models.CompanyFreezeXClassRai(v.CompanyId, v.ProductId)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("CompanyFreeze Err:%s" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //新增操作记录
|
|
|
+ {
|
|
|
+ remark := "X类试用转冻结"
|
|
|
+ operation := "x_class_freeze"
|
|
|
+ approveContent := ""
|
|
|
+ go AddCompanyOperationRecord(v.CompanyId, utils.AdminId, v.ProductId, utils.AdminId, v.CompanyName,
|
|
|
+ v.ProductName, utils.RealName, remark, operation, approveContent, approveContent, "", v.Status)
|
|
|
+
|
|
|
+ //新增 客户产品权限 试用 转 冻结 的日志
|
|
|
+ for _, v := range companyReportPermissionList {
|
|
|
+ _ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId, v.CompanyId, v.ProductId, utils.AdminId, v.ProductName, utils.RealName, remark, operation, v.Status)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return
|
|
|
-}
|
|
|
+}
|