فهرست منبع

术语类型添加维护

rgb 6 سال پیش
والد
کامیت
1734a0ed5d

+ 47 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/GetLexiconListDTO.java

@@ -0,0 +1,47 @@
+package com.diagbot.dto;
+
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2018年12月5日下午5:00:34
+ */
+@Getter
+@Setter
+public class GetLexiconListDTO {
+	
+    /**
+     * 操作时间
+     */
+	@JsonFormat(timezone="GMT+8",pattern ="yyyy-MM-dd HH:mm")
+	@ApiModelProperty(value="操作时间")
+    private Date gmtModified;
+	
+    /**
+     * 操作人
+     */
+	@ApiModelProperty(value="操作人")
+    private String modifier;
+
+    /**
+     * 类型名称
+     */
+	@ApiModelProperty(value="类型名称")
+    private String name;
+
+    /**
+     * 类型备注
+     */
+	@ApiModelProperty(value="类型备注")
+    private String remark;
+
+    
+
+}

+ 66 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/LexiconFacade.java

@@ -1,16 +1,30 @@
 package com.diagbot.facade;
 
+import java.util.Date;
 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.GetAllLexiconDTO;
+import com.diagbot.dto.GetLexiconListDTO;
+import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.Lexicon;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.LexiconServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
 import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.AddLexiconVO;
 import com.diagbot.vo.GetAllLexiconVO;
+import com.diagbot.vo.GetLexiconListVO;
 
 /**
  * @Description: 术语类型业务层
@@ -20,6 +34,9 @@ import com.diagbot.vo.GetAllLexiconVO;
 @Component
 public class LexiconFacade extends LexiconServiceImpl {
 	
+    @Autowired
+    private UserServiceClient userServiceClient;
+	
 	 /**
      * 获取所有术语类型
      * @param getAllLexiconVO
@@ -34,6 +51,55 @@ public class LexiconFacade extends LexiconServiceImpl {
     	
     	return BeanUtil.listCopyTo(list(lexiconQe), GetAllLexiconDTO.class);
     }
+    
+    /**
+     * 获取术语类型列表
+     * @param getLexiconListVO
+     * @return
+     */
+    public IPage<GetLexiconListDTO> getLexiconList(GetLexiconListVO getLexiconListVO) {
+    	IPage<GetLexiconListDTO> ipage = this.baseMapper.getLexiconList(getLexiconListVO);
+    	List<String> ids = ipage.getRecords().stream().map(i->i.getModifier()).distinct().collect(Collectors.toList());
+    	RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
+    	if (respDTO == null || !CommonErrorCode.OK.getCode().equals(respDTO.code)) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "获取用户信息失败");
+        }
+    	ipage.getRecords().forEach(i->{
+    		i.setModifier(respDTO.data.get(i.getModifier()));
+    	});
+        return ipage;
+    }
+    
+    /**
+     * 术语类型添加
+     * @param addLexiconVO
+     * @return
+     */
+	public Boolean addLexicon(AddLexiconVO addLexiconVO){
+		String currentUser = UserUtils.getCurrentPrincipleID();
+		Date now = DateUtil.now();
+		
+		QueryWrapper<Lexicon> lexiconQe = new QueryWrapper<>();
+		lexiconQe.eq("name", addLexiconVO.getName());
+		Lexicon lexicon = getOne(lexiconQe);
+		if(lexicon==null){
+			lexicon = new Lexicon();
+			lexicon.setName(addLexiconVO.getName());
+			lexicon.setRemark(addLexiconVO.getRemark());
+			lexicon.setCreator(currentUser);
+			lexicon.setGmtCreated(now);
+		}else if(lexicon.getIsDeleted().equals("Y")){
+			lexicon.setIsDeleted("N");
+		}else{
+			throw new CommonException(CommonErrorCode.IS_EXISTS);
+		}
+		
+		lexicon.setGmtModified(now);
+		lexicon.setModifier(currentUser);
+
+		return saveOrUpdate(lexicon);
+    }
 
 
 }

+ 4 - 1
knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconMapper.java

@@ -1,7 +1,10 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.dto.GetLexiconListDTO;
 import com.diagbot.entity.Lexicon;
+import com.diagbot.vo.GetLexiconListVO;
 
 /**
  * <p>
@@ -13,6 +16,6 @@ import com.diagbot.entity.Lexicon;
  */
 public interface LexiconMapper extends BaseMapper<Lexicon> {
 
-	
+	IPage<GetLexiconListDTO> getLexiconList(GetLexiconListVO getLexiconListVO);
 	
 }

+ 31 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddLexiconVO.java

@@ -0,0 +1,31 @@
+package com.diagbot.vo;
+
+import javax.validation.constraints.NotBlank;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @author rgb
+ * @time 2019-03
+ */
+@Getter
+@Setter
+public class AddLexiconVO {
+	
+    /**
+     * 类型名称
+     */
+	@NotBlank(message="类型名称必填")
+	@ApiModelProperty(value="类型名称",required=true)
+    private String name;
+
+    /**
+     * 类型备注
+     */
+	@ApiModelProperty(value="类型备注")
+    private String remark;
+
+}

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/GetLexiconListVO.java

@@ -0,0 +1,25 @@
+package com.diagbot.vo;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/3/14 16:03
+ */
+@SuppressWarnings({ "serial", "rawtypes" })
+@Getter
+@Setter
+public class GetLexiconListVO extends Page {
+    
+    /**
+     * 类型名称
+     */
+    @ApiModelProperty(value="类型名称")
+    private String name;
+
+}

+ 22 - 0
knowledgeman-service/src/main/java/com/diagbot/web/LexiconController.java

@@ -2,17 +2,24 @@ 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.GetAllLexiconDTO;
+import com.diagbot.dto.GetLexiconListDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.LexiconFacade;
+import com.diagbot.vo.AddLexiconVO;
 import com.diagbot.vo.GetAllLexiconVO;
+import com.diagbot.vo.GetLexiconListVO;
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -41,5 +48,20 @@ public class LexiconController {
         return RespDTO.onSuc(lexiconFacade.getAllLexicon(getAllLexiconVO));
     }
     
+    @ApiOperation(value = "获取术语类型列表[by:rengb]")
+    @PostMapping("/getLexiconList")
+    @SysLogger("getLexiconList")
+    public RespDTO<IPage<GetLexiconListDTO>> getLexiconList(@RequestBody GetLexiconListVO getLexiconListVO) {
+        return RespDTO.onSuc(lexiconFacade.getLexiconList(getLexiconListVO));
+    }
+    
+    @ApiOperation(value = "术语类型添加[by:rengb]")
+    @PostMapping("/addLexicon")
+    @SysLogger("addLexicon")
+    @Transactional
+    public RespDTO<Boolean> addLexicon(@Valid @RequestBody AddLexiconVO addLexiconVO) {
+        return RespDTO.onSuc(lexiconFacade.addLexicon(addLexiconVO));
+    }
+    
     
 }

+ 11 - 0
knowledgeman-service/src/main/resources/mapper/LexiconMapper.xml

@@ -14,6 +14,17 @@
         <result column="remark" property="remark" />
         <result column="class_cont" property="classCont" />
     </resultMap>
+    
+    <select id="getLexiconList" resultType="com.diagbot.dto.GetLexiconListDTO">
+    	SELECT  
+			gmt_modified,modifier,name,remark
+		FROM `lexicon`
+		WHERE is_deleted="N"
+    	<if test="name!=null and name!=''">
+    		and name like concat('%',#{name},'%')
+    	</if>
+    	order by gmt_modified desc
+    </select>
 
 
 </mapper>