hsun 1 年之前
父節點
當前提交
34dcac5c32

+ 8 - 0
models/response/company_contract/company_contract.go

@@ -1,9 +1,17 @@
 package company_contract
 
 import (
+	"github.com/beego/beego/v2/client/orm"
 	"hongze/hongze_mobile_admin/models/tables/company_contract"
 )
 
 type CompanyContractDetailResp struct {
 	*company_contract.CompanyContractDetail
 }
+
+func GetCompanyContractById(companyContractId int) (item *company_contract.CompanyContractDetail, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM company_contract WHERE company_contract_id=? `
+	err = o.Raw(sql, companyContractId).QueryRow(&item)
+	return
+}

+ 9 - 0
models/tables/cygx_company_user_type/company_user_type.go

@@ -9,6 +9,7 @@ type CygxCompanyUserType struct {
 	Id             int `orm:"column(id);pk" description:"分析师id"`
 	CompanyId      int
 	CustomerTypeId int       `description:"用户身份ID"`
+	PackageType    int       `description:"1:70万 2:45w"`
 	CreateTime     time.Time `description:"创建时间"`
 	ModifyTime     time.Time `description:"创建时间"`
 }
@@ -50,3 +51,11 @@ func GetCygxCompanyUserTypeList() (items []*CygxCompanyUserType, err error) {
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+// CygxCompanyUserType 更新权益客户身份类型
+func UpdateCygxCompanyUserTypeAndPackageType(companyId, useType, packageType int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_company_user_type SET customer_type_id=? AND package_type = ? WHERE company_id=? `
+	_, err = o.Raw(sql, useType, packageType, companyId).Exec()
+	return
+}

+ 24 - 8
services/cygx/company_user_type.go

@@ -2,6 +2,7 @@ package cygxService
 
 import (
 	"errors"
+	company_contract2 "hongze/hongze_mobile_admin/models/response/company_contract"
 	"hongze/hongze_mobile_admin/models/tables/company_contract"
 	"hongze/hongze_mobile_admin/models/tables/cygx_company_user_type"
 	"hongze/hongze_mobile_admin/services/alarm_msg"
@@ -15,16 +16,17 @@ import (
 //}
 
 // 处理权益客户身份类型(判断是否为大套餐客户)
-func UpdateCygxCompanyUserType(companyApprovalId int) (err error) {
+func UpdateCygxCompanyUserType(companyContractId int) (err error) {
 	defer func() {
 		if err != nil {
 			//fmt.Println(err)
-			go alarm_msg.SendAlarmMsg("移动端,处理权益客户身份类型,判断是否为大套餐客户失败,Err:"+err.Error()+"companyApprovalId:"+strconv.Itoa(companyApprovalId), 3)
+			go alarm_msg.SendAlarmMsg("移动端,处理权益客户身份类型,判断是否为大套餐客户失败,Err:"+err.Error()+"companyContractId:"+strconv.Itoa(companyContractId), 3)
 		}
 	}()
-	permissionList, err := company_contract.GetCompanyContractPermissionListByContractId(companyApprovalId)
+	permissionList, err := company_contract.GetCompanyContractPermissionListByContractId(companyContractId)
 	if err != nil {
 		err = errors.New("GetCompanyContractPermissionListByContractId,Err:" + err.Error())
+		return
 	}
 	var companyId int
 	mappermissionName := make(map[string]int)
@@ -39,24 +41,38 @@ func UpdateCygxCompanyUserType(companyApprovalId int) (err error) {
 		total, e := cygx_company_user_type.GetCygxCompanyUserTypeByCompanyId(companyId)
 		if e != nil {
 			err = errors.New("GetCygxCompanyUserTypeByCompanyId,Err:" + e.Error())
+			return
 		}
+
+		// 获取合同信息-套餐信息
+		companyContract, e := company_contract2.GetCompanyContractById(companyContractId)
+		if e != nil {
+			err = errors.New("GetCompanyContractById, Err: " + e.Error())
+			return
+		}
+
 		if total == 0 {
 			item := new(cygx_company_user_type.CygxCompanyUserType)
 			item.CompanyId = companyId
 			item.CustomerTypeId = 2 // 大套餐客户类型定义为 2
 			item.CreateTime = time.Now()
 			item.ModifyTime = time.Now()
-			e = cygx_company_user_type.AddCygxCompanyUserType(item)
+			item.PackageType = companyContract.RaiPackageType
+			if e = cygx_company_user_type.AddCygxCompanyUserType(item); e != nil {
+				err = errors.New("AddCygxCompanyUserType, Err:" + e.Error())
+				return
+			}
 		} else {
-			e = cygx_company_user_type.UpdateCygxCompanyUserType(companyId, 2)
-		}
-		if e != nil {
-			err = errors.New("GetCygxCompanyUserTypeByCompanyId,Err:" + e.Error())
+			if e = cygx_company_user_type.UpdateCygxCompanyUserTypeAndPackageType(companyId, 2, companyContract.RaiPackageType); e != nil {
+				err = errors.New("UpdateCygxCompanyUserTypeAndPackageType, Err:" + e.Error())
+				return
+			}
 		}
 	} else {
 		e := cygx_company_user_type.UpdateCygxCompanyUserType(companyId, 0)
 		if e != nil {
 			err = errors.New("UpdateCygxCompanyUserType,Err:" + e.Error())
+			return
 		}
 	}
 	return