Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hysc.isp.service.impl;
- import com.hysc.db.common.result.PageResult;
- import com.hysc.db.isp.dao.QuestionAnswerMapper;
- import com.hysc.db.isp.dao.QuestionBankMapper;
- import com.hysc.db.isp.entity.QuestionAnswer;
- import com.hysc.db.isp.entity.QuestionBank;
- import com.hysc.db.isp.po.QuestionBankPo;
- import com.hysc.isp.service.QuestionBankService;
- import com.rock.framework.utils.ExcelUtils;
- import com.rock.framework.utils.StringUUID;
- import com.rock.framework.web.exception.BaseException;
- import org.apache.commons.lang.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.web.multipart.MultipartFile;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 题库业务层实现类
- * @Author: WJC
- * @Date: 2019/7/8 10:16
- */
- @Service("questionService")
- public class QuestionBankServiceImpl implements QuestionBankService {
- private static final Logger log= LoggerFactory.getLogger(QuestionBankServiceImpl.class);
- @Autowired
- private QuestionBankMapper questionBankMapper;
- @Autowired
- private QuestionAnswerMapper questionAnswerMapper;
- private static final String[] answerArray = new String[]{"A","B","C","D","E","F","G"};
- @Override
- public int txUpdate(QuestionBank questionBank) throws Exception{
- return questionBankMapper.updateByPrimaryKeySelective(questionBank);
- }
- @Override
- public QuestionBank selectByPk(String questionBankId) {
- return questionBankMapper.selectByPrimaryKey(questionBankId);
- }
- @Override
- public int txImportExcel(MultipartFile uploadFile) throws Exception {
- // 读取数据
- List<List<String>> cellValues= ExcelUtils.importExcel(uploadFile.getInputStream());
- List<QuestionBank> questionList = new ArrayList<>();
- List<QuestionAnswer> questionAnswersList = new ArrayList<>();
- // 查询当前数据库最大排序
- Integer order = questionBankMapper.selectMaxOrder();
- order = order != null ? order : 0;
- for (int i = 1; i < cellValues.size(); i++,++order) {
- List<String> rowValues = cellValues.get(i);
- QuestionBank questionBank =new QuestionBank();
- if(StringUtils.isBlank(rowValues.get(0)) || StringUtils.isEmpty(rowValues.get(0))){
- continue;
- }
- String questionId = StringUUID.generate32UUID();
- // 题目编号
- questionBank.setQuestionId(questionId);
- //题目内容
- questionBank.setQuestionContent((rowValues.get(1)).trim());
- //所属专题
- questionBank.setSubjectType(rowValues.get(2));
- // 题目分值
- questionBank.setQuestionScore(new BigDecimal(rowValues.get(3)));
- // 题目类型
- questionBank.setQuestionType(rowValues.get(4));
- // 供选答案
- String answerContent = rowValues.get(5);
- String[] answerContentArray = answerContent.split("\\|");
- for (int j = 0; j < answerContentArray.length; j++) {
- QuestionAnswer questionAnswer = new QuestionAnswer();
- // 题目编号
- questionAnswer.setQuestionId(questionId);
- // 答案编号(A/B/C/D...)
- questionAnswer.setAnswerId(answerArray[j]);
- // 答案内容
- questionAnswer.setAnswerContent((answerContentArray[j]).trim());
- // 答案排序(A:1, B:2, C:3 D:5 E:6 ...)
- questionAnswer.setAnswerOrder(j+1);
- questionAnswersList.add(questionAnswer);
- }
- // 标准答案
- String standarAnswer = rowValues.get(6).replaceAll(" ","");
- questionBank.setStandardAnswer(standarAnswer);
- // 状态(1:启用;0:停用)
- questionBank.setStat("1");
- // 题目排序
- questionBank.setQuestionOrder(order);
- questionList.add(questionBank);
- }
- questionBankMapper.batchInsert(questionList);
- questionAnswerMapper.batchInsert(questionAnswersList);
- return 1;
- }
- @Override
- public QuestionBank selectByPrimaryKey(String questionId) {
- return questionBankMapper.selectByPrimaryKey(questionId);
- }
- @Override
- public PageResult selectByList(QuestionBankPo questionBankPo) throws BaseException {
- PageResult pageResult=new PageResult();
- //每页显示的起始行数
- questionBankPo.setLimitStart((questionBankPo.getCurrentPage()-1) * questionBankPo.getPageSize());
- //每页显示的记录数
- questionBankPo.setLimitEnd(questionBankPo.getPageSize());
- pageResult.setCurrentPage(questionBankPo.getCurrentPage());
- pageResult.setPageSize(questionBankPo.getPageSize());
- pageResult.setTotalCount(questionBankMapper.selectCustListCount(questionBankPo));
- pageResult.setItems(questionBankMapper.selectCustList(questionBankPo));
- return pageResult;
- }
- public static void main(){
- String str1 = " 122 xdd 55 dff ";
- System.out.println(str1.replace(" ",""));
- System.out.println(str1.replaceAll(" ",""));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement