package contract import ( "errors" "fmt" "hongze/hongze_mobile_admin/models/tables/company_contract" "hongze/hongze_mobile_admin/models/tables/company_product" "hongze/hongze_mobile_admin/services/alarm_msg" "hongze/hongze_mobile_admin/utils" "strconv" "time" ) // 权益客户创建新的有效合同之后,更新所关联的销售信息 func UpdateCompanyProductSellerMove(companyId, productId int) { if productId != utils.COMPANY_PRODUCT_RAI_ID { return } time.Sleep(1 * time.Second) // 延迟1秒 var err error defer func() { if err != nil { fmt.Println(err) go alarm_msg.SendAlarmMsg("权益客户创建新的有效合同之后,更新所关联的销售信息,UpdateCompanyProductSellerMove "+fmt.Sprint("companyId:", companyId, ";err:", err), 3) } }() cp, e := company_product.GetCompanyProductByCompanyIdAndProductId(companyId, productId) if e != nil { err = errors.New("GetCompanyProductByCompanyIdAndProductId Err: " + e.Error()) return } e = company_product.UpdateCompanyProductSellerUnexpired(cp.SellerId, cp.ShareSellerId, cp.SellerName, cp.ShareSeller, cp.CompanyId) if e != nil { err = errors.New("UpdateCompanyProductSellerUnexpired, Err: " + e.Error()) return } return } // 权益客户创建新的有效合同之后,对相关合同进行隐藏 func UpdateCompanyContracthideBycompanyId(companyId, productId int) { if productId != utils.COMPANY_PRODUCT_RAI_ID { return } var err error defer func() { if err != nil { fmt.Println(err) go alarm_msg.SendAlarmMsg("权益客户创建新的有效合同之后,对相关合同进行隐藏,UpdateCompanyContracthideBycompanyId "+fmt.Sprint("companyId:", companyId, ";err:", err), 3) } }() var condition string var pars []interface{} if companyId > 0 { condition = ` AND a.company_id = ? ` pars = append(pars, companyId) } listContractMax, e := company_contract.GetCompanyContracListMaxStartDate(condition, pars) if e != nil { err = errors.New("GetCompanyContracListMaxStartDate, Err: " + e.Error()) return } //如果合同结束时间,早于最新一份合同的开始时间,这份合同就隐藏 maxId := make(map[int]time.Time) for _, v := range listContractMax { maxId[v.CompanyId] = v.MaxStartDate } listContract, e := company_contract.GetCompanyContracListInit_CRM_16_1(condition, pars) if e != nil { err = errors.New("GetCompanyContracListInit_CRM_16_1, Err: " + e.Error()) return } var updateId []string for _, v := range listContract { if v.EndDate.After(maxId[v.CompanyId]) { continue } updateId = append(updateId, strconv.Itoa(v.CompanyContractId)) } if len(updateId) == 0 { return } e = company_contract.UpdateCompanyContracthide(updateId) if e != nil { err = errors.New("UpdateCompanyContracthide, Err: " + e.Error()) return } fmt.Println((updateId)) return }