Просмотр исходного кода

增加 用户展示页面 - 获取图片 接口

xusonglin 5 лет назад
Родитель
Сommit
3f2bf8315f

+ 6 - 0
src/main/java/com/jkcredit/sysnews/mapper/PhotoMapper.java

@@ -7,6 +7,8 @@ import com.jkcredit.sysnews.model.dto.photo.PhotoDto;
 import com.jkcredit.sysnews.model.po.photo.PhotoPo;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @description:
  * @author: xusonglin
@@ -17,4 +19,8 @@ public interface PhotoMapper extends BaseMapper<PhotoPo> {
     IPage<PhotoPo> getPhotos(Page page, @Param("query")PhotoDto photoDto);
 
     PhotoPo getPhotoByUrl(String url);
+
+    PhotoPo getHomePageMiddlePhoto();
+
+    List<PhotoPo> getHomePageMainPhotos();
 }

+ 21 - 0
src/main/java/com/jkcredit/sysnews/resource/biz/photo/PhotoBizResource.java

@@ -1,7 +1,14 @@
 package com.jkcredit.sysnews.resource.biz.photo;
 
+import com.alibaba.fastjson.JSONObject;
 import com.jkcredit.sysnews.resource.base.BizResource;
+import com.jkcredit.sysnews.service.photo.PhotoService;
+import com.jkcredit.sysnews.spi.lang.exception.ServiceException;
+import com.jkcredit.sysnews.spi.web.data.ResponseData;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -13,4 +20,18 @@ import org.springframework.web.bind.annotation.RestController;
 @Slf4j
 @RestController
 public class PhotoBizResource extends BizResource {
+    @Autowired
+    PhotoService photoService;
+
+    @GetMapping("/photos")
+    @ApiOperation("用户展示页面-获取图片")
+    public ResponseData getPhotos() {
+        try {
+            JSONObject result = photoService.getPhotosForHomePage();
+            return ResponseData.success(result);
+        } catch (ServiceException e) {
+            log.error(e.getMessage());
+            return ResponseData.failed("获取图片失败");
+        }
+    }
 }

+ 3 - 0
src/main/java/com/jkcredit/sysnews/service/photo/PhotoService.java

@@ -1,5 +1,6 @@
 package com.jkcredit.sysnews.service.photo;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jkcredit.sysnews.model.dto.photo.PhotoDto;
@@ -27,4 +28,6 @@ public interface PhotoService {
     PhotoVo getPhotoById(Long id);
 
     PhotoPo getPhotoByUrl(String url);
+
+    JSONObject getPhotosForHomePage();
 }

+ 17 - 0
src/main/java/com/jkcredit/sysnews/service/photo/PhotoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.jkcredit.sysnews.service.photo;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jkcredit.sysnews.enums.PhotoStatusEnum;
@@ -180,6 +181,10 @@ public class PhotoServiceImpl extends BaseService implements PhotoService {
         PhotoPo photoPo = photoMapper.selectById(id);
         PhotoVo photoVo = new PhotoVo();
         BeanUtil.copyProperties(photoVo, photoPo);
+        if (photoPo.getUrl() != null) {
+            String url = accessPath + accessResource + photoPo.getUrl().replace("/","");
+            photoVo.setUrl(url);
+        }
         return photoVo;
     }
 
@@ -187,4 +192,16 @@ public class PhotoServiceImpl extends BaseService implements PhotoService {
     public PhotoPo getPhotoByUrl(String url) {
         return photoMapper.getPhotoByUrl(url);
     }
+
+    @Override
+    public JSONObject getPhotosForHomePage() {
+        JSONObject result = new JSONObject();
+        PhotoPo middlePhoto = photoMapper.getHomePageMiddlePhoto();
+        PhotoVo middlePhotoVo = new PhotoVo();
+        BeanUtil.copyProperties(middlePhotoVo, middlePhoto);
+
+        result.put("1", photoMapper.getHomePageMainPhotos());
+        result.put("2", photoMapper.getHomePageMiddlePhoto());
+        return result;
+    }
 }

+ 21 - 0
src/main/resources/mapper/PhotoMapper.xml

@@ -51,4 +51,25 @@
         where
             url = #{url}
     </select>
+
+    <select id="getHomePageMiddlePhoto" resultMap="baseResultMap">
+        select
+            <include refid="photo"/>
+        from
+            photo
+        where
+            type = 2
+        order by create_time desc
+        limit 1
+    </select>
+
+    <select id="getHomePageMainPhotos" resultMap="baseResultMap">
+        select
+            <include refid="photo"/>
+        from
+            photo
+        where
+            type = 1
+        order by create_time desc
+    </select>
 </mapper>