Pārlūkot izejas kodu

调整老师粉丝接口文档

Eric 2 gadi atpakaļ
vecāks
revīzija
d9cc8c67ee

+ 9 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.yonge.cooleshow.admin.io.request.teacher.TeacherVO;
 import com.yonge.cooleshow.biz.dal.vo.MyFens;
 import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
@@ -259,7 +260,7 @@ public class TeacherController extends BaseController {
      * @param userId 老师ID
      * @return HttpResponseResult<TeacherVO.TeacherStat>
      */
-    @ApiOperation(value = "详情", notes = "传入id")
+    @ApiOperation(value = "老师统计指标", notes = "传入id")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "id", paramType = "path", dataType = "long", required = true),
     })
@@ -279,13 +280,18 @@ public class TeacherController extends BaseController {
      */
     @ApiOperation(value = "我的粉丝")
     @PostMapping(value = "/myFans")
-    public HttpResponseResult<PageInfo<MyFens>> queryMyFans(@RequestBody TeacherVO.TeacherFansQuery query) {
+    public HttpResponseResult<PageInfo<TeacherVO.TeacherFans>> queryMyFans(@RequestBody TeacherVO.TeacherFansQuery query) {
 
         if (Optional.ofNullable(query.getTeacherId()).orElse(0L) <= 0) {
             return failed("无效的请求参数");
         }
 
         IPage<MyFens> pages = teacherService.queryMyFans(PageUtil.getPage(query), query.getTeacherId());
-        return succeed(PageUtil.pageInfo(pages));
+
+        // 数据转换
+        List<TeacherVO.TeacherFans> responses = JSON.parseArray(JSON.toJSONString(pages.getRecords()),
+                TeacherVO.TeacherFans.class);
+
+        return succeed(PageUtil.getPageInfo(pages, responses));
     }
 }

+ 44 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/io/request/teacher/TeacherVO.java

@@ -1,13 +1,19 @@
 package com.yonge.cooleshow.admin.io.request.teacher;
 
 import com.alibaba.fastjson.JSON;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
+import com.yonge.cooleshow.biz.dal.enums.MK;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * 老师端统计信息
@@ -21,6 +27,7 @@ public class TeacherVO {
     @Data
     @NoArgsConstructor
     @AllArgsConstructor
+    @ApiModel("老师统计响应信息")
     public static class TeacherStat implements Serializable {
 
         @ApiModelProperty("星级")
@@ -55,4 +62,41 @@ public class TeacherVO {
         @ApiModelProperty("老师ID")
         private Long teacherId;
     }
+
+    /**
+     * 老师粉丝
+     */
+    @Data
+    @NoArgsConstructor
+    @AllArgsConstructor
+    public static class TeacherFans implements Serializable {
+
+        @ApiModelProperty("用户编号")
+        private String userId;
+        @ApiModelProperty("昵称")
+        private String userName;
+        @ApiModelProperty(value = "真实姓名")
+        private String realName;
+        @ApiModelProperty("头像地址")
+        private String avatar;
+        @ApiModelProperty("声部")
+        private String subjectName;
+        @ApiModelProperty(value = "性别 0女 1男")
+        private GenderEnum gender;
+        @ApiModelProperty(value = "是否会员 0否 1是")
+        private YesOrNoEnum isVip;
+
+        @ApiModelProperty("手机号")
+        private String phone;
+
+        @ApiModelProperty("关注时间")
+        @JsonFormat(pattern = MK.TIME_PATTERN, timezone = MK.TIME_ZONE)
+        private Date starTime;
+
+        @ApiModelProperty("出生日期")
+        private Date birthdate;
+
+        @ApiModelProperty("出生日期")
+        private Integer age;
+    }
 }

+ 4 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MyFens.java

@@ -3,13 +3,14 @@ package com.yonge.cooleshow.biz.dal.vo;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.enums.GenderEnum;
 import com.yonge.cooleshow.biz.dal.enums.MK;
-import com.yonge.cooleshow.common.entity.BaseEntity;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.joda.time.DateTime;
 import org.joda.time.Period;
 import org.joda.time.PeriodType;
 
+import java.io.Serializable;
 import java.util.Date;
 import java.util.Objects;
 
@@ -17,7 +18,8 @@ import java.util.Objects;
  * @Author: cy
  * @Date: 2022/5/12
  */
-public class MyFens extends BaseEntity {
+@ApiModel("老师粉丝响应信息")
+public class MyFens implements Serializable {
 
     @ApiModelProperty("用户编号")
     private String userId;