44323
2024-02-23 3d94cbca299ecdbe68b2210391a9da6f9729f472
租房新增需求代码
4个文件已修改
127 ■■■■■ 已修改文件
guns-admin/pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/req/AddHouseReq.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-admin/pom.xml
@@ -37,7 +37,7 @@
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>3.15.1</version>
            <version>3.17.4</version>
        </dependency>
        <!--spring boot依赖-->
        <dependency>
guns-admin/src/main/java/com/stylefeng/guns/modular/api/FileController.java
@@ -26,61 +26,61 @@
    private static final String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ";
    private static final String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp";
    private static final String bucketName = "bizuphk";
    @PostMapping("/base/files/upload")
    @ApiOperation(value = "文件上传", tags = {"文件上传"})
    public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
        // 获取原始文件名
        String originalFilename = file.getOriginalFilename();
        // 提取文件后缀
        if (originalFilename != null && originalFilename.contains(".")) {
            System.err.println(originalFilename.substring(originalFilename.lastIndexOf(".")));
        }
        // 创建 OSSClient 实例
            OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
        long l = System.currentTimeMillis();
        // 创建 PutObjectRequest 对象
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, String.valueOf(l)+"."+originalFilename.substring(originalFilename.lastIndexOf(".") + 1), file.getInputStream());
            ObjectMetadata metadata = new ObjectMetadata();
            // 取消文件缓存,文件每次都会从OSS服务器获取
            metadata.setHeader("Cache-Control", "no-cache");
            metadata.setHeader("Expires", "0");
            // 上传文件
            PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest);
            // 关闭 OSSClient 实例
            ossClient.shutdown();
            String fileUrl = "https://" + bucketName + "." +
                    endpoint + "/"
                    + String.valueOf(l)
                    +"."+originalFilename.substring(originalFilename.lastIndexOf(".")+ 1);
            return fileUrl;
    }
//    @ApiOperation(value = "服务端上传", notes = "服务端上传")
//    @PostMapping(value = "upload")
//    public String fileUpload(@RequestParam(value = "file") MultipartFile file) throws IOException {
//        InputStream inputStream = file.getInputStream();
//        String filename = System.currentTimeMillis() + file.getOriginalFilename();
//        // Endpoint以杭州为例,其它Region请按实际情况填写。
//        final String endpoint = "oss-cn-hongkong.aliyuncs.com";
//        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
//        final String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ";
//        final String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp";
//        final String bucketName = "bizuphk";
//        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
//        String objectName = AliOss.dir + filename;
//        // 创建OSSClient实例。
//        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
//        // InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
//        // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
//        PutObjectResult putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
//        OSSObject ossObject = ossClient.getObject(bucketName, objectName);
//        String uri = ossObject.getResponse().getUri();
//        // 关闭OSSClient。
//        ossClient.shutdown();
//        uri = uri.replace("http://nn-bucket.oss-cn-shanghai.aliyuncs.com",FILE_CDN);
//        return uri;
//    @PostMapping("/base/files/upload")
//    @ApiOperation(value = "文件上传", tags = {"文件上传"})
//    public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
//        // 获取原始文件名
//        String originalFilename = file.getOriginalFilename();
//        // 提取文件后缀
//        if (originalFilename != null && originalFilename.contains(".")) {
//            System.err.println(originalFilename.substring(originalFilename.lastIndexOf(".")));
//    }
//        // 创建 OSSClient 实例
//            OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
//        long l = System.currentTimeMillis();
//        // 创建 PutObjectRequest 对象
//            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, String.valueOf(l)+"."+originalFilename.substring(originalFilename.lastIndexOf(".") + 1), file.getInputStream());
//            ObjectMetadata metadata = new ObjectMetadata();
//            // 取消文件缓存,文件每次都会从OSS服务器获取
//            metadata.setHeader("Cache-Control", "no-cache");
//            metadata.setHeader("Expires", "0");
//            // 上传文件
//            PutObjectResult putObjectResult = ossClient.putObject(putObjectRequest);
//            // 关闭 OSSClient 实例
//            ossClient.shutdown();
//            String fileUrl = "https://" + bucketName + "." +
//                    endpoint + "/"
//                    + String.valueOf(l)
//                    +"."+originalFilename.substring(originalFilename.lastIndexOf(".")+ 1);
//            return fileUrl;
//    }
    // 两种都试过了。。。。一样的效果 能上传几次 然后就不行了
    @ApiOperation(value = "文件上传", tags = {"文件上传"})
    @PostMapping(value = "/base/files/upload")
    public String fileUpload(@RequestParam(value = "file") MultipartFile file) throws IOException {
        InputStream inputStream = file.getInputStream();
        String filename = System.currentTimeMillis() + file.getOriginalFilename();
        String endpoint = "oss-cn-hongkong.aliyuncs.com";
        String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ";
        String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp";
        String bucketName = "bizuphk";
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        //这个问题需要处理一下
        // 创建OSSClient实例。
        //这个方案是对的。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        // InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
        // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
        PutObjectResult putObjectResult = ossClient.putObject(bucketName, filename, inputStream);
        OSSObject ossObject = ossClient.getObject(bucketName, filename);
        String uri = ossObject.getResponse().getUri();
        // 关闭OSSClient。
        ossClient.shutdown();
//        uri = uri.replace("http://nn-bucket.oss-cn-shanghai.aliyuncs.com",FILE_CDN);
        return uri;
    }
//    @GetMapping("/base/files/download/{fileName}")
//    @ApiOperation(value = "文件下载", tags = {"文件下载"})
//    public void downloadFile(@PathVariable("fileName") String fileName, HttpServletResponse response) {
guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/HouseResourceService.java
@@ -404,6 +404,9 @@
            SearchHouseResourceListRes searchHouseResourceListRes = new SearchHouseResourceListRes();
            searchHouseResourceListRes.setId(resource.getId());
            AppUser appUser = appUserService.selectById(resource.getAppUserId());
            if (appUser==null){
                continue;
            }
            searchHouseResourceListRes.setHouseResource(appUser.getUserType());
            if(StringUtils.hasLength(resource.getHousePhoto())){
                searchHouseResourceListRes.setImgUrl(resource.getHousePhoto().split(",")[0]);
@@ -713,6 +716,18 @@
            }
            return ResultUtil.success(3-size);
        }
        if (appUser.getUserType()==1){
            // 最多只能发布三条房源信息
            int size = this.baseMapper.selectList(new EntityWrapper<HouseResource>()
                    .eq("app_user_id", appUser.getId())
                    .eq("is_delete", 0)
                    .eq("type",2)
            ).size();
            if (3-size<0){
                return ResultUtil.success(0);
            }
            return ResultUtil.success(3-size);
        }
        if (appUser.getUserType()==3){
            // 如果是中介 判断他是否认证成功
            if (appUser.getAuth()==2){
guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/req/AddHouseReq.java
@@ -59,7 +59,7 @@
    private String cellName;
    @ApiModelProperty(value = "房源照片")
    private String housePhoto;
    @ApiModelProperty(value = "视频封面", required = true)
    @ApiModelProperty(value = "视频封面")
    private String videoPhoto;
    @ApiModelProperty(value = "房源视频")
    private String houseVideo;