课程配置;

设置课程配置的状态
beetlsql3-dev
Mlxa0324 2 years ago
parent 195cf3f323
commit a2cfb89950

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -29229,10 +29229,9 @@ create table teacher_open_course_student_signin_setting
school_class_ids varchar(2000) comment '班级ID集合',
teacher_open_course_student_signin_setting_type varchar(50) comment '签到方式 (数据字典 student_signin_type)',
teacher_open_course_student_signin_setting_value varchar(50) comment '设置的值数据例子IP: x.x.x.x-x.x.x.x验证码xxxx手动签到无需设置',
teacher_open_course_student_signin_setting_start_time datetime comment '签到开始日期',
teacher_open_course_student_signin_setting_end_time datetime comment '签到结束日期',
teacher_open_course_student_signin_setting_add_time datetime comment '创建时间',
Column_teacher_open_course_student_signin_setting_status int comment '状态 1正常 2删除',
teacher_open_course_student_signin_setting_status int comment '状态 1正常 2删除',
teacher_open_course_student_signin_setting_start_status char(10) comment '开启状态 (枚举 StartStatusEnum',
org_id bigint comment '组织ID',
user_id bigint comment '用户ID',
primary key (teacher_open_course_student_signin_setting_id)
@ -29244,6 +29243,7 @@ COLLATE = utf8_general_ci;
alter table teacher_open_course_student_signin_setting comment '教师-我的课程-开课-学生签到-配置';
-- ----------------------------
-- Records of teacher_open_course_student_signin_setting
-- ----------------------------

@ -3,13 +3,12 @@ package com.ibeetl.jlw.entity;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.jlw.util.EnumUtil;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.annotation.DictEnum;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.jlw.enums.StartStatusEnum;
import lombok.Data;
import lombok.Getter;
import org.beetl.sql.annotation.entity.AssignID;
import javax.validation.constraints.NotNull;
@ -17,7 +16,7 @@ import java.util.Date;
import static cn.hutool.core.date.DatePattern.NORM_DATE_PATTERN;
import static cn.jlw.util.DateUtil.dateCompileTo;
import static com.ibeetl.jlw.entity.TeacherOpenCourseScheduleSessionSnap.TeacherOpenCourseScheduleSessionTagStartStatusEnum.getByCode;
import static com.ibeetl.jlw.enums.StartStatusEnum.getByCode;
/*
* ----
@ -49,7 +48,7 @@ public class TeacherOpenCourseScheduleSessionSnap extends BaseEntity{
@DictEnum
//开始状态
private TeacherOpenCourseScheduleSessionTagStartStatusEnum teacherOpenCourseScheduleSessionTagStartStatus;
private StartStatusEnum teacherOpenCourseScheduleSessionTagStartStatus;
//课次名称
@ -136,32 +135,4 @@ public class TeacherOpenCourseScheduleSessionSnap extends BaseEntity{
}
}
/**
* ING
* END
* READY
*/
public enum TeacherOpenCourseScheduleSessionTagStartStatusEnum {
// 进行中
ING(0, "进行中"),
// 已结束
END(1, "已结束"),
// 未开始
READY(-1, "未开始");
@Getter
// 可以转换成中文
// @JsonValue
private String text;
@Getter
private Integer code;
TeacherOpenCourseScheduleSessionTagStartStatusEnum(Integer code, String text) {
this.text = text;
this.code = code;
}
public static TeacherOpenCourseScheduleSessionTagStartStatusEnum getByCode(Integer code) {
return EnumUtil.getByFieldWithValue(TeacherOpenCourseScheduleSessionTagStartStatusEnum.class, "code", code);
}
}
}

