Browse Source

同义词修改

rgb 6 years ago
parent
commit
8d72fed472

+ 62 - 0
icssman-service/src/main/java/com/diagbot/dto/RetrievalListDTO.java

@@ -0,0 +1,62 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月17日上午10:11:39
+ */
+@ApiModel(value="获取标签同义词列表接口出参")
+@Getter
+@Setter
+public class RetrievalListDTO {
+	
+	/**
+     * 标签id
+     */
+	@ApiModelProperty(value="标签id")
+    private Long questionId;
+	
+	/**
+	 * 标签名称
+	 */
+	@ApiModelProperty(value="标签名称")
+	private String questionName;
+	
+	/**
+	 * 本体
+	 */
+	@ApiModelProperty(value="本体")
+	private String retrievalSelfName;
+	
+	/**
+	 * 别名
+	 */
+	@ApiModelProperty(value="别名")
+	private String retrievalNames;
+	
+	/**
+	 * 子项
+	 */
+	@ApiModelProperty(value="子项")
+	private String retrievalSonNames;
+	
+    /**
+     * 操作人姓名
+     */
+	@ApiModelProperty(value="操作人姓名")
+    private String operatorName;
+    
+    /**
+     * 操作时间
+     */
+	@ApiModelProperty(value="操作时间")
+    private Date gmtOperate;
+
+}

+ 42 - 6
icssman-service/src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -3,21 +3,31 @@
  */
 package com.diagbot.facade;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.AddTagRetrievalDTO;
 import com.diagbot.dto.GetRetrievalsByTagDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.RetrievalListDTO;
 import com.diagbot.entity.Retrieval;
 import com.diagbot.entity.RetrievalMapping;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.RetrievalServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddTagRetrievalVO;
 import com.diagbot.vo.DelRetrievalsByMapsVO;
 import com.diagbot.vo.GetRetrievalsByTagVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
+import com.diagbot.vo.RetrievalListVO;
 
 /**
  * @author rgb
@@ -29,6 +39,8 @@ public class RetrievalFacade extends RetrievalServiceImpl {
 
     @Autowired
     private RetrievalMappingFacade retrievalMappingFacade;
+    @Autowired
+    private UserServiceClient userServiceClient;
 
     /**
      * 根据标签获取同义词
@@ -48,8 +60,15 @@ public class RetrievalFacade extends RetrievalServiceImpl {
      * @return
      */
     public Boolean delRetrievalsByMaps(DelRetrievalsByMapsVO delRetrievalsByMapsVO) {
-        retrievalMappingFacade.removeByIds(delRetrievalsByMapsVO.getRetrievalMappingIds());
-        return true;
+    	QueryWrapper<RetrievalMapping> mappingQe = new QueryWrapper<>();
+		String userId = UserUtils.getCurrentPrincipleID();
+		RetrievalMapping retrievalMapping = new RetrievalMapping();
+		retrievalMapping.setGmtModified(DateUtil.now());
+		retrievalMapping.setModifier(userId);
+		retrievalMapping.setIsDeleted("Y");
+		mappingQe.in("id", delRetrievalsByMapsVO.getRetrievalMappingIds());
+		retrievalMappingFacade.update(retrievalMapping, mappingQe);
+		return true;
     }
 
     /**
@@ -92,5 +111,22 @@ public class RetrievalFacade extends RetrievalServiceImpl {
         addTagRetrievalDTO.setRetrievalMappingId(retrievalMapping.getId());
         return addTagRetrievalDTO;
     }
+    
+    /**
+	 * 获取标签同义词列表
+	 * @param retrievalListVO
+	 * @return
+	 */
+    public IPage<RetrievalListDTO> retrievalList(RetrievalListVO retrievalListVO) {
+        IPage<RetrievalListDTO> ipage = this.getRetrievalList(retrievalListVO);
+        List<String> ids = ipage.getRecords().stream().map(i->i.getOperatorName()).collect(Collectors.toList());
+        RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
+        if (respDTO == null || !"0".equals(respDTO.code)) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "获取用户信息失败");
+        }
+        ipage.getRecords().forEach(i->i.setOperatorName(respDTO.data.get(i.getOperatorName())));
+        return ipage;
+    }
 
 }

+ 10 - 0
icssman-service/src/main/java/com/diagbot/mapper/RetrievalMapper.java

@@ -3,9 +3,12 @@ package com.diagbot.mapper;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.GetRetrievalsByTagDTO;
+import com.diagbot.dto.RetrievalListDTO;
 import com.diagbot.entity.Retrieval;
 import com.diagbot.vo.GetRetrievalsByTagVO;
+import com.diagbot.vo.RetrievalListVO;
 
 /**
  * <p>
@@ -23,5 +26,12 @@ public interface RetrievalMapper extends BaseMapper<Retrieval> {
 	 * @return
 	 */
 	List<GetRetrievalsByTagDTO> getRetrievalsByTag(GetRetrievalsByTagVO getRetrievalsByTagVO);
+	
+	/**
+	 * 获取标签同义词列表
+	 * @param retrievalListVO
+	 * @return
+	 */
+	IPage<RetrievalListDTO> getRetrievalList(RetrievalListVO retrievalListVO);
 
 }

