公告类型契约收敛到数据中心并清理冗余契约

This commit is contained in:
堂吉诃德拉曼查的英豪
2026-08-07 14:51:05 +08:00
parent 5d86bde7a6
commit ae0b543bf1
11 changed files with 15 additions and 583 deletions

View File

@@ -1,18 +0,0 @@
<?php
declare(strict_types=1);
namespace Dhd\Micro\Interface\DataService\Course;
/**
* 课程服务接口
*/
interface CourseServiceInterface
{
/**
* 根据教师ID获取课程列表
* @param int $teacherId 教师ID
* @param string $platform 平台 admin-后台 app-APP
*/
public function getCoursesByTeacherId(int $teacherId, string $platform = 'app'): array;
}

View File

@@ -6,9 +6,6 @@
namespace Dhd\Micro\Interface\DataService;
use Dhd\Micro\Interface\DataService\Course\CourseServiceInterface;
use Dhd\Micro\Interface\DataService\Exam\ExamServiceInterface;
interface DataService extends
DataServiceInterface,
AgreementInterface,
@@ -24,6 +21,4 @@ interface DataService extends
ExcelHeaderFieldsInterface,
DictionaryInterface,
MajorsInterface,
GuideNavInterface,
CourseServiceInterface,
ExamServiceInterface {}
GuideNavInterface {}

View File

@@ -54,4 +54,11 @@ interface DataServiceInterface
// 批量更新校区排序
public function batchUpdateCampusSort(array $sorts): bool;
/**
* 获取招考类型(公告类型统一由数据中心提供).
* @param int $regionId 招考地区ID,0=全部
* @return array 招考类型列表
*/
public function appGetExamTypes(int $regionId = 0): array;
}

View File

