refactor(后端): 重构包名从 com.reading.platform 到 com.lesingle.edu

- 修改 pom.xml 中的 groupId
- 移动所有 Java 文件到新包路径 com/lesingle/edu
- 更新所有 Java 文件的 package 和 import 语句 (438 个文件)
- 更新配置文件中的日志包名引用 (application-*.yml, logback-spring.xml)
- 更新 @MapperScan 注解路径
- 更新 CLAUDE.md 文档中的目录结构说明

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
En 2026-03-26 12:02:20 +08:00
parent 40589f59e7
commit de264d3298
559 changed files with 1812 additions and 1813 deletions

View File

@ -253,7 +253,7 @@ kindergarten_java/
```
lesingle-edu-reading-platform-backend/
├── src/main/java/com/reading/platform/
├── src/main/java/com/lesingle/edu/
│ ├── ReadingPlatformApplication.java # 启动类
│ ├── common/ # 公共模块
│ │ ├── config/ # 配置类

View File

@ -1,4 +1,4 @@
# 幼儿阅读教学服务平台 - 服务启动指南
# 少儿智慧阅读 - 服务启动指南
## 📋 概述

View File

@ -1,7 +1,7 @@
#!/bin/bash
#===============================================================================
# 幼儿阅读教学服务平台 - 一键部署到宝塔面板
# 少儿智慧阅读 - 一键部署到宝塔面板
#
# 使用前请配置:
# 1. 远程服务器信息IP、用户名、密码/密钥)
@ -389,7 +389,7 @@ show_deploy_info() {
main() {
echo ""
echo "=============================================="
echo " 幼儿阅读教学服务平台"
echo " 少儿智慧阅读"
echo " 一键部署到宝塔面板"
echo "=============================================="
echo ""

View File

@ -1,7 +1,7 @@
#!/bin/bash
#===============================================================================
# 幼儿阅读教学服务平台 - 一键部署到宝塔面板
# 少儿智慧阅读 - 一键部署到宝塔面板
#
# 使用方法:
# ./deploy.sh your-server-ip
@ -29,7 +29,7 @@ log_step() { echo -e "${BLUE}[STEP]${NC} $1"; }
if [ -z "$1" ]; then
echo ""
echo "=============================================="
echo " 幼儿阅读教学服务平台"
echo " 少儿智慧阅读"
echo " 一键部署到宝塔面板"
echo "=============================================="
echo ""

View File

@ -1,4 +1,4 @@
# 幼儿阅读教学服务平台
# 少儿智慧阅读
> 面向幼儿园的B2B2C阅读教学服务平台将优质绘本资源包装成教学课程帮助幼儿园老师更好地完成教学工作。

View File

@ -1,17 +1,17 @@
# 幼儿阅读教学服务平台 - 项目概览
# 少儿智慧阅读 - 项目概览
> 创建时间2025-01-29
> 最后更新2025-01-29
## 项目定位
面向幼儿园客户提供的一站式幼儿阅读教学服务平台,将优质绘本资源包装成教学课程,帮助幼儿园老师更好地完成教学工作。
面向幼儿园客户提供的一站式少儿智慧阅读,将优质绘本资源包装成教学课程,帮助幼儿园老师更好地完成教学工作。
## 平台架构
```
┌─────────────────────────────────────────────────────────────┐
幼儿阅读教学服务平台
少儿智慧阅读
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ │

View File

@ -988,7 +988,7 @@ FRONTEND_URL="http://localhost:5173"
```bash
# frontend/.env.development
VITE_API_BASE_URL=http://localhost:3000/api/v1
VITE_APP_TITLE=幼儿阅读教学服务平台
VITE_APP_TITLE=少儿智慧阅读
```
---

View File

@ -1,4 +1,4 @@
# 幼儿阅读教学服务平台 - 项目总览
# 少儿智慧阅读 - 项目总览
> 更新时间2026-02-27
> 项目状态:需求重构中 - 课程包与套餐结构重构
@ -23,7 +23,7 @@
## 📋 项目简介
**幼儿阅读教学服务平台**是一个面向幼儿园的B2B2C阅读教学服务平台将优质绘本资源包装成教学课程帮助幼儿园老师更好地完成教学工作。
**少儿智慧阅读**是一个面向幼儿园的B2B2C阅读教学服务平台将优质绘本资源包装成教学课程帮助幼儿园老师更好地完成教学工作。
### 核心价值

