Commit fc1805ee by 梅存智

工作任务问题保存多个附件

parent 8ce646fd
...@@ -184,6 +184,9 @@ public class TrResearchQuestionVo extends Model<TrResearchQuestionVo> { ...@@ -184,6 +184,9 @@ public class TrResearchQuestionVo extends Model<TrResearchQuestionVo> {
@ApiModelProperty(value = "关键字") @ApiModelProperty(value = "关键字")
private String keywords; private String keywords;
@ApiModelProperty(value = "所有题型有效:存放附件路径,附件格式:音频、视频、图片(存放多个)")
private List<String> attachmentUrl;
@Override @Override
protected Serializable pkVal() { protected Serializable pkVal() {
return this.id; return this.id;
......
...@@ -80,4 +80,7 @@ public class QuestionVo { ...@@ -80,4 +80,7 @@ public class QuestionVo {
@ApiModelProperty(value = "关键字") @ApiModelProperty(value = "关键字")
private String keywords; private String keywords;
@ApiModelProperty(value = "所有题型有效:存放附件路径,附件格式:音频、视频、图片(存放多个)")
private List<String> attachmentUrl;
} }
package com.yizhi.research.application.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.yizhi.research.application.vo.domain.TrResearchQuestionAttachment;
/**
* <p>
* 问题 Mapper 接口
* </p>
*
* @author shengchenglong
* @since 2018-03-12
*/
public interface TrResearchQuestionAttachmentMapper extends BaseMapper<TrResearchQuestionAttachment> {
/**
* 获取题目相关的附件信息
* @param questionId
* @return
*/
List<String> selectQuestionAttachmentByQuestionId(@Param("questionId") Long questionId);
/**
* 删除题目相关的附件信息
* @param questionId
* @return
*/
int delQuestionAttachmentByQuestionId(@Param("questionId") Long questionId);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yizhi.research.application.mapper.TrResearchQuestionAttachmentMapper">
<select id="selectQuestionAttachmentByQuestionId" resultType="java.lang.String">
SELECT content_appendix_url
FROM tr_research_question_attachment
WHERE research_question_id=#{questionId} AND deleted=0
</select>
<delete id="delQuestionAttachmentByQuestionId">
DELETE FROM tr_research_question_attachment WHERE research_question_id=#{questionId}
</delete>
</mapper>
...@@ -95,14 +95,14 @@ ...@@ -95,14 +95,14 @@
,update_by_name ,update_by_name
,company_id ,company_id
,org_id ,org_id
,site_id) ,site_id,keywords)
values values
<foreach collection="list" separator="," item="item"> <foreach collection="list" separator="," item="item">
<if test="item != null"> <if test="item != null">
(#{item.id},#{item.researchId},#{item.type},#{item.content},#{item.contentAppendixUrl}, (#{item.id},#{item.researchId},#{item.type},#{item.content},#{item.contentAppendixUrl},
#{item.needAnswer},#{item.maxSelectItem},#{item.minSelectItem},#{item.minScore},#{item.maxScore}, #{item.needAnswer},#{item.maxSelectItem},#{item.minSelectItem},#{item.minScore},#{item.maxScore},
#{item.no},#{item.jumpType},#{item.jumpNum},#{item.jumpable},#{item.deleted},#{item.createTime},#{item.createById},#{item.createByName}, #{item.no},#{item.jumpType},#{item.jumpNum},#{item.jumpable},#{item.deleted},#{item.createTime},#{item.createById},#{item.createByName},
#{item.updateTime},#{item.updateById},#{item.updateByName},#{item.companyId},#{item.orgId},#{item.siteId}) #{item.updateTime},#{item.updateById},#{item.updateByName},#{item.companyId},#{item.orgId},#{item.siteId},#{item.keywords})
</if> </if>
</foreach> </foreach>
</insert> </insert>
......
package com.yizhi.research.application.service;
import com.baomidou.mybatisplus.service.IService;
import com.yizhi.research.application.vo.domain.TrResearchQuestionAttachment;
/**
* <p>
* 问题 服务类
* </p>
*
* @author shengchenglong
* @since 2018-03-12
*/
public interface ITrResearchQuestionAttachmentService extends IService<TrResearchQuestionAttachment> {
}
package com.yizhi.research.application.service.impl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.yizhi.research.application.mapper.TrResearchQuestionAttachmentMapper;
import com.yizhi.research.application.service.ITrResearchQuestionAttachmentService;
import com.yizhi.research.application.vo.domain.TrResearchQuestionAttachment;
/**
* <p>
* 问题 服务实现类
* </p>
*
* @author shengchenglong
* @since 2018-03-12
*/
@Service
@Transactional
public class TrResearchQuestionAttachmentServiceImpl extends ServiceImpl<TrResearchQuestionAttachmentMapper, TrResearchQuestionAttachment> implements ITrResearchQuestionAttachmentService {
}
...@@ -12,6 +12,7 @@ import com.yizhi.core.application.task.AbstractTaskHandler; ...@@ -12,6 +12,7 @@ import com.yizhi.core.application.task.AbstractTaskHandler;
import com.yizhi.core.application.task.TaskExecutor; import com.yizhi.core.application.task.TaskExecutor;
import com.yizhi.research.application.mapper.*; import com.yizhi.research.application.mapper.*;
import com.yizhi.research.application.model.ModifyQuestionModel; import com.yizhi.research.application.model.ModifyQuestionModel;
import com.yizhi.research.application.service.ITrResearchQuestionAttachmentService;
import com.yizhi.research.application.service.ITrResearchQuestionService; import com.yizhi.research.application.service.ITrResearchQuestionService;
import com.yizhi.research.application.vo.api.AnswerQuestionItemVo; import com.yizhi.research.application.vo.api.AnswerQuestionItemVo;
import com.yizhi.research.application.vo.api.AnswerQuestionVo; import com.yizhi.research.application.vo.api.AnswerQuestionVo;
...@@ -65,6 +66,11 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio ...@@ -65,6 +66,11 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio
@Autowired @Autowired
private CloudEventPublisher cloudEventPublisher; private CloudEventPublisher cloudEventPublisher;
@Autowired
private TrResearchQuestionAttachmentMapper researchQuestionAttachmentMapper;
@Autowired
private ITrResearchQuestionAttachmentService researchQuestionAttachmentService;
private static final Logger LOG = LoggerFactory.getLogger(TrResearchQuestionServiceImpl.class); private static final Logger LOG = LoggerFactory.getLogger(TrResearchQuestionServiceImpl.class);
...@@ -106,14 +112,31 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio ...@@ -106,14 +112,31 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio
optionListToInsert.add(option); optionListToInsert.add(option);
} }
} }
}
//修改使用batchInsert插入时候keywords字段保存不了 //添加问题相关附件
int num = 0; if (!CollectionUtils.isEmpty(question.getAttachmentUrl())) {
for (TrResearchQuestion question : researchQuestions) { List<TrResearchQuestionAttachment> attachments = new ArrayList<TrResearchQuestionAttachment>();
num += researchQuestionMapper.insert(question); TrResearchQuestionAttachment save = null;
for(String url : question.getAttachmentUrl()){
save = new TrResearchQuestionAttachment();
save.setId(idGenerator.generate());
save.setContentAppendixUrl(url);
save.setResearchQuestionId(question.getId());
save.setDeleted(0);
save.setCreateById(question.getCreateById());
save.setCreateByName(question.getCreateByName());
save.setCreateTime(question.getCreateTime());
save.setUpdateById(question.getUpdateById());
save.setUpdateByName(question.getUpdateByName());
save.setUpdateTime(question.getUpdateTime());
attachments.add(save);
}
researchQuestionAttachmentService.insertBatch(attachments);
}
} }
int num = researchQuestionMapper.batchInsert(researchQuestions);
if (num > 0 && hasOptions) { if (num > 0 && hasOptions) {
researchQuestionOptionMapper.batchInsert(optionListToInsert); researchQuestionOptionMapper.batchInsert(optionListToInsert);
} }
...@@ -344,12 +367,7 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio ...@@ -344,12 +367,7 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio
} }
if (!CollectionUtils.isEmpty(newQuestions) && !needChangeNo) { if (!CollectionUtils.isEmpty(newQuestions) && !needChangeNo) {
//result += researchQuestionMapper.batchInsert(newQuestions); result += researchQuestionMapper.batchInsert(newQuestions);
//修改使用batchInsert插入时候keywords字段保存不了
for (TrResearchQuestion question : newQuestions) {
result += researchQuestionMapper.insert(question);
}
} }
if (!CollectionUtils.isEmpty(newOptions)) { if (!CollectionUtils.isEmpty(newOptions)) {
researchQuestionOptionMapper.batchInsert(newOptions); researchQuestionOptionMapper.batchInsert(newOptions);
...@@ -360,6 +378,40 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio ...@@ -360,6 +378,40 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio
} }
} }
//删除问题相关图片
if (!CollectionUtils.isEmpty(researchQuestions)) {
List<TrResearchQuestionAttachment> attachments = new ArrayList<TrResearchQuestionAttachment>();
for (TrResearchQuestionVo question : researchQuestions) {
//删除问题相关的附件
researchQuestionAttachmentMapper.delQuestionAttachmentByQuestionId(question.getId());
// 添加问题相关附件
if (!CollectionUtils.isEmpty(question.getAttachmentUrl())) {
TrResearchQuestionAttachment save = null;
for (String url : question.getAttachmentUrl()) {
save = new TrResearchQuestionAttachment();
save.setId(idGenerator.generate());
save.setContentAppendixUrl(url);
save.setResearchQuestionId(question.getId());
save.setDeleted(0);
save.setCreateById(question.getCreateById());
save.setCreateByName(question.getCreateByName());
save.setCreateTime(question.getCreateTime());
save.setUpdateById(question.getUpdateById());
save.setUpdateByName(question.getUpdateByName());
save.setUpdateTime(question.getUpdateTime());
attachments.add(save);
}
}
}
if (!CollectionUtils.isEmpty(attachments)) {
researchQuestionAttachmentService.insertBatch(attachments);
}
}
// if (needChangeNo) { // if (needChangeNo) {
// reBuildNo(modifyQuestionModel.getResearchId()); // reBuildNo(modifyQuestionModel.getResearchId());
// } // }
...@@ -414,6 +466,11 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio ...@@ -414,6 +466,11 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio
} }
} }
//获取题目相关的附件
List<String> attachmentUrl = researchQuestionAttachmentMapper.selectQuestionAttachmentByQuestionId(question.getId());
question.setAttachmentUrl(attachmentUrl);
question.setOptions(options); question.setOptions(options);
} }
...@@ -478,7 +535,8 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio ...@@ -478,7 +535,8 @@ public class TrResearchQuestionServiceImpl extends ServiceImpl<TrResearchQuestio
public List<TrResearchQuestion> listAllForJump(Long questionId) { public List<TrResearchQuestion> listAllForJump(Long questionId) {
TrResearchQuestion trResearchQuestion = researchQuestionMapper.selectById(questionId); TrResearchQuestion trResearchQuestion = researchQuestionMapper.selectById(questionId);
if (trResearchQuestion != null) { if (trResearchQuestion != null) {
return researchQuestionMapper.listAllForJump(trResearchQuestion.getNo(), trResearchQuestion.getResearchId()); List<TrResearchQuestion> listAllForJump = researchQuestionMapper.listAllForJump(trResearchQuestion.getNo(), trResearchQuestion.getResearchId());
return listAllForJump;
} }
return null; return null;
} }
......
...@@ -185,6 +185,10 @@ public class TrResearchQuestion extends Model<TrResearchQuestion> { ...@@ -185,6 +185,10 @@ public class TrResearchQuestion extends Model<TrResearchQuestion> {
@TableField("keywords") @TableField("keywords")
private String keywords; private String keywords;
@ApiModelProperty(value = "所有题型有效:存放附件路径,附件格式:音频、视频、图片(存放多个)")
@TableField(exist = false)
private List<String> attachmentUrl;
@Override @Override
protected Serializable pkVal() { protected Serializable pkVal() {
return this.id; return this.id;
......
package com.yizhi.research.application.vo.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 问题附件
* </p>
*
* @author shengchenglong
* @since 2018-03-12
*/
@Data
@Api(tags = "tr_research_question_attachment", description = "问题附件")
@TableName("tr_research_question_attachment")
public class TrResearchQuestionAttachment extends Model<TrResearchQuestionAttachment> {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId("id")
private Long id;
@ApiModelProperty(value = "问题主键_ID,外键")
@TableField("research_question_id")
private Long researchQuestionId;
@ApiModelProperty(value = "存放附件路径,附件格式:音频、视频、图片")
@TableField("content_appendix_url")
private String contentAppendixUrl;
@ApiModelProperty(value = "是否删除(0:未删,1:已删)")
@TableField("deleted")
private Integer deleted;
@ApiModelProperty(value = "创建时间")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@ApiModelProperty(value = "创建人ID")
@TableField(value = "create_by_id", fill = FieldFill.INSERT)
private Long createById;
@ApiModelProperty(value = "创建人姓名")
@TableField(value = "create_by_name", fill = FieldFill.INSERT)
private String createByName;
@ApiModelProperty(value = "修改时间")
@TableField(value = "update_time", fill = FieldFill.INSERT)
private Date updateTime;
@ApiModelProperty(value = "修改人ID")
@TableField(value = "update_by_id", fill = FieldFill.INSERT)
private Long updateById;
@ApiModelProperty(value = "修改人姓名")
@TableField(value = "update_by_name", fill = FieldFill.INSERT)
private String updateByName;
@Override
protected Serializable pkVal() {
return this.id;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment