浏览代码

fix:pdf权益分配&回收

duxin 1 年之前
父节点
当前提交
a7af854944
共有 1 个文件被更改,包括 20 次插入28 次删除
  1. 20 28
      service/service.go

+ 20 - 28
service/service.go

@@ -310,27 +310,7 @@ func delPower(id int64) {
 			set["l_vip_endtime"] = time.Now().Unix()
 			set["i_vip_status"] = 0
 		} else if strings.Contains(productType, "大会员") || productType == YYSZSYY {
-			res := JyMysql.SelectBySql("SELECT b.s_name,b.s_count_year,a.l_endtime 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 >? ", common.InterfaceToStr(identity.PositionId), time.Now().Format("2006-01-02 15:04:05"))
-			if res != nil {
-				for _, serverData := range *res {
-					var (
-						resourceType string
-					)
-					if strings.Contains(common.InterfaceToStr(serverData["s_name"]), "市场分析定制报告pdf下载") {
-						resourceType = "市场分析定制报告下载包"
-					} else if strings.Contains(common.InterfaceToStr(serverData["s_name"]), "业主采购分析报告pdf下载") {
-						resourceType = "业主采购分析报告下载包"
-					} else if strings.Contains(common.InterfaceToStr(serverData["s_name"]), "企业中标分析报告pdf下载") {
-						resourceType = "企业中标分析报告下载包"
-					}
-					if resourceType != "" {
-						if err := DelPdfPack(common.InterfaceToStr(identity.PositionId), resourceType, entId); err != nil {
-							log.Println("DelPdfPack err ", err)
-						}
-					}
-				}
-			}
-
+			go DelPdfPack(common.InterfaceToStr(identity.PositionId), entId)
 			set["i_member_endtime"] = time.Now().Unix()
 			set["i_member_status"] = 0
 			JyMysql.Update(BigServiceUser, map[string]interface{}{"s_userid": common.InterfaceToStr(identity.PositionId)}, map[string]interface{}{"i_status": -1, "l_endtime": NowFormat(Date_Full_Layout)})
@@ -634,15 +614,27 @@ func AddPdfPack(userId, resourceType string, entId int64) error {
 
 // 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())
+		}
+	}
 }
 
 func EmpowerUserIds(ids []int64) *entmanageapplication.EmpowerUserIds {