mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 02:46:50 +08:00
Compare commits
32 Commits
yx0815-l
...
zcwy0912-l
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a8ce10c575 | ||
|
|
70a87ac812 | ||
|
|
5285506f0f | ||
|
|
33df8b0831 | ||
|
|
effb45c6d0 | ||
|
|
3af3c2eedf | ||
|
|
57e04f46c0 | ||
|
|
2e2edbbf57 | ||
|
|
beba553faa | ||
|
|
120a4f45fc | ||
|
|
18bb8a434a | ||
|
|
2ae3d99f21 | ||
|
|
89573debef | ||
|
|
457597eabc | ||
|
|
24ae3c0ec6 | ||
|
|
fffa12344a | ||
|
|
52a58a6c6f | ||
|
|
a4b034752d | ||
|
|
23e63062e9 | ||
|
|
06415d58ac | ||
|
|
3fc8ce614d | ||
|
|
bebe36d39e | ||
|
|
d4af5ba8d5 | ||
|
|
d42d1b2e83 | ||
|
|
cf64f0406f | ||
|
|
df3b0b95c1 | ||
|
|
f5ff666c07 | ||
|
|
731e62c89f | ||
|
|
7fe53c026e | ||
|
|
6492e3b0dd | ||
|
|
30aab6eab4 | ||
|
|
92a4e509ef |
@@ -9,6 +9,7 @@ import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -28,6 +29,7 @@ import com.xboe.module.course.service.ICourseFileService;
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(value = "/xboe/m/course/cware")
|
||||
@Slf4j
|
||||
public class CourseWareApi extends ApiBaseController {
|
||||
|
||||
private String cookieName = "PLAYSIGN_TIME";
|
||||
@@ -131,6 +133,8 @@ public class CourseWareApi extends ApiBaseController {
|
||||
// 第一个/前端是时间
|
||||
int index = signStr.indexOf("/");
|
||||
if (index <= 0) {
|
||||
log.info("解密后的字符串:"+signStr);
|
||||
log.info("解密后的字符串的时间拼接:"+index);
|
||||
return badRequest("验证错误");
|
||||
}
|
||||
|
||||
@@ -138,9 +142,13 @@ public class CourseWareApi extends ApiBaseController {
|
||||
String cfid = signStr.substring(index+1);// 文件路径
|
||||
|
||||
if (!time.equals(cookieTime)) {
|
||||
log.info("请求头时间和解析后的时间对比:"+"解析时间:"+time+" 请求头时间:"+cookieTime);
|
||||
log.info("解密后的字符串的时间拼接:"+signStr);
|
||||
return badRequest("验证错误");
|
||||
}
|
||||
if(StringUtils.isBlank(cfid) || cfid.length()<10) {
|
||||
log.info("查看时间文件路径:"+cfid);
|
||||
log.info("解密后的字符串的时间拼接:"+signStr);
|
||||
return badRequest("验证错误");
|
||||
}
|
||||
|
||||
|
||||
@@ -166,12 +166,13 @@ public class ExamQuestionApi extends ApiBaseController {
|
||||
return badRequest("请上传正确的试题文件");
|
||||
}
|
||||
//获取表头
|
||||
Row row = sheetAt.getRow(1);
|
||||
Row row ;
|
||||
//从第二行开始获取数据
|
||||
List<ExamQuestion> examQuestions1 = new ArrayList<>();
|
||||
QuestionDto questionDto = new QuestionDto();
|
||||
|
||||
for (int i=2;i<sheetAt.getPhysicalNumberOfRows();i++) {
|
||||
if(sheetAt.getRow(1).getCell(0).getStringCellValue().equals("标题(*)") && !sheetAt.getRow(1).getCell(0).getStringCellValue().equals("")){
|
||||
row = sheetAt.getRow(1);
|
||||
for (int i = 2;i<sheetAt.getPhysicalNumberOfRows();i++) {
|
||||
//获取每一行
|
||||
|
||||
Row row1 = sheetAt.getRow(i);
|
||||
@@ -189,45 +190,56 @@ public class ExamQuestionApi extends ApiBaseController {
|
||||
if(row1.getCell(1).getStringCellValue().equals("多选题")){
|
||||
examQuestion.setType(2);
|
||||
}
|
||||
examQuestion.setKnowledge(row1.getCell(2).getStringCellValue());
|
||||
if(row1.getCell(3).getStringCellValue().equals("中")){
|
||||
if(row1.getCell(2).getStringCellValue().equals("中")){
|
||||
examQuestion.setDifficulty(2f);
|
||||
}
|
||||
if(row1.getCell(3).getStringCellValue().equals("难")){
|
||||
}else if(row1.getCell(2).getStringCellValue().equals("难")){
|
||||
examQuestion.setDifficulty(3f);
|
||||
}
|
||||
if(row1.getCell(3).getStringCellValue().equals("低")){
|
||||
} else if(row1.getCell(2).getStringCellValue().equals("易")){
|
||||
examQuestion.setDifficulty(1f);
|
||||
}else if(row1.getCell(2).getStringCellValue().equals("")){
|
||||
examQuestion.setDifficulty(null);
|
||||
}
|
||||
Cell cell = row1.getCell(4);
|
||||
Cell cell = row1.getCell(3);
|
||||
cell.setCellType(CellType.STRING);
|
||||
|
||||
// examQuestion.setDefaultScore(Float.valueOf(cell.getStringCellValue()));
|
||||
|
||||
//单选
|
||||
if (!cell.getStringCellValue().contains(",")){
|
||||
examQuestion.setAnswer(row1.getCell(6).getStringCellValue());
|
||||
examQuestion.setDefaultScore(Float.valueOf(row1.getCell(4).getStringCellValue()));
|
||||
Cell cell1 = row1.getCell(5, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
examQuestion.setAnswer(row1.getCell(5).getStringCellValue());
|
||||
if (row1.getCell(3).getStringCellValue().isEmpty()){
|
||||
examQuestion.setDefaultScore(null);
|
||||
}else {
|
||||
examQuestion.setDefaultScore(Float.valueOf(row1.getCell(3).getStringCellValue()));
|
||||
}
|
||||
Cell cell1 = row1.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
cell1.setCellType(CellType.STRING);
|
||||
examQuestion.setAnalysis(cell1.getStringCellValue());
|
||||
|
||||
List<ExamOption> examOptions = new ArrayList<>();
|
||||
for (int j=7;j<=13;j++) {
|
||||
for (int j=6;j<=12;j++) {
|
||||
|
||||
if(row1.getCell(j)!=null) {
|
||||
ExamOption examOption = new ExamOption();
|
||||
// 截取表头
|
||||
String substring = row.getCell(j).getStringCellValue().substring(3, 4);
|
||||
if (row1.getCell(6).getStringCellValue().contains(substring)) {
|
||||
if (row1.getCell(5).getStringCellValue().contains(substring)) {
|
||||
|
||||
examOption.setIsAnswer(true);
|
||||
examOption.setScore(Float.valueOf(row1.getCell(4).getStringCellValue()));
|
||||
if (row1.getCell(3).getStringCellValue().isEmpty()){
|
||||
examOption.setScore(null);
|
||||
}else {
|
||||
examOption.setScore(Float.valueOf(row1.getCell(3).getStringCellValue()));
|
||||
}
|
||||
} else {
|
||||
examOption.setIsAnswer(false);
|
||||
}
|
||||
if (examOption.getIsAnswer()) {
|
||||
examOption.setScore(Float.valueOf(row1.getCell(4).getStringCellValue()));
|
||||
if (row1.getCell(3).getStringCellValue().isEmpty()){
|
||||
examOption.setScore(null);
|
||||
}else {
|
||||
examOption.setScore(Float.valueOf(row1.getCell(3).getStringCellValue()));
|
||||
}
|
||||
}
|
||||
|
||||
examOption.setOptions(row.getCell(j).getStringCellValue());
|
||||
@@ -257,19 +269,19 @@ public class ExamQuestionApi extends ApiBaseController {
|
||||
}
|
||||
}
|
||||
examQuestion.setDefaultScore(Float.valueOf(max));
|
||||
Cell cell1 = row1.getCell(5, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
Cell cell1 = row1.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
cell1.setCellType(CellType.STRING);
|
||||
examQuestion.setAnalysis(cell1.getStringCellValue());
|
||||
examQuestion.setAnswer(row1.getCell(6).getStringCellValue());
|
||||
examQuestion.setAnswer(row1.getCell(5).getStringCellValue());
|
||||
List<ExamOption> examOptions = new ArrayList<>();
|
||||
//A
|
||||
for (int j=7;j<=13;j++){
|
||||
for (int j=6;j<=12;j++){
|
||||
if(row1.getCell(j)!=null && StringUtil.isNotBlank(row1.getCell(j).getStringCellValue())){
|
||||
ExamOption examOption=new ExamOption();
|
||||
examOption.setOptions(row.getCell(j).getStringCellValue());
|
||||
examOption.setContent(row1.getCell(j).getStringCellValue());
|
||||
examOption.setIsAnswer(true);
|
||||
examOption.setScore(Float.valueOf(strings[j-7]));
|
||||
examOption.setScore(Float.valueOf(strings[j-6]));
|
||||
if(examOption!=null && StringUtil.isNotBlank(examOption.getContent())){
|
||||
examOptions.add(examOption);
|
||||
}
|
||||
@@ -280,6 +292,134 @@ public class ExamQuestionApi extends ApiBaseController {
|
||||
examQuestions1.add(examQuestion);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
row = sheetAt.getRow(2);
|
||||
for (int i = 3;i<sheetAt.getPhysicalNumberOfRows();i++) {
|
||||
//获取每一行
|
||||
|
||||
Row row1 = sheetAt.getRow(i);
|
||||
if(row1==null || row1.getCell(0)==null){
|
||||
break;
|
||||
}
|
||||
if(StringUtil.isBlank(row1.getCell(0).getStringCellValue())){
|
||||
break;
|
||||
}
|
||||
ExamQuestion examQuestion = new ExamQuestion();
|
||||
examQuestion.setTitle(row1.getCell(0).getStringCellValue());
|
||||
if(row1.getCell(1).getStringCellValue().equals("单选题")){
|
||||
examQuestion.setType(1);
|
||||
}
|
||||
if(row1.getCell(1).getStringCellValue().equals("多选题")){
|
||||
examQuestion.setType(2);
|
||||
}
|
||||
log.debug("row1.getCell(2) = " + row1.getCell(2));
|
||||
if (row1.getCell(2)==null ||row1.getCell(2).getStringCellValue() == null || row1.getCell(2).getStringCellValue().equals("")){
|
||||
examQuestion.setDifficulty(null);
|
||||
}else{
|
||||
if( row1.getCell(2).getStringCellValue().equals("中")){
|
||||
examQuestion.setDifficulty(2f);
|
||||
}else if(row1.getCell(2).getStringCellValue().equals("难")){
|
||||
examQuestion.setDifficulty(3f);
|
||||
} else if(row1.getCell(2).getStringCellValue().equals("易")){
|
||||
examQuestion.setDifficulty(1f);
|
||||
}else if(row1.getCell(2).getStringCellValue().equals("")){
|
||||
examQuestion.setDifficulty(null);
|
||||
}
|
||||
}
|
||||
Cell cell = row1.getCell(3);
|
||||
cell.setCellType(CellType.STRING);
|
||||
|
||||
// examQuestion.setDefaultScore(Float.valueOf(cell.getStringCellValue()));
|
||||
|
||||
//单选
|
||||
if (!cell.getStringCellValue().contains(",")){
|
||||
examQuestion.setAnswer(row1.getCell(5).getStringCellValue());
|
||||
if (row1.getCell(3).getStringCellValue().isEmpty()){
|
||||
examQuestion.setDefaultScore(null);
|
||||
}else {
|
||||
examQuestion.setDefaultScore(Float.valueOf(row1.getCell(3).getStringCellValue()));
|
||||
}
|
||||
Cell cell1 = row1.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
cell1.setCellType(CellType.STRING);
|
||||
examQuestion.setAnalysis(cell1.getStringCellValue());
|
||||
|
||||
List<ExamOption> examOptions = new ArrayList<>();
|
||||
for (int j=6;j<=12;j++) {
|
||||
|
||||
if(row1.getCell(j)!=null) {
|
||||
ExamOption examOption = new ExamOption();
|
||||
// 截取表头
|
||||
String substring = row.getCell(j).getStringCellValue().substring(3, 4);
|
||||
if (row1.getCell(5).getStringCellValue().contains(substring)) {
|
||||
|
||||
examOption.setIsAnswer(true);
|
||||
if (row1.getCell(3).getStringCellValue().isEmpty()){
|
||||
examOption.setScore(null);
|
||||
}else {
|
||||
examOption.setScore(Float.valueOf(row1.getCell(3).getStringCellValue()));
|
||||
}
|
||||
} else {
|
||||
examOption.setIsAnswer(false);
|
||||
}
|
||||
if (examOption.getIsAnswer()) {
|
||||
if (row1.getCell(3).getStringCellValue().isEmpty()){
|
||||
examOption.setScore(null);
|
||||
}else {
|
||||
examOption.setScore(Float.valueOf(row1.getCell(3).getStringCellValue()));
|
||||
}
|
||||
}
|
||||
|
||||
examOption.setOptions(row.getCell(j).getStringCellValue());
|
||||
|
||||
Cell cell2 = row1.getCell(j);
|
||||
cell2.setCellType(CellType.STRING);
|
||||
examOption.setContent(cell2.getStringCellValue());
|
||||
|
||||
if (examOption != null && StringUtil.isNotBlank(examOption.getContent())) {
|
||||
examOptions.add(examOption);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
examQuestion.setOptionList(examOptions);
|
||||
examQuestions1.add(examQuestion);
|
||||
}
|
||||
//多选 多选的默认分存的是最大分
|
||||
else{
|
||||
String stringCellValue = row1.getCell(4).getStringCellValue();
|
||||
String[] strings = stringCellValue.split(",");
|
||||
// String[] strings = new String[stringCellValue.length()];
|
||||
String max=strings[0];
|
||||
for (int j=0;j<strings.length;j++) {
|
||||
if(Float.valueOf(max)<Float.valueOf(strings[j])){
|
||||
max=strings[j];
|
||||
}
|
||||
}
|
||||
examQuestion.setDefaultScore(Float.valueOf(max));
|
||||
Cell cell1 = row1.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK);
|
||||
cell1.setCellType(CellType.STRING);
|
||||
examQuestion.setAnalysis(cell1.getStringCellValue());
|
||||
examQuestion.setAnswer(row1.getCell(5).getStringCellValue());
|
||||
List<ExamOption> examOptions = new ArrayList<>();
|
||||
//A
|
||||
for (int j=6;j<=13;j++){
|
||||
if(row1.getCell(j)!=null && StringUtil.isNotBlank(row1.getCell(j).getStringCellValue())){
|
||||
ExamOption examOption=new ExamOption();
|
||||
examOption.setOptions(row.getCell(j).getStringCellValue());
|
||||
examOption.setContent(row1.getCell(j).getStringCellValue());
|
||||
examOption.setIsAnswer(true);
|
||||
examOption.setScore(Float.valueOf(strings[j-6]));
|
||||
if(examOption!=null && StringUtil.isNotBlank(examOption.getContent())){
|
||||
examOptions.add(examOption);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
examQuestion.setOptionList(examOptions);
|
||||
examQuestions1.add(examQuestion);
|
||||
}
|
||||
}
|
||||
}
|
||||
//判断题 只存在试题表中
|
||||
Sheet sheetAt1 = workbook.getSheet("判断题");
|
||||
// questionDto.setCounts(sheetAt1.getPhysicalNumberOfRows()-2);
|
||||
@@ -300,27 +440,30 @@ public class ExamQuestionApi extends ApiBaseController {
|
||||
ExamQuestion examQuestion1 = new ExamQuestion();
|
||||
examQuestion1.setTitle(row2.getCell(0).getStringCellValue());
|
||||
examQuestion1.setType(3);
|
||||
examQuestion1.setKnowledge(row2.getCell(1).getStringCellValue());
|
||||
if(row2.getCell(2).getStringCellValue().equals("中")){
|
||||
System.out.println("1+++++++"+row2.getCell(1));
|
||||
if(row2.getCell(1).getStringCellValue().equals("中")){
|
||||
examQuestion1.setDifficulty(2f);
|
||||
}
|
||||
if(row2.getCell(2).getStringCellValue().equals("难")){
|
||||
}else if(row2.getCell(1).getStringCellValue().equals("难")){
|
||||
examQuestion1.setDifficulty(3f);
|
||||
}
|
||||
if(row2.getCell(2).getStringCellValue().equals("易")){
|
||||
} else if(row2.getCell(1).getStringCellValue().equals("易")){
|
||||
examQuestion1.setDifficulty(1f);
|
||||
}else if(row2.getCell(1).getStringCellValue().equals("")){
|
||||
examQuestion1.setDifficulty(null);
|
||||
}
|
||||
Cell cell1 = row2.getCell(3);
|
||||
Cell cell1 = row2.getCell(2);
|
||||
cell1.setCellType(CellType.STRING);
|
||||
examQuestion1.setDefaultScore(Float.valueOf(cell1.getStringCellValue()));
|
||||
|
||||
if(row2.getCell(4)!=null) {
|
||||
examQuestion1.setAnalysis(row2.getCell(4).getStringCellValue());
|
||||
if (row2.getCell(2).getStringCellValue().isEmpty()){
|
||||
examQuestion1.setDefaultScore(null);
|
||||
}else {
|
||||
examQuestion1.setDefaultScore(Float.valueOf(row2.getCell(2).getStringCellValue()));
|
||||
}
|
||||
if(row2.getCell(3)!=null) {
|
||||
examQuestion1.setAnalysis(row2.getCell(3).getStringCellValue());
|
||||
}else {
|
||||
examQuestion1.setAnalysis("");
|
||||
}
|
||||
|
||||
String cvalue=row2.getCell(5).getStringCellValue();
|
||||
String cvalue=row2.getCell(4).getStringCellValue();
|
||||
examQuestion1.setAnswer(cvalue.equals("正确")? "true":"false");
|
||||
if(examQuestion1!=null){
|
||||
examQuestions2.add(examQuestion1);
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.xboe.api.vo.*;
|
||||
import com.xboe.module.course.vo.TeacherVo;
|
||||
import com.xboe.module.usergroup.entity.UserGroupItem;
|
||||
import com.xboe.module.usergroup.service.IUserGroupService;
|
||||
import com.xboe.school.study.dao.StudyCourseDao;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -66,6 +67,8 @@ import javax.servlet.http.HttpServletRequest;
|
||||
@RequestMapping(value="/xboe/school/study/course")
|
||||
public class StudyCourseApi extends ApiBaseController{
|
||||
|
||||
|
||||
|
||||
@Autowired
|
||||
IStudyCourseService service;
|
||||
|
||||
@@ -721,8 +724,9 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value="/study-course-content",method = {RequestMethod.GET,RequestMethod.POST})
|
||||
public JsonResponse<StudyCourseItem> findStudyCourseItem(String studyId,String contentId){
|
||||
public JsonResponse<StudyCourseItem> findStudyCourseItem(String studyId,String contentId, HttpServletRequest request){
|
||||
if(StringUtils.isBlank(studyId)){
|
||||
return error("无学习信息");
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.xboe.api.ThirdApi;
|
||||
import com.xboe.school.study.dao.StudyCourseDao;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -32,6 +33,8 @@ import javax.servlet.http.HttpServletRequest;
|
||||
@RestController
|
||||
@RequestMapping(value="/xboe/school/study/exam")
|
||||
public class StudyExamApi extends ApiBaseController{
|
||||
@Autowired
|
||||
StudyCourseDao scDao;
|
||||
|
||||
@Autowired
|
||||
IStudyExamService sexamService;
|
||||
|
||||
@@ -98,8 +98,12 @@ public class StudyServiceImpl implements IStudyService{
|
||||
//sci.setProgress(100);//直接设置为学习完成
|
||||
sci.setLastTime(ldt);
|
||||
scItemDao.saveOrUpdate(sci);
|
||||
|
||||
if (sci.getId() != null){
|
||||
dto.setStudyItemId(sci.getId());
|
||||
}else {
|
||||
log.info("学习记录插入失败"+sci.getId());
|
||||
throw new IllegalArgumentException("学习记录插入失败");
|
||||
}
|
||||
//检查是否全部学习完成
|
||||
scDao.finishCheck(dto.getStudyId(),dto.getCourseId(),dto.getContentTotal(),token);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user