@ -1,8 +1,10 @@
package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.annotation.DictEnum;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.jlw.enums.StartStatusEnum;
import org.beetl.sql.annotation.entity.AssignID;
import javax.validation.constraints.NotNull;
@ -51,6 +53,11 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
private Date teacherOpenCourseStudentSigninSettingEndTime ;
@DictEnum
//开始状态
private StartStatusEnum teacherOpenCourseStudentSigninSettingStartStatus;
//创建时间
private Date teacherOpenCourseStudentSigninSettingAddTime ;
@ -71,6 +78,7 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
public TeacherOpenCourseStudentSigninSetting(){
}
/**ID
*@return
*/
@ -215,4 +223,11 @@ public class TeacherOpenCourseStudentSigninSetting extends BaseEntity{
}
public StartStatusEnum getTeacherOpenCourseStudentSigninSettingStartStatus() {
return teacherOpenCourseStudentSigninSettingStartStatus;
}
public void setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum teacherOpenCourseStudentSigninSettingStartStatus) {
this.teacherOpenCourseStudentSigninSettingStartStatus = teacherOpenCourseStudentSigninSettingStartStatus;
}
}

@ -20,7 +20,7 @@ public class TeacherOpenCourseStudentSigninLogSigninDTO {
@NotEmpty(message = "签到配置ID不能为空")
// 签到配置ID
private String teacherOpenCourseStudentSigninSettingId;
private Long teacherOpenCourseStudentSigninSettingId;
@NotEmpty(message = "学生ID不能为空")
// 学生ID参数传递支持老师的身份代替签到

@ -0,0 +1,33 @@
package com.ibeetl.jlw.enums;
import cn.jlw.util.EnumUtil;
import lombok.Getter;
/**
* ING
* END
* READY
*/
public enum StartStatusEnum {
// 进行中
ING(0, "进行中"),
// 已结束
END(1, "已结束"),
// 未开始
READY(-1, "未开始");
@Getter
// 可以转换成中文
// @JsonValue
private String text;
@Getter
private Integer code;
StartStatusEnum(Integer code, String text) {
this.text = text;
this.code = code;
}
public static StartStatusEnum getByCode(Integer code) {
return EnumUtil.getByFieldWithValue(StartStatusEnum.class, "code", code);
}
}

@ -188,7 +188,7 @@ public class TeacherOpenCourseStudentSigninLogService extends CoreBaseService<Te
// 通过签到配置ID查询配置信息
List<TeacherOpenCourseStudentSigninSetting> signinSettingList =
teacherOpenCourseStudentSigninSettingDao.getByIds(signinDTO.getTeacherOpenCourseStudentSigninSettingId());
teacherOpenCourseStudentSigninSettingDao.getByIds(signinDTO.getTeacherOpenCourseStudentSigninSettingId() + "");
Assert.notEmpty(signinSettingList, "签到配置ID无效");
// 通过签到配置ID查询对应的参数信息。用于下面的验证。

@ -9,6 +9,7 @@ import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.TeacherOpenCourseStudentSigninSettingDao;
import com.ibeetl.jlw.entity.TeacherOpenCourseStudentSigninSetting;
import com.ibeetl.jlw.enums.StartStatusEnum;
import com.ibeetl.jlw.web.query.TeacherOpenCourseStudentSigninSettingQuery;
import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.SqlId;
@ -18,7 +19,10 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -89,6 +93,8 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
public JsonResult add(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){
String msg = "";
TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingQuery.pojo();
// 默认是未开始的状态
teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.READY);
teacherOpenCourseStudentSigninSettingDao.insert(teacherOpenCourseStudentSigninSetting);
teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingId());
JsonResult jsonResult = new JsonResult();
@ -151,4 +157,33 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
}
}
/**
*
* @param id
* @param status
*/
public void setStatus(@NotNull(message = "签到配置ID不能为空") Long id,
@NotNull(message = "签到状态不能为空!")
@Pattern(regexp = "[12]",message = "状态只接收两个值1开始 2结束")
Integer status) {
TeacherOpenCourseStudentSigninSetting model = new TeacherOpenCourseStudentSigninSetting();
model.setTeacherOpenCourseStudentSigninSettingId(id);
switch (status) {
case 1: {
model.setTeacherOpenCourseStudentSigninSettingAddTime(new Date());
// 结束时间设置为空,代表只要大于开始时间,就一直可以进行签到
model.setTeacherOpenCourseStudentSigninSettingEndTime(null);
model.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.ING);
} break;
case 2: {
// 结束时间,赋值
model.setTeacherOpenCourseStudentSigninSettingEndTime(new Date());
model.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.END);
} break;
}
update(model);
}
}