View File

@ -108,7 +108,7 @@ const doc = new Document({
headers: {
default: new Header({ children: [new Paragraph({
alignment: AlignmentType.RIGHT,
children: [new TextRun({ text: "幼儿阅读教学服务平台 - 产品介绍", size: 20, color: "888888" })]
children: [new TextRun({ text: "少儿智慧阅读 - 产品介绍", size: 20, color: "888888" })]
})] })
},
footers: {
@ -124,7 +124,7 @@ const doc = new Document({
new Paragraph({ spacing: { before: 2000 } }),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "幼儿阅读教学服务平台", size: 72, bold: true, color: "1E3A5F", font: "Microsoft YaHei" })]
children: [new TextRun({ text: "少儿智慧阅读", size: 72, bold: true, color: "1E3A5F", font: "Microsoft YaHei" })]
}),
new Paragraph({ spacing: { before: 400 } }),
new Paragraph({
@ -154,7 +154,7 @@ const doc = new Document({
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("1.1 产品定位")] }),
new Paragraph({
spacing: { after: 200 },
children: [new TextRun({ text: "幼儿阅读教学服务平台是一款面向幼儿园的B2B2C综合性阅读教学管理系统致力于为幼儿园、教师和家长提供全方位的绘本阅读教学服务。平台采用多端协同架构打通超管、学校、教师、家长四方角色实现从课程创作、教学管理到家校互动的完整闭环。" })]
children: [new TextRun({ text: "少儿智慧阅读是一款面向幼儿园的B2B2C综合性阅读教学管理系统致力于为幼儿园、教师和家长提供全方位的绘本阅读教学服务。平台采用多端协同架构打通超管、学校、教师、家长四方角色实现从课程创作、教学管理到家校互动的完整闭环。" })]
}),
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("1.2 目标用户")] }),
@ -399,7 +399,7 @@ const doc = new Document({
// 生成文档
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync("/Users/retirado/ccProgram/docs/幼儿阅读教学服务平台-产品介绍与功能说明.docx", buffer);
fs.writeFileSync("/Users/retirado/ccProgram/docs/少儿智慧阅读-产品介绍与功能说明.docx", buffer);
console.log("文档生成成功!");
}).catch(err => {
console.error("生成文档失败:", err);

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
幼儿阅读教学服务平台 - 产品介绍与功能说明 PDF生成脚本
少儿智慧阅读 - 产品介绍与功能说明 PDF生成脚本
"""
from reportlab.lib.pagesizes import A4
@ -196,7 +196,7 @@ def add_image_with_caption(story, image_path, caption, styles, max_width=15*cm,
def build_document():
"""构建PDF文档"""
output_path = '/Users/retirado/ccProgram/docs/幼儿阅读教学服务平台-产品介绍与功能说明.pdf'
output_path = '/Users/retirado/ccProgram/docs/少儿智慧阅读-产品介绍与功能说明.pdf'
screenshots_dir = '/Users/retirado/ccProgram/docs/screenshots'
doc = SimpleDocTemplate(
@ -213,7 +213,7 @@ def build_document():
# ===== 封面 =====
story.append(Spacer(1, 4*cm))
story.append(Paragraph('幼儿阅读教学服务平台', styles['CoverTitle']))
story.append(Paragraph('少儿智慧阅读', styles['CoverTitle']))
story.append(Paragraph('产品介绍与功能说明', styles['CoverSubtitle']))
story.append(Spacer(1, 3*cm))
story.append(Paragraph('版本v1.0', styles['CoverSubtitle']))
@ -225,7 +225,7 @@ def build_document():
story.append(Paragraph('1.1 产品定位', styles['SectionTitle']))
story.append(Paragraph(
'幼儿阅读教学服务平台是一款面向幼儿园的B2B2C综合性阅读教学管理系统致力于为幼儿园、教师和家长提供全方位的绘本阅读教学服务。平台采用多端协同架构打通超管、学校、教师、家长四方角色实现从课程创作、教学管理到家校互动的完整闭环。',
'少儿智慧阅读是一款面向幼儿园的B2B2C综合性阅读教学管理系统致力于为幼儿园、教师和家长提供全方位的绘本阅读教学服务。平台采用多端协同架构打通超管、学校、教师、家长四方角色实现从课程创作、教学管理到家校互动的完整闭环。',
styles['ChineseBody']
))

View File

@ -79,8 +79,8 @@
### 2.1 基本设置
| 测试项 | 预期结果 | 实际结果 | 状态 |
|--------|----------|----------|------|
| 加载设置 | 显示已有设置值 | 成功加载"幼儿阅读教学服务平台"等默认值 | ✅ |
| 修改系统名称 | 保存成功 | 修改为"幼儿阅读教学服务平台 - 测试"PUT 200成功 | ✅ |
| 加载设置 | 显示已有设置值 | 成功加载"少儿智慧阅读"等默认值 | ✅ |
| 修改系统名称 | 保存成功 | 修改为"少儿智慧阅读 - 测试"PUT 200成功 | ✅ |
| 修改联系信息 | 保存成功 | 未详细测试 | ⏳ |
### 2.2 安全设置

View File

@ -1,4 +1,4 @@
# 幼儿阅读教学服务平台 - 系统测试方案
# 少儿智慧阅读 - 系统测试方案
> 版本: v1.0
> 创建时间: 2026-02-24
@ -10,7 +10,7 @@
### 1.1 项目背景
幼儿阅读教学服务平台是一个面向幼儿园客户提供的一站式幼儿阅读教学服务平台,包含四个端:
少儿智慧阅读是一个面向幼儿园客户提供的一站式少儿智慧阅读,包含四个端:
- **超管端**:平台运营管理、课程包制作发布、租户数据监控
- **学校端**:幼儿园管理(园长/教务管理员/教学主管)
- **教师端**:一线教师完成日常阅读教学

View File

@ -1,10 +1,10 @@
# 幼儿阅读教学服务平台 - 产品介绍与功能说明
# 少儿智慧阅读 - 产品介绍与功能说明
## 一、产品概述
### 1.1 产品定位
**幼儿阅读教学服务平台**是一款面向幼儿园的B2B2C综合性阅读教学管理系统致力于为幼儿园、教师和家长提供全方位的绘本阅读教学服务。平台采用多端协同架构打通超管、学校、教师、家长四方角色实现从课程创作、教学管理到家校互动的完整闭环。
**少儿智慧阅读**是一款面向幼儿园的B2B2C综合性阅读教学管理系统致力于为幼儿园、教师和家长提供全方位的绘本阅读教学服务。平台采用多端协同架构打通超管、学校、教师、家长四方角色实现从课程创作、教学管理到家校互动的完整闭环。
### 1.2 目标用户

View File

@ -1,4 +1,4 @@
# 幼儿阅读教学服务平台
# 少儿智慧阅读
## 产品简介

View File

@ -11,7 +11,7 @@
<relativePath/>
</parent>
<groupId>com.reading</groupId>
<groupId>com.lesingle.edu</groupId>
<artifactId>lesingle-edu-reading-platform-backend</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>

View File

@ -1,4 +1,4 @@
package com.reading.platform;
package com.lesingle.edu;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
@ -8,7 +8,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* Reading Platform Application
*/
@SpringBootApplication
@MapperScan("com.reading.platform.mapper")
@MapperScan("com.lesingle.edu.mapper")
public class ReadingPlatformApplication {
public static void main(String[] args) {

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.annotation;
package com.lesingle.edu.common.annotation;
import com.reading.platform.common.enums.LogModule;
import com.reading.platform.common.enums.LogOperationType;
import com.lesingle.edu.common.enums.LogModule;
import com.lesingle.edu.common.enums.LogOperationType;
import java.lang.annotation.*;

View File

@ -1,6 +1,6 @@
package com.reading.platform.common.annotation;
package com.lesingle.edu.common.annotation;
import com.reading.platform.common.enums.UserRole;
import com.lesingle.edu.common.enums.UserRole;
import java.lang.annotation.*;

View File

@ -1,12 +1,12 @@
package com.reading.platform.common.aspect;
package com.lesingle.edu.common.aspect;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.filter.ValueFilter;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.reading.platform.common.annotation.Log;
import com.reading.platform.common.security.SecurityUtils;
import com.reading.platform.entity.OperationLog;
import com.reading.platform.service.OperationLogService;
import com.lesingle.edu.common.annotation.Log;
import com.lesingle.edu.common.security.SecurityUtils;
import com.lesingle.edu.entity.OperationLog;
import com.lesingle.edu.service.OperationLogService;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.aspect;
package com.lesingle.edu.common.aspect;
import com.alibaba.fastjson2.JSON;
import jakarta.servlet.http.HttpServletRequest;
@ -27,7 +27,7 @@ public class RequestLogAspect {
/**
* 定义切点Controller 层所有方法
*/
@Pointcut("execution(* com.reading.platform.controller..*.*(..))")
@Pointcut("execution(* com.lesingle.edu.controller..*.*(..))")
public void controllerPointcut() {
}

View File

@ -1,10 +1,10 @@
package com.reading.platform.common.aspect;
package com.lesingle.edu.common.aspect;
import com.reading.platform.common.annotation.RequireRole;
import com.reading.platform.common.enums.ErrorCode;
import com.reading.platform.common.enums.UserRole;
import com.reading.platform.common.exception.BusinessException;
import com.reading.platform.common.security.SecurityUtils;
import com.lesingle.edu.common.annotation.RequireRole;
import com.lesingle.edu.common.enums.ErrorCode;
import com.lesingle.edu.common.enums.UserRole;
import com.lesingle.edu.common.exception.BusinessException;
import com.lesingle.edu.common.security.SecurityUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
@ -23,7 +23,7 @@ import java.util.stream.Collectors;
@Component
public class RoleAspect {
@Around("@annotation(com.reading.platform.common.annotation.RequireRole)")
@Around("@annotation(com.lesingle.edu.common.annotation.RequireRole)")
public Object checkRole(ProceedingJoinPoint joinPoint) throws Throwable {
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@ -71,8 +71,8 @@ public class MybatisPlusConfig implements MetaObjectHandler {
if (authentication != null && authentication.getPrincipal() != null) {
Object principal = authentication.getPrincipal();
// JwtPayload 类型JWT 认证
if (principal instanceof com.reading.platform.common.security.JwtPayload) {
return ((com.reading.platform.common.security.JwtPayload) principal).getUsername();
if (principal instanceof com.lesingle.edu.common.security.JwtPayload) {
return ((com.lesingle.edu.common.security.JwtPayload) principal).getUsername();
}
// 字符串类型
if (principal instanceof String) {

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -1,6 +1,6 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import com.reading.platform.common.util.OssUtils;
import com.lesingle.edu.common.util.OssUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;

View File

@ -1,6 +1,6 @@
package com.reading.platform.common.config;
package com.lesingle.edu.common.config;
import com.reading.platform.common.security.JwtAuthenticationFilter;
import com.lesingle.edu.common.security.JwtAuthenticationFilter;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.enums;
package com.lesingle.edu.common.enums;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.enums;
package com.lesingle.edu.common.enums;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.enums;
package com.lesingle.edu.common.enums;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.enums;
package com.lesingle.edu.common.enums;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.enums;
package com.lesingle.edu.common.enums;
import lombok.Getter;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.enums;
package com.lesingle.edu.common.enums;
import lombok.Getter;

View File

@ -1,6 +1,6 @@
package com.reading.platform.common.exception;
package com.lesingle.edu.common.exception;
import com.reading.platform.common.enums.ErrorCode;
import com.lesingle.edu.common.enums.ErrorCode;
import lombok.Getter;
/**

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.exception;
package com.lesingle.edu.common.exception;
import com.reading.platform.common.enums.ErrorCode;
import com.reading.platform.common.response.Result;
import com.lesingle.edu.common.enums.ErrorCode;
import com.lesingle.edu.common.response.Result;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.ConstraintViolation;
import jakarta.validation.ConstraintViolationException;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.AdminUserResponse;
import com.reading.platform.entity.AdminUser;
import com.lesingle.edu.dto.response.AdminUserResponse;
import com.lesingle.edu.entity.AdminUser;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ClassResponse;
import com.reading.platform.entity.Clazz;
import com.lesingle.edu.dto.response.ClassResponse;
import com.lesingle.edu.entity.Clazz;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ClassTeacherResponse;
import com.reading.platform.entity.ClassTeacher;
import com.lesingle.edu.dto.response.ClassTeacherResponse;
import com.lesingle.edu.entity.ClassTeacher;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseActivityResponse;
import com.reading.platform.entity.CourseActivity;
import com.lesingle.edu.dto.response.CourseActivityResponse;
import com.lesingle.edu.entity.CourseActivity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseLessonResponse;
import com.reading.platform.entity.CourseLesson;
import com.lesingle.edu.dto.response.CourseLessonResponse;
import com.lesingle.edu.entity.CourseLesson;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CoursePackageCourseResponse;
import com.reading.platform.entity.CoursePackageCourse;
import com.lesingle.edu.dto.response.CoursePackageCourseResponse;
import com.lesingle.edu.entity.CoursePackageCourse;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseResponse;
import com.reading.platform.entity.CoursePackage;
import com.lesingle.edu.dto.response.CourseResponse;
import com.lesingle.edu.entity.CoursePackage;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
@ -20,8 +20,8 @@ public interface CoursePackageMapper {
/**
* Entity Response
*/
@Mapping(target = "gradeTags", expression = "java(com.reading.platform.common.util.JsonUtils.parseStringArray(entity.getGradeTags()))")
@Mapping(target = "domainTags", expression = "java(com.reading.platform.common.util.JsonUtils.parseStringArray(entity.getDomainTags()))")
@Mapping(target = "gradeTags", expression = "java(com.lesingle.edu.common.util.JsonUtils.parseStringArray(entity.getGradeTags()))")
@Mapping(target = "domainTags", expression = "java(com.lesingle.edu.common.util.JsonUtils.parseStringArray(entity.getDomainTags()))")
CourseResponse toVO(CoursePackage entity);
/**
@ -32,7 +32,7 @@ public interface CoursePackageMapper {
/**
* Response Entity用于创建/更新时
*/
@Mapping(target = "gradeTags", expression = "java(vo.getGradeTags() != null ? com.reading.platform.common.util.JsonUtils.toJson(vo.getGradeTags()) : null)")
@Mapping(target = "domainTags", expression = "java(vo.getDomainTags() != null ? com.reading.platform.common.util.JsonUtils.toJson(vo.getDomainTags()) : null)")
@Mapping(target = "gradeTags", expression = "java(vo.getGradeTags() != null ? com.lesingle.edu.common.util.JsonUtils.toJson(vo.getGradeTags()) : null)")
@Mapping(target = "domainTags", expression = "java(vo.getDomainTags() != null ? com.lesingle.edu.common.util.JsonUtils.toJson(vo.getDomainTags()) : null)")
CoursePackage toEntity(CourseResponse vo);
}

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseResourceResponse;
import com.reading.platform.entity.CourseResource;
import com.lesingle.edu.dto.response.CourseResourceResponse;
import com.lesingle.edu.entity.CourseResource;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseScriptResponse;
import com.reading.platform.entity.CourseScript;
import com.lesingle.edu.dto.response.CourseScriptResponse;
import com.lesingle.edu.entity.CourseScript;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseScriptPageResponse;
import com.reading.platform.entity.CourseScriptPage;
import com.lesingle.edu.dto.response.CourseScriptPageResponse;
import com.lesingle.edu.entity.CourseScriptPage;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.CourseVersionResponse;
import com.reading.platform.entity.CourseVersion;
import com.lesingle.edu.dto.response.CourseVersionResponse;
import com.lesingle.edu.entity.CourseVersion;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.GrowthRecordResponse;
import com.reading.platform.entity.GrowthRecord;
import com.lesingle.edu.dto.response.GrowthRecordResponse;
import com.lesingle.edu.entity.GrowthRecord;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
@ -19,7 +19,7 @@ public interface GrowthRecordMapper {
/**
* Entity Responseimages JSON 字符串解析为 List
*/
@Mapping(target = "images", expression = "java(java.util.Arrays.asList(com.reading.platform.common.util.JsonUtils.parseStringArray(entity.getImages())))")
@Mapping(target = "images", expression = "java(java.util.Arrays.asList(com.lesingle.edu.common.util.JsonUtils.parseStringArray(entity.getImages())))")
GrowthRecordResponse toVO(GrowthRecord entity);
/**
@ -30,6 +30,6 @@ public interface GrowthRecordMapper {
/**
* Response Entityimages List 转为 JSON 字符串
*/
@Mapping(target = "images", expression = "java(vo.getImages() != null ? com.reading.platform.common.util.JsonUtils.toJson(vo.getImages()) : null)")
@Mapping(target = "images", expression = "java(vo.getImages() != null ? com.lesingle.edu.common.util.JsonUtils.toJson(vo.getImages()) : null)")
GrowthRecord toEntity(GrowthRecordResponse vo);
}

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.LessonFeedbackResponse;
import com.reading.platform.entity.LessonFeedback;
import com.lesingle.edu.dto.response.LessonFeedbackResponse;
import com.lesingle.edu.entity.LessonFeedback;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.LessonResponse;
import com.reading.platform.entity.Lesson;
import com.lesingle.edu.dto.response.LessonResponse;
import com.lesingle.edu.entity.Lesson;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.LessonStepResponse;
import com.reading.platform.entity.LessonStep;
import com.lesingle.edu.dto.response.LessonStepResponse;
import com.lesingle.edu.entity.LessonStep;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.LessonStepResourceResponse;
import com.reading.platform.entity.LessonStepResource;
import com.lesingle.edu.dto.response.LessonStepResourceResponse;
import com.lesingle.edu.entity.LessonStepResource;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.NotificationResponse;
import com.reading.platform.entity.Notification;
import com.lesingle.edu.dto.response.NotificationResponse;
import com.lesingle.edu.entity.Notification;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.OperationLogResponse;
import com.reading.platform.entity.OperationLog;
import com.lesingle.edu.dto.response.OperationLogResponse;
import com.lesingle.edu.entity.OperationLog;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ParentResponse;
import com.reading.platform.entity.Parent;
import com.lesingle.edu.dto.response.ParentResponse;
import com.lesingle.edu.entity.Parent;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ParentStudentResponse;
import com.reading.platform.entity.ParentStudent;
import com.lesingle.edu.dto.response.ParentStudentResponse;
import com.lesingle.edu.entity.ParentStudent;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ResourceItemResponse;
import com.reading.platform.entity.ResourceItem;
import com.lesingle.edu.dto.response.ResourceItemResponse;
import com.lesingle.edu.entity.ResourceItem;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ResourceLibraryResponse;
import com.reading.platform.entity.ResourceLibrary;
import com.lesingle.edu.dto.response.ResourceLibraryResponse;
import com.lesingle.edu.entity.ResourceLibrary;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.SchedulePlanResponse;
import com.reading.platform.entity.SchedulePlan;
import com.lesingle.edu.dto.response.SchedulePlanResponse;
import com.lesingle.edu.entity.SchedulePlan;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.StudentClassHistoryResponse;
import com.reading.platform.entity.StudentClassHistory;
import com.lesingle.edu.dto.response.StudentClassHistoryResponse;
import com.lesingle.edu.entity.StudentClassHistory;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.StudentResponse;
import com.reading.platform.entity.Student;
import com.lesingle.edu.dto.response.StudentResponse;
import com.lesingle.edu.entity.Student;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.StudentRecordResponse;
import com.reading.platform.entity.StudentRecord;
import com.lesingle.edu.dto.response.StudentRecordResponse;
import com.lesingle.edu.entity.StudentRecord;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.SystemSettingResponse;
import com.reading.platform.entity.SystemSetting;
import com.lesingle.edu.dto.response.SystemSettingResponse;
import com.lesingle.edu.entity.SystemSetting;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TagResponse;
import com.reading.platform.entity.Tag;
import com.lesingle.edu.dto.response.TagResponse;
import com.lesingle.edu.entity.Tag;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TaskCompletionResponse;
import com.reading.platform.entity.TaskCompletion;
import com.lesingle.edu.dto.response.TaskCompletionResponse;
import com.lesingle.edu.entity.TaskCompletion;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TaskResponse;
import com.reading.platform.entity.Task;
import com.lesingle.edu.dto.response.TaskResponse;
import com.lesingle.edu.entity.Task;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TaskTargetResponse;
import com.reading.platform.entity.TaskTarget;
import com.lesingle.edu.dto.response.TaskTargetResponse;
import com.lesingle.edu.entity.TaskTarget;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TaskTemplateResponse;
import com.reading.platform.entity.TaskTemplate;
import com.lesingle.edu.dto.response.TaskTemplateResponse;
import com.lesingle.edu.entity.TaskTemplate;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TeacherResponse;
import com.reading.platform.entity.Teacher;
import com.lesingle.edu.dto.response.TeacherResponse;
import com.lesingle.edu.entity.Teacher;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TenantCourseResponse;
import com.reading.platform.entity.TenantCourse;
import com.lesingle.edu.dto.response.TenantCourseResponse;
import com.lesingle.edu.entity.TenantCourse;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TenantResponse;
import com.reading.platform.entity.Tenant;
import com.lesingle.edu.dto.response.TenantResponse;
import com.lesingle.edu.entity.Tenant;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.TenantPackageResponse;
import com.reading.platform.entity.TenantPackage;
import com.lesingle.edu.dto.response.TenantPackageResponse;
import com.lesingle.edu.entity.TenantPackage;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,7 +1,7 @@
package com.reading.platform.common.mapper;
package com.lesingle.edu.common.mapper;
import com.reading.platform.dto.response.ThemeResponse;
import com.reading.platform.entity.Theme;
import com.lesingle.edu.dto.response.ThemeResponse;
import com.lesingle.edu.entity.Theme;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.response;
package com.lesingle.edu.common.response;
import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.response;
package com.lesingle.edu.common.response;
import java.io.Serializable;

View File

@ -1,17 +1,17 @@
package com.reading.platform.common.security;
package com.lesingle.edu.common.security;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.reading.platform.common.enums.GenericStatus;
import com.reading.platform.common.enums.TenantStatus;
import com.reading.platform.common.enums.UserRole;
import com.reading.platform.entity.AdminUser;
import com.reading.platform.entity.Parent;
import com.reading.platform.entity.Tenant;
import com.reading.platform.entity.Teacher;
import com.reading.platform.mapper.AdminUserMapper;
import com.reading.platform.mapper.ParentMapper;
import com.reading.platform.mapper.TenantMapper;
import com.reading.platform.mapper.TeacherMapper;
import com.lesingle.edu.common.enums.GenericStatus;
import com.lesingle.edu.common.enums.TenantStatus;
import com.lesingle.edu.common.enums.UserRole;
import com.lesingle.edu.entity.AdminUser;
import com.lesingle.edu.entity.Parent;
import com.lesingle.edu.entity.Tenant;
import com.lesingle.edu.entity.Teacher;
import com.lesingle.edu.mapper.AdminUserMapper;
import com.lesingle.edu.mapper.ParentMapper;
import com.lesingle.edu.mapper.TenantMapper;
import com.lesingle.edu.mapper.TeacherMapper;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.security;
package com.lesingle.edu.common.security;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.security;
package com.lesingle.edu.common.security;
import io.jsonwebtoken.*;
import io.jsonwebtoken.security.Keys;

View File

@ -1,4 +1,4 @@
package com.reading.platform.common.security;
package com.lesingle.edu.common.security;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

View File

@ -1,8 +1,8 @@
package com.reading.platform.common.security;
package com.lesingle.edu.common.security;
import com.reading.platform.common.enums.ErrorCode;
import com.reading.platform.common.enums.UserRole;
import com.reading.platform.common.exception.BusinessException;
import com.lesingle.edu.common.enums.ErrorCode;
import com.lesingle.edu.common.enums.UserRole;
import com.lesingle.edu.common.exception.BusinessException;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;

Some files were not shown because too many files have changed in this diff Show More