diff --git a/client-api/src/main/java/org/jiayunet/controller/MentorController.java b/client-api/src/main/java/org/jiayunet/controller/MentorController.java
new file mode 100644
index 0000000..e7c254f
--- /dev/null
+++ b/client-api/src/main/java/org/jiayunet/controller/MentorController.java
@@ -0,0 +1,61 @@
+package org.jiayunet.controller;
+
+import lombok.AllArgsConstructor;
+import org.jiayunet.remote.jsxq.JsxqClient;
+import org.jiayunet.remote.jsxq.pojo.JsxqPage;
+import org.jiayunet.remote.jsxq.pojo.dto.ChatEvaluateDto;
+import org.jiayunet.remote.jsxq.pojo.dto.MentorFullInfoDto;
+import org.jiayunet.remote.jsxq.pojo.dto.MentorItemDto;
+import org.jiayunet.remote.jsxq.pojo.dto.TeacherTalkDto;
+import org.jiayunet.remote.jsxq.pojo.param.MentorPageParam;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 导师接口(对接简史星球开放平台,公开免鉴权)
+ *
依赖:JsxqClient(远程调用简史星球平台)
+ *
+ * @author zk
+ */
+@RestController
+@RequestMapping("/public/mentor")
+@Validated
+@AllArgsConstructor
+public class MentorController {
+
+ private final JsxqClient jsxqClient;
+
+ /**
+ * 分页查询导师列表
+ */
+ @PostMapping("/page")
+ public JsxqPage pageSelectMentor(@RequestBody MentorPageParam param) {
+ return jsxqClient.pageSelectMentor(param);
+ }
+
+ /**
+ * 查询导师完整信息
+ */
+ @GetMapping("/info")
+ public MentorFullInfoDto selectMentorFullInfo(@RequestParam Long mentorId) {
+ return jsxqClient.selectMentorFullInfo(mentorId);
+ }
+
+ /**
+ * 查询老师话题列表
+ */
+ @GetMapping("/talk")
+ public List selectTalk(@RequestParam Long teacherId) {
+ return jsxqClient.selectTalk(teacherId);
+ }
+
+ /**
+ * 查询老师评价列表
+ */
+ @GetMapping("/evaluate")
+ public List selectChatEvaluate(@RequestParam Long teacherId) {
+ return jsxqClient.selectChatEvaluate(teacherId);
+ }
+}
diff --git a/client-api/src/main/resources/application-dev.yml b/client-api/src/main/resources/application-dev.yml
index 67721e2..14427c5 100644
--- a/client-api/src/main/resources/application-dev.yml
+++ b/client-api/src/main/resources/application-dev.yml
@@ -101,4 +101,11 @@ app:
job-recommend:
base-url: ${AI_BASE_URL:https://ark.cn-beijing.volces.com/api/v3}
api-key: ${AI_API_KEY:fd065993-bee2-4f31-8bf2-56d5d3012c02}
- model: ${AI_MODEL:doubao-1-5-lite-32k-250115}
\ No newline at end of file
+ model: ${AI_MODEL:doubao-1-5-lite-32k-250115}
+
+ # 简史星球开放平台配置
+ jsxq:
+ base-url: ${JSXQ_BASE_URL:https://jsxq.jianshixingqiu.com/api/admin}
+ token: ${JSXQ_TOKEN:f69b5086-97b0-4e5e-b172-453e444d448c}
+ tenant-id: ${JSXQ_TENANT_ID:1}
+ client-toc: ${JSXQ_CLIENT_TOC:Y}
diff --git a/client-api/src/main/resources/application-prod.yml b/client-api/src/main/resources/application-prod.yml
index 8e711dd..22265f0 100644
--- a/client-api/src/main/resources/application-prod.yml
+++ b/client-api/src/main/resources/application-prod.yml
@@ -101,4 +101,11 @@ app:
job-recommend:
base-url: ${AI_BASE_URL:https://ark.cn-beijing.volces.com/api/v3}
api-key: ${AI_API_KEY:fd065993-bee2-4f31-8bf2-56d5d3012c02}
- model: ${AI_MODEL:doubao-1-5-lite-32k-250115}
\ No newline at end of file
+ model: ${AI_MODEL:doubao-1-5-lite-32k-250115}
+
+ # 简史星球开放平台配置
+ jsxq:
+ base-url: ${JSXQ_BASE_URL:https://jsxq.jianshixingqiu.com/api/admin}
+ token: ${JSXQ_TOKEN:f69b5086-97b0-4e5e-b172-453e444d448c}
+ tenant-id: ${JSXQ_TENANT_ID:1}
+ client-toc: ${JSXQ_CLIENT_TOC:Y}
diff --git a/client-api/src/main/resources/application-test.yml b/client-api/src/main/resources/application-test.yml
index cd2226b..d58487a 100644
--- a/client-api/src/main/resources/application-test.yml
+++ b/client-api/src/main/resources/application-test.yml
@@ -102,4 +102,11 @@ app:
job-recommend:
base-url: ${AI_BASE_URL:https://ark.cn-beijing.volces.com/api/v3}
api-key: ${AI_API_KEY:fd065993-bee2-4f31-8bf2-56d5d3012c02}
- model: ${AI_MODEL:doubao-1-5-lite-32k-250115}
\ No newline at end of file
+ model: ${AI_MODEL:doubao-1-5-lite-32k-250115}
+
+ # 简史星球开放平台配置
+ jsxq:
+ base-url: ${JSXQ_BASE_URL:https://jsxq.jianshixingqiu.com/api/admin}
+ token: ${JSXQ_TOKEN:f69b5086-97b0-4e5e-b172-453e444d448c}
+ tenant-id: ${JSXQ_TENANT_ID:1}
+ client-toc: ${JSXQ_CLIENT_TOC:Y}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java
new file mode 100644
index 0000000..a1a42ab
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqClient.java
@@ -0,0 +1,154 @@
+package org.jiayunet.remote.jsxq;
+
+import com.fasterxml.jackson.databind.JavaType;
+import com.fasterxml.jackson.databind.JsonNode;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import org.jiayunet.remote.jsxq.pojo.JsxqPage;
+import org.jiayunet.remote.jsxq.pojo.JsxqResponse;
+import org.jiayunet.remote.jsxq.pojo.dto.ChatEvaluateDto;
+import org.jiayunet.remote.jsxq.pojo.dto.MentorFullInfoDto;
+import org.jiayunet.remote.jsxq.pojo.dto.MentorItemDto;
+import org.jiayunet.remote.jsxq.pojo.dto.TeacherTalkDto;
+import org.jiayunet.remote.jsxq.pojo.param.MentorPageParam;
+import org.jiayunet.tool.HttpTool;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 简史星球(jianshixingqiu)开放平台客户端
+ * 依赖:JsxqProperties(域名+令牌+租户)、HttpTool(POST 复用其能力,GET 内部实现以支持请求头)
+ * 底层 post/get 统一拼公共请求头、拆外层 {code,msg,data,ok} 包装、按类型反序列化 data;业务接口为本类 public 方法。
+ *
+ * @author zk
+ */
+@Slf4j
+@Component
+public class JsxqClient {
+
+ @Autowired
+ private JsxqProperties properties;
+
+ // ============================ 业务接口 ============================
+
+ /**
+ * 分页查询导师列表
+ * POST /public/website/pageSelectMentor
+ */
+ public JsxqPage pageSelectMentor(MentorPageParam param) {
+ JavaType type = HttpTool.objectMapper.getTypeFactory()
+ .constructParametricType(JsxqPage.class, MentorItemDto.class);
+ return post("/public/website/pageSelectMentor", param, type);
+ }
+
+ /**
+ * 查询导师完整信息
+ * GET /public/website/selectMentorFullInfo?mentorId=
+ */
+ public MentorFullInfoDto selectMentorFullInfo(Long mentorId) {
+ JavaType type = HttpTool.objectMapper.getTypeFactory().constructType(MentorFullInfoDto.class);
+ return get("/public/website/selectMentorFullInfo", Map.of("mentorId", mentorId), type);
+ }
+
+ /**
+ * 查询老师话题列表
+ * GET /public/website/selectTalk?teacherId=
+ */
+ public List selectTalk(Long teacherId) {
+ JavaType type = HttpTool.objectMapper.getTypeFactory()
+ .constructCollectionType(List.class, TeacherTalkDto.class);
+ return get("/public/website/selectTalk", Map.of("teacherId", teacherId), type);
+ }
+
+ /**
+ * 查询老师评价列表
+ * GET /public/website/selectChatEvaluate?teacherId=
+ */
+ public List selectChatEvaluate(Long teacherId) {
+ JavaType type = HttpTool.objectMapper.getTypeFactory()
+ .constructCollectionType(List.class, ChatEvaluateDto.class);
+ return get("/public/website/selectChatEvaluate", Map.of("teacherId", teacherId), type);
+ }
+
+ // ============================ 底层通用调用 ============================
+
+ /**
+ * 发送 JSON POST 并解析 data 为指定类型
+ */
+ private T post(String path, Object body, JavaType dataType) {
+ try {
+ String raw = HttpTool.sendJsonPost(body, properties.getBaseUrl() + path, buildHeaders());
+ return parse(raw, dataType, path);
+ } catch (Exception e) {
+ log.error("简史星球接口调用失败 POST {}", path, e);
+ throw new RuntimeException("简史星球接口调用失败: " + e.getMessage(), e);
+ }
+ }
+
+ /**
+ * 发送 GET(带公共请求头)并解析 data 为指定类型
+ */
+ private T get(String path, Map params, JavaType dataType) {
+ try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
+ HttpGet httpGet = new HttpGet(properties.getBaseUrl() + path);
+ URIBuilder uriBuilder = new URIBuilder(httpGet.getURI());
+ for (Map.Entry entry : params.entrySet()) {
+ if (Objects.nonNull(entry.getValue())) {
+ uriBuilder.addParameter(entry.getKey(), entry.getValue().toString());
+ }
+ }
+ httpGet.setURI(uriBuilder.build());
+ buildHeaders().forEach(httpGet::setHeader);
+
+ try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
+ String raw = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8);
+ if (response.getStatusLine().getStatusCode() != 200) {
+ throw new RuntimeException("HTTP 响应码:" + response.getStatusLine().getStatusCode() + ",响应体:" + raw);
+ }
+ return parse(raw, dataType, path);
+ }
+ } catch (Exception e) {
+ log.error("简史星球接口调用失败 GET {}", path, e);
+ throw new RuntimeException("简史星球接口调用失败: " + e.getMessage(), e);
+ }
+ }
+
+ /**
+ * 拆外层 {code,msg,data,ok} 包装并把 data 反序列化为目标类型
+ */
+ private T parse(String raw, JavaType dataType, String path) throws Exception {
+ JsxqResponse response = HttpTool.objectMapper.readValue(raw, JsxqResponse.class);
+ boolean success = Boolean.TRUE.equals(response.getOk())
+ || (response.getCode() != null && response.getCode() == 0);
+ if (!success) {
+ throw new RuntimeException("简史星球接口返回失败 " + path + ",code=" + response.getCode() + ",msg=" + response.getMsg());
+ }
+ JsonNode data = response.getData();
+ if (data == null || data.isNull()) {
+ return null;
+ }
+ return HttpTool.objectMapper.convertValue(data, dataType);
+ }
+
+ /**
+ * 构建公共请求头:Authorization / TENANT-ID / CLIENT-TOC
+ */
+ private Map buildHeaders() {
+ Map headers = new HashMap<>();
+ headers.put("Authorization", "Bearer " + properties.getToken());
+ headers.put("TENANT-ID", properties.getTenantId());
+ headers.put("CLIENT-TOC", properties.getClientToc());
+ return headers;
+ }
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java
new file mode 100644
index 0000000..ff4591b
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/JsxqProperties.java
@@ -0,0 +1,29 @@
+package org.jiayunet.remote.jsxq;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 简史星球(jianshixingqiu)开放平台配置
+ * 读取 app.jsxq,供 JsxqClient 拼接请求地址与公共请求头
+ *
+ * @author zk
+ */
+@Data
+@Component
+@ConfigurationProperties(prefix = "app.jsxq")
+public class JsxqProperties {
+
+ /** 平台基础地址(含网关前缀),如 https://jsxq.jianshixingqiu.com/api/admin */
+ private String baseUrl;
+
+ /** 访问令牌,作为 Authorization: Bearer {token} */
+ private String token;
+
+ /** 租户ID,作为 TENANT-ID 请求头 */
+ private String tenantId = "1";
+
+ /** C端标识,作为 CLIENT-TOC 请求头 */
+ private String clientToc = "Y";
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/JsxqPage.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/JsxqPage.java
new file mode 100644
index 0000000..c863304
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/JsxqPage.java
@@ -0,0 +1,30 @@
+package org.jiayunet.remote.jsxq.pojo;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 简史星球接口通用分页体(对应 MyBatis-Plus IPage 序列化结构)
+ *
+ * @param 记录类型
+ * @author zk
+ */
+@Data
+public class JsxqPage {
+
+ /** 当前页记录 */
+ private List records;
+
+ /** 总记录数 */
+ private Long total;
+
+ /** 每页条数 */
+ private Long size;
+
+ /** 当前页码 */
+ private Long current;
+
+ /** 总页数 */
+ private Long pages;
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/JsxqResponse.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/JsxqResponse.java
new file mode 100644
index 0000000..77b8d77
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/JsxqResponse.java
@@ -0,0 +1,26 @@
+package org.jiayunet.remote.jsxq.pojo;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import lombok.Data;
+
+/**
+ * 简史星球接口通用外层响应
+ * 结构:{code, msg, data, ok},code=0 且 ok=true 视为成功
+ *
+ * @author zk
+ */
+@Data
+public class JsxqResponse {
+
+ /** 业务码,0=成功 */
+ private Integer code;
+
+ /** 错误信息,成功时为 null */
+ private String msg;
+
+ /** 业务数据,结构随接口而定,由调用方按类型解析 */
+ private JsonNode data;
+
+ /** 是否成功 */
+ private Boolean ok;
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/ChatEvaluateDto.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/ChatEvaluateDto.java
new file mode 100644
index 0000000..9bbdc53
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/ChatEvaluateDto.java
@@ -0,0 +1,25 @@
+package org.jiayunet.remote.jsxq.pojo.dto;
+
+import lombok.Data;
+
+/**
+ * 简史星球-老师评价项
+ * 对应接口 /public/website/selectChatEvaluate 的元素
+ *
+ * @author zk
+ */
+@Data
+public class ChatEvaluateDto {
+
+ /** 评价标题 */
+ private String title;
+
+ /** 评价内容 */
+ private String content;
+
+ /** 评价人昵称 */
+ private String nickname;
+
+ /** 评价人头像 */
+ private String avatar;
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/MentorFullInfoDto.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/MentorFullInfoDto.java
new file mode 100644
index 0000000..2c63adb
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/MentorFullInfoDto.java
@@ -0,0 +1,228 @@
+package org.jiayunet.remote.jsxq.pojo.dto;
+
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * 简史星球-导师完整信息
+ * 对应接口 /public/website/selectMentorFullInfo
+ *
+ * @author zk
+ */
+@Data
+public class MentorFullInfoDto {
+
+ /** 导师id */
+ private Long id;
+
+ /** 基本信息 */
+ private MentorInfo mentorInfo;
+
+ /** 认证信息 */
+ private Verification verification;
+
+ /** 支持列表 */
+ private List supports;
+
+ /** 标签 */
+ private List labelRelations;
+
+ /**
+ * 导师基本信息
+ */
+ @Data
+ public static class MentorInfo {
+ /** 平台名 */
+ private String platformName;
+ /** 真实姓名 */
+ private String realName;
+ /** 昵称 */
+ private String nickName;
+ /** 头像 */
+ private String picture;
+ /** 身份类型 0:企业在职人士 1:生涯规划师 2:心理咨询师 3:教职工 4:在校学生 */
+ private Integer identityType;
+ /** 所在国家 */
+ private String country;
+ /** 所在省份 */
+ private String province;
+ /** 曾任公司 */
+ private String everCompany;
+ /** 所在城市 */
+ private String city;
+ /** 银行卡id */
+ private Long bankCardId;
+ /** 对接联系人 */
+ private String contactPerson;
+ /** 手机号 */
+ private String phone;
+ /** 邮箱 */
+ private String mail;
+ /** 导师介绍 */
+ private String introduce;
+ /** 经历图片 [图片1,图片2] */
+ private List introduceImages;
+ /** 微信号 */
+ private String wechat;
+ /** 合作次数 */
+ private Integer cooperationCount;
+ /** 星级 */
+ private Integer starLevel;
+ /** 导师备注 */
+ private String remark;
+ /** 排序 */
+ private Integer sort;
+ /** 状态 0:待入驻 1:入驻审核中 2:已入驻 3:禁用 -1:拒绝 */
+ private Integer status;
+ /** 拒绝原因 */
+ private String refusal;
+ }
+
+ /**
+ * 认证信息(按身份类型区分)
+ */
+ @Data
+ public static class Verification {
+ /** 生涯规划师 */
+ private Career career;
+ /** 心理咨询师 */
+ private Psychology psychology;
+ /** 教职工 */
+ private Staff staff;
+ /** 在校学生 */
+ private Student student;
+ /** 在职人士 */
+ private Working working;
+ }
+
+ /**
+ * 生涯规划师认证
+ */
+ @Data
+ public static class Career {
+ /** 机构名 */
+ private String agencyName;
+ /** 职位 */
+ private String position;
+ /** 资质类型 0:GCDF 1:NCDA 2:中级社工师 3:高级社工师 4:初级社工师 5:其他 */
+ private Integer type;
+ /** 从业年限 */
+ private Integer term;
+ /** 机构logo */
+ private String agencyLogo;
+ /** 认证材料照片 [图片1,图片2] */
+ private List images;
+ }
+
+ /**
+ * 心理咨询师认证
+ */
+ @Data
+ public static class Psychology {
+ /** 机构名 */
+ private String agencyName;
+ /** 职位 */
+ private String position;
+ /** 资质类型 详见平台字典 0~11 */
+ private Integer type;
+ /** 机构logo */
+ private String agencyLogo;
+ /** 从业年限 */
+ private Integer term;
+ /** 认证材料照片 [图片1,图片2] */
+ private List images;
+ }
+
+ /**
+ * 教职工认证
+ */
+ @Data
+ public static class Staff {
+ /** 院校名 */
+ private String schoolName;
+ /** 院校类型 0:QS前10 1:QS前50 2:985 3:QS前100 4:双一流 5:QS前200 6:211 7:其他 */
+ private Integer type;
+ /** 学校logo */
+ private String schoolLogo;
+ /** 职位 */
+ private String position;
+ /** 从业年限 */
+ private Integer term;
+ /** 认证材料照片 [图片1,图片2] */
+ private List images;
+ }
+
+ /**
+ * 在校学生认证
+ */
+ @Data
+ public static class Student {
+ /** 院校名 */
+ private String schoolName;
+ /** 院校类型 0:QS前10 1:QS前50 2:985 3:QS前100 4:双一流 5:QS前200 6:211 7:其他 */
+ private Integer type;
+ /** 学校logo */
+ private String schoolLogo;
+ /** 专业 */
+ private String major;
+ /** 入学时间 */
+ private LocalDate startTime;
+ /** 毕业时间 */
+ private LocalDate endTime;
+ /** 学历 1:本科 2:硕士 3:博士 */
+ private Integer degree;
+ /** 认证材料照片 [图片1,图片2] */
+ private List images;
+ }
+
+ /**
+ * 在职人士认证
+ */
+ @Data
+ public static class Working {
+ /** 公司名 */
+ private String companyName;
+ /** 公司类型 0:世界500强 1:央国企 2:中国500强 3:知名上市 4:独角兽 5:四大 6:红圈所 7:国家机关/事业单位 8:其他 */
+ private Integer type;
+ /** 公司logo */
+ private String companyLogo;
+ /** 行业Id */
+ private Long industryId;
+ /** 职位 */
+ private String position;
+ /** 当前职位年限 */
+ private Integer currentPositionTerm;
+ /** 从业年限 */
+ private Integer term;
+ /** 认证材料照片 [图片1,图片2] */
+ private List images;
+ /** 作品链接 */
+ private String link;
+ }
+
+ /**
+ * 关联标签
+ */
+ @Data
+ public static class LabelRelation {
+ /** 标签id */
+ private Long labelId;
+ /** 标签名 */
+ private String labelName;
+ /** 别名(仅 label_type=3 时有效) */
+ private String alias;
+ }
+
+ /**
+ * 关联支持项
+ */
+ @Data
+ public static class Support {
+ /** 支持类型 0:远程实习 1:简历内推 2:定向内推辅导 */
+ private Integer type;
+ /** 服务介绍描述 */
+ private String introduce;
+ }
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/MentorItemDto.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/MentorItemDto.java
new file mode 100644
index 0000000..ac74935
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/MentorItemDto.java
@@ -0,0 +1,60 @@
+package org.jiayunet.remote.jsxq.pojo.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 简史星球-导师列表项
+ * 对应接口 /public/website/pageSelectMentor 的 records 元素
+ *
+ * @author zk
+ */
+@Data
+public class MentorItemDto {
+
+ /** 导师id */
+ private Long id;
+
+ /** 用户id */
+ private Long userId;
+
+ /** 平台名 */
+ private String platformName;
+
+ /** 头像 */
+ private String picture;
+
+ /** 话题标题(逗号拼接) */
+ private String titleStr;
+
+ /** 话题标题列表 */
+ private List titles;
+
+ /** 标签(逗号拼接) */
+ private String labelStr;
+
+ /** 标签列表 */
+ private List labels;
+
+ /** 话题最小金额 */
+ private Double price;
+
+ /** 机构名 */
+ private String agencyName;
+
+ /** 岗位 */
+ private String position;
+
+ /** 机构logo */
+ private String agencyLogo;
+
+ /** 排序 */
+ private Integer sort;
+
+ /** 认证类型 */
+ private String type;
+
+ /** 身份类型 */
+ private Integer identityType;
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/TeacherTalkDto.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/TeacherTalkDto.java
new file mode 100644
index 0000000..bb424d7
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/dto/TeacherTalkDto.java
@@ -0,0 +1,58 @@
+package org.jiayunet.remote.jsxq.pojo.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 简史星球-老师话题项
+ * 对应接口 /public/website/selectTalk 的元素(仅保留展示所需字段)
+ *
+ * @author zk
+ */
+@Data
+public class TeacherTalkDto {
+
+ /** 话题id */
+ private Long id;
+
+ /** 咨询师用户ID */
+ private Long teacherUserId;
+
+ /** 标题 */
+ private String title;
+
+ /** 内容 */
+ private String content;
+
+ /** 约聊方式 0:语音电话 1:线下约见 */
+ private String chatType;
+
+ /** 线下咨询单价 */
+ private BigDecimal seePrice;
+
+ /** 线下平台销售价格 */
+ private BigDecimal seeSalePrice;
+
+ /** 语音咨询单价 */
+ private BigDecimal chatPrice;
+
+ /** 语音平台销售价格 */
+ private BigDecimal chatSalePrice;
+
+ /** 标签 */
+ private String tags;
+
+ /** 排序 */
+ private Integer sort;
+
+ /** 咨询时长 */
+ private Integer talkTimes;
+
+ /** 求职业务分类 1:简历优化 2:面试辅导 3:职业规划 */
+ private String jobBusinessType;
+
+ /** 案例图片 [图片1,图片2] */
+ private List caseImages;
+}
diff --git a/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/MentorPageParam.java b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/MentorPageParam.java
new file mode 100644
index 0000000..c9a7798
--- /dev/null
+++ b/manager/src/main/java/org/jiayunet/remote/jsxq/pojo/param/MentorPageParam.java
@@ -0,0 +1,54 @@
+package org.jiayunet.remote.jsxq.pojo.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 简史星球-分页查询导师列表入参
+ * 对应接口 /public/website/pageSelectMentor
+ *
+ * @author zk
+ */
+@Data
+public class MentorPageParam {
+
+ /** 页码,从1开始 */
+ private Integer page = 1;
+
+ /** 每页条数,1~100 */
+ private Integer pageSize = 20;
+
+ /** 关键字 */
+ private String keyword;
+
+ /** 行业ids */
+ private List industryIds;
+
+ /** 导师ids */
+ private List mentorIds;
+
+ /** 身份类型 0:企业在职人士 1:生涯规划师 2:心理咨询师 3:教职工 4:在校学生 */
+ private Integer identityType;
+
+ /** 标签ids */
+ private List labelIds;
+
+ /** 约聊方式 0:语音电话 1:线下约见 */
+ private Integer chatType;
+
+ /** 销售价格最大值 */
+ private Double maxChatPrice;
+
+ /** 销售价格最小值 */
+ private Double minChatPrice;
+
+ /** 公司名 */
+ private String agencyName;
+
+ /** 机构类型 */
+ private String type;
+
+ /** 排序方式 0:默认 1:金牌导师优先 2:好评优先 3:价格升序 4:价格降序 */
+ private Integer sort = 0;
+}