lwhhszx il y a 1 an
Parent
commit
704386c27f

+ 33 - 0
src/main/java/cn/cslg/pas/common/dto/business/EventDTO.java

@@ -0,0 +1,33 @@
+package cn.cslg.pas.common.dto.business;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+/**
+ * <p>
+ * 事件DTO类
+ * </p>
+ *
+ * @author 李仁杰
+ * @since 2022-10-20
+ */
+@Data
+/*数据库中的表对应的类
+ */
+public class EventDTO {
+    @Schema(description = "名称")
+ private String name;
+    @Schema(description = "客户id")
+ private Integer clientId;
+    @Schema(description = "场景id")
+ private Integer scenarioId;
+    @Schema(description = "发生时间")
+ private DateTime eventDate;
+    @Schema(description = "发生时间")
+ private Integer eventId;
+
+}

+ 49 - 3
src/main/java/cn/cslg/pas/controller/EventController.java

@@ -1,17 +1,26 @@
 package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.business.EventDTO;
 import cn.cslg.pas.common.model.request.QueryRequest;
 import cn.cslg.pas.common.model.request.StringRequest;
 import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.domain.Event;
 import cn.cslg.pas.service.Business;
 import cn.cslg.pas.service.business.EventService;
 import cn.cslg.pas.service.query.BusinessFactory;
+import com.alibaba.fastjson.JSONObject;
 import io.swagger.v3.oas.annotations.Operation;
+import lombok.experimental.Accessors;
 import lombok.extern.slf4j.Slf4j;