@@ -1,503 +0,0 @@
<?php
namespace Dhd\Micro\Interface\DataService\Exam;
interface ExamServiceInterface extends GufenPaperInterface
{
// 练习相关
/**
* 获取练习列表.
* @param int $userId 用户ID
* @return array 练习列表
*/
public function getPracticeList(int $userId): array;
/**
* 获取练习详情.
* @param int $userId 用户ID
* @param int $id 练习ID
* @return array 练习详情
*/
public function getPracticeDetail(int $userId, int $id): array;
// 考试类型相关
/**
* 获取考试类型列表.
* @param array $params
* @return array
*/
public function getExamTypeList(array $params): array;
/**
* 获取考试类型详情.
* @param int $id 考试类型ID
* @return array 考试类型详情
*/
public function getExamTypeDetail(int $id): array;
// 题目素材相关
/**
* 获取素材列表.
* @param array $params
* @return array
*/
public function getQuestionMaterialList(array $params): array;
/**
* 获取素材详情.
* @param int $id
* @return array
*/
public function getQuestionMaterialDetail(int $id): array;
/**
* 创建素材.
* @param array $params
* @return bool 创建结果
*/
public function createQuestionMaterial(array $params): bool;
/**
* 更新素材.
* @param int $id 素材ID
* @param array $params
* @return bool 更新结果
*/
public function updateQuestionMaterial(int $id, array $params): bool;
/**
* 删除素材.
* @param int $id 素材ID
* @return bool 删除结果
*/
public function deleteQuestionMaterial(int $id): bool;
// 题目相关
/**
* 获取题目列表.
* @param array $params
* @return array
*/
public function getQuestionList(array $params): array;
/**
* 获取题目详情.
* @param int $id
* @return array
*/
public function getQuestionDetail(int $id): array;
/**
* 创建题目.
* @param array $params
* @return bool 创建结果
*/
public function createQuestion(array $params): bool;
/**
* 更新题目.
* @param int $id 题目ID
* @param array $params
* @return bool 更新结果
*/
public function updateQuestion(int $id, array $params): bool;
/**
* 删除题目.
* @param int $id 素材ID
* @return bool 删除结果
*/
public function deleteQuestion(int $id): bool;
/**
* 搜索题目.
* @param array $params
* @return array
*/
public function searchQuestion(array $params): array;
// 题目选项相关
/**
* 批量创建题目选项.
* @param int $questionId
* @param array $options
* @return bool
*/
public function batchCreateQuestionOptions(int $questionId, array $options): bool;
/**
* 调整题目选项排序.
* @param int $questionId
* @param array $sortData
* @return bool
*/
public function adjustQuestionOptionSort(int $questionId, array $sortData): bool;
/**
* 删除题目选项.
* @param int $questionId
* @return bool
*/
public function deleteQuestionOptionsByQuestionId(int $questionId): bool;
// 题库相关
/**
* 获取题库列表.
* @param array $params
* @return array
*/
public function getQuestionStoreList(array $params): array;
/**
* 获取题库详情.
* @param int $id
* @return array
*/
public function getQuestionStoreDetail(int $id): array;
/**
* 创建题库.
* @param array $params
* @return bool 创建结果
*/
public function createQuestionStore(array $params): bool;
/**
* 更新题库.
* @param int $id 题库ID
* @param array $params
* @return bool 更新结果
*/
public function updateQuestionStore(int $id, array $params): bool;
/**
* 删除题库.
* @param int $id 题库ID
* @return bool 删除结果
*/
public function deleteQuestionStore(int $id): bool;
// 题型相关
/**
* 获取题型列表.
* @param array $params
* @return array
*/
public function getQuestionTypeList(array $params): array;
/**
* 获取题型详情.
* @param int $id
* @return array
*/
public function getQuestionTypeDetail(int $id): array;
/**
* 创建题型.
* @param array $params
* @return bool 创建结果
*/
public function createQuestionType(array $params): bool;
/**
* 删除题型.
* @param int $id 题型ID
* @return bool 删除结果
*/
public function updateQuestionType(int $id, array $params): bool;
/**
* 删除题型.
* @param int $id 题型ID
* @return bool 删除结果
*/
public function deleteQuestionType(int $id): bool;
// 科目相关
/**
* 获取科目列表.
* @param array $params
* @return array
*/
public function getSubjectList(array $params): array;
/**
* 获取科目详情.
* @param int $id
* @return array
*/
public function getSubjectDetail(int $id): array;
// 用户试卷记录相关
/**
* 开始考试(创建试卷记录).
* @param array $params
* - user_id: 用户ID
* - paper_id: 试卷ID
* @return array 试卷记录信息
*/
public function startExam(array $params): array;
/**
* 提交试卷.
* @param array $params
* - record_id: 试卷记录ID
* - user_id: 用户ID(验证权限)
* @return array 考试结果
*/
public function submitExam(array $params): array;
/**
* 获取用户试卷记录列表.
* @param array $params
* - user_id: 用户ID
* - page: 页码
* - size: 每页条数
* - status: 状态筛选
* @return array 分页记录
*/
public function getUserRecords(array $params): array;
/**
* 获取试卷记录详情.
* @param int $recordId 记录ID
* @param int $userId 用户ID(验证权限)
* @return array 详情信息
*/
public function getRecordDetail(int $recordId, int $userId): array;
/**
* 获取用户考试记录列表.
* @param array $params
* @return array
*/
public function getUserExamRecords(array $params): array;
/**
* 获取考试记录详情.
* @param int $recordId 考试记录ID
* @param int $userId 用户ID(验证权限)
* @return array 详情信息
*/
public function getExamRecordDetail(int $recordId, int $userId): array;
// 试卷相关
// 试卷相关
/**
* 创建试卷.
* @param array $params
* @return bool
*/
public function createPaper(array $params): bool;
/**
* 更新试卷.
* @param int $id 试卷ID
* @param array $params
* @return bool
*/
public function updatePaper(int $id, array $params): bool;
/**
* 添加题目到试卷.
* @param int $paperId
* @param array $questionData
* @return bool
*/
public function addQuestionsToPaper(int $paperId, array $questionData): bool;
/**
* 从试卷中移除题目.
* @param int $paperId
* @param array $questionIds
* @return bool
*/
public function removeQuestionsFromPaper(int $paperId, array $questionIds): bool;
/**
* 获取试卷详情.
* @param int $id
* @return array
*/
public function getPaperDetail(int $id): array;
// 试卷生成相关
/**
* 根据策略生成试卷.
* @param array $params
* @return array
*/
public function generateByStrategy(array $params): array;
/**
* 手动生成试卷.
* @param array $params
* @return array
*/
public function generateManual(array $params): array;
// 素材相关
/**
* 获取素材列表.
* @param array $params
* @return array
*/
public function getMaterialList(array $params): array;
/**
* 获取素材详情.
* @param int $id
* @return array
*/
public function getMaterialDetail(int $id): array;
/**
* 创建素材.
* @param array $params
* @return bool
*/
public function createMaterial(array $params): bool;
/**
* 更新素材.
* @param int $id 素材ID
* @param array $params
* @return bool
*/
public function updateMaterial(int $id, array $params): bool;
/**
* 删除素材.
* @param int $id 素材ID
* @return bool
*/
public function deleteMaterial(int $id): bool;
// 题目标签关联相关
/**
* 添加题目标签.
* @param int $questionId
* @param array $tagIds
* @return bool
*/
public function attachQuestionTags(int $questionId, array $tagIds): bool;
/**
* 删除题目标签.
* @param int $questionId
* @param array $tagIds
* @return bool
*/
public function detachQuestionTags(int $questionId, array $tagIds = []): bool;
/**
* 获取题目标签.
* @param int $questionId
* @return array
*/
public function getQuestionTags(int $questionId): array;
/**
* 获取用户错题列表.
* @param array $params
* - user_id: 用户ID
* - page: 页码
* - size: 每页条数
* - subject_id: 科目筛选
* @return array 分页错题列表
*/
public function getUserWrongQuestions(array $params): array;
/**
* 标记错题为已掌握
* @param int $userId 用户ID
* @param int $wrongId 错题ID
* @return bool 操作结果
*/
public function markAsMastered(int $userId, int $wrongId): bool;
/**
* 添加错题笔记.
* @param array $params
* - wrong_id: 错题ID
* - user_id: 用户ID
* - note: 笔记内容
* @return bool 操作结果
*/
public function addNote(array $params): bool;
/**
* 获取题目错误统计
* @param int $userId 用户ID
* @param int $questionId 题目ID
* @return array 统计信息
*/
public function getErrorStats(int $userId, int $questionId): array;
/**
* 保存用户答题记录.
* @param array $params
* - user_id: 用户ID
* - record_id: 试卷记录ID
* - question_id: 题目ID
* - user_answer: 用户答案
* @return bool 操作结果
*/
public function saveAnswer(array $params): bool;
/**
* 获取试卷内用户答题记录.
* @param int $userId 用户ID
* @param int $recordId 试卷记录ID
* @return array 答题记录列表
*/
public function getByRecordId(int $userId, int $recordId): array;
/**
* 批量更新题目得分.
* @param array $params
* - record_id: 试卷记录ID
* - scores: 得分数据 [{question_id: 1, score: 5, is_correct: true}, ...]
* @return bool 操作结果
*/
public function batchUpdateScores(array $params): bool;
public function getCategoryList(array $params): array;
public function getSubQuestionCategoryList(array $data): array;
public function getCategoryDetail(int $id): array;
public function getCategoriesByIds(array $ids): array;
public function createCategory(array $params): array;
public function updateCategory(int $id, array $params): array;
public function deleteCategory(int $id): array;
public function getCategoryTree(array $ids = []): array;
public function getCategoryOptions(): array;
/**
* 查询指定分类下的题库数量
* @param int $categoryId 分类ID
* @return int 题库数量
*/
public function getQuestionCountByCategory(int $categoryId): int;
}

