Pārlūkot izejas kodu

add manual load data

kerryzhang 5 gadus atpakaļ
vecāks
revīzija
0b6503ba36

+ 6 - 0
elastic-publish-service/req/main-controller.http Parādīt failu

36
 
36
 
37
 GET http://{{host}}/load
37
 GET http://{{host}}/load
38
 
38
 
39
+### load data
40
+
41
+
42
+
43
+GET http://{{host}}/loadByAgencyIds?agencyIds=190084,196581
44
+
39
 ### load data
45
 ### load data

+ 36 - 2
elastic-publish-service/src/main/java/com/vcarecity/publish/controller/MainController.java Parādīt failu

5
 import com.vcarecity.publish.api.ApiStatus;
5
 import com.vcarecity.publish.api.ApiStatus;
6
 import com.vcarecity.publish.constants.ElasticConstant;
6
 import com.vcarecity.publish.constants.ElasticConstant;
7
 import com.vcarecity.publish.elastic.service.ElasticLoadDataService;
7
 import com.vcarecity.publish.elastic.service.ElasticLoadDataService;
8
+import com.vcarecity.publish.elastic.service.ElasticUpdateService;
9
+import com.vcarecity.publish.entity.UnitAgencyMergeEntity;
8
 import com.vcarecity.publish.pojo.dto.TotalResultDTO;
10
 import com.vcarecity.publish.pojo.dto.TotalResultDTO;
9
 import com.vcarecity.publish.pojo.dto.UnitAgencyDTO;
11
 import com.vcarecity.publish.pojo.dto.UnitAgencyDTO;
10
 import com.vcarecity.publish.pojo.dto.UnitIdDTO;
12
 import com.vcarecity.publish.pojo.dto.UnitIdDTO;
11
 import com.vcarecity.publish.pojo.query.UnitAgencyQuery;
13
 import com.vcarecity.publish.pojo.query.UnitAgencyQuery;
12
 import com.vcarecity.publish.service.LoadDataStatusService;
14
 import com.vcarecity.publish.service.LoadDataStatusService;
15
+import com.vcarecity.publish.sql.service.AgencyService;
13
 import com.vcarecity.publish.sql.service.UnitService;
16
 import com.vcarecity.publish.sql.service.UnitService;
14
 import lombok.extern.slf4j.Slf4j;
17
 import lombok.extern.slf4j.Slf4j;
15
 import org.springframework.beans.factory.annotation.Value;
18
 import org.springframework.beans.factory.annotation.Value;
17
 
20
 
18
 import javax.validation.Valid;
21
 import javax.validation.Valid;
19
 import java.io.IOException;
22
 import java.io.IOException;
23
+import java.util.ArrayList;
20
 import java.util.List;
24
 import java.util.List;
21
 
25
 