+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;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
 
 /**
  * @author chenyu
@@ -21,12 +30,49 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping(Constants.API_XiaoSHI + "/event")
 @RestController
 public class EventController {
+    @Autowired
+    private BusinessFactory businessFactory;
     @Operation(summary = "查询事件")
     @PostMapping("/queryEvent")
-    public String  queryEvent( StringRequest stringRequest){
-  EventService business =  (EventService)BusinessFactory.getClass(EventService.class);
-  business.queryMessage(stringRequest);
+    public String  queryEvent( StringRequest stringRequest) throws Exception {
+  Business business = businessFactory.getClass("eventService");
+        business.queryMessage(stringRequest);
  return "";
     }
 
+
+    @Operation(summary = "添加事件")
+    @PostMapping("/addEvent")
+    public String  addEvent(String event, List<MultipartFile> files) throws Exception {
+        if (event != null) {
+            EventDTO eventDTO = JSONObject.parseObject(event, EventDTO.class);
+            Business business = businessFactory.getClass("eventService");
+            business.addMessage(eventDTO,files);
+            return Response.success();
+        } else {
+            return Response.error("网络异常");
+        }
+    }
+
+    @Operation(summary = "更新事件")
+    @PostMapping("/updateEvent")
+    public String  updateEvent(String event, List<MultipartFile> files) throws Exception {
+        if (event != null) {
+            EventDTO eventDTO = JSONObject.parseObject(event, EventDTO.class);
+            Business business = businessFactory.getClass("eventService");
+            business.updateMessage(eventDTO,files);
+            return Response.success();
+        } else {
+            return Response.error("网络异常");
+        }
+    }
+    @Operation(summary = "删除事件")
+    @PostMapping("/deleteEvent")
+    public String  queryEvent(@RequestBody List<Integer> ids) throws Exception {
+            Business business = businessFactory.getClass("eventService");
+            business.deleteMessage(ids);
+            return Response.success();
+
+    }
+
 }

+ 10 - 1
src/main/java/cn/cslg/pas/service/Business.java

@@ -1,7 +1,16 @@
 package cn.cslg.pas.service;
 
 import cn.cslg.pas.common.model.request.QueryRequest;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
 
 public interface Business {
-    public Object queryMessage(QueryRequest queryRequest);
+    public Object queryMessage(QueryRequest queryRequest) throws Exception;
+    public Object addMessage(Object object,List<MultipartFile> files);
+
+    public Object deleteMessage(List<Integer> ids);
+
+    public Object updateMessage(Object object,List<MultipartFile> files);
+
 }

+ 1 - 1
src/main/java/cn/cslg/pas/service/EsService.java

@@ -14,7 +14,7 @@ public class EsService {
  private final ElasticsearchClient client;
     public void addDoc() throws Exception {
         School user = new School();
-        user.setName("广西");
+        user.setName("广西111");
         IndexResponse indexResponse = client.index(i -> i
                 .index("school")
                 //设置id

+ 5 - 2
src/main/java/cn/cslg/pas/service/business/CommonService.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.model.common.QueryCondition;
+import com.alibaba.fastjson.JSON;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import lombok.extern.slf4j.Slf4j;
@@ -16,7 +17,7 @@ public class CommonService{
         Gson gson = new Gson();
         String json = "";
         try {
-            File file = new File("target/file/event.json");
+            File file = new File("src/main/resources/jsons/event.json");
             Reader reader = new InputStreamReader(new FileInputStream(file), "utf-8");
             int ch = 0;
             StringBuffer buffer = new StringBuffer();
@@ -25,7 +26,9 @@ public class CommonService{
             }
             reader.close();
             json = buffer.toString();
-            return gson.fromJson(json, List.class);
+            List<QueryCondition> queryConditions = JSON.parseArray(json, QueryCondition.class);
+
+            return queryConditions;
         } catch (IOException e) {
             e.printStackTrace();
             return null;

+ 40 - 2
src/main/java/cn/cslg/pas/service/business/EventService.java

@@ -1,25 +1,63 @@
 package cn.cslg.pas.service.business;
 
+import cn.cslg.pas.common.dto.business.EventDTO;
 import cn.cslg.pas.common.model.request.QueryRequest;
+import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.common.utils.parseQueryToTree.expressManager;
+import cn.cslg.pas.common.utils.parseQueryToTree.operateNode;
+import cn.cslg.pas.common.utils.parseQueryToTree.treeNode;
 import cn.cslg.pas.domain.Event;
 import cn.cslg.pas.mapper.EventMapper;
 import cn.cslg.pas.service.Business;
+import cn.cslg.pas.service.query.FormatQueryService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
 
 @Service
 @Slf4j
 public class EventService  extends ServiceImpl<EventMapper, Event> implements Business{
     @Autowired
     private  EventMapper eventMapper;
+    @Autowired
+    private FormatQueryService formatQueryService;
     public String getEvent(String sql){
         eventMapper.getEvent(sql);
         return  "";
     }
-    public Object queryMessage(QueryRequest queryRequest){
+    @Override
+    public Object queryMessage(QueryRequest queryRequest) throws Exception {
+if(queryRequest instanceof StringRequest){
+  StringRequest stringRequest =(StringRequest)queryRequest;
+  String condition =stringRequest.getSearchQuery();
+  //将检索式转换为二叉树
+    treeNode tree = expressManager.getInstance().Parse(condition, false);
+    //格式化检索式
+    formatQueryService.ToString((operateNode) tree);
+}
         return "";
-    };
+    }
+
+    @Override
+    public Object addMessage(Object b, List<MultipartFile> files) {
+        return null;
+    }
+
+    @Override
+    public Object deleteMessage(List<Integer> ids) {
+        return null;
+    }
+
+    @Override
+    public Object updateMessage(Object object, List<MultipartFile> files) {
+        return null;
+    }
+
+    ;
 
 }

+ 22 - 0
src/main/java/cn/cslg/pas/service/formatRequest/BusinessFactory.java

@@ -0,0 +1,22 @@
+package cn.cslg.pas.service.formatRequest;
+
+import cn.cslg.pas.service.Business;
+
+public class BusinessFactory {
+
+    public static Object getClass(Class<? extends Business> clazz) {
+        Object obj = null;
+
+        try {
+            obj = Class.forName(clazz.getName()).newInstance();
+        } catch (ClassNotFoundException e) {
+            e.printStackTrace();
+        } catch (InstantiationException e) {
+            e.printStackTrace();
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+        }
+        return obj;
+    }
+
+}

+ 26 - 13
src/main/java/cn/cslg/pas/service/query/BusinessFactory.java

@@ -1,22 +1,35 @@
 package cn.cslg.pas.service.query;
 
 import cn.cslg.pas.service.Business;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
+import java.util.Map;
+
+@Component
 public class BusinessFactory {
+    @Autowired
+    private Map<String, Business> businessMap;
+//    public static Object getClass(Class<? extends Business> clazz) {
+//        Object obj = null;
+//
+//        try {
+//            obj = Class.forName(clazz.getName()).newInstance();
+//        } catch (ClassNotFoundException e) {
+//            e.printStackTrace();
+//        } catch (InstantiationException e) {
+//            e.printStackTrace();
+//        } catch (IllegalAccessException e) {
+//            e.printStackTrace();
+//        }
+//        return obj;
+//    }
 
-    public static Object getClass(Class<? extends Business> clazz) {
-        Object obj = null;
 
-        try {
-            obj = Class.forName(clazz.getName()).newInstance();
-        } catch (ClassNotFoundException e) {
-            e.printStackTrace();
-        } catch (InstantiationException e) {
-            e.printStackTrace();
-        } catch (IllegalAccessException e) {
-            e.printStackTrace();
-        }
-        return obj;
-    }
 
+    public Business getClass(String shapeType) {
+        Business bean1 = businessMap.get(shapeType);
+        System.out.println(bean1);
+        return bean1;
+    }
 }

+ 2 - 5
src/main/java/cn/cslg/pas/service/query/FormatQueryService.java

@@ -16,7 +16,6 @@ import java.util.*;
 
 @Service
 @Slf4j
-@RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class FormatQueryService {
     public String getText(String text) throws Exception {
         treeNode tree = expressManager.getInstance().Parse(text, false);
@@ -30,7 +29,6 @@ public class FormatQueryService {
         String a = "(";
         treeNode leftNode = node.getLeft();
         treeNode rightNode = node.getRight();
-
         if (leftNode instanceof valueNode) {
             a += ((valueNode) leftNode).getvalue() +" "+ ((operateNode)node).getoperate().getShowName()+" ";
         } else {
@@ -64,7 +62,7 @@ public class FormatQueryService {
         {
             if((operate1.gettype() == enuType.Logic || operate1.gettype()  == enuType.Assignment ) && (Left.getLeft() != null || Left.getRight() != null))
             {
-                strCode = "(" + Left.ToString() +") " + strCode;
+                strCode = "(" + this.ToString((operateNode) Left) +") " + strCode;
             }
             else
             {
@@ -72,12 +70,11 @@ public class FormatQueryService {
             }
 
         }
-
         if(Right!= null)
         {
             if ((operate1.gettype() == enuType.Logic || operate1.gettype() == enuType.Assignment ) && (Right.getLeft() != null || Right.getRight() != null))
             {
-                strCode = strCode +" (" + Right.ToString()+ ") ";
+                strCode = strCode +" (" + this.ToString((operateNode) Right)+ ") ";
             }
             else
             {

BIN
src/main/resources/jsons/顺络.xlsx


+ 30 - 0
src/test/java/cn/cslg/pas/service/CommonServiceTests.java

@@ -0,0 +1,30 @@
+package cn.cslg.pas.service;
+
+import cn.cslg.pas.common.model.common.QueryCondition;
+import cn.cslg.pas.common.model.request.QueryRequest;
+import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.controller.EventController;
+import cn.cslg.pas.service.business.CommonService;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.List;
+
+/**
+ * @author chenyu
+ * @date 2023/9/6
+ */
+@SpringBootTest
+public class CommonServiceTests {
+    @Autowired
+    private EventController eventController;
+    @Test
+    void test() throws Exception {
+     List<QueryCondition> conditions = CommonService.readJsonFile("");
+     conditions.get(0);
+    }
+
+
+
+}