View File

@@ -1,9 +0,0 @@
<?php
namespace Dhd\Micro\Interface\DataService\Exam;
interface GufenPaperInterface
{
//更新估分职位信息
public function editGufenPosition(array $params): array;
}

View File

@@ -7,12 +7,12 @@ namespace Dhd\Micro\Interface\ExamService;
interface CampusRelationInterface
{
/**
* 获取地区的考试类型
* 获取考区关联信息(校区/考试类型/科目/题型分类).
*/
public function getExamTypesByCampus(int $campusId): array;
public function getCampusRelationData(int $campusId = 1, int $examTypeId = 1, int $subjectId = 1, int $userId = 0): array;
/**
* 获取考试类型的科目
* 按条件获取题型分类树.
*/
public function getSubjectsByExamType(int $examTypeId): array;
public function getCategoriesByConditions(int $campusId, int $examTypeId, int $subjectId): array;
}

View File

@@ -8,6 +8,8 @@ interface QuestionCategoryInterface
{
public function getCategoryList(array $params): array;
public function getSubQuestionCategoryList(array $data): array;
public function getCategoryDetail(int $id): array;
public function getCategoriesByIds(array $ids): array;

View File

@@ -12,8 +12,6 @@ interface NoticeService extends
NoticePositionInterface,
NoticePositionHistoryInterface,
NoticePositionCollectInterface,
NoticePositionPkInterface,
NoticeStatsInterface,
NoticeStatsLogInterface
NoticePositionPkInterface
{
}

View File

@@ -9,8 +9,6 @@ interface NoticeServiceInterface
// 公告管理
public function getList(array $params): array;
public function appGetNoticeTypes(int $regionId = 0): array;
public function appGetList(array $params): array;
public function officialGetList(array $params): array;

View File

@@ -1,12 +0,0 @@
<?php
declare(strict_types=1);
namespace Dhd\Micro\Interface\NoticeService;
/**
* 公告统计聚合契约(空,预留)
*/
interface NoticeStatsInterface
{
}

View File

@@ -1,26 +0,0 @@
<?php
declare(strict_types=1);
namespace Dhd\Micro\Interface\NoticeService;
interface NoticeStatsLogInterface
{
// 记录浏览日志
public function logView(int $noticeId): int;
// 记录分享日志
public function logShare(int $noticeId): int;
// 记录点赞日志
public function logLike(int $noticeId): int;
// 记录取消点赞日志
public function logCancelLike(int $noticeId): int;
// 记录下载日志
public function logDownload(int $noticeId, int $attachmentId): int;
// 获取公告的统计日志
public function getLogsByNoticeId(int $noticeId, array $params = []): array;
}