csdn免会员下载源码分析2

内容分享3天前发布
0 0 0

许多小盆友想在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);
    }
}

© 版权声明

相关文章

暂无评论

none
暂无评论...