|
@@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qmth.boot.core.exception.StatusException;
|
|
@@ -35,8 +36,7 @@ import cn.com.qmth.am.service.QuestionService;
|
|
|
@Service
|
|
|
public class QuestionServiceImpl extends ServiceImpl<QuestionDao, QuestionEntity> implements QuestionService {
|
|
|
|
|
|
- private static final String[] EXCEL_HEADER = new String[] { "考试ID", "科目代码", "大题号", "小题号", "满分", "试题内容", "试题答案",
|
|
|
- "作答页码", "作答坐标" };
|
|
|
+ private static final String[] EXCEL_HEADER = new String[] { "考试ID", "科目代码", "大题号", "小题号", "满分", "试题内容", "试题答案","作答坐标" };
|
|
|
@Autowired
|
|
|
private SysProperty sysProperty;
|
|
|
@Autowired
|
|
@@ -206,17 +206,8 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionDao, QuestionEntity
|
|
|
msg.append(" 小题号不能为空");
|
|
|
} else if (subNum.length() > 10) {
|
|
|
msg.append(" 小题号不能超过10个字符");
|
|
|
- } else {
|
|
|
- try {
|
|
|
- Integer subNumVal = Integer.parseInt(subNum);
|
|
|
- if (subNumVal <= 0) {
|
|
|
- msg.append(" 小题号必须大于0");
|
|
|
- }
|
|
|
- imp.setSubNumber(subNumVal);
|
|
|
- } catch (NumberFormatException e) {
|
|
|
- msg.append(" 小题号格式错误");
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+ imp.setSubNumber(subNum);
|
|
|
|
|
|
String fullScore = trimAndNullIfBlank(line.get(EXCEL_HEADER[4]));
|
|
|
if (StringUtils.isBlank(fullScore)) {
|
|
@@ -247,30 +238,14 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionDao, QuestionEntity
|
|
|
}
|
|
|
imp.setAnswer(answer);
|
|
|
|
|
|
- String pageIndex = trimAndNullIfBlank(line.get(EXCEL_HEADER[7]));
|
|
|
- if (StringUtils.isBlank(pageIndex)) {
|
|
|
- msg.append(" 作答页码不能为空");
|
|
|
- } else if (pageIndex.length() > 10) {
|
|
|
- msg.append(" 作答页码不能超过10个字符");
|
|
|
- } else {
|
|
|
- try {
|
|
|
- Integer pageIndexVal = Integer.parseInt(pageIndex);
|
|
|
- if (pageIndexVal <= 0) {
|
|
|
- msg.append(" 作答页码必须大于0");
|
|
|
- }
|
|
|
- imp.setPageIndex(pageIndexVal);
|
|
|
- } catch (NumberFormatException e) {
|
|
|
- msg.append(" 作答页码格式错误");
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- String imageSlice = trimAndNullIfBlank(line.get(EXCEL_HEADER[8]));
|
|
|
+ String imageSlice = trimAndNullIfBlank(line.get(EXCEL_HEADER[7]));
|
|
|
if (StringUtils.isBlank(imageSlice)) {
|
|
|
msg.append(" 作答坐标不能为空");
|
|
|
} else if (imageSlice.length() > 1000) {
|
|
|
msg.append(" 作答坐标不能超过1000个字符");
|
|
|
} else {
|
|
|
- ImageSlice val=getImageSlice(imageSlice);
|
|
|
+ List<ImageSlice> val=getImageSlice(imageSlice);
|
|
|
if(val==null) {
|
|
|
msg.append(" 作答坐标格式有误");
|
|
|
}else {
|
|
@@ -298,17 +273,22 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionDao, QuestionEntity
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- private ImageSlice getImageSlice(String s) {
|
|
|
+ private List<ImageSlice> getImageSlice(String s) {
|
|
|
if (StringUtils.isBlank(s)) {
|
|
|
return null;
|
|
|
}
|
|
|
try {
|
|
|
- ImageSlice ret = JSONObject.parseObject(s, ImageSlice.class);
|
|
|
- if (ret.getH() == null || ret.getI() == null || ret.getW() == null || ret.getX() == null
|
|
|
- || ret.getY() == null) {
|
|
|
- return null;
|
|
|
+ List<ImageSlice> list=new ArrayList<>();
|
|
|
+ JSONArray ja=JSONArray.parseArray(s);
|
|
|
+ for(int i=0;i<ja.size();i++) {
|
|
|
+ ImageSlice ret = JSONObject.parseObject(ja.getString(i), ImageSlice.class);
|
|
|
+ if (ret.getH() == null || ret.getI() == null || ret.getW() == null || ret.getX() == null
|
|
|
+ || ret.getY() == null||ret.getI()<0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ list.add(ret);
|
|
|
}
|
|
|
- return ret;
|
|
|
+ return list;
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|