Commit 89d4591a authored by 韩桐桐's avatar 韩桐桐

fix(jg):jg数据更新至es

parent 160e8a13
......@@ -57,4 +57,6 @@ public interface CategoryOtherInfoMapper extends BaseMapper<CategoryOtherInfo> {
* @return list
*/
List<KV> selectSupervisorCodeMaxValue();
List<String> selectData();
}
......@@ -187,4 +187,65 @@
generate_series
LIMIT 1
</select>
<select id="selectData" resultType="java.lang.String">
SELECT DISTINCT
equ_id
FROM
(
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_change_registration_name_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_change_registration_reform_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_change_registration_transfer_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_change_registration_unit_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_enable_disable_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_equip_transfer_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_installation_notice_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_maintain_notice_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_maintenance_contract_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_reform_notice_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_scrap_cancel_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_transfer_notice_eq" UNION ALL
SELECT
equ_id
FROM
"amos_tzs_biz"."tzs_jg_use_registration_eq" UNION ALL
( SELECT "RECORD" AS equ_id FROM "amos_tzs_biz"."idx_biz_jg_other_info" WHERE "CLAIM_STATUS" IS NULL AND "REC_DATE" >= '2024-02-26 00:00:00' AND "RECORD" LIKE'________-____-____-____-____________' )
)
</select>
</mapper>
......@@ -422,6 +422,14 @@ public class EquipmentCategoryController extends BaseController {
return ResponseHelper.buildResponse("success");
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "updateEquipmentCategoryToEs")
@ApiOperation(httpMethod = "GET", value = "jg数据更新至es", notes = "jg数据更新至es")
public ResponseModel<String> updateEquipmentCategoryToEs() {
equipmentCategoryServiceImpl.updateEs();
return ResponseHelper.buildResponse("success");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
......
package com.yeejoin.amos.boot.module.ymt.biz.dao;
import lombok.Getter;
/**
*
* @author LiuLin
* @date 2023年10月11日 09:31
*/
@Getter
public final class EsEntity<T> {
private String id;
private T data;
public EsEntity() {
}
public EsEntity(String id, T data) {
this.data = data;
this.id = id;
}
public void setId(String id) {
this.id = id;
}
public void setData(T data) {
this.data = data;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.ymt.biz.dao;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
/**
*
* @author LiuLin
* @date 2023年10月11日 09:31
*/
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class JgAll {
private String DATA_SOURCE;
}
\ No newline at end of file
......@@ -25,6 +25,9 @@ import com.yeejoin.amos.boot.module.ymt.api.service.IGenerateCodeService;
import com.yeejoin.amos.boot.module.ymt.api.vo.EquipExportVo;
import com.yeejoin.amos.boot.module.ymt.biz.dao.ESElavtorRepository;
import com.yeejoin.amos.boot.module.ymt.biz.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.biz.dao.EsEntity;
import com.yeejoin.amos.boot.module.ymt.biz.dao.JgAll;
import com.yeejoin.amos.boot.module.ymt.biz.utils.ElasticSearchUtil;
import com.yeejoin.amos.boot.module.ymt.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.ymt.flc.api.feign.PrivilegeFeginService;
......@@ -223,6 +226,9 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
IGenerateCodeService generateCodeService;
@Autowired
private ElasticSearchUtil elasticSearchUtil;
@Autowired
private static final String TABLENAME = "tableName";
@Autowired
private ESElavtorRepository esElavtorRepository;
......@@ -1972,6 +1978,14 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
log.info("本次一码通同步设备数据:【" + total + "】条,耗时:" + (end - start) + " 毫秒");
}
public void updateEs() {
List<String> list = categoryOtherInfoMapper.selectData();
List<EsEntity<JgAll>> batchList = new ArrayList<>(list.size());
list.forEach(item -> batchList.add(new EsEntity<>(item, new JgAll("jg"))));
elasticSearchUtil.updateBatch("idx_biz_view_jg_all_bak20240315", batchList);
log.info("idx_biz_view_jg_all_bak20240315 旧数据:"+list);
}
public void saveBatchEquipment2Es(List<Map<String, Object>> equipList) {
List<ESEquipmentCategoryDto> esEquipDtoList = Lists.newArrayList();
List<String> recordList = Lists.newArrayList();
......
package com.yeejoin.amos.boot.module.ymt.biz.utils;
import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.boot.module.ymt.biz.dao.EsEntity;
import lombok.extern.slf4j.Slf4j;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author LiuLin
* @date 2023年08月08日 16:30
*/
@Slf4j
@Component
public class ElasticSearchUtil {
private static final long SCROLL_TIMEOUT = 180000;
private static final int SIZE = 1000;
@Autowired
private RestHighLevelClient restHighLevelClient;
/**
* Description: 批量修改数据
*
* @param index index
* @param list 更新列表
* @author LiuLin
*/
public <T> void updateBatch(String index, List<EsEntity<T>> list) {
BulkRequest request = new BulkRequest();
list.forEach(item -> request.add(new UpdateRequest(index, item.getId())
.doc(JSON.toJSONString(item.getData()), XContentType.JSON)));
try {
restHighLevelClient.bulk(request, RequestOptions.DEFAULT);
list.forEach(s -> log.info("===========索引:【{}】,主键:【{}】修改成功", index, s.getId()));
} catch (Exception e) {
log.error("索引:[{}]", index, e);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment