diff --git a/src/main/java/com/youlai/boot/mini/controller/StrayAnimalController.java b/src/main/java/com/youlai/boot/mini/controller/StrayAnimalController.java index 0897d1d..6b501f5 100644 --- a/src/main/java/com/youlai/boot/mini/controller/StrayAnimalController.java +++ b/src/main/java/com/youlai/boot/mini/controller/StrayAnimalController.java @@ -4,22 +4,20 @@ import com.youlai.boot.common.annotation.Log; import com.youlai.boot.common.annotation.RepeatSubmit; import com.youlai.boot.common.enums.ActionTypeEnum; import com.youlai.boot.common.enums.LogModuleEnum; -import com.youlai.boot.common.model.Option; +import com.youlai.boot.common.result.PageResult; import com.youlai.boot.common.result.Result; import com.youlai.boot.mini.model.dto.DeleteStrayAnimalDTO; import com.youlai.boot.mini.model.dto.DeleteStrayAnimalNoteMediaDTO; import com.youlai.boot.mini.model.dto.EditVisibilityDTO; import com.youlai.boot.mini.model.form.StrayAnimalForm; +import com.youlai.boot.mini.model.query.OwnStrayAnimalQuery; +import com.youlai.boot.mini.model.vo.StrayAnimalShortVO; import com.youlai.boot.mini.service.StrayAnimalService; import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.enums.ParameterIn; -import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -111,4 +109,13 @@ public class StrayAnimalController { return Result.success(); } + @Operation(summary = "获取个人登记创建的动物信息列表") + @GetMapping(value = "/getOwnPage") + @Log(module = LogModuleEnum.STRAY_ANIMAL_INFO, value = ActionTypeEnum.LIST) + public PageResult getOwnPage( + OwnStrayAnimalQuery queryParams + ) { + return PageResult.success(strayAnimalService.getOwnPage(queryParams)); + } + } diff --git a/src/main/java/com/youlai/boot/mini/mapper/MiniStrayAnimalMapper.java b/src/main/java/com/youlai/boot/mini/mapper/MiniStrayAnimalMapper.java index 72946ec..cbf9e27 100644 --- a/src/main/java/com/youlai/boot/mini/mapper/MiniStrayAnimalMapper.java +++ b/src/main/java/com/youlai/boot/mini/mapper/MiniStrayAnimalMapper.java @@ -1,7 +1,11 @@ package com.youlai.boot.mini.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youlai.boot.mini.model.entity.MiniStrayAnimal; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.youlai.boot.mini.model.query.OwnStrayAnimalQuery; +import com.youlai.boot.mini.model.vo.StrayAnimalShortVO; /** * 流浪动物基础信息表 Mapper 接口 @@ -15,4 +19,5 @@ public interface MiniStrayAnimalMapper extends BaseMapper { void updateStrayAnimal(MiniStrayAnimal miniStrayAnimal); + IPage getOwnPage(Page page, OwnStrayAnimalQuery queryParams); } diff --git a/src/main/java/com/youlai/boot/mini/model/query/OwnStrayAnimalQuery.java b/src/main/java/com/youlai/boot/mini/model/query/OwnStrayAnimalQuery.java new file mode 100644 index 0000000..c12b3d7 --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/query/OwnStrayAnimalQuery.java @@ -0,0 +1,15 @@ +package com.youlai.boot.mini.model.query; + +import com.youlai.boot.common.base.BaseQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class OwnStrayAnimalQuery extends StrayAnimalQuery { + + @Schema(description = "用户ID", example = "1", hidden = true) + private Long miniUserId; // 用户ID,用于查询用户自己的流浪动物 + +} diff --git a/src/main/java/com/youlai/boot/mini/model/query/StrayAnimalQuery.java b/src/main/java/com/youlai/boot/mini/model/query/StrayAnimalQuery.java new file mode 100644 index 0000000..e8a254d --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/query/StrayAnimalQuery.java @@ -0,0 +1,20 @@ +package com.youlai.boot.mini.model.query; + +import com.youlai.boot.common.base.BaseQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class StrayAnimalQuery extends BaseQuery { + + @Schema(description = "动物类型,cat-猫,dog-狗,other-其他", example = "cat") + private String animalType; + + @Schema(description = "起始登记时间,毫秒级时间戳", example = "1776426078459") + private Long createStartTimestamp; + + @Schema(description = "截止登记时间,毫秒级时间戳", example = "1776426078459") + private Long createEndTimestamp; +} diff --git a/src/main/java/com/youlai/boot/mini/model/vo/StrayAnimalShortVO.java b/src/main/java/com/youlai/boot/mini/model/vo/StrayAnimalShortVO.java new file mode 100644 index 0000000..7beea8f --- /dev/null +++ b/src/main/java/com/youlai/boot/mini/model/vo/StrayAnimalShortVO.java @@ -0,0 +1,89 @@ +package com.youlai.boot.mini.model.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Data +public class StrayAnimalShortVO { + + @Schema(description = "作者id", example = "true") + private Long authorId; + + @Schema(description = "作者昵称", example = "true") + private String authorName; + + @Schema(description = "作者头像", example = "true") + private String authorAvatar; + + @Schema(type = "string", description = "动物信息UUID", example = "0677d62d63ec693bf1bd6dab8a877dc1", requiredMode = Schema.RequiredMode.REQUIRED) + private String animalUuid; + + @Schema(type = "string", description = "动物笔记UUID", example = "0677d62d63ec693bf1bd6dab8a877dc1", requiredMode = Schema.RequiredMode.REQUIRED) + private String animalNoteUuid; + + @Schema(description = "封面图片url", example = "https://pet-map.oss-cn-beijing.aliyuncs.com/animal_note/18ec68e743a0bba8c85f441fbce08/17441599158f190n30q.jpg") + private String firstImageUrl; + + @Schema(description = "动物类型,cat-猫,dog-狗,other-其他", example = "cat", requiredMode = Schema.RequiredMode.REQUIRED) + private String animalType; + +// @Schema(description = "颜色", example = "白色") +// private String color; +// +// @Schema(description = "体型,small-小,medium-中等,large-大", example = "medium") +// private String size; + +// @Schema(description = "状态,found-发现,adopted-已被领养,missing-失踪", example = "missing", requiredMode = Schema.RequiredMode.REQUIRED) +// private String status="found"; + + @Schema(description = "笔记标题", example = "在公园发现的小猫", requiredMode = Schema.RequiredMode.REQUIRED) + private String title; + + @Schema(description = "笔记内容", example = "今天下午在人民公园看到一只走失的小猫") + private String content; + + @Schema(description = "可见性范围:public-公开,private-仅自己,friends-仅好友", example = "public") + private String visibility="public"; + +// @Schema(description = "经度", example = "118.08125") +// private Double lng; +// +// @Schema(description = "纬度", example = "24.606929") +// private Double lat; +// +// @Schema(description = "省", example = "福建省") +// private String province; +// +// @Schema(description = "市", example = "厦门市") +// private String city; +// +// @Schema(description = "区(县)", example = "集美区") +// private String district; +// +// @Schema(description = "完整详细地址,含省市区(县)", example = "福建省厦门市集美区侨英街道莲花尚院1号院") +// private String address; + + @Schema(description = "浏览数", example = "118") + private Integer viewCount; + + @Schema(description = "点赞数", example = "125") + private Integer likeCount; + + @Schema(description = "评论数", example = "125") + private Integer commentCount; + + @Schema(description = "收藏数", example = "125") + private Integer collectCount; + + @Schema(description = "当前用户是否已点赞", example = "false") + private Boolean isLiked; + + @Schema(description = "当前用户是否收藏", example = "false") + private Boolean Collected; + + @Schema(description = "审核状态:0通过,1审核中,2审核未通过", example = "0") + private Integer auditStatus; + +} + diff --git a/src/main/java/com/youlai/boot/mini/service/StrayAnimalService.java b/src/main/java/com/youlai/boot/mini/service/StrayAnimalService.java index 834f336..f10d6c4 100644 --- a/src/main/java/com/youlai/boot/mini/service/StrayAnimalService.java +++ b/src/main/java/com/youlai/boot/mini/service/StrayAnimalService.java @@ -1,12 +1,14 @@ package com.youlai.boot.mini.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.youlai.boot.common.result.Result; import com.youlai.boot.mini.model.dto.DeleteStrayAnimalDTO; import com.youlai.boot.mini.model.dto.DeleteStrayAnimalNoteMediaDTO; import com.youlai.boot.mini.model.dto.EditVisibilityDTO; import com.youlai.boot.mini.model.entity.MiniStrayAnimal; import com.youlai.boot.mini.model.form.StrayAnimalForm; +import com.youlai.boot.mini.model.query.OwnStrayAnimalQuery; +import com.youlai.boot.mini.model.vo.StrayAnimalShortVO; import jakarta.validation.Valid; import org.springframework.web.multipart.MultipartFile; @@ -25,5 +27,7 @@ public interface StrayAnimalService extends IService { void updateVisibility(String animalUuid, EditVisibilityDTO editVisibilityDTO); void delete(DeleteStrayAnimalDTO deleteStrayAnimalDTO); + + IPage getOwnPage(OwnStrayAnimalQuery queryParams); } diff --git a/src/main/java/com/youlai/boot/mini/service/impl/StrayAnimalServiceImpl.java b/src/main/java/com/youlai/boot/mini/service/impl/StrayAnimalServiceImpl.java index 6fc83b1..41de9cf 100644 --- a/src/main/java/com/youlai/boot/mini/service/impl/StrayAnimalServiceImpl.java +++ b/src/main/java/com/youlai/boot/mini/service/impl/StrayAnimalServiceImpl.java @@ -5,6 +5,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.youlai.boot.common.constant.CommonConstants; import com.youlai.boot.common.exception.MsgException; @@ -26,6 +28,8 @@ import com.youlai.boot.mini.model.entity.MiniStrayAnimal; import com.youlai.boot.mini.model.entity.MiniStrayAnimalNote; import com.youlai.boot.mini.model.entity.MiniStrayAnimalNoteMedia; import com.youlai.boot.mini.model.form.StrayAnimalForm; +import com.youlai.boot.mini.model.query.OwnStrayAnimalQuery; +import com.youlai.boot.mini.model.vo.StrayAnimalShortVO; import com.youlai.boot.mini.service.StrayAnimalService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -422,4 +426,19 @@ public class StrayAnimalServiceImpl extends ServiceImpl getOwnPage(OwnStrayAnimalQuery queryParams) { + // 参数构建 + int pageNum = queryParams.getPageNum(); + int pageSize = queryParams.getPageSize(); + Page page = new Page<>(pageNum, pageSize); + + queryParams.setMiniUserId(SecurityUtils.getUserId()); + + // 查询数据 +// return this.miniStrayAnimalMapper.getOwnPage(page, queryParams); + IPage result = null; + return result; + } + } diff --git a/src/main/resources/mapper/mini/MiniStrayAnimalMapper.xml b/src/main/resources/mapper/mini/MiniStrayAnimalMapper.xml index aaeab58..1b50115 100644 --- a/src/main/resources/mapper/mini/MiniStrayAnimalMapper.xml +++ b/src/main/resources/mapper/mini/MiniStrayAnimalMapper.xml @@ -116,4 +116,79 @@ WHERE id = #{id} + + +