+ 5 - 0
icssman-service/src/main/java/com/diagbot/service/RetrievalService.java

@@ -1,7 +1,10 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.RetrievalListDTO;
 import com.diagbot.entity.Retrieval;
+import com.diagbot.vo.RetrievalListVO;
 
 /**
  * <p>
@@ -12,5 +15,7 @@ import com.diagbot.entity.Retrieval;
  * @since 2018-12-03
  */
 public interface RetrievalService extends IService<Retrieval> {
+	
+	IPage<RetrievalListDTO> getRetrievalList(RetrievalListVO retrievalListVO);
 
 }

+ 10 - 1
icssman-service/src/main/java/com/diagbot/service/impl/RetrievalServiceImpl.java

@@ -1,10 +1,14 @@
 package com.diagbot.service.impl;
 
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.RetrievalListDTO;
 import com.diagbot.entity.Retrieval;
 import com.diagbot.mapper.RetrievalMapper;
 import com.diagbot.service.RetrievalService;
-import org.springframework.stereotype.Service;
+import com.diagbot.vo.RetrievalListVO;
 
 /**
  * <p>
@@ -16,5 +20,10 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class RetrievalServiceImpl extends ServiceImpl<RetrievalMapper, Retrieval> implements RetrievalService {
+	
+	@Override
+	public IPage<RetrievalListDTO> getRetrievalList(RetrievalListVO retrievalListVO) {
+		return this.baseMapper.getRetrievalList(retrievalListVO);
+	}
 
 }

+ 27 - 0
icssman-service/src/main/java/com/diagbot/vo/RetrievalListVO.java

@@ -0,0 +1,27 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月17日上午10:08:43
+ */
+@ApiModel(value="获取标签同义词列表接口传参")
+@SuppressWarnings({ "serial", "rawtypes" })
+@Getter
+@Setter
+public class RetrievalListVO extends Page {
+	
+	/**
+	 * 标签名称
+	 */
+	@ApiModelProperty(value="标签名称")
+	private String questionName;
+
+}

+ 22 - 9
icssman-service/src/main/java/com/diagbot/web/RetrievalController.java

@@ -1,24 +1,30 @@
 package com.diagbot.web;
 
+import java.util.List;
+
+import javax.validation.Valid;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+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;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.AddTagRetrievalDTO;
 import com.diagbot.dto.GetRetrievalsByTagDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.RetrievalListDTO;
 import com.diagbot.facade.RetrievalFacade;
 import com.diagbot.vo.AddTagRetrievalVO;
 import com.diagbot.vo.DelRetrievalsByMapsVO;
 import com.diagbot.vo.GetRetrievalsByTagVO;
+import com.diagbot.vo.RetrievalListVO;
+
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-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;
-
-import javax.validation.Valid;
-import java.util.List;
 
 /**
  * <p>
@@ -61,5 +67,12 @@ public class RetrievalController {
         return RespDTO.onSuc(retrievalFacade.addTagRetrieval(addTagRetrievalVO));
     }
 
+    @ApiOperation(value = "获取标签同义词列表[by:rengb]")
+	@PostMapping("/retrievalList")
+	@SysLogger("retrievalList")
+	public RespDTO<IPage<RetrievalListDTO>> retrievalList(@RequestBody RetrievalListVO retrievalListVO) {
+    	IPage<RetrievalListDTO> ipage = retrievalFacade.retrievalList(retrievalListVO);
+		return RespDTO.onSuc(ipage);
+	}
 
 }

+ 22 - 0
icssman-service/src/main/resources/mapper/RetrievalMapper.xml

@@ -36,5 +36,27 @@
 			AND a.`name`=#{questionName}
 		</if>
 	</select>
+	
+	<select id="getRetrievalList" parameterType="com.diagbot.vo.RetrievalListVO" 
+		resultType="com.diagbot.dto.RetrievalListDTO">
+		SET sql_mode="";
+		SELECT
+		id as questionId,
+		tag_name as questionName,
+		creator as operatorName,
+		gmt_create as gmtOperate,
+		GROUP_CONCAT(CASE WHEN show_type=1 THEN `name` ELSE NULL END SEPARATOR '、') as retrievalSelfName,
+		GROUP_CONCAT(CASE WHEN show_type=2 THEN `name` ELSE NULL END SEPARATOR '、') as retrievalNames,
+		GROUP_CONCAT(CASE WHEN show_type=3 THEN `name` ELSE NULL END SEPARATOR '、') as retrievalSonNames
+		FROM
+		(SELECT
+		a.id,a.tag_name,b.creator,b.gmt_create,b.show_type,c.`name`
+		FROM icss_question_info a LEFT JOIN icss_retrieval_mapping b ON a.id=b.question_id
+		LEFT JOIN icss_retrieval c ON b.retrieval_id=c.id
+		WHERE a.is_deleted='N' AND b.is_deleted='N' AND c.is_deleted='N'
+		AND a.tag_name LIKE CONCAT('%',#{questionName},'%')
+		ORDER BY b.gmt_create DESC) t
+		GROUP BY t.id
+	</select>
 
 </mapper>