wanghn 5 ماه پیش
والد
کامیت
9c93b7dea2

+ 18 - 0
src/main/java/com/qizhen/healsphere/service/PropertyService.java

@@ -0,0 +1,18 @@
+package com.qizhen.healsphere.service;
+
+import com.qizhen.healsphere.web.vo.DeletePropertyVO;
+import com.qizhen.healsphere.web.vo.EntityVO;
+import com.qizhen.healsphere.web.vo.UpdatePropertyVO;
+
+import java.util.List;
+import java.util.Map;
+
+public interface PropertyService {
+
+
+    List<Map<String, Object>> createEntityProperty(List<EntityVO> entityList);
+
+    List<Map<String, Object>> deleteEntityProperty(List<DeletePropertyVO> deletePropertyList);
+
+    Map<String, Object> updateEntityProperty(UpdatePropertyVO updateProperty);
+}

+ 60 - 0
src/main/java/com/qizhen/healsphere/service/impl/PropertyServiceImpl.java

@@ -0,0 +1,60 @@
+package com.qizhen.healsphere.service.impl;
+
+import com.qizhen.healsphere.repository.neo4j.BasePropertyRepository;
+import com.qizhen.healsphere.service.PropertyService;
+import com.qizhen.healsphere.web.vo.DeletePropertyVO;
+import com.qizhen.healsphere.web.vo.EntityVO;
+import com.qizhen.healsphere.web.vo.UpdatePropertyVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class PropertyServiceImpl implements PropertyService {
+
+    @Autowired
+    BasePropertyRepository propertyRepository;
+
+
+    @Override
+    public List<Map<String, Object>> createEntityProperty(List<EntityVO> entityList) {
+
+        List<Map<String, Object>> list = entityList.stream()
+                .map(entityVO -> propertyRepository.createProperty(
+                        entityVO.getLabel(),
+                        entityVO.getNodeId(),
+                        entityVO.getProperty()))
+                .collect(Collectors.toList());
+        return list;
+    }
+
+
+    @Override
+    public List<Map<String, Object>> deleteEntityProperty(List<DeletePropertyVO> deletePropertyList) {
+
+        List<Map<String, Object>> list = deletePropertyList.stream()
+                .map(deletePropertyVO -> propertyRepository.deleteProperty(
+                        deletePropertyVO.getLabel(),
+                        deletePropertyVO.getNodeId(),
+                        deletePropertyVO.getPropertyName()))
+                .collect(Collectors.toList());
+
+        return list;
+    }
+
+    @Override
+    public Map<String, Object> updateEntityProperty(UpdatePropertyVO updateProperty) {
+
+        return propertyRepository.updateProperty(
+                updateProperty.getLabel(),
+                updateProperty.getNodeId(),
+                updateProperty.getOldPropertyName(),
+                updateProperty.getNewPropertyName(),
+                updateProperty.getNewPropertyValue());
+    }
+
+
+}

+ 58 - 0
src/main/java/com/qizhen/healsphere/web/PropertyController.java

@@ -0,0 +1,58 @@
+package com.qizhen.healsphere.web;
+
+import com.qizhen.healsphere.service.PropertyService;
+import com.qizhen.healsphere.web.dto.RespDTO;
+import com.qizhen.healsphere.web.vo.DeletePropertyVO;
+import com.qizhen.healsphere.web.vo.EntityVO;
+import com.qizhen.healsphere.web.vo.UpdatePropertyVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/property")
+@Api(value = "属性API", tags = { "属性API" })
+public class PropertyController {
+
+    @Autowired
+    PropertyService propertyService;
+
+    @ApiOperation(value = "批量新增实体属性",
+            notes = "")
+    @RequestMapping(value = "/createEntityProperty",method = RequestMethod.POST)
+    @ResponseBody
+    public RespDTO<List<Map<String, Object>>> createEntityProperty(@RequestBody List<EntityVO> entityList) {
+
+        List<Map<String, Object>> list = propertyService.createEntityProperty(entityList);
+        return RespDTO.onSuc(list);
+    }
+
+    @ApiOperation(value = "删除实体属性",
+            notes = "")
+    @RequestMapping(value = "/deleteEntityProperty",method = RequestMethod.DELETE)
+    @ResponseBody
+    public RespDTO<List<Map<String, Object>>> deleteEntityProperty(@RequestBody List<DeletePropertyVO> deletePropertyList) {
+
+        List<Map<String, Object>> list = propertyService.deleteEntityProperty(deletePropertyList);
+        return RespDTO.onSuc(list);
+    }
+
+    @ApiOperation(value = "更新实体属性",
+            notes = "")
+    @RequestMapping(value = "/updateEntityProperty",method = RequestMethod.PUT)
+    @ResponseBody
+    public RespDTO<Map<String, Object>> updateEntityProperty(@RequestBody UpdatePropertyVO updateProperty) {
+
+        Map<String, Object> entity = propertyService.updateEntityProperty(updateProperty);
+        return RespDTO.onSuc(entity);
+    }
+
+}

+ 1 - 1
src/main/java/com/qizhen/healsphere/web/RelationshipController.java

@@ -22,7 +22,7 @@ public class RelationshipController {
     RelationshipService relationshipService;
 
 
-    @ApiOperation(value = "批量新增关系",
+    @ApiOperation(value = "批量新增关系(实体链接)",
             notes = "")
     @RequestMapping(value = "/createRelationship",method = RequestMethod.POST)
     @ResponseBody

+ 14 - 0
src/main/java/com/qizhen/healsphere/web/vo/DeletePropertyVO.java

@@ -0,0 +1,14 @@
+package com.qizhen.healsphere.web.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Map;
+
+@Getter
+@Setter
+public class DeletePropertyVO {
+    private Long nodeId;
+    private String label;
+    private String propertyName;
+}

+ 18 - 0
src/main/java/com/qizhen/healsphere/web/vo/PropertyVO.java

@@ -0,0 +1,18 @@
+package com.qizhen.healsphere.web.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Map;
+
+@Getter
+@Setter
+public class PropertyVO {
+    //实体id
+    private Long nodeId;
+    //实体标签
+    private String label;
+    //属性名称
+    private String propertyName;
+    private Map<String, Object> property;
+}

+ 14 - 0
src/main/java/com/qizhen/healsphere/web/vo/UpdatePropertyVO.java

@@ -0,0 +1,14 @@
+package com.qizhen.healsphere.web.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class UpdatePropertyVO {
+    private Long nodeId;
+    private String label;
+    private String oldPropertyName;
+    private String newPropertyName;
+    private String newPropertyValue;
+}