+ 17 - 5
src/test/java/cn/cslg/pas/service/PatentPDFServiceTests.java

@@ -1,7 +1,12 @@
 package cn.cslg.pas.service;
 
-import cn.cslg.pas.service.query.QueryService;
+import cn.cslg.pas.common.model.request.MapRequest;
+import cn.cslg.pas.common.model.request.QueryRequest;
+import cn.cslg.pas.common.model.request.StringRequest;
+import cn.cslg.pas.controller.EventController;
+import cn.cslg.pas.service.query.FormatQueryService;
 import org.junit.jupiter.api.Test;
+import org.junit.runner.Request;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
@@ -15,13 +20,20 @@ import java.util.Map;
 @SpringBootTest
 public class PatentPDFServiceTests {
     @Autowired
-    private QueryService queryService;
+    private EventController eventController;
 
+     @Autowired
+     private EsService esService;
     @Test
     void test() throws Exception {
-//        queryService.getText("ti=2");
-        Map<String, Object> map = queryService.readJsonFile("aa");
-        map.get("name");
+        StringRequest queryRequest =new StringRequest();
+        queryRequest.setSearchQuery("ti=c and bc=q or cd=e");
+  eventController.queryEvent(queryRequest);
+    }
+
+    @Test
+    void add() throws Exception {
+        esService.addDoc();
     }
 
 }