增加实体类JSON的解析注解

beetlsql3-dev
Mlxa0324 2 years ago
parent 249825a359
commit 4f20066a03

@ -0,0 +1,22 @@
package com.ibeetl.admin.core.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* <p>
* JSON
* </p>
*
* @author mlx
* @date 2022/9/21
* @modified
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ReadJSON {
String suffix() default "JSONEntity";
}

@ -4,9 +4,11 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.annotation.DictDeep;
import com.ibeetl.admin.core.annotation.DictEnum;
import com.ibeetl.admin.core.annotation.ReadJSON;
import com.ibeetl.admin.core.entity.CoreDict;
import com.ibeetl.admin.core.util.PlatformException;
import org.beetl.sql.core.TailBean;
@ -111,6 +113,23 @@ public class CoreBaseAnnotationParser {
}
}
// 深度解析注解
if (field.isAnnotationPresent(ReadJSON.class)) {
field.setAccessible(true);
ReadJSON readJSON = field.getAnnotation(ReadJSON.class);
try {
Object o = field.get(ext);
if(null != o) {
ext.set(field.getName() + readJSON.suffix(), JSONUtil.parse(o));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
field.setAccessible(false);
}
}
// 枚举自动转换中文
if (field.isAnnotationPresent(DictEnum.class)) {
field.setAccessible(true);

@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.annotation.DictDeep;
import com.ibeetl.admin.core.annotation.ReadJSON;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import lombok.Data;
@ -99,6 +100,7 @@ public class TeacherOpenCourseScheduleSession extends BaseEntity{
// 开课节次和班级的组合JSON格式
// [{班级ID[节次ID]}]
@ReadJSON
private String teacherOpenCourseScheduleSessionClassList;

@ -58,10 +58,12 @@
<div class="layui-inline">
<label class="layui-form-label">上课班级</label>
<div class="layui-input-inline">
<input style="display:none;" type="text" id="schoolClassIds"
class="layui-input" value="${teacherOpenCourseScheduleSession.schoolClassIds}">
<div id="demo1" style="width: 800px" value="${teacherOpenCourseScheduleSession.schoolClassIds}"></div>
<!--schoolClassIdsText-->
<input style="display:none;" type="text"
value="${teacherOpenCourseScheduleSession.schoolClassIds}" class="layui-input">
<div id="demo1" style="width: 800px"></div>
<!--<layui:simpleDictSelect style='layui-input-inline'
type="school_class.class_name.class_status=1,"
id="schoolClassIds" name="schoolClassIds"/>-->
</div>
</div>
</div>
@ -69,13 +71,9 @@
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">上课教室</label>
<div class="layui-inline"><!---->
<input type="radio" name="teacherOpenCourseScheduleSessionClassIsMultiple"
${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionClassIsMultiple ==false?'checked':''}
value="false" title="指定教室" lay-filter="shagnke">
<input type="radio" name="teacherOpenCourseScheduleSessionClassIsMultiple"
${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionClassIsMultiple ==true?'checked':''}
value="true" title="选择多个教室" lay-filter="shagnke">
<div class="layui-inline">
<input type="radio" name="teacherOpenCourseScheduleSessionClassIsMultiple" value="false" title="指定教室" lay-filter="shagnke" checked>
<input type="radio" name="teacherOpenCourseScheduleSessionClassIsMultiple" value="true" title="选择多个教室" lay-filter="shagnke">
</div>
</div>
</div>
@ -84,7 +82,7 @@
<label class="layui-form-label">开课节次</label>
<div class="layui-inline" style="width: 50%;">
<table id="kkJieciTable" class="layui-table" name="sessionTagList" lay-filter="kkJieciTable"
value="${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionClassList}"></table>
data-value="${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionClassList}"></table>
</div>
<div class="layui-inline">
<button type="button" class="layui-btn layui-btn-normal" id="resetClick"><i class="layui-icon">&#xe669;</i>重置</button>
@ -99,8 +97,7 @@
<div class="layui-inline">
<label class="layui-form-label">开课开始时间</label>
<div class="layui-input-inline">
<input type="text" id="teacherOpenCourseScheduleSessionDayTime" name="teacherOpenCourseScheduleSessionDayTime"
value="${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionStartDate}" class="layui-input" >
<input type="text" id="teacherOpenCourseScheduleSessionDayTime" name="teacherOpenCourseScheduleSessionDayTime" value="${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionDayTime}" class="layui-input" >
</div>
</div>
</div>
@ -121,22 +118,16 @@
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">节假日是否排课</label>
<div class="layui-inline"><!---->
<input type="radio" name="teacherOpenCourseScheduleSessionOpenOnHolidays"
${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionOpenOnHolidays ==true?'checked':''}
value="false" title="不排课">
<input type="radio" name="teacherOpenCourseScheduleSessionOpenOnHolidays"
${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionOpenOnHolidays ==true?'checked':''}
value="true" title="排课">
<div class="layui-inline">
<input type="radio" name="teacherOpenCourseScheduleSessionOpenOnHolidays" value="false" title="不排课">
<input type="radio" name="teacherOpenCourseScheduleSessionOpenOnHolidays" value="true" title="排课">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">开课星期</label>
<input type="text" id="weekDetail" class="layui-input" style="display: none"
value="${teacherOpenCourseScheduleSession.teacherOpenCourseScheduleSessionStatusWeekDetail}">
<div class="layui-inline" name="teacherOpenCourseScheduleSessionTagWeek" >
<div class="layui-inline" name="teacherOpenCourseScheduleSessionTagWeek">
<input type="checkbox" name="teacherOpenCourseScheduleSessionTagWeek" value="T1" title="星期一">
<input type="checkbox" name="teacherOpenCourseScheduleSessionTagWeek" value="T2" title="星期二">
<input type="checkbox" name="teacherOpenCourseScheduleSessionTagWeek" value="T3" title="星期三">
@ -219,7 +210,7 @@
table = layui.table,
form = layui.form,
xmSelect = layui.xmSelect;
console.log()
teacherOpenCourseScheduleSessionAdd.init();
});
</script>

Loading…
Cancel
Save