22
 /**
26
 /**
29
 
33
 
30
 
34
 
31
     private final UnitService unitService;
35
     private final UnitService unitService;
36
+    private final AgencyService agencyService;
32
     private final ElasticLoadDataService elasticLoadDataService;
37
     private final ElasticLoadDataService elasticLoadDataService;
38
+    private final ElasticUpdateService elasticUpdateService;
33
     private final LoadDataStatusService loadDataStatusService;
39
     private final LoadDataStatusService loadDataStatusService;
34
 
40
 
35
     public MainController(UnitService unitService,
41
     public MainController(UnitService unitService,
36
                           ElasticLoadDataService elasticLoadDataService,
42
                           ElasticLoadDataService elasticLoadDataService,
37
                           LoadDataStatusService loadDataStatusService,
43
                           LoadDataStatusService loadDataStatusService,
38
-                          @Value("${app.index.reload}") Boolean reloadData) {
44
+                          @Value("${app.index.reload}") Boolean reloadData, AgencyService agencyService, ElasticUpdateService elasticUpdateService) {
39
         this.unitService = unitService;
45
         this.unitService = unitService;
40
         this.elasticLoadDataService = elasticLoadDataService;
46
         this.elasticLoadDataService = elasticLoadDataService;
41
         this.loadDataStatusService = loadDataStatusService;
47
         this.loadDataStatusService = loadDataStatusService;
48
+        this.agencyService = agencyService;
49
+        this.elasticUpdateService = elasticUpdateService;
42
 
50
 
43
         if (!reloadData) {
51
         if (!reloadData) {
44
             // 不重新加载
52
             // 不重新加载
49
 
57
 
50
     @SkipMethod
58
     @SkipMethod
51
     @ResponseBody
59
     @ResponseBody
52
-    @RequestMapping(value = "/load", method = {RequestMethod.GET, RequestMethod.POST})
60
+    @RequestMapping(value = "/set-load", method = {RequestMethod.GET, RequestMethod.POST})
53
     public ApiResult setLoaded() {
61
     public ApiResult setLoaded() {
54
         loadDataStatusService.setStatus(LoadDataStatusService.DATA_STATUS_LOADED);
62
         loadDataStatusService.setStatus(LoadDataStatusService.DATA_STATUS_LOADED);
55
         return ApiResult.builder().status(20000).message("already load data success!").build();
63
         return ApiResult.builder().status(20000).message("already load data success!").build();
82
     }
90
     }
83
 
91
 
84
 
92
 
93
+    @ResponseBody
94
+    @RequestMapping(value = "/loadByAgencyIds", method = {RequestMethod.POST, RequestMethod.GET})
95
+    public ApiResult loadByAgencyIds(@RequestParam("agencyIds") String agencyIds) {
96
+        String[] split = agencyIds.split(",");
97
+        List<Long> ids = new ArrayList<>(split.length);
98
+        for (String s : split) {
99
+            try {
100
+                ids.add(Long.parseLong(s));
101
+            } catch (RuntimeException e) {
102
+                e.printStackTrace();
103
+            }
104
+        }
105
+        List<UnitAgencyMergeEntity> result = agencyService.loadByAgencyIds(ids);
106
+        if (result == null) {
107
+            return ApiResult.builder().status(ApiStatus.FAILED_CODE).build();
108
+        }
109
+        try {
110
+            elasticUpdateService.handlerDataChange("unitId", result);
111
+            return ApiResult.builder().status(ApiStatus.SUCCESS_CODE).build();
112
+        } catch (IOException e) {
113
+            e.printStackTrace();
114
+            return ApiResult.builder().status(40000).message(e.getMessage()).build();
115
+        }
116
+    }
117
+
118
+
85
     @PostMapping("/query-unit-agency")
119
     @PostMapping("/query-unit-agency")
86
     public ApiResult queryUnitAgency(@RequestBody @Valid UnitAgencyQuery unitAgencyQuery) throws IOException {
120
     public ApiResult queryUnitAgency(@RequestBody @Valid UnitAgencyQuery unitAgencyQuery) throws IOException {
87
 
121
 

+ 10 - 0
elastic-publish-service/src/main/java/com/vcarecity/publish/mapper/AgencyMapper.java Parādīt failu

36
 
36
 
37
 
37
 
38
     /**
38
     /**
39
+     * load by ids
40
+     *
41
+     * @param ids
42
+     * @return
43
+     */
44
+    List<UnitAgencyMergeEntity> loadByAgencyIds(@Param("ids") List<Long> ids);
45
+
46
+
47
+    /**
39
      * 获取ID对应的AgencyName
48
      * 获取ID对应的AgencyName
40
      *
49
      *
41
      * @param agencyPathIds
50
      * @param agencyPathIds
42
      * @return
51
      * @return
43
      */
52
      */
44
     List<AgencyEntity> findAgencyNameByAgencyIdList(@Param("agencyPathIds") List<Integer> agencyPathIds);
53
     List<AgencyEntity> findAgencyNameByAgencyIdList(@Param("agencyPathIds") List<Integer> agencyPathIds);
54
+
45
 }
55
 }

+ 10 - 0
elastic-publish-service/src/main/java/com/vcarecity/publish/sql/service/AgencyService.java Parādīt failu

1
 package com.vcarecity.publish.sql.service;
