Browse Source

根据标签id获取标签内容

zhoutg 6 years ago
parent
commit
dcadc08791

+ 32 - 0
icss-service/src/main/java/com/diagbot/dto/ModuleDetailDTO.java

@@ -0,0 +1,32 @@
+package com.diagbot.dto;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 模型明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-15
+ */
+@Getter
+@Setter
+@TableName("icss_module_detail")
+public class ModuleDetailDTO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id; //主键
+    private Long moduleId; //模型id
+    private Long questionId; //标签id
+    private String labelPrefix; //前置内容
+    private String labelSuffix; //后置内容
+    private Integer orderNo;    //排序号
+    private String remark;
+
+}

+ 6 - 2
icss-service/src/main/java/com/diagbot/dto/ModuleInfoDTO.java

@@ -5,6 +5,10 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -23,8 +27,8 @@ public class ModuleInfoDTO implements Serializable {
 
     private Long id; //主键
     private String name;//名称
-    private String format;//模板格式
-    private String copyFormat;//复制内容
+    private List<ModuleDetailDTO> moduleDetailDTOList = new ArrayList<>(); //模板明细表
+    private Map<Long, Object> questionList = new HashMap<>(); //关联标签
     private String remark;
 
 }

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

@@ -0,0 +1,88 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 模型明细表
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-22
+ */
+@TableName("icss_module_detail")
+@Getter
+@Setter
+public class ModuleDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 名称
+     */
+    private Long moduleId;
+
+    /**
+     * 前置内容
+     */
+    private String labelPrefix;
+
+    /**
+     * 后置内容
+     */
+    private String labelSuffix;
+
+    /**
+     * questionId
+     */
+    private Long questionId;
+
+    /**
+     * 排序号
+     */
+    private Integer orderNo;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 0 - 11
icss-service/src/main/java/com/diagbot/entity/ModuleInfo.java

@@ -60,17 +60,6 @@ public class ModuleInfo implements Serializable {
      */
     private String name;
 
-    /**
-     * 模板格式
-     */
-    private String format;
-
-
-    /**
-     * 复制内容
-     */
-    private String copyFormat;
-
     /**
      * 备注
      */

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

@@ -0,0 +1,43 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.ModuleInfoDTO;
+import com.diagbot.entity.ModuleInfo;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.ModuleDetailServiceImpl;
+import com.diagbot.util.BeanUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 模型明细务层
+ * @author: zhoutg
+ * @time: 2018/8/6 9:11
+ */
+@Component
+public class ModuleDetailFacade extends ModuleDetailServiceImpl {
+
+
+    /**
+     * 返回所有的模型结构
+     *
+     * @return 模型结构
+     */
+    public List<ModuleInfoDTO> getAll() {
+        List<ModuleInfoDTO> data = new ArrayList<>();
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        List<ModuleInfo> list =  this.list(queryWrapper);
+        data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
+        for(ModuleInfoDTO bean : data) {
+            QueryWrapper wrapper = new QueryWrapper();
+            wrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+            wrapper.eq("module_id", bean.getId());
+            wrapper.orderByAsc("order_no");
+        }
+        return data;
+    }
+
+}

+ 35 - 2
icss-service/src/main/java/com/diagbot/facade/ModuleFacade.java

@@ -1,13 +1,20 @@
 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.entity.ModuleDetail;
 import com.diagbot.entity.ModuleInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.ModuleInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.ModuleVO;
+import com.diagbot.vo.QuestionIdsVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -18,17 +25,43 @@ import java.util.List;
 @Component
 public class ModuleFacade extends ModuleInfoServiceImpl {
 
+    @Autowired
+    ModuleDetailFacade moduleDetailFacade;
+    @Autowired
+    QuestionFacade questionFacade;
 
     /**
      * 返回所有的模型结构
      *
      * @return 模型结构
      */
-    public List<ModuleInfoDTO> getAll() {
+    public List<ModuleInfoDTO> getAll(ModuleVO moduleVO) {
+        List<ModuleInfoDTO> data = new ArrayList<>();
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
         List<ModuleInfo> list =  this.list(queryWrapper);
-        return BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
+        data = BeanUtil.listCopyTo(list, ModuleInfoDTO.class);
+        for (ModuleInfoDTO bean : data) {
+            QueryWrapper wrapper = new QueryWrapper();
+            wrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+            wrapper.eq("module_id", bean.getId());
+            wrapper.orderByAsc("order_no");
+            List<ModuleDetail> moduleDetailList = moduleDetailFacade.list(wrapper);
+            List<ModuleDetailDTO> moduleDetailDTOList = BeanUtil.listCopyTo(moduleDetailList, ModuleDetailDTO.class);
+            bean.setModuleDetailDTOList(moduleDetailDTOList);
+            StringBuffer sb = new StringBuffer();
+            for (ModuleDetailDTO detailDTO : moduleDetailDTOList) {
+                sb.append(detailDTO.getQuestionId()).append(",");
+            }
+            if (ListUtil.isNotEmpty(moduleDetailDTOList)) {
+                QuestionIdsVO questionIdsVO = new QuestionIdsVO();
+                questionIdsVO.setIds(sb.toString().substring(0, sb.toString().length()-1));
+                questionIdsVO.setSexType(moduleVO.getSexType());
+                questionIdsVO.setAge(moduleVO.getAge());
+                bean.setQuestionList(questionFacade.getByIds(questionIdsVO));
+            }
+        }
+        return data;
     }
 
 }

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

@@ -8,6 +8,8 @@ import com.diagbot.enums.ControlTypeEnum;
 import com.diagbot.service.impl.QuestionInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.QuestionIdsVO;
 import com.diagbot.vo.QuestionVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -70,4 +72,28 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         return res;
     }
 
+
+
+    /**
+     * 查询多个id返回标签内容
+     *
+     * @param questionIdsVO 获取标签内容参数
+     * @return 标签内容
+     */
+    public Map<Long, Object> getByIds(QuestionIdsVO questionIdsVO) {
+        Map<Long, Object> data = new HashMap<>();
+        if(StringUtil.isEmpty(questionIdsVO.getIds())) {
+            return data;
+        }
+        String[] ids = questionIdsVO.getIds().split(",");
+        for(String id : ids) {
+            QuestionVO questionVO = new QuestionVO();
+            questionVO.setId(Long.parseLong(id));
+            questionVO.setAge(questionIdsVO.getAge());
+            questionVO.setSexType(questionIdsVO.getAge());
+            QuestionDTO item = this.getById(questionVO);
+            data.put(item.getId(), item);
+        }
+        return data;
+    }
 }

