很多小盆友想在CSDN上下载资源,但苦于一无积分二无C币三不是会员。于是搜遍全网,找不到一个可以免积分C币下载的办法,授人以鱼不如授人以渔,今天给大家分享一个csdn免积分下载工具的源码
体验地址:http://servicedev.tpddns.cn:8181/#/login?c=3
“`
@Override
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
public ResourceFilesUserIndexaddDownloadTask(String url, Long userId, ResourceFileStatus initResourceFileStatus) {
boolean existed =false;
//去除左右两边的空格
url = StrUtils.trim(url, ” “);
String resourceId = ResourceFileUtils.getResourceId(url);
if (StringUtils.isBlank(resourceId)) {
return null;
}
byte resourceFileStatus = (byte) initResourceFileStatus.ordinal();
// 是否已经存在
ResourceFiles resourceFiles = getOne(Wrappers.lambdaQuery().eq(ResourceFiles::getFileOuterId, resourceId));
if (resourceFiles ==null) {
resourceFiles =new ResourceFiles();
resourceFiles.setFileOuterId(resourceId);
resourceFiles.setFileSuffix(” “);
resourceFiles.setFileName(“*”);
resourceFiles.setFileDesc(” “);
resourceFiles.setFileLang((short)0);
resourceFiles.setFileFrom((byte)0);
resourceFiles.setFileSize(0L);
resourceFiles.setFileType((byte)0);
resourceFiles.setFileImageId(0L);
resourceFiles.setOriginUrl(url);
resourceFiles.setDownloadCount(0L);
resourceFiles.setDownloadUrl(” “);
resourceFiles.setRetryCount(0);
resourceFiles.setMaxRetryCount(3);
resourceFiles.setStatus(resourceFileStatus);
resourceFiles.setPercent((byte)0);
resourceFiles.setTip(null);
resourceFiles.setIsDelete(false);
Assert.mustTrue(save(resourceFiles), “save resourceFiles failed,please try latter”);
}else{
// 已经下载失败的文件,其他用户再次下载,无法扣款
if(resourceFiles.getStatus() ==3){
log.warn(“already download failed,cant download {}”, JSON.toJSONString(resourceFiles));
return null;
}
existed =true;
}
ResourceFilesUserIndex index =resourceFilesUserIndexService.getResourceFileUserUserIndex(userId,resourceFiles.getId());
if(index ==null){
index =new ResourceFilesUserIndex();
index.setUserId(userId);
index.setFileResourceId(resourceFiles.getId());
Assert.mustTrue(resourceFilesUserIndexService.save(index),”save resourceFilesIndex failed,please try latter”);
}
if(existed && resourceFiles.getStatus() == (byte)DOWNLOADED.ordinal()){
publishService.publish(new DownloadResultEvent(“”,resourceFiles.getId(),DOWNLOADED,null));
}
return index;
}
“`