许多小盆友想在CSDN上下载资源,但苦于一无积分二无C币三不是会员。于是搜遍全网,找不到一个可以免积分C币下载的办法,授人以鱼不如授人以渔,今天给大家分享一个csdn免积分下载工具的源码
体验地址:servicedev.tpddns.cn:8181/#/login?c=3
/**
* 远程暴露接口
*/
public interface ResourceFilesRpcService {
/**
* 分页获取文件资源列表
* @param request
* @return
*/
DataPager<ResourceFilesDto> getFileResourcesPageList(FileResourcePageRequest request);
/**
* 通过外部编号查询
* @param fileOuterId
* @return
*/
public ResourceFilesDto getResourceFileByOuterId(@NotNull String fileOuterId);
/**
* 新增一个文件资源
* @param resourceFilesDto
* @return
*/
public boolean addResourceFile(@Valid ResourceFilesDto resourceFilesDto);
/**
* 更新文件状态
* @param request
* @return
*/
public boolean updateResourceFile(@Valid ResourceFilesUpdateRequest request);
/**
* 异步更新文件状态
* @param request
* @return
*/
public CompletableFuture<Boolean> updateResourceFileAsync(@Valid ResourceFilesUpdateRequest request);
}
@Service
@Log4j2
public class ResourceFilesRpcServiceImpl implements ResourceFilesRpcService {
@Autowired
private ResourceFilesMapper resourceFilesMapper;
@Autowired
private ResourceFilesUserIndexService resourceFilesUserIndexService;
@Autowired
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Autowired
private ResourceFilesService resourceFilesService;
@Autowired
private UsersService usersService;
@Autowired
private WarningsService warningsService;
@Autowired
private PublishService publishService;
@MethodValidated
@Override
public DataPager<ResourceFilesDto> getFileResourcesPageList(FileResourcePageRequest request) {
Page<ResourceFiles> list = resourceFilesService.getFileResourcesPageList(request);
return PageConvertor.pageToDataPager(list, ResourceFilesDto.class);
}
@MethodValidated
@Override
public ResourceFilesDto getResourceFileByOuterId(String fileOuterId) {
ResourceFiles resourceFiles = resourceFilesMapper.selectOne(Wrappers.<ResourceFiles>lambdaQuery().eq(ResourceFiles::getFileOuterId, fileOuterId));
if (resourceFiles != null) {
return CopyObjectUtils.copy(resourceFiles, ResourceFilesDto.class);
}
return null;
}
@MethodValidated({Add.class})
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addResourceFile(ResourceFilesDto resourceFilesDto) {
ResourceFiles resourceFiles = CopyObjectUtils.copy(resourceFilesDto, ResourceFiles.class);
boolean result = resourceFilesMapper.insert(resourceFiles) > 0;
if(result){
ResourceFilesUserIndex index = new ResourceFilesUserIndex();
index.setFileResourceId(resourceFiles.getId());
index.setUserId(resourceFilesDto.getUserId());
Assert.mustTrue(resourceFilesUserIndexService.save(index),
"insert ResourceFilesUserIndex failed resourceFilesDto:"+ JSON.toJSONString(resourceFilesDto));
}
return result;
}
@MethodValidated({Update.class})
@Override
public CompletableFuture<Boolean> updateResourceFileAsync(ResourceFilesUpdateRequest request) {
return CompletableFuture.supplyAsync(() -> updateResourceFile(request), threadPoolTaskExecutor);
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...




