浏览代码

feat:正式转试用的时候,需要添加日志

Roc 2 年之前
父节点
当前提交
2abf685e6e
共有 2 个文件被更改,包括 59 次插入16 次删除
  1. 7 0
      models/company_report_permission.go
  2. 52 16
      services/company_report_permission.go

+ 7 - 0
models/company_report_permission.go

@@ -22,6 +22,13 @@ type CompanyReportPermission struct {
 	IsUpgrade                 int       `description:"是否升级,1是,0否"`
 }
 
+// Update 更新客户产品权限
+func (item *CompanyReportPermission) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(item, cols...)
+	return
+}
+
 func GetCompanyReportPermission(companyId int) (items []*CompanyReportPermission, err error) {
 	sql := `SELECT * FROM company_report_permission WHERE company_id=? `
 	_, err = orm.NewOrm().Raw(sql, companyId).QueryRows(&items)

+ 52 - 16
services/company_report_permission.go

@@ -19,27 +19,63 @@ func CompanyReportPermissionTryOut(cont context.Context) (err error) {
 		return
 	}
 
+	// 根据客户id分组相关品种权限
+	companyReportPermissionGroupMap := make(map[string][]*models.CompanyReportPermission)
 	for _, v := range items {
-		//fmt.Println(k, v)
-		//continue
-		//查看是否有审批单,如果有审批单,那么就退出当前循环,进入下一循环
-
-		//count, err := models.GetCompanyApprovalCount(v.CompanyId, v.ProductId)
-		//if err != nil {
-		//	continue
-		//}
-		//if count > 0 {
-		//	continue
-		//}
+		companyPermissionList, ok := companyReportPermissionGroupMap[fmt.Sprint(v.CompanyId, "-", v.ProductId)]
+		if !ok {
+			companyPermissionList = make([]*models.CompanyReportPermission, 0)
+		}
+		companyPermissionList = append(companyPermissionList, v)
+		companyReportPermissionGroupMap[fmt.Sprint(v.CompanyId, "-", v.ProductId)] = companyPermissionList
+	}
 
-		//正式转试用用户产品权限
-		err = models.CompanyReportPermissionTryOut(v.CompanyReportPermissionId, v.CompanyId, v.ProductId)
+	// 根据客户id分组处理对应的品种权限
+	for _, companyReportPermissionList := range companyReportPermissionGroupMap {
+		startDateTime := time.Now()
+		endDateTime := startDateTime.AddDate(0, 2, 0)
+		var companyId, productId int
+		for _, v := range companyReportPermissionList {
+			companyId = v.CompanyId
+			productId = v.ProductId
+
+			//正式转试用用户产品权限
+			v.Status = "试用"
+			v.StartDate = startDateTime.Format(utils.FormatDate)
+			v.EndDate = endDateTime.Format(utils.FormatDate)
+			v.ModifyTime = time.Now().Format(utils.FormatDate)
+			err = v.Update([]string{"Status", "StartDate", "EndDate", "ModifyTime"})
+			//err = models.CompanyReportPermissionTryOut(v.CompanyReportPermissionId, v.CompanyId, v.ProductId)
+			if err != nil {
+				utils.FileLog.Info("CompanyReportPermissionTryOut Err:%s" + err.Error())
+				continue
+			}
+			//添加正式转试用用户产品权限日志
+			_ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId, v.CompanyId, v.ProductId, utils.AdminId, v.ProductName, utils.RealName, "正式转试用", "try_out", "正式")
+		}
+		//获取客户信息
+		companyInfo, err := models.GetCompanyProduct(companyId, productId)
 		if err != nil {
-			utils.FileLog.Info("CompanyReportPermissionTryOut Err:%s" + err.Error())
+			utils.FileLog.Info("CompanyReportPermissionTryOut 查找客户信息 Err:%s" + err.Error())
 			continue
 		}
-		//添加正式转试用用户产品权限日志
-		_ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId, v.CompanyId, v.ProductId, utils.AdminId, v.ProductName, utils.RealName, "正式转试用", "try_out", v.Status)
+		// 添加试用记录
+		{
+			companyProductTryOutUpdateLog := &models.CompanyProductTryOutUpdateLog{
+				Id:          0,
+				CompanyId:   companyId,
+				ProductId:   productId,
+				Source:      "formal_to_try_out",
+				SellerId:    companyInfo.SellerId,
+				SellerName:  companyInfo.SellerName,
+				StartDate:   startDateTime,
+				EndDate:     endDateTime,
+				RealEndDate: startDateTime,
+				IsStop:      0,
+				CreateTime:  time.Now(),
+			}
+			go models.AddCompanyProductTryOutUpdateLog(companyProductTryOutUpdateLog, companyReportPermissionList)
+		}
 	}
 	return
 }