|  | @@ -654,10 +654,13 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
 | 
	
		
			
				|  |  |       * @return 协议地址
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      private String getContractAndUpLoad(Integer tenantId, TenantContractRecordEnum en, Integer val) {
 | 
	
		
			
				|  |  | -        RBucket<Object> bucket = redissonClient.getBucket("getContractAndUpLoad:" + tenantId + ":" + en.getType());
 | 
	
		
			
				|  |  | -        if (!bucket.trySet(tenantId, 15, TimeUnit.SECONDS)) {
 | 
	
		
			
				|  |  | +        String key = "getContractAndUpLoad:" + tenantId + ":" + en.getMsg();
 | 
	
		
			
				|  |  | +        log.info("getContractAndUpLoad >>>>key:{}", key);
 | 
	
		
			
				|  |  | +        RBucket<Object> bucket = redissonClient.getBucket(key);
 | 
	
		
			
				|  |  | +        if (!bucket.trySet(tenantId, 15L, TimeUnit.SECONDS)) {
 | 
	
		
			
				|  |  |              return null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        log.info("getContractAndUpLoad >>>>ok  tenantId:{} en:{} val:{}", tenantId, en, val);
 | 
	
		
			
				|  |  |          Date now = new Date();
 | 
	
		
			
				|  |  |          //创建PDF本次缓存地址
 | 
	
		
			
				|  |  |          String srcPdfPath = contractBaseDir + lexiaoyaContract + DateUtils.formatDate(now, "yyyyMMddHHmmss") + "/" + tenantId + "_" + java.time.LocalDateTime.now().getSecond() + ".pdf";
 | 
	
	
		
			
				|  | @@ -984,6 +987,13 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
 | 
	
		
			
				|  |  |          productInfo.setPayDate(now);
 | 
	
		
			
				|  |  |          productInfo.setTenantId(tenantId);
 | 
	
		
			
				|  |  |          tenantProductInfoService.updateByTenantId(productInfo);
 | 
	
		
			
				|  |  | +        //一个机构只能创建一个开通协议
 | 
	
		
			
				|  |  | +        TenantContractRecord openRecord = tenantContractRecordService.getOne(new QueryWrapper<>(new TenantContractRecord())
 | 
	
		
			
				|  |  | +                .eq("tenant_id_", tenantId)
 | 
	
		
			
				|  |  | +                .eq("type_", TenantContractRecordEnum.OPEN.getType()));
 | 
	
		
			
				|  |  | +        if (Objects.nonNull(openRecord)) {
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          //生成协议并上传得到地址
 | 
	
		
			
				|  |  |          TenantContractRecordEnum open = TenantContractRecordEnum.OPEN;
 | 
	
		
			
				|  |  |          String contractPath = getContractAndUpLoad(tenantId, open, null);
 |