浏览代码

fix:客户产品状态变更日志新增销售记录

Roc 3 年之前
父节点
当前提交
9645ab7dac
共有 2 个文件被更改,包括 44 次插入5 次删除
  1. 2 0
      models/company_product_update_log.go
  2. 42 5
      services/company_contract/company_contract.go

+ 2 - 0
models/company_product_update_log.go

@@ -11,6 +11,8 @@ type CompanyProductUpdateLog struct {
 	CompanyId  int       `description:"客户id"`
 	ProductId  int       `description:"产品id"`
 	Status     string    `description:"变更后的状态"`
+	SellerId   int       `description:"销售id"`
+	SellerName string    `description:"销售名称"`
 	Source     string    `description:"来源"`
 	CreateTime time.Time `description:"创建时间"`
 }

+ 42 - 5
services/company_contract/company_contract.go

@@ -4,11 +4,13 @@ import (
 	"context"
 	"errors"
 	"fmt"
+	"hongze/hongze_task/models"
 	"hongze/hongze_task/models/company"
 	"hongze/hongze_task/models/company_approval"
 	"hongze/hongze_task/models/company_contract"
 	"hongze/hongze_task/utils"
 	"strings"
+	"time"
 )
 
 //合同处理
@@ -41,11 +43,17 @@ func HandleCompanyContract(cont context.Context) (err error) {
 			continue
 		}
 
-		//companyProduct, err := models.GetCompanyProduct(v.CompanyId, v.ProductId)
-		//if err != nil {
-		//	errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";寻找客户产品时异常 err:", err))
-		//	continue
-		//}
+		//客户产品信息
+		companyProduct, err := models.GetCompanyProduct(v.CompanyId, v.ProductId)
+		if err != nil {
+			errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";寻找客户产品时异常", ";Err:"+err.Error()))
+			continue
+		}
+		if companyProduct == nil {
+			errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";寻找客户产品时异常2", ";Err:"+err.Error()))
+			continue
+		}
+
 		//companyProduct.EndDate
 		//格式化客户当前产品结束日期
 		//companyProductEndDate, err := time.Parse(utils.FormatDate, companyProduct.EndDate)
@@ -74,6 +82,35 @@ func HandleCompanyContract(cont context.Context) (err error) {
 			errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";审批单类型异常"))
 			continue
 		}
+
+		{
+			updateSource := ``
+			switch companyApproval.ApplyMethod {
+			case 1: //试用转正式
+				updateSource = `turn_positive`
+			case 2: //冻结->试用
+				updateSource = "thaw"
+			case 3: //试用延期
+				updateSource = "delay"
+			case 4: //原销售申请领取流失客户
+				updateSource = "apply_receive"
+			case 5: //正式客户申请续约
+				updateSource = "service_update"
+			case 6: //正式客户新增补充协议
+				updateSource = "add_agreement"
+			}
+			companyProductUpdateLog := &models.CompanyProductUpdateLog{
+				Id:         0,
+				CompanyId:  companyProduct.CompanyId,
+				ProductId:  companyProduct.ProductId,
+				Status:     companyProduct.Status,
+				SellerId:   companyProduct.SellerId,
+				SellerName: companyProduct.SellerName,
+				Source:     updateSource,
+				CreateTime: time.Now(),
+			}
+			go models.AddCompanyProductUpdateLog(companyProductUpdateLog)
+		}
 	}
 
 	//错误信息,批量返回错误信息