+ 16 - 0
icss-service/src/main/java/com/diagbot/mapper/ModuleDetailMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.ModuleDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 模型明细表 Mapper 接口
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-22
+ */
+public interface ModuleDetailMapper extends BaseMapper<ModuleDetail> {
+
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/service/ModuleDetailService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.ModuleDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 模型明细表 服务类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-22
+ */
+public interface ModuleDetailService extends IService<ModuleDetail> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.ModuleDetail;
+import com.diagbot.mapper.ModuleDetailMapper;
+import com.diagbot.service.ModuleDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 模型明细表 服务实现类
+ * </p>
+ *
+ * @author zhoutg
+ * @since 2018-11-22
+ */
+@Service
+public class ModuleDetailServiceImpl extends ServiceImpl<ModuleDetailMapper, ModuleDetail> implements ModuleDetailService {
+
+}

+ 16 - 0
icss-service/src/main/java/com/diagbot/vo/ModuleVO.java

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: 模型入参
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class ModuleVO {
+    private Integer sexType;
+    private Integer age;
+}

+ 17 - 0
icss-service/src/main/java/com/diagbot/vo/QuestionIdsVO.java

@@ -0,0 +1,17 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: zhoutg
+ * @time: 2018/8/6 10:16
+ */
+@Getter
+@Setter
+public class QuestionIdsVO {
+    private String ids;
+    private Integer sexType;
+    private Integer age;
+}

+ 4 - 2
icss-service/src/main/java/com/diagbot/web/ModuleInfoController.java

@@ -4,10 +4,12 @@ package com.diagbot.web;
 import com.diagbot.dto.ModuleInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ModuleFacade;
+import com.diagbot.vo.ModuleVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -32,8 +34,8 @@ public class ModuleInfoController {
     @ApiOperation(value = "返回所有的模型数据[by:zhoutg]",
             notes = "")
     @PostMapping("/getAll")
-    public RespDTO<List<ModuleInfoDTO>> getAll() {
-        List<ModuleInfoDTO> data = moduleFacade.getAll();
+    public RespDTO<List<ModuleInfoDTO>> getAll(@RequestBody ModuleVO moduleVO) {
+        List<ModuleInfoDTO> data = moduleFacade.getAll(moduleVO);
         return RespDTO.onSuc(data);
     }
 }

+ 15 - 0
icss-service/src/main/java/com/diagbot/web/QuestionInfoController.java

@@ -4,6 +4,7 @@ package com.diagbot.web;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.QuestionFacade;
+import com.diagbot.vo.QuestionIdsVO;
 import com.diagbot.vo.QuestionVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * <p>
  * 标签基础表 前端控制器
@@ -38,4 +41,16 @@ public class QuestionInfoController {
         QuestionDTO data = questionFacade.getById(questionVO);
         return RespDTO.onSuc(data);
     }
+
+
+    @ApiOperation(value = "查询多个id返回标签内容[by:zhoutg]",
+            notes = "ids: 多个questionId<br>" +
+                    "sexType:性别,1:男,2:女<br>" +
+                    "age:年龄")
+    @PostMapping("/getByIds")
+    public RespDTO<Map<Long, Object>> getByIds(@RequestBody QuestionIdsVO questionIdsVO) {
+        Map<Long, Object> data = questionFacade.getByIds(questionIdsVO);
+        return RespDTO.onSuc(data);
+    }
+
 }

+ 21 - 0
icss-service/src/main/resources/mapper/ModuleDetailMapper.xml

@@ -0,0 +1,21 @@
+<?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.diagbot.mapper.ModuleDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.ModuleDetail">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <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="question_id" property="questionId" />
+        <result column="order_no" property="orderNo" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

+ 2 - 2
icss-service/src/test/java/com/diagbot/CodeGeneration.java

@@ -33,7 +33,7 @@ public class CodeGeneration {
         gc.setEnableCache(false);// XML 二级缓存
         gc.setBaseResultMap(true);// XML ResultMap
         gc.setBaseColumnList(false);// XML columList
-        gc.setAuthor("wangyu");// 作者
+        gc.setAuthor("zhoutg");// 作者
 
         // 自定义文件命名,注意 %s 会自动填充表实体属性!
         gc.setControllerName("%sController");
@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
         strategy.setTablePrefix(new String[] { "icss_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "icss_question_usual" }); // 需要生成的表
+        strategy.setInclude(new String[] { "icss_module_detail" }); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);