@ -192,7 +192,7 @@ public class TeacherOpenCourseStudentSigninLogController{
}
/**
* --
* --
* @param signinDTO DTO
* @return
*/

@ -193,5 +193,21 @@ public class TeacherOpenCourseStudentSigninSettingController{
return JsonResult.success();
}
/**
*
*
*
*
* @param id ID
* @param status 1 2
* @return
*/
@PostMapping(MODEL + "/setStatus.json")
@Function("teacherOpenCourseStudentSigninSetting.edit")
@ResponseBody
public JsonResult setStatus(Long id, Integer status) {
teacherOpenCourseStudentSigninSettingService.setStatus(id, status);
return JsonResult.success();
}
}

@ -5,6 +5,7 @@ import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.web.query.PageParam;
import com.ibeetl.jlw.entity.TeacherOpenCourseStudentSigninSetting;
import com.ibeetl.jlw.enums.StartStatusEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
@ -48,6 +49,8 @@ public class TeacherOpenCourseStudentSigninSettingQuery extends PageParam {
private Date teacherOpenCourseStudentSigninSettingAddTime;
@Query(name = "状态 1正常 2删除", display = true,type=Query.TYPE_DICT,dict="global_status")
private Integer teacherOpenCourseStudentSigninSettingStatus;
//开始状态
private StartStatusEnum teacherOpenCourseStudentSigninSettingStartStatus;
@Query(name = "组织ID", display = false)
private Long orgId;
@Query(name = "用户ID", display = false)

@ -49,6 +49,9 @@ queryByCondition
and find_in_set(t.teacher_open_course_student_signin_setting_status,#teacherOpenCourseStudentSigninSettingStatusPlural#)
@}
@}
@if(!isEmpty(teacherOpenCourseStudentSigninSettingStartStatus)){
and t.teacher_open_course_student_signin_setting_start_status =#teacherOpenCourseStudentSigninSettingStartStatus#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@ -112,6 +115,9 @@ queryByConditionQuery
and find_in_set(t.teacher_open_course_student_signin_setting_status,#teacherOpenCourseStudentSigninSettingStatusPlural#)
@}
@}
@if(!isEmpty(teacherOpenCourseStudentSigninSettingStartStatus)){
and t.teacher_open_course_student_signin_setting_start_status =#teacherOpenCourseStudentSigninSettingStartStatus#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@ -214,6 +220,13 @@ updateGivenByIds
teacher_open_course_student_signin_setting_status = #teacherOpenCourseStudentSigninSettingStatus# ,
@}
@}
@if(contain("teacherOpenCourseStudentSigninSettingStartStatus",_given)){
@if(isEmpty(teacherOpenCourseStudentSigninSettingStartStatus)){
teacher_open_course_student_signin_setting_start_status = null ,
@}else{
teacher_open_course_student_signin_setting_start_status = #teacherOpenCourseStudentSigninSettingStartStatus# ,
@}
@}
@if(contain("orgId",_given)){
@if(isEmpty(orgId)){
org_id = null ,
@ -270,6 +283,9 @@ getTeacherOpenCourseStudentSigninSettingValues
@}else{
and t.teacher_open_course_student_signin_setting_status != 2
@}
@if(!isEmpty(teacherOpenCourseStudentSigninSettingStartStatus)){
and t.teacher_open_course_student_signin_setting_start_status =#teacherOpenCourseStudentSigninSettingStartStatus#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@ -325,6 +341,9 @@ getValuesByQuery
and find_in_set(t.teacher_open_course_student_signin_setting_status,#teacherOpenCourseStudentSigninSettingStatusPlural#)
@}
@}
@if(!isEmpty(teacherOpenCourseStudentSigninSettingStartStatus)){
and t.teacher_open_course_student_signin_setting_start_status =#teacherOpenCourseStudentSigninSettingStartStatus#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@ -386,6 +405,9 @@ getValuesByQueryNotWithPermission
and find_in_set(t.teacher_open_course_student_signin_setting_status,#teacherOpenCourseStudentSigninSettingStatusPlural#)
@}
@}
@if(!isEmpty(teacherOpenCourseStudentSigninSettingStartStatus)){
and t.teacher_open_course_student_signin_setting_start_status =#teacherOpenCourseStudentSigninSettingStartStatus#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}

@ -98,20 +98,13 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
hide:$.isEmpty(sx_['teacherOpenCourseStudentSigninSettingStatusText'])?false:sx_['teacherOpenCourseStudentSigninSettingStatusText'],
},
{
field : 'orgId',
title : '组织ID',
field : 'teacherOpenCourseStudentSigninSettingStartStatusText', //枚举类型 StartStatusEnum
title : '开始状态',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['orgId'])?false:sx_['orgId'],
hide:$.isEmpty(sx_['teacherOpenCourseStudentSigninSettingStartStatusText'])?false:sx_['teacherOpenCourseStudentSigninSettingStartStatusText'],
},
{
field : 'userId',
title : '用户ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['userId'])?false:sx_['userId'],
}
,{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button>';
htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';

@ -8,6 +8,7 @@ import org.springframework.test.web.servlet.RequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import static com.google.common.net.HttpHeaders.X_FORWARDED_FOR;
import static com.ibeetl.admin.core.util.BeanUtil.toMultiMap;
import static com.ibeetl.jlw.entity.dto.TeacherOpenCourseStudentSigninLogSigninDTO.TeacherOpenCourseStudentSigninLogTypeEnum.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@ -29,27 +30,43 @@ class TeacherOpenCourseStudentSigninLogControllerTest extends BaseTest {
@Test
void signin() throws Exception {
// IP签到
TeacherOpenCourseStudentSigninLogSigninDTO ipSignInDTO = new TeacherOpenCourseStudentSigninLogSigninDTO();
ipSignInDTO.setTeacherOpenCourseStudentSigninLogType(ip_signin);
// 懒得写动态数据,直接取表数据 teacher_open_course_merge_student
ipSignInDTO.setStudentId(33L);
// teacher_open_course_student_signin_setting 查找teacher_open_course_id
ipSignInDTO.setTeacherOpenCourseStudentSigninSettingId(1580373576819843072L);
signinAction(ipSignInDTO);
// 手动签到
TeacherOpenCourseStudentSigninLogSigninDTO manualSigninDTO = new TeacherOpenCourseStudentSigninLogSigninDTO();
manualSigninDTO.setTeacherOpenCourseStudentSigninLogType(manual_signin);
// 懒得写动态数据,直接取表数据 teacher_open_course_merge_student
ipSignInDTO.setStudentId(33L);
// teacher_open_course_student_signin_setting 查找teacher_open_course_id
ipSignInDTO.setTeacherOpenCourseStudentSigninSettingId(1580373576819843072L);
signinAction(manualSigninDTO);
// 验证码签到
TeacherOpenCourseStudentSigninLogSigninDTO codeSignInDTO = new TeacherOpenCourseStudentSigninLogSigninDTO();
codeSignInDTO.setTeacherOpenCourseStudentSigninLogType(code_signin);
// 懒得写动态数据,直接取表数据 teacher_open_course_merge_student
ipSignInDTO.setStudentId(33L);
// teacher_open_course_student_signin_setting 查找teacher_open_course_id
ipSignInDTO.setTeacherOpenCourseStudentSigninSettingId(1580373576819843072L);
signinAction(codeSignInDTO);
}
private void signinAction(TeacherOpenCourseStudentSigninLogSigninDTO signinDTO) throws Exception {
private void signinAction(TeacherOpenCourseStudentSigninLogSigninDTO dto) throws Exception {
//构造请求参数
RequestBuilder rb = MockMvcRequestBuilders.post(MODEL + "/signin.json")
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
.params(toMultiMap(signinDTO));
// 模拟IP
.header(X_FORWARDED_FOR, "192.168.1.2")
.params(toMultiMap(dto));
//发送请求,验证返回结果
String result = mvc.perform(rb)

Loading…
Cancel
Save