Browse Source

标签接口新增,待修改

zhoutg 6 years ago
parent
commit
237fb889f6

+ 4 - 0
icssman-service/src/main/java/com/diagbot/entity/QuestionInfo.java

@@ -1,6 +1,8 @@
 package com.diagbot.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
@@ -114,11 +116,13 @@ public class QuestionInfo implements Serializable {
     /**
      * 最小值
      */
+    @TableField(fill = FieldFill.UPDATE)
     private BigDecimal minValue;
 
     /**
      * 最大值
      */
+    @TableField(fill = FieldFill.UPDATE)
     private BigDecimal maxValue;
 
     /**

+ 13 - 0
icssman-service/src/main/java/com/diagbot/facade/QuestionDetailFacade.java

@@ -1,8 +1,10 @@
 package com.diagbot.facade;
 
+import com.diagbot.entity.QuestionDetail;
 import com.diagbot.service.impl.QuestionDetailServiceImpl;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -22,4 +24,15 @@ public class QuestionDetailFacade extends QuestionDetailServiceImpl {
     public void deleteByQuestionIdFac(Map map) {
         this.deleteByQuestionIds(map);
     }
+
+
+    /**
+     * 根据questionId删除明细
+     *
+     * @param list
+     * @return
+     */
+    public void saveBatchFac(List<QuestionDetail> list) {
+        super.saveBatch(list);
+    }
 }

+ 52 - 24
icssman-service/src/main/java/com/diagbot/facade/QuestionInfoFacade.java

@@ -1,22 +1,29 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.QuestionIndexDTO;
+import com.diagbot.entity.QuestionDetail;
 import com.diagbot.entity.QuestionInfo;
 import com.diagbot.entity.wrapper.QuestionWrapper;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.service.QuestionDetailService;
 import com.diagbot.service.impl.QuestionInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.QuestionSaveVO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -32,6 +39,9 @@ public class QuestionInfoFacade extends QuestionInfoServiceImpl {
     @Autowired
     QuestionDetailFacade questionDetailFacade;
     @Autowired
+    @Qualifier("questionDetailServiceImpl")
+    QuestionDetailService questionDetailService;
+    @Autowired
     QuestionMappingFacade questionMappingFacade;
     @Autowired
     ModuleDetailFacade moduleDetailFacade;
@@ -51,43 +61,61 @@ public class QuestionInfoFacade extends QuestionInfoServiceImpl {
         QuestionInfo questionInfo = new QuestionInfo();
         String saveOrUpdate = "save"; //新增或修改的标识
         if(questionWrapper.getId() != null) {
-            QueryWrapper queryWrapper = new QueryWrapper();
-            queryWrapper.eq("id", questionWrapper.getId());
-            queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-            questionInfo = getOne(queryWrapper);
+            questionInfo = this.getOne(new QueryWrapper<QuestionInfo>()
+                    .eq("id", questionWrapper.getId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey()));
             if(questionInfo == null) {
-                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                        "标签不存在");
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "标签不存在");
             }
             saveOrUpdate = "update";
         }
         BeanUtil.copyProperties(questionWrapper, questionInfo);
-        //标签type、tagName唯一
-        QueryWrapper queryWrapper = new QueryWrapper();
-        queryWrapper.eq("tag_name", questionInfo.getTagName());
-        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-        queryWrapper.eq("type", questionInfo.getType());
-        queryWrapper.ne("id", questionInfo.getId() == null ? 0 : questionInfo.getId());
-        List<QuestionInfo> questionInfoList = this.list(queryWrapper);
-        if(questionInfoList.size() > 0) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-                    "标签名已存在");
+        List<QuestionInfo> questionInfoList = this.list(new QueryWrapper<QuestionInfo>()
+                .eq("tag_name", questionInfo.getTagName())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("type", questionInfo.getType())
+                .ne("id", questionInfo.getId() == null ? 0 : questionInfo.getId()));
+        if(questionInfoList.size() > 0) { //标签type、tagName唯一
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "标签名已存在");
         }
+        Date now = DateUtil.now();
         if("save".equals(saveOrUpdate)) {
             questionInfo.setCreator(person); //创建人
-            questionInfo.setGmtCreate(DateUtil.now());//创建时间
-        } else {
-            questionInfo.setGmtModified(DateUtil.now());//修改时间
-            questionInfo.setModifier(person);//修改人
+            questionInfo.setGmtCreate(now);//创建时间
         }
+        questionInfo.setGmtModified(now);//修改时间
+        questionInfo.setModifier(person);//修改人
         this.saveOrUpdate(questionInfo);
 
+        //2、明细信息(先删除原明细,再插入新明细)
+        questionDetailFacade.update(new QuestionDetail(), //删除原明细
+                new UpdateWrapper<QuestionDetail>()
+                    .eq("question_id", questionInfo.getId())
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .set("gmt_modified", now)
+                    .set("modifier", person)
+                    .set("is_deleted", IsDeleteEnum.Y.getKey()));
+        List<QuestionDetail> questionDetails = questionWrapper.getQuestionDetails();
+        if(ListUtil.isNotEmpty(questionDetails)) {
+            List<QuestionDetail> saveDetail = new ArrayList<>();
+            int i = 1;
+            for(QuestionDetail detail : questionDetails) {
+                QuestionDetail bean = new QuestionDetail();
+                BeanUtil.copyProperties(detail, bean);
+                bean.setId(null); //防止前端传参,将前端的id置空自动插入
+                bean.setCreator(person);
+                bean.setGmtCreate(now);
+                bean.setModifier(person);
+                bean.setGmtModified(now);
+                bean.setQuestionId(questionInfo.getId());
+                bean.setOrderNo(i++);
+                saveDetail.add(bean);
+            }
+            questionDetailService.saveBatch(saveDetail);
+        }
 
-        //明细信息
-
-        //映射信息
+        //3、映射信息
 
-        //同义词信息
 
     }