package com.thhy.secure.modules.biz.exam.service.impl; import com.thhy.general.config.SysUserInfo; import com.thhy.general.utils.DeepCopyUtils; import com.thhy.general.utils.UserInfoUtils; import com.thhy.secure.modules.biz.exam.entity.*; import com.thhy.secure.modules.biz.exam.mapper.AnswerMapper; import com.thhy.secure.modules.biz.exam.mapper.QuestionMapper; import com.thhy.secure.modules.biz.exam.service.QuestionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 服务实现类 * @author zhang_xiao_bo * @since 2023-05-26 09:21:47 */ @Service public class QuestionServiceImpl implements QuestionService { @Autowired private QuestionMapper questionMapper; @Autowired private AnswerMapper answerMapper; public Question get(Serializable id){ return questionMapper.queryById(id); } public List findList(QueDto queDto){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); System.out.println("----------------------------"+queDto.getTrainName()); if(queDto==null)queDto = new QueDto(); queDto.setCompanyId(userInfo.getCompanyId()); return questionMapper.findList(queDto); } /** * 增加和修改 * @param questionDto */ @Transactional public void addQuestion(QuestionDto questionDto){ SysUserInfo userInfo = UserInfoUtils.getInstance().getUserInfo(); List answerList = questionDto.getAnswerList(); Question question = new Question(); DeepCopyUtils.copy(questionDto,question); if(question.getQueId() == null){ //增加操作 question.setCreateUser(userInfo.getUserId()); questionMapper.insert(question); }else{ //修改操作 question.setUpdateTime(new Date()); questionMapper.update(question); answerMapper.deleteByQueId(question.getQueId()); } int i = 1; for (Answer al : answerList){ al.setQueId(question.getQueId()); al.setSort(i); answerMapper.insert(al); i++; } } /** * 修改 * @param question */ public void update(Question question){ questionMapper.update(question); } /** * 删除 * @param queId */ public void delete(Serializable queId){ questionMapper.deletelogic(queId); } }