zhoutg 6 lat temu
rodzic
commit
1e1d5f8d52

+ 3 - 9
icss-service/src/main/java/com/diagbot/dto/ModuleDetailDTO.java

@@ -1,6 +1,5 @@
 package com.diagbot.dto;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,20 +15,15 @@ import java.io.Serializable;
  */
 @Getter
 @Setter
-@TableName("icss_module_detail")
-public class ModuleDetailDTO implements Serializable {
+public class ModuleDetailDTO extends QuestionDTO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    private Long id; //主键
+    private String prefix; //模板前缀
+    private String suffix; //模板后缀
     private Long moduleId; //模型id
     private Long questionId; //questionId
-    private String labelPrefix; //前置内容
-    private String labelSuffix; //后置内容
     private String flag; //特殊标识
     private Long relationModule; //关联模板
-    private Integer orderNo;    //排序号
-    private QuestionDTO questionDTO;
-    private String remark;
 
 }

+ 2 - 2
icss-service/src/main/java/com/diagbot/entity/ModuleDetail.java

@@ -63,12 +63,12 @@ public class ModuleDetail implements Serializable {
     /**
      * 前置内容
      */
-    private String labelPrefix;
+    private String prefix;
 
     /**
      * 后置内容
      */
-    private String labelSuffix;
+    private String suffix;
 
     /**
      * questionId

+ 12 - 0
icss-service/src/main/java/com/diagbot/facade/ModuleDetailFacade.java

@@ -1,8 +1,12 @@
 package com.diagbot.facade;
 
+import com.diagbot.entity.ModuleDetail;
 import com.diagbot.service.impl.ModuleDetailServiceImpl;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 模型明细务层
  * @author: zhoutg
@@ -12,4 +16,12 @@ import org.springframework.stereotype.Component;
 public class ModuleDetailFacade extends ModuleDetailServiceImpl {
 
 
+    /**
+     * 根据moduleId,sexType,age获取模型
+     * @param map
+     * @return 模型数据
+     */
+    public List<ModuleDetail> getDetailByModuleFac(Map map) {
+        return this.getDetailByModule(map);
+    }
 }

+ 8 - 6
icss-service/src/main/java/com/diagbot/facade/ModuleFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.ModuleDetailDTO;
 import com.diagbot.dto.ModuleInfoDTO;
+import com.diagbot.dto.QuestionDTO;
 import com.diagbot.entity.ModuleDetail;
 import com.diagbot.entity.ModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
@@ -52,11 +53,11 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
                 .collect(Collectors.toList());
         Map<Long, List<ModuleDetail>> moduleDetailMap = new LinkedHashMap<>();
         if (ListUtil.isNotEmpty(ids)){
-            QueryWrapper wrapper = new QueryWrapper();
-            wrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
-            wrapper.in("module_id", ids);
-            wrapper.orderByAsc("module_id", "order_no");
-            List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(wrapper);
+            Map<String, Object> paramMap = new HashMap<>();
+            paramMap.put("ids", ids);
+            paramMap.put("sexType", moduleVO.getSexType());
+            paramMap.put("age", moduleVO.getAge());
+            List<ModuleDetail> moduleDetailList = moduleDetailFacade.getDetailByModuleFac(paramMap);
             if (ListUtil.isNotEmpty(moduleDetailList)){
                 moduleDetailMap = EntityUtil.makeEntityListMap(moduleDetailList, "moduleId");
             }
@@ -71,7 +72,8 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
                     questionVO.setId(detailDTO.getQuestionId());
                     questionVO.setSexType(moduleVO.getSexType());
                     questionVO.setAge(moduleVO.getAge());
-                    detailDTO.setQuestionDTO(questionFacade.getById(questionVO));
+                    QuestionDTO questionDTO = questionFacade.getById(questionVO);
+                    BeanUtil.copyProperties(questionDTO, detailDTO);
                 }
             }
         }

