Эх сурвалжийг харах

fix:pdf权益回收判断是否存在可使用权益

duxin 1 жил өмнө
parent
commit
7d1d46aeb5

+ 21 - 28
entbase/src/service/person/person.go

@@ -536,7 +536,7 @@ func (a *Action) Del() {
 	}
 	//回收pdf权益
 	entId := qutil.IntAll(a.GetSession("entId"))
-	PdfRecycle(id, entId)
+	go PdfRecycle(id, entId)
 	if VarUser.Del(frameworkEntId, id) {
 		status = 1
 	}
@@ -555,26 +555,7 @@ func PdfRecycle(ids string, entId int) {
 		if data != nil && len(*data) > 0 {
 			for _, m := range *data {
 				positionId := qutil.InterfaceToStr(m["positionId"])
-				res := Mysql.SelectBySql("SELECT b.s_name FROM bigmember_service_user a INNER JOIN bigmember_service b on (a.s_serviceid = b.id and b.s_name LIKE '%pdf下载%') WHERE a.s_userid = ? and a.i_status >= 0 and l_endtime >? ", positionId, time.Now().Format("2006-01-02 15:04:05"))
-				if res != nil {
-					for _, serverData := range *res {
-						var (
-							resourceType string
-						)
-						if strings.Contains(qutil.InterfaceToStr(serverData["s_name"]), "市场分析定制报告pdf下载") {
-							resourceType = "市场分析定制报告下载包"
-						} else if strings.Contains(qutil.InterfaceToStr(serverData["s_name"]), "业主采购分析报告pdf下载") {
-							resourceType = "业主采购分析报告下载包"
-						} else if strings.Contains(qutil.InterfaceToStr(serverData["s_name"]), "企业中标分析报告pdf下载") {
-							resourceType = "企业中标分析报告下载包"
-						}
-						if resourceType != "" {
-							if err := DelPdfPack(positionId, resourceType, int64(entId)); err != nil {
-								log.Println("DelPdfPack err ", err)
-							}
-						}
-					}
-				}
+				DelPdfPack(positionId, int64(entId))
 			}
 		}
 	}
@@ -582,15 +563,27 @@ func PdfRecycle(ids string, entId int) {
 
 // DelPdfPack 增加pdf下载包权限
 // resourceType        "企业中标分析报告下载包","业主采购分析报告下载包","市场分析定制报告下载包"
-func DelPdfPack(userId, resourceType string, entId int64) error {
-	log.Println("DelPdfPack===", userId, resourceType, entId)
+func DelPdfPack(userId string, entId int64) {
+	log.Println("DelPdfPack===", userId, entId)
 	ctx, _ := context.WithTimeout(context.Background(), 2*time.Second)
-	_, err := ResourceCenterRpc.EntAccountRecovery(ctx, &resourcesCenterclient.EntOperateReq{
-		OperateAccountId: userId,
-		CompanyId:        entId,
-		ResourceType:     resourceType,
+	res, err := ResourceCenterRpc.FindAccountBalance(ctx, &resourcesCenterclient.ResourcesReq{
+		AccountId:    userId,
+		ResourceName: "pdf下载包",
 	})
-	return err
+	if err != nil {
+		log.Println("FindAccountBalance err", err.Error())
+		return
+	}
+	for _, datum := range res.Data {
+		if datum.Number > 0 {
+			_, err = ResourceCenterRpc.EntAccountRecovery(ctx, &resourcesCenterclient.EntOperateReq{
+				OperateAccountId: userId,
+				CompanyId:        entId,
+				ResourceType:     datum.ResourceType,
+			})
+			log.Println("EntAccountRecovery err", err.Error())
+		}
+	}
 }
 
 // 移动