From abe9e12eee579a992a512160e6b85e4087295356 Mon Sep 17 00:00:00 2001 From: xuliangtong <1124839262@qq.com> Date: Thu, 22 Dec 2022 20:10:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TeacherOpenCourseKnowledgePoint.java | 19 ++++++++++++--- ...eacherOpenCourseKnowledgePointService.java | 23 ++++++++++++++++++- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseKnowledgePoint.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseKnowledgePoint.java index cd4fa9ab..3e15e7a6 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseKnowledgePoint.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseKnowledgePoint.java @@ -26,11 +26,11 @@ public class TeacherOpenCourseKnowledgePoint extends BaseEntity{ private Long teacherOpenCourseKnowledgePointId ; //课程开课ID - @Dict(type = "course_info.course_info_name.course_info_status=1,course_info_type=1") + @Dict(type = "teacher_open_course.teacher_open_course_title.teacher_open_course_status=1") private Long teacherOpenCourseId ; //章节ID - @Dict(type="course_info.course_info_name.course_info_status=1") + @Dict(type="teacher_open_course_merge_course_info.course_info_name.course_info_status=1") private Long chapterId ; //知识点标题 @@ -52,7 +52,14 @@ public class TeacherOpenCourseKnowledgePoint extends BaseEntity{ //用户ID private Long userId ; - + + /** + * 归属实操项目 + */ + @Dict(type="teacher_open_course_hands_on.hands_on_name.1=1") + private Long handsOnId; + + //是否删除 1删除,0未删除 /*逻辑删除标志*/ @InsertIgnore @@ -180,5 +187,11 @@ public class TeacherOpenCourseKnowledgePoint extends BaseEntity{ this.delFlag = delFlag; } + public Long getHandsOnId() { + return handsOnId; + } + public void setHandsOnId(Long handsOnId) { + this.handsOnId = handsOnId; + } } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseKnowledgePointService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseKnowledgePointService.java index 735d1907..27d75d22 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseKnowledgePointService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseKnowledgePointService.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.service; +import cn.hutool.core.collection.CollectionUtil; import cn.jlw.util.ToolUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -9,7 +10,9 @@ import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonReturnCode; import com.ibeetl.jlw.dao.TeacherOpenCourseKnowledgePointDao; import com.ibeetl.jlw.entity.TeacherOpenCourseKnowledgePoint; +import com.ibeetl.jlw.entity.TeacherOpenCourseKnowledgePointRelation; import com.ibeetl.jlw.web.query.TeacherOpenCourseKnowledgePointQuery; +import com.ibeetl.jlw.web.query.TeacherOpenCourseKnowledgePointRelationQuery; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.beetl.sql.core.SqlId; @@ -22,6 +25,7 @@ import org.springframework.validation.annotation.Validated; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 知识点 Service @@ -35,6 +39,7 @@ import java.util.List; public class TeacherOpenCourseKnowledgePointService extends CoreBaseService<TeacherOpenCourseKnowledgePoint> implements DeleteResourcesBy{ @Autowired private TeacherOpenCourseKnowledgePointDao teacherOpenCourseKnowledgePointDao; + @Autowired private TeacherOpenCourseKnowledgePointRelationService relationService; public PageQuery<TeacherOpenCourseKnowledgePoint>queryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseKnowledgePointDao.queryByCondition(query); @@ -44,7 +49,23 @@ public class TeacherOpenCourseKnowledgePointService extends CoreBaseService<Teac public PageQuery<TeacherOpenCourseKnowledgePoint>queryByConditionQuery(PageQuery query){ PageQuery ret = teacherOpenCourseKnowledgePointDao.queryByConditionQuery(query); - queryListAfter(ret.getList()); + List<TeacherOpenCourseKnowledgePoint> list = ret.getList(); + if (CollectionUtil.isNotEmpty(list)) { + List<Long> collect = list.stream().map(TeacherOpenCourseKnowledgePoint::getTeacherOpenCourseKnowledgePointId).collect(Collectors.toList()); + TeacherOpenCourseKnowledgePointRelationQuery relationQuery = new TeacherOpenCourseKnowledgePointRelationQuery(); + relationQuery.setTeacherOpenCourseKnowledgePointIdPlural(CollectionUtil.join(collect, ",")); + List<TeacherOpenCourseKnowledgePointRelation> openCourseKnowledgePointRelations = relationService.getValuesByQueryNotWithPermission(relationQuery); + for (TeacherOpenCourseKnowledgePoint teacherOpenCourseKnowledgePoint : list) { + TeacherOpenCourseKnowledgePointRelation relation = openCourseKnowledgePointRelations.stream().filter(v -> + v.getTeacherOpenCourseKnowledgePointId().equals(teacherOpenCourseKnowledgePoint.getTeacherOpenCourseKnowledgePointId())).findFirst().orElse(null); + if (relation != null) { + teacherOpenCourseKnowledgePoint.setHandsOnId(relation.getBussinessId()); + } + } + + } + + queryListAfter(list); return ret; } From 62bbd93f2d75debd84f013b91c7b21f6a7b6a6d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9A=E4=B8=B9ab?= <1421553879@qq.com> Date: Fri, 23 Dec 2022 01:50:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/templates/other/userCenter.html | 148 ++++++++++++------ 1 file changed, 104 insertions(+), 44 deletions(-) diff --git a/web/src/main/resources/templates/other/userCenter.html b/web/src/main/resources/templates/other/userCenter.html index 5deae744..96076c35 100644 --- a/web/src/main/resources/templates/other/userCenter.html +++ b/web/src/main/resources/templates/other/userCenter.html @@ -72,7 +72,7 @@ <div class="layui-input-inline"> <div class="layui-form-mid" data-value="${userCenterData.coreUser.password!''}">********</div> <div class="layui-form-mid"> - <a style="cursor: pointer;" class="edit" title="登录密码" name="password"> + <a style="cursor: pointer;" class="edit_pwd" title="登录密码" name="password"> <i class="iconfont" style="font-size: 20px;"></i> </a> </div> @@ -116,7 +116,7 @@ <div class="layui-inline"> <label class="layui-form-label">院校名称:</label> <div class="layui-form-mid">${userCenterData.universitiesColleges.universitiesCollegesName!''}</div> - <div class="layui-form-mid"> + <div class="layui-form-mid" style="display:none;"> <a class="edit" title="院校名称" name="universitiesCollegesName" style="cursor: pointer;"> <i class="iconfont" style="font-size: 20px;"></i> </a> @@ -130,7 +130,9 @@ <div class="layui-input-inline"> <div class="layui-form-mid">${userCenterData.universitiesColleges.universitiesCollegesContacts!''}</div> <div class="layui-form-mid"> - <a class="edit" title="联系人" name="universitiesCollegesContacts" style="cursor: pointer;"> + <a class="edit" title="联系人" name="universitiesCollegesContacts" + data-value="${userCenterData.universitiesColleges.universitiesCollegesContacts!''}" + style="cursor: pointer;"> <i class="iconfont" style="font-size: 20px;"></i> </a> </div> @@ -143,7 +145,7 @@ <div class="layui-input-inline"> <div class="layui-form-mid">${userCenterData.universitiesColleges.universitiesCollegesContactsMobile!''}</div> <div class="layui-form-mid"> - <a class="edit" title="联系电话" name="universitiesCollegesContactsMobile" style="cursor: pointer;"> + <a class="edit" title="联系电话" name="universitiesCollegesContactsMobile" data-value="${userCenterData.universitiesColleges.universitiesCollegesContactsMobile!''}" style="cursor: pointer;"> <i class="iconfont" style="font-size: 20px;"></i> </a> </div> @@ -156,9 +158,7 @@ <div class="layui-input-inline"> <div class="layui-form-mid">${userCenterData.universitiesColleges.universitiesCollegesProvince!''} ${userCenterData.universitiesColleges.universitiesCollegesCity!''}</div> <div class="layui-form-mid"> - <a id="edit_local" title="所在地" - province="${userCenterData.universitiesColleges.universitiesCollegesProvince!''}" - city="${userCenterData.universitiesColleges.universitiesCollegesCity!''}" style="cursor: pointer;"> + <a id="edit_local" title="所在地" style="cursor: pointer;"> <i class="iconfont" style="font-size: 20px;"></i> </a> </div> @@ -219,29 +219,45 @@ </div> </div> <!--所在地 编辑--> - <div style="display: none" id="receivingAddress_demo"> - <div id="receivingAddress"> - <div class="layui-inline layui-form-item"> - <label class="layui-form-label">所属省份:</label> + <div style="display: none;padding-top: 20px" class="layui-form" id="receivingAddress_demo"> + <div class="layui-inline layui-form-item"> + <label class="layui-form-label">所属地区:</label> + <div class="layui-input-inline"> + <select name="universitiesCollegesProvince" class="province" lay-verify="required" lay-search + lay-filter="province"> + <option value="">省份</option> + </select> + </div> + <div class="layui-input-inline"> + <select name="universitiesCollegesCity" class="city" lay-verify="required" lay-search + lay-filter="city"> + <option value="">地级市</option> + </select> + </div> + </div> + </div> + <div id="changePassword_dialog" style="padding-top: 20px;display: none;"> + <div class="layui-form" action="" style="width: 90%;margin: 0 auto;"> + <div class="layui-form-item"> + <label class="layui-form-label">密码</label> <div class="layui-input-inline"> - <select name="universitiesCollegesProvince" class="province" lay-verify="required" lay-search - lay-filter="province"> - <option value="">省份</option> - </select> + <input type="password" name="password" lay-verify="required" placeholder="请输入密码!" autocomplete="off" + class="layui-input"> </div> + <div class="layui-form-mid layui-word-aux">密码需要大于等于6!</div> </div> - <div class="layui-inline layui-form-item"> - <label class="layui-form-label">所属城市:</label> + <div class="layui-form-item"> + <label class="layui-form-label">确认密码</label> <div class="layui-input-inline"> - <select name="universitiesCollegesCity" class="city" lay-verify="required" lay-search lay-filter="city"> - <option value="">地级市</option> - </select> + <input type="password" name="password2" lay-verify="required" placeholder="请再次输入密码!" + autocomplete="off" class="layui-input"> </div> + <div class="layui-form-mid layui-word-aux">两次密码需相等!</div> </div> </div> </div> + <input type="hidden" name="userId" value="${userCenterData.universitiesColleges.universitiesCollegesId}"> </form> - <!--#} --> <script> @@ -250,12 +266,11 @@ ,element = layui.element ,layer = layui.layer ,form = layui.form; - form.render(); //常规使用 - 普通图片上传 var uploadInst = upload.render({ elem: '#test1' - ,url: 'https://httpbin.org/post' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。 + ,url:Common.ctxPath + '/jlw/universitiesColleges/edit.json' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。 ,before: function(obj){ //预读本地文件示例,不支持ie8 obj.preview(function(index, file, result){ @@ -290,32 +305,78 @@ } } }); + $(".edit_pwd").click(function () { + layer.open({ + title: '密码修改' + , type:1 + , content: $("#changePassword_dialog") + , btn: ['确定', '关闭'] + ,area: ['491px', '280px'] + , shadeClose: true + , yes: function (index, layero) { + var password = $("#changePassword_dialog input[name='password']").val(); + if($.isEmpty(password)){ + Common.error("请输入密码!"); + return; + } + if(password.length < 6){ + Common.error("密码需<span style='color: red;'>大于等于6!</span>"); + return; + } + var password2 = $("#changePassword_dialog input[name='password2']").val(); + if($.isEmpty(password2)){ + Common.error("请再次输入密码!"); + return; + } + if(password != password2){ + Common.error("两次密码不相同!"); + return; + } + let param = { + "password":password2, + "id": '${userCenterData.coreUser.id}'}; + + layer.load(); + setTimeout(function () { + var url = "/admin/user/editPassword.json"; + var ret = Common.postAjax(url, param); + layer.msg(ret.code == 0 ? "操作成功!" : ret.msg, { + offset: ['50%'], + icon: ret.code == 0 ? 1 : 2, + time: 1500 //2秒关闭(如果不配置,默认是3秒) + }, function () { + if (ret.code == 0) { + parent.Lib.tableRefresh(); + } + }); + }, 10); + layer.close(index); + }, + btn2: function (index, layero) { + layer.close(index); + } + }); + }); $(".edit").click(function () { var name = $(this).attr("name"); var title = $(this).attr("title"); - + var value= $(this).data('value') layer.open({ title: '编辑' , content: '<div class="layui-inline" id="addRoom">\n' + ' <label class="layui-form-label">' + title + '</label>\n' + ' <div class="layui-input-inline">\n' + - ' <input type="text" id=' + name + ' name=' + name + ' class="layui-input" >\n' + + ' <input type="text" id=' + name + ' name=' + name + ' value='+value+' class="layui-input" >\n' + ' </div>\n' + ' </div>' , btn: ['确定', '关闭'] , shadeClose: true , yes: function (index, layero) { - return; - let param = { - "teacherOpenCourseScheduleSessionClassName": $("#addRoom input[name='teacherOpenCourseScheduleSessionClassName']").val(), - "teacherOpenCourseScheduleSessionClassParentId": data.teacherOpenCourseScheduleSessionClassId, - }; + let param = {"universitiesCollegesId": '${userCenterData.universitiesColleges.universitiesCollegesId}'}; + param[name]=$("#addRoom input[name=" + name + "]").val(); layer.load(); setTimeout(function () { - var url = "/jlw/xx/add.json"; - if (!$.isEmpty(id)) { - url = "/jlw/xx/edit.json" - } + var url = "/jlw/universitiesColleges/edit.json"; var ret = Common.postAjax(url, param); layer.msg(ret.code == 0 ? "操作成功!" : ret.msg, { offset: ['50%'], @@ -324,7 +385,6 @@ }, function () { if (ret.code == 0) { parent.Lib.tableRefresh(); - teacherOpenCourseScheduleSessionClassTable(); } }); }, 10); @@ -336,8 +396,6 @@ }); }); $("#edit_local").click(function () { - var provinceText = $(this).attr("province"), cityText=$(this).attr("city"); - $.Reappearance($("#receivingAddress"),provinceText,cityText);//返显区域 layer.open({ title: '所在地' ,type:1 @@ -346,20 +404,19 @@ , area: ['730px', '400px'] , shadeClose: true , success:function () { + $.Reappearance("#receivingAddress_demo", "${userCenterData.universitiesColleges.universitiesCollegesProvince}", "${userCenterData.universitiesColleges.universitiesCollegesCity}");//返显区域 + form.render('select'); } , yes: function (index, layero) { - return let param = { - "teacherOpenCourseScheduleSessionClassName": $("#addRoom input[name='teacherOpenCourseScheduleSessionClassName']").val(), - "teacherOpenCourseScheduleSessionClassParentId": data.teacherOpenCourseScheduleSessionClassId, + "universitiesCollegesProvince": $("#receivingAddress_demo select[name='universitiesCollegesProvince']").val(), + "universitiesCollegesCity": $("#receivingAddress_demo select[name='universitiesCollegesCity']").val(), + "universitiesCollegesId": '${userCenterData.universitiesColleges.universitiesCollegesId}', }; layer.load(); setTimeout(function () { - var url = "/jlw/xx/add.json"; - if (!$.isEmpty(id)) { - url = "/jlw/xx/edit.json" - } + var url = "/jlw/universitiesColleges/edit.json"; var ret = Common.postAjax(url, param); layer.msg(ret.code == 0 ? "操作成功!" : ret.msg, { offset: ['50%'], @@ -379,6 +436,9 @@ } }); }); + + + form.render(); }); </script>