许多小盆友想在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);
    }
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...
 
                
 
                 
                 
                





 
                