From ef7dc07a55d963777963b9831e631d45de025bed Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Sat, 17 Sep 2022 14:44:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/core/util/beetl/DataTableName.java | 34 ++- .../TeacherOpenCourseScheduleSession.java | 217 ++---------------- ...acherOpenCourseScheduleSessionService.java | 16 +- .../jlw/web/ApplicationRunnerController.java | 10 +- .../jlw/teacherOpenCourseScheduleSession.md | 1 - 5 files changed, 68 insertions(+), 210 deletions(-) diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/DataTableName.java b/admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/DataTableName.java index b903c36b..b9b300a4 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/DataTableName.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/util/beetl/DataTableName.java @@ -1,18 +1,48 @@ package com.ibeetl.admin.core.util.beetl; +import cn.hutool.core.util.ReflectUtil; +import cn.hutool.extra.spring.SpringUtil; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.mysql.cj.jdbc.JdbcConnection; import org.apache.commons.lang3.StringUtils; import org.beetl.core.Context; import org.beetl.core.Function; +import org.beetl.sql.ext.spring.SpringConnectionSource; import org.springframework.stereotype.Component; +import java.lang.reflect.Method; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + //1商品分类 2商品 3文章分类 4文章 5商品属性 6适用场合 7品牌 8Region @Component public class DataTableName implements Function { - - public static String dataName; + public volatile Map dataSourceMap = new ConcurrentHashMap<>(); @Override public Object call(Object[] objects, Context context) { + // 获取当前线程的数据源 + String dataName = getDatabaseName(DynamicDataSourceContextHolder.peek()); return StringUtils.isBlank(dataName)?"springbootplus":dataName; } + + private String getDatabaseName(String sourceName) { + + if (StringUtils.isBlank(sourceName)) { + sourceName = "master"; + } + String s = dataSourceMap.get(sourceName); + if (StringUtils.isNotBlank(s)) { + return s; + } + String beanName = sourceName + "BeetlSqlDataSourceBean"; + SpringConnectionSource cs = SpringUtil.getBean(beanName, SpringConnectionSource.class); + JdbcConnection delegate = (JdbcConnection)ReflectUtil.getFieldValue(cs.getMetaData(), "delegate"); + Method getDatabase = ReflectUtil.getMethodByName(JdbcConnection.class, "getDatabase"); + + // 获取当前线程的数据源库名 + String dataBaseName = ReflectUtil.invoke(delegate, getDatabase); + dataSourceMap.put(sourceName, dataBaseName); + return dataBaseName; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseScheduleSession.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseScheduleSession.java index 46ce9131..51daac8c 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseScheduleSession.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseScheduleSession.java @@ -3,8 +3,8 @@ package com.ibeetl.jlw.entity; import com.ibeetl.admin.core.annotation.Dict; import com.ibeetl.admin.core.entity.BaseEntity; import com.ibeetl.admin.core.util.ValidateConfig; +import lombok.Data; import org.beetl.sql.annotation.entity.AssignID; -import org.beetl.sql.annotation.entity.Table; import org.beetl.sql.fetch.annotation.Fetch; import org.beetl.sql.fetch.annotation.FetchSql; @@ -17,7 +17,7 @@ import java.util.List; * gen by Spring Boot2 Admin 2022-09-11 */ @Fetch -@Table(name="teacher_open_course_schedule_session") +@Data public class TeacherOpenCourseScheduleSession extends BaseEntity{ //课程开课-排课位置ID @@ -34,7 +34,7 @@ public class TeacherOpenCourseScheduleSession extends BaseEntity{ //创建时间 private Date teacherOpenCourseScheduleSessionAddTime ; - + //状态(1正常 2删除) @Dict(type="global_status") @@ -62,16 +62,12 @@ public class TeacherOpenCourseScheduleSession extends BaseEntity{ private Long userId ; - @FetchSql("select * from teacher_open_course_schedule_session where teacher_open_course_id = #teacherOpenCourseId# and teacher_id = #teacherId# and teacher_open_course_schedule_session_status = 1") - private List sessionTagList; - - public List getSessionTagList() { - return sessionTagList; - } - - public void setSessionTagList(List sessionTagList) { - this.sessionTagList = sessionTagList; - } + @FetchSql("select teacher_open_course_schedule_session_tag_name, teacher_open_course_schedule_session_add_time," + + "teacher_open_course_schedule_session_tag_duration," + + "teacher_open_course_schedule_session_tag_start_time, teacher_open_course_schedule_session_tag_end_time " + + "from teacher_open_course_schedule_session where teacher_open_course_id = #teacherOpenCourseId# " + + "and teacher_id = #teacherId# and teacher_open_course_schedule_session_status = 1") + private List sessionTagList; //课次名称 @@ -101,199 +97,28 @@ public class TeacherOpenCourseScheduleSession extends BaseEntity{ private Integer teacherOpenCourseScheduleSessionWeekNum; - public TeacherOpenCourseScheduleSession(){ - } - - /**课程开课-排课位置ID - *@return - */ - public Long getTeacherOpenCourseScheduleSessionId(){ - return teacherOpenCourseScheduleSessionId; - } - /**课程开课-排课位置ID - *@param teacherOpenCourseScheduleSessionId - */ - public void setTeacherOpenCourseScheduleSessionId(Long teacherOpenCourseScheduleSessionId){ - this.teacherOpenCourseScheduleSessionId = teacherOpenCourseScheduleSessionId; - } - - /**日期 - *@return - */ - public String getTeacherOpenCourseScheduleSessionDayTime(){ - return teacherOpenCourseScheduleSessionDayTime; - } - /**日期 - *@param teacherOpenCourseScheduleSessionDayTime - */ - public void setTeacherOpenCourseScheduleSessionDayTime(String teacherOpenCourseScheduleSessionDayTime){ - this.teacherOpenCourseScheduleSessionDayTime = teacherOpenCourseScheduleSessionDayTime; - } - - /**创建时间 - *@return - */ - public Date getTeacherOpenCourseScheduleSessionAddTime(){ - return teacherOpenCourseScheduleSessionAddTime; - } - /**创建时间 - *@param teacherOpenCourseScheduleSessionAddTime - */ - public void setTeacherOpenCourseScheduleSessionAddTime(Date teacherOpenCourseScheduleSessionAddTime){ - this.teacherOpenCourseScheduleSessionAddTime = teacherOpenCourseScheduleSessionAddTime; - } - - /**状态(1正常 2删除) - *@return - */ - public Integer getTeacherOpenCourseScheduleSessionStatus(){ - return teacherOpenCourseScheduleSessionStatus; - } - /**状态(1正常 2删除) - *@param teacherOpenCourseScheduleSessionStatus - */ - public void setTeacherOpenCourseScheduleSessionStatus(Integer teacherOpenCourseScheduleSessionStatus){ - this.teacherOpenCourseScheduleSessionStatus = teacherOpenCourseScheduleSessionStatus; - } - - /**课程开课ID - *@return - */ - public Long getTeacherOpenCourseId(){ - return teacherOpenCourseId; - } - /**课程开课ID - *@param teacherOpenCourseId - */ - public void setTeacherOpenCourseId(Long teacherOpenCourseId){ - this.teacherOpenCourseId = teacherOpenCourseId; - } - - /**教师ID - *@return - */ - public Long getTeacherId(){ - return teacherId; - } - /**教师ID - *@param teacherId - */ - public void setTeacherId(Long teacherId){ - this.teacherId = teacherId; - } + @Data + public static class TeacherOpenCourseScheduleSessionTagTemp { - /**班级ID集合 - *@return - */ - public String getSchoolClassIds(){ - return schoolClassIds; - } - /**班级ID集合 - *@param schoolClassIds - */ - public void setSchoolClassIds(String schoolClassIds){ - this.schoolClassIds = schoolClassIds; - } + //课次名称(支持自定义) - /**组织ID - *@return - */ - public Long getOrgId(){ - return orgId; - } - /**组织ID - *@param orgId - */ - public void setOrgId(Long orgId){ - this.orgId = orgId; - } + private String teacherOpenCourseScheduleSessionTagName; - /**用户ID - *@return - */ - public Long getUserId(){ - return userId; - } - /**用户ID - *@param userId - */ - public void setUserId(Long userId){ - this.userId = userId; - } + //创建时间 - /**课次名称 - *@return - */ - public String getTeacherOpenCourseScheduleSessionTagName(){ - return teacherOpenCourseScheduleSessionTagName; - } - /**课次名称 - *@param teacherOpenCourseScheduleSessionTagName - */ - public void setTeacherOpenCourseScheduleSessionTagName(String teacherOpenCourseScheduleSessionTagName){ - this.teacherOpenCourseScheduleSessionTagName = teacherOpenCourseScheduleSessionTagName; - } + private Date teacherOpenCourseScheduleSessionAddTime; - /**课程时长(分钟) - *@return - */ - public Integer getTeacherOpenCourseScheduleSessionTagDuration(){ - return teacherOpenCourseScheduleSessionTagDuration; - } - /**课程时长(分钟) - *@param teacherOpenCourseScheduleSessionTagDuration - */ - public void setTeacherOpenCourseScheduleSessionTagDuration(Integer teacherOpenCourseScheduleSessionTagDuration){ - this.teacherOpenCourseScheduleSessionTagDuration = teacherOpenCourseScheduleSessionTagDuration; - } + //课程时长(分钟) - /**开始时间 - *@return - */ - public String getTeacherOpenCourseScheduleSessionTagStartTime(){ - return teacherOpenCourseScheduleSessionTagStartTime; - } - /**开始时间 - *@param teacherOpenCourseScheduleSessionTagStartTime - */ - public void setTeacherOpenCourseScheduleSessionTagStartTime(String teacherOpenCourseScheduleSessionTagStartTime){ - this.teacherOpenCourseScheduleSessionTagStartTime = teacherOpenCourseScheduleSessionTagStartTime; - } + private Integer teacherOpenCourseScheduleSessionTagDuration; - /**结束时间 - *@return - */ - public String getTeacherOpenCourseScheduleSessionTagEndTime(){ - return teacherOpenCourseScheduleSessionTagEndTime; - } - /**结束时间 - *@param teacherOpenCourseScheduleSessionTagEndTime - */ - public void setTeacherOpenCourseScheduleSessionTagEndTime(String teacherOpenCourseScheduleSessionTagEndTime){ - this.teacherOpenCourseScheduleSessionTagEndTime = teacherOpenCourseScheduleSessionTagEndTime; - } - public String getTeacherOpenCourseScheduleSessionStartDate() { - return teacherOpenCourseScheduleSessionStartDate; - } + //开始时间 - public void setTeacherOpenCourseScheduleSessionStartDate(String teacherOpenCourseScheduleSessionStartDate) { - this.teacherOpenCourseScheduleSessionStartDate = teacherOpenCourseScheduleSessionStartDate; - } + private String teacherOpenCourseScheduleSessionTagStartTime; - public String getTeacherOpenCourseScheduleSessionEndDate() { - return teacherOpenCourseScheduleSessionEndDate; - } - - public void setTeacherOpenCourseScheduleSessionEndDate(String teacherOpenCourseScheduleSessionEndDate) { - this.teacherOpenCourseScheduleSessionEndDate = teacherOpenCourseScheduleSessionEndDate; - } - - public Integer getTeacherOpenCourseScheduleSessionWeekNum() { - return teacherOpenCourseScheduleSessionWeekNum; - } + //结束时间 - public void setTeacherOpenCourseScheduleSessionWeekNum(Integer teacherOpenCourseScheduleSessionWeekNum) { - this.teacherOpenCourseScheduleSessionWeekNum = teacherOpenCourseScheduleSessionWeekNum; + private String teacherOpenCourseScheduleSessionTagEndTime; } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScheduleSessionService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScheduleSessionService.java index cb52b6ce..8568ccf9 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScheduleSessionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseScheduleSessionService.java @@ -26,6 +26,7 @@ import com.ibeetl.jlw.web.query.TeacherOpenCourseScheduleSessionQuery; import org.apache.commons.lang3.StringUtils; import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -49,6 +50,9 @@ public class TeacherOpenCourseScheduleSessionService extends CoreBaseServicequeryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseScheduleSessionDao.queryByCondition(query); @@ -56,7 +60,7 @@ public class TeacherOpenCourseScheduleSessionService extends CoreBaseService queryByConditionGroup(PageQuery query){ PageQuery ret = teacherOpenCourseScheduleSessionDao.queryByConditionGroup(query); queryListAfter(ret.getList()); @@ -120,8 +124,8 @@ public class TeacherOpenCourseScheduleSessionService extends CoreBaseService