| | |
| | | package com.iailab.module.ai.service.questiontemplate; |
| | | |
| | | import com.iailab.module.ai.controller.admin.questionparamsetting.vo.QuestionParamSettingRespVO; |
| | | import com.iailab.module.ai.dal.dataobject.questionparamsetting.QuestionParamSettingDO; |
| | | import com.iailab.module.ai.dal.mysql.questionparamsetting.QuestionParamSettingMapper; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.validation.annotation.Validated; |
| | |
| | | import com.iailab.framework.common.util.object.BeanUtils; |
| | | |
| | | import com.iailab.module.ai.dal.mysql.questiontemplate.QuestionTemplateMapper; |
| | | |
| | | import java.util.UUID; |
| | | |
| | | import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception; |
| | | import static com.iailab.module.ai.enums.ErrorCodeConstants.*; |
| | |
| | | @Resource |
| | | private QuestionTemplateMapper questionTemplateMapper; |
| | | |
| | | @Resource |
| | | private QuestionParamSettingMapper questionParamSettingMapper; |
| | | |
| | | @Override |
| | | public String createQuestionTemplate(QuestionTemplateSaveReqVO createReqVO) { |
| | | // 插入 |
| | | QuestionTemplateDO questionTemplate = BeanUtils.toBean(createReqVO, QuestionTemplateDO.class); |
| | | String id = UUID.randomUUID().toString(); |
| | | questionTemplate.setId(id); |
| | | // 插入设置列表 |
| | | createReqVO.getSettingList().forEach(setting -> { |
| | | setting.setTemplateId(id); |
| | | questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class)); |
| | | }); |
| | | questionTemplateMapper.insert(questionTemplate); |
| | | // 返回 |
| | | return questionTemplate.getId(); |
| | |
| | | validateQuestionTemplateExists(updateReqVO.getId()); |
| | | // 更新 |
| | | QuestionTemplateDO updateObj = BeanUtils.toBean(updateReqVO, QuestionTemplateDO.class); |
| | | // 删除设置列表 |
| | | questionParamSettingMapper.deleteByTemplateId(updateReqVO.getId()); |
| | | // 更新设置列表 |
| | | updateReqVO.getSettingList().forEach(setting -> { |
| | | setting.setTemplateId(updateReqVO.getId()); |
| | | setting.setId(null); |
| | | questionParamSettingMapper.insert(BeanUtils.toBean(setting, QuestionParamSettingDO.class)); |
| | | }); |
| | | questionTemplateMapper.updateById(updateObj); |
| | | } |
| | | |
| | |
| | | validateQuestionTemplateExists(id); |
| | | // 删除 |
| | | questionTemplateMapper.deleteById(id); |
| | | // 删除设置列表 |
| | | questionParamSettingMapper.deleteByTemplateId(id); |
| | | } |
| | | |
| | | private void validateQuestionTemplateExists(String id) { |
| | |
| | | |
| | | @Override |
| | | public QuestionTemplateDO getQuestionTemplate(String id) { |
| | | return questionTemplateMapper.selectById(id); |
| | | QuestionTemplateDO questionTemplateDO = questionTemplateMapper.selectById(id); |
| | | questionTemplateDO.setSettingList(BeanUtils.toBean(questionParamSettingMapper.selectList("template_id",id), QuestionParamSettingRespVO.class)); |
| | | return questionTemplateDO; |
| | | } |
| | | |
| | | @Override |