1
 package com.vcarecity.publish.sql.service;
2
 
2
 
3
+import com.vcarecity.publish.entity.UnitAgencyMergeEntity;
4
+
3
 import java.util.List;
5
 import java.util.List;
4
 
6
 
5
 /**
7
 /**
15
      * @return
17
      * @return
16
      */
18
      */
17
     List<String> getAgencyPathDetail(List<Integer> agencyPath);
19
     List<String> getAgencyPathDetail(List<Integer> agencyPath);
20
+
21
+    /**
22
+     * load by id
23
+     *
24
+     * @param ids
25
+     * @return
26
+     */
27
+    List<UnitAgencyMergeEntity> loadByAgencyIds(List<Long> ids);
18
 }
28
 }

+ 10 - 0
elastic-publish-service/src/main/java/com/vcarecity/publish/sql/service/impl/AgencyServiceImpl.java Parādīt failu

1
 package com.vcarecity.publish.sql.service.impl;
1
 package com.vcarecity.publish.sql.service.impl;
2
 
2
 
3
 import com.vcarecity.publish.entity.AgencyEntity;
3
 import com.vcarecity.publish.entity.AgencyEntity;
4
+import com.vcarecity.publish.entity.UnitAgencyMergeEntity;
4
 import com.vcarecity.publish.mapper.AgencyMapper;
5
 import com.vcarecity.publish.mapper.AgencyMapper;
5
 import com.vcarecity.publish.sql.service.AgencyService;
6
 import com.vcarecity.publish.sql.service.AgencyService;
6
 import org.springframework.stereotype.Service;
7
 import org.springframework.stereotype.Service;
28
         List<AgencyEntity> agencyNameByAgencyIdList = agencyMapper.findAgencyNameByAgencyIdList(agencyPath);
29
         List<AgencyEntity> agencyNameByAgencyIdList = agencyMapper.findAgencyNameByAgencyIdList(agencyPath);
29
         return agencyNameByAgencyIdList.stream().map(AgencyEntity::getAgencyName).collect(Collectors.toList());
30
         return agencyNameByAgencyIdList.stream().map(AgencyEntity::getAgencyName).collect(Collectors.toList());
30
     }
31
     }
32
+
33
+    @Override
34
+    public List<UnitAgencyMergeEntity> loadByAgencyIds(List<Long> ids) {
35
+        if (ids == null || ids.isEmpty()) {
36
+            return null;
37
+        }
38
+        return agencyMapper.loadByAgencyIds(ids);
39
+
40
+    }
31
 }
41
 }

+ 5 - 3
elastic-publish-service/src/main/resources/application-production.yml Parādīt failu

2
   port: 8092
2
   port: 8092
3
 spring:
3
 spring:
4
   datasource:
4
   datasource:
5
-    url: jdbc:mysql:replication://192.168.10.210:6446,192.168.10.210:6447/fmmp?serverTimezone=Asia/Shanghai
5
+    url: jdbc:mysql:replication://192.168.10.31:6446,192.168.10.31:6447/fmmp?serverTimezone=Asia/Shanghai
6
     username: root
6
     username: root
7
     password: R00T@mysql
7
     password: R00T@mysql
8
+    hikari:
9
+      connection-test-query: select 1
8
   elasticsearch:
10
   elasticsearch:
9
     rest:
11
     rest:
10
       uris:
12
       uris:
26
 app:
28
 app:
27
   index:
29
   index:
28
     config: index-text
30
     config: index-text
29
-    reload: true
31
+    reload: false
30
   scheduling:
32
   scheduling:
31
-    enable: false
33
+    enable: true

+ 2 - 2
elastic-publish-service/src/main/resources/application.yml Parādīt failu

1
 spring:
1
 spring:
2
   profiles:
2
   profiles:
3
-    active: dev
3
+    #active: dev
4
     #active: beta
4
     #active: beta
5
-    #active: production
5
+    active: production

+ 35 - 0
elastic-publish-service/src/main/resources/mapper/AgencyMapper.xml Parādīt failu

