123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- package company_contract
- 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/services/alarm_msg"
- "hongze/hongze_task/services/cygx"
- "hongze/hongze_task/utils"
- "strings"
- "time"
- )
- func HandleCompanyContract(cont context.Context) (err error) {
- defer func() {
- if err != nil {
-
-
- go alarm_msg.SendAlarmMsg("合同处理 ErrMsg:"+err.Error(), 3)
- }
- }()
- today := utils.GetToday(utils.FormatDate)
- total, list, err := company_contract.GetStartContractListByStartDate(today)
- if err != nil {
- fmt.Println("HandleCompanyContract Err:" + err.Error())
- utils.FileLog.Info("HandleCompanyContract Err:%s" + err.Error())
- return
- }
- fmt.Sprintln("总共d%条数据待处理", total)
- errorList := make([]string, 0)
- for _, v := range list {
-
-
- companyApproval, err := company_approval.GetCompanyApprovalByCompanyContractId(v.CompanyContractId)
- if err != nil {
- errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";err:", err))
- continue
- }
- if companyApproval == nil {
- errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";找不到对应的审批单"))
- 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
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- switch companyApproval.ApplyMethod {
- case 1:
- e := company.TryOutToFormal(v.CompanyId, v.ProductId, utils.AdminId, v.CompanyContractId, v.StartDate, v.EndDate, utils.RealName, v.ProductName, v.PackageType, v.RaiPackageType)
- if e != nil {
- errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";TryOutToFormal Err: ", e.Error()))
- }
- case 5, 6:
- e := company.ApplyServiceUpdate(v.CompanyId, v.ProductId, utils.AdminId, v.CompanyContractId, v.StartDate, v.EndDate, utils.RealName, v.ProductName, v.PackageType, v.RaiPackageType)
- if e != nil {
- errorList = append(errorList, fmt.Sprint("合同id:", v.CompanyContractId, ";ApplyServiceUpdate Err: ", e.Error()))
- }
- default:
- 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"
- }
- tmpStartDate, _ := time.ParseInLocation(utils.FormatDate, v.StartDate, time.Local)
- tmpEndDate, _ := time.ParseInLocation(utils.FormatDate, v.EndDate, time.Local)
- companyProductUpdateLog := &models.CompanyProductUpdateLog{
- Id: 0,
- CompanyId: companyProduct.CompanyId,
- ProductId: companyProduct.ProductId,
- Status: companyProduct.Status,
- SellerId: companyProduct.SellerId,
- SellerName: companyProduct.SellerName,
- Source: updateSource,
- IsFormal: companyProduct.IsFormal,
- StartDate: tmpStartDate,
- EndDate: tmpEndDate,
- CreateTime: time.Now(),
- }
- go models.AddCompanyProductUpdateLog(companyProductUpdateLog)
- }
-
- {
- cygx.YanXuanCompanyApproval(v.CompanyId)
- cygx.ActivitySpecialCompanyApproval(v.CompanyId)
- }
- }
-
- if len(errorList) > 0 {
- err = errors.New(strings.Join(errorList, ";"))
- }
- return
- }
|