+ 1 - 1
icss-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -43,7 +43,7 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         paramMap.put("id", questionVO.getId());
         QuestionInfo questionInfo = this.getByParam(paramMap);
         if(questionInfo == null) { //无数据直接返回,不通过报错的形式返回
-            return null;
+            return new QuestionDTO();
         }
         QuestionDTO res = new QuestionDTO();
         BeanUtil.copyProperties(questionInfo, res);

+ 5 - 1
icss-service/src/main/java/com/diagbot/mapper/ModuleDetailMapper.java

@@ -1,7 +1,10 @@
 package com.diagbot.mapper;
 
-import com.diagbot.entity.ModuleDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.entity.ModuleDetail;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface ModuleDetailMapper extends BaseMapper<ModuleDetail> {
 
+    public List<ModuleDetail> getDetailByModule(Map map);
 }

+ 11 - 1
icss-service/src/main/java/com/diagbot/service/ModuleDetailService.java

@@ -1,7 +1,10 @@
 package com.diagbot.service;
 
-import com.diagbot.entity.ModuleDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.entity.ModuleDetail;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +16,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ModuleDetailService extends IService<ModuleDetail> {
 
+
+    /**
+     * 根据moduleId,sexType,age获取模型
+     * @param map
+     * @return 模型数据
+     */
+    public List<ModuleDetail> getDetailByModule(Map map);
 }

+ 7 - 0
icss-service/src/main/java/com/diagbot/service/impl/ModuleDetailServiceImpl.java

@@ -6,6 +6,9 @@ import com.diagbot.service.ModuleDetailService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 模型明细表 服务实现类
@@ -17,4 +20,8 @@ import org.springframework.stereotype.Service;
 @Service
 public class ModuleDetailServiceImpl extends ServiceImpl<ModuleDetailMapper, ModuleDetail> implements ModuleDetailService {
 
+    @Override
+    public List<ModuleDetail> getDetailByModule(Map map) {
+        return baseMapper.getDetailByModule(map);
+    }
 }

+ 22 - 2
icss-service/src/main/resources/mapper/ModuleDetailMapper.xml

@@ -11,8 +11,8 @@
         <result column="creator" property="creator" />
         <result column="modifier" property="modifier" />
         <result column="module_id" property="moduleId" />
-        <result column="label_prefix" property="labelPrefix" />
-        <result column="label_suffix" property="labelSuffix" />
+        <result column="prefix" property="prefix" />
+        <result column="suffix" property="suffix" />
         <result column="question_id" property="questionId" />
         <result column="flag" property="flag" />
         <result column="relationModule" property="relationModule" />
@@ -20,4 +20,24 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+
+    <select id="getDetailByModule" parameterType="java.util.Map" resultMap="BaseResultMap">
+        select  * from
+        icss_module_detail t1,
+        icss_question_info t2
+        where t1.is_deleted = 'N' and t2.is_deleted = 'N' and t1.question_id = t2.id
+        and t1.module_id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+        <if test="sexType != null and sexType != ''">
+            and t2.sex_type in (3, #{sexType})
+        </if>
+        <if test="age != null and age != ''">
+            <![CDATA[ and t2.age_begin <= #{age} ]]>
+            <![CDATA[ and t2.age_end >= #{age} ]]>
+        </if>
+        order by t1.module_id, t1.order_no
+    </select>
+
 </mapper>

+ 2 - 2
icss-service/src/main/resources/mapper/QuestionInfoMapper.xml

@@ -27,10 +27,10 @@
     <select id="getByParam" parameterType="java.util.Map" resultMap="BaseResultMap">
         select * from icss_question_info  where is_deleted = 'N'
         and id = #{id}
-        <if test="sexType != null">
+        <if test="sexType != null and sexType != ''">
             and sex_type in (3, #{sexType})
         </if>
-        <if test="age != null">
+        <if test="age != null and age != ''">
             <![CDATA[ and age_begin <= #{age} ]]>
             <![CDATA[ and age_end >= #{age} ]]>
         </if>