diff --git a/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java b/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java
index 21e1a446..6526096b 100644
--- a/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java
+++ b/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java
@@ -8,7 +8,7 @@ import lombok.Data;
@Data
public class CourseStudyDto {
- /**id,对于原系统是kid*/
+ /**id,系统中标识的学习记录id,本地就是studyId*/
private String id;
/**es中的id*/
@@ -45,4 +45,14 @@ public class CourseStudyDto {
* 10-报名未审核 20-报名被拒绝 30-报名审核通过-字段新,应管理端需求增加
*/
private Integer applyStatus;
+
+ /**
+ * 应管理端需求,增加上课时间
+ */
+ private Long attendCourseTime;
+
+ /**
+ * 应管理端需求,增加面授地点
+ */
+ private String courseAddress;
}
diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java
index e4060c65..ad49146b 100644
--- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java
+++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java
@@ -82,6 +82,8 @@ public class CourseStudyElasticsearchImpl implements ICourseStudySearch{
builder.field("status").startObject().field("type", "integer").endObject();
builder.field("progress").startObject().field("type", "integer").endObject();
builder.field("applyStatus").startObject().field("type", "integer").endObject();
+ builder.field("attendCourseTime").startObject().field("type", "integer").endObject();
+ builder.field("courseAddress").startObject().field("type", "keyword").endObject();
builder.endObject();
builder.endObject();
@@ -185,7 +187,7 @@ public class CourseStudyElasticsearchImpl implements ICourseStudySearch{
BoolQueryBuilder boolQuery= QueryBuilders.boolQuery();
if(StringUtils.isNotBlank(dto.getCourseName())) {
String words=QueryParser.escape(dto.getCourseName());
- boolQuery.filter(QueryBuilders.wildcardQuery("courseName", "*"+words+"*"));
+ boolQuery.filter(QueryBuilders.wildcardQuery("courseName.keyword", "*"+words+"*"));
}
if(dto.getCourseType()!=null) {
if(dto.getCourseType()==10 || dto.getCourseType()==20) {
diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java
index 7e46d276..865e0c7a 100644
--- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java
+++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java
@@ -19,4 +19,13 @@ public interface IScormStudyCallback {
* @param scoId sco的id
*/
void finishCallback(String lmsId,String courseId,String contentId,String studentId,String studentName,String scormId,String scoId);
+
+ /**
+ * 追加学习时长
+ * @param lmsId 初始化时传入的学习lmsId,studyId
+ * @param contentId 初始化时传入的课程内容id
+ * @param studentId 学生id
+ * @param duration 学习时长
+ */
+ void appendStudyDuration(String lmsId, String contentId, String studentId,Integer duration);
}
diff --git a/servers/boe-server-all/pom.xml b/servers/boe-server-all/pom.xml
index 621b4d1f..e0f2844b 100644
--- a/servers/boe-server-all/pom.xml
+++ b/servers/boe-server-all/pom.xml
@@ -17,6 +17,11 @@
1.8
+
+ com.xboe
+ xboe-api
+ 1.0.0
+
com.xboe
xboe-module-scorm
diff --git a/servers/boe-server-all/src/main/java/com/xboe/UrlSecurityFilterImpl.java b/servers/boe-server-all/src/main/java/com/xboe/UrlSecurityFilterImpl.java
new file mode 100644
index 00000000..23288a2c
--- /dev/null
+++ b/servers/boe-server-all/src/main/java/com/xboe/UrlSecurityFilterImpl.java
@@ -0,0 +1,50 @@
+package com.xboe;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.springframework.stereotype.Component;
+
+import com.xboe.api.IUrlSecurityFilter;
+
+/**
+ * 对url的过滤处理.
+ * 此服务全部需要
+ *
+ */
+@Component
+public class UrlSecurityFilterImpl implements IUrlSecurityFilter{
+
+
+ private static Set noLoginUrls=new HashSet();
+
+ static {
+ noLoginUrls.add("/inner/data");
+ noLoginUrls.add("/xboe/account/captcha");
+ noLoginUrls.add("/xboe/account/login");
+ noLoginUrls.add("/xboe/account/boelogin");
+ noLoginUrls.add("/xboe/account/mobile-login");
+ noLoginUrls.add("/xboe/account/logout");
+ noLoginUrls.add("/xboe/system/captcha");
+ noLoginUrls.add("/xboe/system/login");
+ noLoginUrls.add("/xboe/system/logout");
+ noLoginUrls.add("/xboe/sys/user/sync-all");
+ //noLoginUrls.add("");
+ }
+
+ @Override
+ public boolean requireLogin(String url) {
+ for(String str : noLoginUrls) {
+ if(url.startsWith(str)) {
+ return false;
+ }
+ }
+
+ if(!url.startsWith("/xboe/") && !url.startsWith("/api/")){
+ return false;
+ }
+
+ return true;
+ }
+
+}
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java
index 9b6bcefb..5e2517f5 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java
@@ -260,6 +260,11 @@ public class CourseFileApi extends ApiBaseController {
file.setDecoder(m.getVideo().getDecoder());
file.setVideoHeight(m.getVideo().getSize().getHeight());
file.setVideoWidth(m.getVideo().getSize().getWidth());
+
+ if(StringUtils.isBlank(file.getDecoder()) || !file.getDecoder().equals("h264")) {
+ log.error("编码格式不是h264,不能上传");
+ return error("编码格式不是h264,请先转码再上传","");
+ }
}
} catch (Exception e) {
log.error("读取视频时长错误");
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java
index c8979f2f..64da1df4 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java
@@ -234,12 +234,28 @@ public class CourseFullTextApi extends ApiBaseController{
PageList coursePageList = fullTextSearch.search(ICourseFullTextSearch.DEFAULT_INDEX_NAME,pager.getStartRow(), pager.getPageSize(),paras);
//提取教师信息
List ids=new ArrayList();
+ List cids=new ArrayList();
for(CourseFullText c :coursePageList.getList()) {
ids.add(c.getId());
+ if(c.getSource()==2) {
+ cids.add(c.getId());
+ }
+ }
+ List clist=null;
+ if(!cids.isEmpty()) {
+ clist=courseService.findStudysScoreByIds(cids);
}
List teachers = courseService.findTeachersByCourseIds(ids);
//注意对于多个教师的情况,这里只是设置第一个教师
for(CourseFullText c :coursePageList.getList()) {
+ if(clist!=null) {
+ for(Course c2 : clist) {
+ if(c2.getId().equals(c.getId())) {
+ c.setScore(c2.getScore());
+ break;
+ }
+ }
+ }
for(CourseTeacher ct : teachers) {
if(ct.getCourseId().equals(c.getId())) {
c.setTeacher(ct.getTeacherName());
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java
index 8ea29153..5d7fdca3 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/Course.java
@@ -50,6 +50,12 @@ public class Course extends BaseEntity {
}
+ public Course(String id,Integer studys,Float score) {
+ this.setId(id);
+ this.studys=studys;
+ this.score=score;
+ }
+
public Course(String id,Integer type,String name,String coverImg, Float score,Integer studys,Integer comments,Integer shares,Integer praises,Integer favorites
,String forUsers,String value,String summary,LocalDateTime publishTime,Boolean isTop) {
this.setId(id);
@@ -135,6 +141,10 @@ public class Course extends BaseEntity {
@Column(name = "org_id",length = 20)
private String orgId;
+ /**复制的课程的来源id*/
+ @Column(name = "copy_id",length = 20)
+ private String copyId;
+
/**
* 企业ID, 多企业使用
*/
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java
index f9c75d37..f1bf88c5 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java
@@ -91,7 +91,7 @@ public class CourseFile extends BaseEntity {
private Integer duration;
/**
- * 编码格式
+ * 编码格式,目前只限 h264
* */
@Column(name = "decoder",length = 20)
private String decoder;
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java
index 762fa22b..76e0d693 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java
@@ -130,6 +130,11 @@ public interface ICourseService {
/**
* 复制课程
* @param id
+ * @param refId
+ * @param refType
+ * @param aid
+ * @param aname
+ * @return
*/
String copyCourse(String id,String refId,String refType,String aid,String aname);
@@ -315,6 +320,13 @@ public interface ICourseService {
* 页面二次查询
* */
List ids(List ids);
+
+ /**
+ * 查询需要的字段
+ * @param ids
+ * @return
+ */
+ List findStudysScoreByIds(List ids);
/**
diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java
index c5f521f5..17a0084f 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java
@@ -12,6 +12,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
+import org.hibernate.mapping.IdGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -368,11 +369,10 @@ public class CourseServiceImpl implements ICourseService {
filters.add(FieldFilters.eq("deleted",false));
filters.add(FieldFilters.eq("enabled",true));
//返回的结果
-
QueryBuilder query=QueryBuilder.from(Course.class).addFilters(filters);
- if(dto.getTopOrder()!=null) {
+ if(dto.getTopOrder()!=null){
if(dto.getTopOrder()){
query.addOrder(OrderCondition.desc("isTop"));
query.addOrder(OrderCondition.desc("topTime"));
@@ -1498,58 +1498,107 @@ public class CourseServiceImpl implements ICourseService {
@Override
public String copyCourse(String id,String refId,String refType,String aid,String aname) {
//复制课程,boe_course,boe_course_content,boe_course_homework,boe_course_section,boe_course_teacher,boe_course_exam
- // insert info select
- List sectionList = courseSectionDao.findList("courseId", id);
- if(refId==null) {
- refId="";
- }
- if(refType==null) {
- refType="";
- }
+ // insert info select
+ List sectionList = courseSectionDao.findList("courseId", id);
+ if(refId==null) {
+ refId="";
+ }
+ if(refType==null) {
+ refType="";
+ }
+
+ boolean visible=true;
+ if(StringUtils.isNotBlank(refId)) {
+ visible=false;
+ }
+
+ String newId = IDGenerator.generate();
+ String courseName = this.courseName(id);
+ LocalDateTime time = LocalDateTime.now();
+ String mess=null;
+ if(courseName.length()<96) {
- boolean visible=true;
- if(StringUtils.isNotBlank(refId)) {
- visible=false;
- }
+ String sql = "insert into boe_course(id,org_id,copy_id,ref_id,ref_type,visible,sys_create_aid,sys_create_by,sys_create_time,deleted,sys_update_by," +
+ "sys_update_time,sys_version,comments,cover_img,dead_time,device,enable_remark,enabled," +
+ "erasable,favorites,for_scene,for_users,is_top,keywords,name,open_object," +
+ "overview,pass_formula,praises,publish_time,published,res_owner1,res_owner2," +
+ "res_owner3,score,score_formula,shares,source,study_time,studys,summary," +
+ "sys_type1,sys_type2,sys_type3,tags,top_time,trample_count,type,value,views," +
+ "order_study,status)" +
+ "select '" + newId + "',org_id,'"+id+"','"+refId+"','"+refType+"',"+visible+",'"+aid+"','"+aname+"','" + time + "',0,'"+aname+"'," +
+ "'" + time + "',1,comments,cover_img,dead_time,device,enable_remark,enabled," +
+ "erasable,0,for_scene,for_users,0,keywords,'" + courseName + "(1)" + "',open_object," +
+ "overview,pass_formula,0,publish_time,0,res_owner1,res_owner2," +
+ "res_owner3,score,score_formula,0,source,study_time,0,summary," +
+ "sys_type1,sys_type2,sys_type3,tags,top_time,trample_count,type,value,0," +
+ "order_study,1 from boe_course where id=?1";
+ courseDao.sqlUpdate(sql, id);
- String newId = IDGenerator.generate();
- String courseName = this.courseName(id);
- LocalDateTime time = LocalDateTime.now();
- String mess=null;
- if(courseName.length()<96) {
-
- String sql = "insert into boe_course(id,org_id,copy_id,ref_id,ref_type,visible,sys_create_aid,sys_create_by,sys_create_time,deleted,sys_update_by," +
- "sys_update_time,sys_version,comments,cover_img,dead_time,device,enable_remark,enabled," +
- "erasable,favorites,for_scene,for_users,is_top,keywords,name,open_object," +
- "overview,pass_formula,praises,publish_time,published,res_owner1,res_owner2," +
- "res_owner3,score,score_formula,shares,source,study_time,studys,summary," +
- "sys_type1,sys_type2,sys_type3,tags,top_time,trample_count,type,value,views," +
- "order_study,status)" +
- "select '" + newId + "',org_id,'"+id+"','"+refId+"','"+refType+"',"+visible+",'"+aid+"','"+aname+"','" + time + "',0,'"+aname+"'," +
- "'" + time + "',1,comments,cover_img,dead_time,device,enable_remark,enabled," +
- "erasable,0,for_scene,for_users,0,keywords,'" + courseName + "(1)" + "',open_object," +
- "overview,pass_formula,0,publish_time,0,res_owner1,res_owner2," +
- "res_owner3,score,score_formula,0,source,study_time,0,summary," +
- "sys_type1,sys_type2,sys_type3,tags,top_time,trample_count,type,value,0," +
- "order_study,1 from boe_course where id=?1";
- courseDao.sqlUpdate(sql, id);
-
- //课程章节复制,因为微课是没有章的,所以这里要判断
-
- if(sectionList.isEmpty()) {
- //查出所有的内容,然后再一个一个复制(因为要复制关联的内容)
- List> contentIds= courseContentDao.findListField("id",FieldFilters.eq("courseId", id),FieldFilters.eq("deleted", false));
- for(Object obj :contentIds) {
- String oldId=(String)obj;
+ //课程章节复制,因为微课是没有章的,所以这里要判断
+
+ if(sectionList.isEmpty()) {
+ //查出所有的内容,然后再一个一个复制(因为要复制关联的内容)
+ List> contentIds= courseContentDao.findListField("id",FieldFilters.eq("courseId", id),FieldFilters.eq("deleted", false));
+ for(Object obj :contentIds) {
+ String oldId=(String)obj;
+ String newContentId=IDGenerator.generate();
+ String sqlContent = "insert into boe_course_content(id,sys_create_aid,sys_create_by,sys_create_time," +
+ "deleted,sys_update_by,sys_update_time,sys_version,content,content_name,content_refid," +
+ "content_type,course_id,csection_id,duration,sort_index)" +
+ "select '"+newContentId+"','"+aid+"','"+aname+"','" + time + "'," +
+ "deleted,'"+aname+"','" + time + "',1,content," +
+ "content_name,content_refid,content_type,'" + newId + "','',duration,sort_index " +
+ "from boe_course_content where id=?1";
+ courseContentDao.sqlUpdate(sqlContent, oldId);
+
+ //课程作业复制
+ String sqlCourseHomeWork = "insert into boe_course_homework(id,sys_create_aid,sys_create_by," +
+ "sys_create_time,deleted,sys_update_by,sys_update_time,sys_version,content,content_id,course_id,dead_time," +
+ "file,name,submit_mode)" +
+ "SELECT UUID_SHORT(),'"+aid+"','"+aname+"','" + time + "'," +
+ "deleted,'"+aname+"','" + time + "',sys_version,content,'"+newContentId+"','" + newId + "',dead_time," +
+ "file,name,submit_mode from boe_course_homework where content_id=?1";
+ courseHomeWorkDao.sqlUpdate(sqlCourseHomeWork, oldId);
+
+ //课程考试信息复制
+ String sqlExam = "insert into boe_course_exam(id,sys_create_aid,sys_create_by," +
+ "sys_create_time,deleted,sys_update_by,sys_update_time,sys_version,arrange,content_id," +
+ "course_id,info,paper_content,paper_id,paper_type,pass_line,percent_score,qnum,random_mode," +
+ "scoring_type,show_analysis,show_answer,test_duration," +
+ "test_name,times)" +
+ "select UUID_SHORT(),'"+aid+"','"+aname+"'," +
+ "'" + time + "',deleted,'"+aname+"','" + time + "'," +
+ "1,arrange,'"+newContentId+"'," +
+ "'" + newId + "',info,paper_content,paper_id,paper_type,pass_line,percent_score,qnum," +
+ "random_mode,scoring_type,show_analysis,show_answer,test_duration," +
+ "test_name,times from boe_course_exam where content_id=?1";
+ courseExamDao.sqlUpdate(sqlExam, oldId);
+ }
+ }else {
+ List contentIdSectionIds= courseContentDao.findKeyValueList("id","csectionId", FieldFilters.eq("courseId", id),FieldFilters.eq("deleted", false));
+ for(CourseSection csection : sectionList) {
+ //生成新的章的id
+ String newSectionId = IDGenerator.generate();
+ String sqlSection = "" +
+ "insert into boe_course_section(id,course_id,description,name,order_index,parent_id)" +
+ "SELECT '"+newSectionId+"','" + newId + "',description,name,order_index,parent_id " +
+ "from boe_course_section where id=?1";
+ courseSectionDao.sqlUpdate(sqlSection, csection.getId());
+
+ //课程内容复制
+ for(KeyValue kv : contentIdSectionIds) {
+ if(!kv.getValue().equals(csection.getId())) {
+ continue;
+ }
String newContentId=IDGenerator.generate();
String sqlContent = "insert into boe_course_content(id,sys_create_aid,sys_create_by,sys_create_time," +
"deleted,sys_update_by,sys_update_time,sys_version,content,content_name,content_refid," +
"content_type,course_id,csection_id,duration,sort_index)" +
"select '"+newContentId+"','"+aid+"','"+aname+"','" + time + "'," +
- "deleted,'"+aname+"','" + time + "',1,content," +
- "content_name,content_refid,content_type,'" + newId + "','',duration,sort_index " +
+ "deleted,'"+aname+"','" + time + "',sys_version,content," +
+ "content_name,content_refid,content_type,'" + newId + "','"+newSectionId+"',duration,sort_index " +
"from boe_course_content where id=?1";
- courseContentDao.sqlUpdate(sqlContent, oldId);
+ courseContentDao.sqlUpdate(sqlContent,kv.getKey());
//课程作业复制
String sqlCourseHomeWork = "insert into boe_course_homework(id,sys_create_aid,sys_create_by," +
@@ -1557,8 +1606,8 @@ public class CourseServiceImpl implements ICourseService {
"file,name,submit_mode)" +
"SELECT UUID_SHORT(),'"+aid+"','"+aname+"','" + time + "'," +
"deleted,'"+aname+"','" + time + "',sys_version,content,'"+newContentId+"','" + newId + "',dead_time," +
- "file,name,submit_mode from boe_course_homework where content_id=?1";
- courseHomeWorkDao.sqlUpdate(sqlCourseHomeWork, oldId);
+ "file,name,submit_mode from boe_course_homework where content_id=?1 and course_id=?2";
+ courseHomeWorkDao.sqlUpdate(sqlCourseHomeWork,kv.getKey(),id);
//课程考试信息复制
String sqlExam = "insert into boe_course_exam(id,sys_create_aid,sys_create_by," +
@@ -1571,75 +1620,27 @@ public class CourseServiceImpl implements ICourseService {
"1,arrange,'"+newContentId+"'," +
"'" + newId + "',info,paper_content,paper_id,paper_type,pass_line,percent_score,qnum," +
"random_mode,scoring_type,show_analysis,show_answer,test_duration," +
- "test_name,times from boe_course_exam where content_id=?1";
- courseExamDao.sqlUpdate(sqlExam, oldId);
- }
- }else {
- List contentIdSectionIds= courseContentDao.findKeyValueList("id","csectionId", FieldFilters.eq("courseId", id),FieldFilters.eq("deleted", false));
- for(CourseSection csection : sectionList) {
- //生成新的章的id
- String newSectionId = IDGenerator.generate();
- String sqlSection = "" +
- "insert into boe_course_section(id,course_id,description,name,order_index,parent_id)" +
- "SELECT '"+newSectionId+"','" + newId + "',description,name,order_index,parent_id " +
- "from boe_course_section where id=?1";
- courseSectionDao.sqlUpdate(sqlSection, csection.getId());
-
- //课程内容复制
- for(KeyValue kv : contentIdSectionIds) {
- if(!kv.getValue().equals(csection.getId())) {
- continue;
- }
- String newContentId=IDGenerator.generate();
- String sqlContent = "insert into boe_course_content(id,sys_create_aid,sys_create_by,sys_create_time," +
- "deleted,sys_update_by,sys_update_time,sys_version,content,content_name,content_refid," +
- "content_type,course_id,csection_id,duration,sort_index)" +
- "select '"+newContentId+"','"+aid+"','"+aname+"','" + time + "'," +
- "deleted,'"+aname+"','" + time + "',sys_version,content," +
- "content_name,content_refid,content_type,'" + newId + "','"+newSectionId+"',duration,sort_index " +
- "from boe_course_content where id=?1";
- courseContentDao.sqlUpdate(sqlContent,kv.getKey());
-
- //课程作业复制
- String sqlCourseHomeWork = "insert into boe_course_homework(id,sys_create_aid,sys_create_by," +
- "sys_create_time,deleted,sys_update_by,sys_update_time,sys_version,content,content_id,course_id,dead_time," +
- "file,name,submit_mode)" +
- "SELECT UUID_SHORT(),'"+aid+"','"+aname+"','" + time + "'," +
- "deleted,'"+aname+"','" + time + "',sys_version,content,'"+newContentId+"','" + newId + "',dead_time," +
- "file,name,submit_mode from boe_course_homework where content_id=?1 and course_id=?2";
- courseHomeWorkDao.sqlUpdate(sqlCourseHomeWork,kv.getKey(),id);
-
- //课程考试信息复制
- String sqlExam = "insert into boe_course_exam(id,sys_create_aid,sys_create_by," +
- "sys_create_time,deleted,sys_update_by,sys_update_time,sys_version,arrange,content_id," +
- "course_id,info,paper_content,paper_id,paper_type,pass_line,percent_score,qnum,random_mode," +
- "scoring_type,show_analysis,show_answer,test_duration," +
- "test_name,times)" +
- "select UUID_SHORT(),'"+aid+"','"+aname+"'," +
- "'" + time + "',deleted,'"+aname+"','" + time + "'," +
- "1,arrange,'"+newContentId+"'," +
- "'" + newId + "',info,paper_content,paper_id,paper_type,pass_line,percent_score,qnum," +
- "random_mode,scoring_type,show_analysis,show_answer,test_duration," +
- "test_name,times from boe_course_exam where content_id=?1 and course_id=?2";
- courseExamDao.sqlUpdate(sqlExam,kv.getKey(),id);
- }
-
+ "test_name,times from boe_course_exam where content_id=?1 and course_id=?2";
+ courseExamDao.sqlUpdate(sqlExam,kv.getKey(),id);
}
+
}
-
- //课程任课教师复制
- String sqlTeacher = "insert into boe_course_teacher(id,sys_create_aid,sys_create_by,sys_create_time," +
- "course_id,teacher_id,teacher_name)" +
- "SELECT UUID_SHORT(),'"+aid+"','"+aname+"'," +
- "'" + time + "','" + newId + "',teacher_id," +
- "teacher_name from boe_course_teacher where course_id=?1";
- courseTeacherDao.sqlUpdate(sqlTeacher, id);
+ }
+
+ //课程任课教师复制
+ String sqlTeacher = "insert into boe_course_teacher(id,sys_create_aid,sys_create_by,sys_create_time," +
+ "course_id,teacher_id,teacher_name)" +
+ "SELECT UUID_SHORT(),'"+aid+"','"+aname+"'," +
+ "'" + time + "','" + newId + "',teacher_id," +
+ "teacher_name from boe_course_teacher where course_id=?1";
+ courseTeacherDao.sqlUpdate(sqlTeacher, id);
+
+ }
+ else{
+ mess="长度超出范围";
+ }
+ return mess;
- }
- else{
- mess="长度超出范围";
- }
- return mess;
}
@Override
@@ -1653,6 +1654,12 @@ public class CourseServiceImpl implements ICourseService {
courseDao.updateFieldById(id, field, value);
}
+ @Override
+ public List findStudysScoreByIds(List ids) {
+
+ return courseDao.findListByHql("Select new Course(id,studys,score) from Course where id in(?1)",ids);
+ }
+
diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java
index b3ba7f74..9ced8b26 100644
--- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java
+++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java
@@ -12,12 +12,10 @@ import com.xboe.account.entity.Account;
import com.xboe.account.service.IAccountService;
import com.xboe.common.utils.StringUtil;
import com.xboe.core.CurrentUser;
-import com.xboe.core.IAuthorizationToken;
import com.xboe.core.JsonResponse;
import com.xboe.core.api.ApiBaseController;
import com.xboe.data.dto.UserData;
import com.xboe.data.outside.IOutSideDataService;
-import com.xboe.module.teacher.entity.Teacher;
import com.xboe.module.teacher.service.ITeacherService;
import com.xboe.system.organization.entity.Organization;
import com.xboe.system.organization.service.IOrganizationService;
@@ -35,9 +33,6 @@ import lombok.extern.slf4j.Slf4j;
@RequestMapping(value = "/xboe/portal")
public class PortalConsoleApi extends ApiBaseController{
- @Autowired
- IAuthorizationToken authorizationToken;
-
@Autowired
IUserService userService;
@@ -61,7 +56,8 @@ public class PortalConsoleApi extends ApiBaseController{
public JsonResponse