62
                  INNER JOIN T_AGENCY_EXTEND TAE ON TAE.AGENCY_ID = TU.AGENCY_ID
62
                  INNER JOIN T_AGENCY_EXTEND TAE ON TAE.AGENCY_ID = TU.AGENCY_ID
63
     </select>
63
     </select>
64
 
64
 
65
+    <select id="loadByAgencyIds" resultMap="unitAgencyMergeEntityMap">
66
+        SELECT TU.UNIT_ID,
67
+        TU.DTU_NO,
68
+        TU.PUSER_CODE,
69
+        TU.USER_CODE,
70
+        TU.POSITIONS,
71
+        TU.UPDATESTAMP UNIT_UPDATE_STAMP,
72
+        TAG.AGENCY_ID,
73
+        TAG.AGENCY_PATH,
74
+        TAG.AGENCY_NAME,
75
+        TAG.ISDELETED,
76
+        TB.BUILDING_ID,
77
+        TB.NAME_OF_BUILDING,
78
+        TUT.UNIT_TYPE_ID,
79
+        TUT.UNIT_TYPE,
80
+        TUT.PROPERTY,
81
+        TUT.CLASSIFY,
82
+        TAE.REGULATORY_LEVEL_ID,
83
+        TAE.AGENCY_ATTRIBUTE_CLASS_ID
84
+        FROM (select *
85
+        from T_AGENCY I_TAG
86
+        <where>
87
+            where I_TAG.AGENCY_ID in
88
+            <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
89
+                    ${item}
90
+            </foreach>
91
+        </where>
92
+        ) TAG
93
+        INNER JOIN T_UNIT TU ON TU.AGENCY_ID = TAG.AGENCY_ID
94
+        INNER JOIN T_BUILDING TB ON TB.BUILDING_ID = TU.BUILDING_ID
95
+        INNER JOIN T_UNIT_TYPE TUT ON TUT.UNIT_TYPE_ID = TU.UNIT_TYPE_ID
96
+        INNER JOIN T_AGENCY_EXTEND TAE ON TAE.AGENCY_ID = TU.AGENCY_ID
97
+    </select>
98
+
99
+
65
     <select id="findAgencyNameByAgencyIdList" resultType="agencyEntity" parameterType="list">
100
     <select id="findAgencyNameByAgencyIdList" resultType="agencyEntity" parameterType="list">
66
         select AGENCY_NAME,AGENCY_ID from T_AGENCY
101
         select AGENCY_NAME,AGENCY_ID from T_AGENCY
67
         <where>
102
         <where>

+ 12 - 0
elastic-publish-service/src/test/java/com/vcarecity/publish/mapper/AgencyMapperTest.java Parādīt failu

1
 package com.vcarecity.publish.mapper;
1
 package com.vcarecity.publish.mapper;
2
 
2
 
3
 import com.vcarecity.publish.entity.AgencyEntity;
3
 import com.vcarecity.publish.entity.AgencyEntity;
4
+import com.vcarecity.publish.entity.UnitAgencyMergeEntity;
4
 import org.junit.jupiter.api.Test;
5
 import org.junit.jupiter.api.Test;
5
 import org.springframework.beans.factory.annotation.Autowired;
6
 import org.springframework.beans.factory.annotation.Autowired;
6
 import org.springframework.boot.test.context.SpringBootTest;
7
 import org.springframework.boot.test.context.SpringBootTest;
44
             System.out.println(agencyEntity);
45
             System.out.println(agencyEntity);
45
         }
46
         }
46
     }
47
     }
48
+
49
+    @Test
50
+    public void loadByAgencyIds() {
51
+        List<Long> ids = new ArrayList<>();
52
+        ids.add(80424L);
53
+
54
+        List<UnitAgencyMergeEntity> unitAgencyMergeEntities = agencyMapper.loadByAgencyIds(ids);
55
+        for (UnitAgencyMergeEntity unitAgencyMergeEntity : unitAgencyMergeEntities) {
56
+            System.out.println(unitAgencyMergeEntity);
57
+        }
58
+    }
47
 }
59
 }