From 1f5b385ce89c528b8e4f3385dc27a3ae8cb09f24 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期日, 19 五月 2024 15:55:58 +0800 Subject: [PATCH] 修改bug --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java | 149 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 120 insertions(+), 29 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java index e3688dd..70e09c1 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEventServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.service.impl; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,11 +19,18 @@ import com.ruoyi.service.*; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; +import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.IOException; import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -51,7 +59,10 @@ ZAuthorityService zAuthorityService; //鍔犲叆鍒癳s涓� @Resource - private esService esSer; + private EsService esSer; + + @Resource + private RestHighLevelClient restHighLevelClient; private LambdaQueryWrapper<ZfEvent> buildCondition(ZfEvent zfEvent,List<Long> familyIdList) { LambdaQueryWrapper<ZfEvent> lqw = new LambdaQueryWrapper<>(); lqw.orderByDesc(ZfEvent::getCreateTime); @@ -203,7 +214,10 @@ // String secondFamilyIds = listSecondFamilyIds(); //瑕佹煡鑷繁瀹跺涵鐨� ZInfoUser myself = zInfoUserService.getMyself(); + System.out.println("================"); + Long familyId = myself.getFamilyId(); + //涔熻鏌ュ埆浜烘巿鏉冪殑 List<ZAuthority> authority = zAuthorityService.getAuthority(); List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); @@ -260,12 +274,20 @@ public AjaxResult selectDataList(ZfEvent zfEvent, Integer pageNum, Integer pageSize) { //瑕佹煡鑷繁瀹跺涵鐨� ZInfoUser myself = zInfoUserService.getMyself(); + if(myself==null) + { + // System.out.println("ssssss"); + return AjaxResult.success("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�"); + } Long familyId = myself.getFamilyId(); + System.out.println("++++++++++++++++"); + System.out.println(familyId); //涔熻鏌ュ埆浜烘巿鏉冪殑 List<ZAuthority> authority = zAuthorityService.getAuthority(); List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); //鍔犱笂鑷繁瀹跺涵鐨刬d idList.add(familyId); + System.out.println(idList.size()); // String familyIds = listFamilyIds(); // String secondFamilyAuthority = listSecondFamilyIds(); LambdaQueryWrapper<ZfEvent> lqw = buildCondition(zfEvent, idList); @@ -276,6 +298,8 @@ List<ZfEvent> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� + System.out.println(beanRecords); + System.out.println(beanRecords.size()); List<ZfEvent> dtoResult = markOwnData(familyId, beanRecords); HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult); @@ -313,26 +337,26 @@ @Override public AjaxResult addData(ZfEvent zfEvent) { -// ZInfoUser myself = zInfoUserService.getMyself(); -// Long familyId = myself.getFamilyId(); -// -// if(familyId == null){ -// throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); -// } -// -// List<ZAuthority> authority = zAuthorityService.getAuthority(); -// List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); -// familyIdList.add(familyId); -// -// if (zfEvent.getFamilyId()!=null && !familyIdList.contains(zfEvent.getFamilyId())) { -// throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); -// } -// -// -// if(zfEvent.getFamilyId() == null){ -// //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� -// zfEvent.setFamilyId(familyId); -// } + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + if(familyId == null){ + throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); + } + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + if (zfEvent.getFamilyId()!=null && !familyIdList.contains(zfEvent.getFamilyId())) { + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + + + if(zfEvent.getFamilyId() == null){ + //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� + zfEvent.setFamilyId(familyId); + } //鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� LambdaQueryWrapper<ZfEvent> lqw = uniqueCondition(zfEvent); @@ -343,20 +367,19 @@ } if (save(zfEvent)) { - // 椋� 鍔犲叆 EsModel esModel = new EsModel(); Integer inte = zfEvent.getId(); String uuid = UUID.randomUUID().toString().replace("-",""); esModel.setId(uuid); esModel.setCtId(Long.valueOf(inte)); - esModel.setCtName(zfEvent.getTitle()); - esModel.setCtContent(zfEvent.getAddress()); - esModel.setBy1(zfEvent.getRemark()); + esModel.setCtTableName("瀹跺ぇ浜嬭"); + esModel.setBy1(zfEvent.getAddress()); + esModel.setBy2(zfEvent.getPeople()); + esModel.setBy3(zfEvent.getTitle()); + esModel.setRemark(zfEvent.getRemark()); //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� esModel.setBy5("/family/zfEvent"); - // esModel.setCtTableName("tb_ajk"); - // esModel.setCtName("澶у"); - // esModel.setCtContent("澶у濂斤紝鎵嶆槸鐪熺殑濂�");//澶勪簨鐢� + esModel.setFid(familyId); esSer.insertTable(esModel); return AjaxResult.success(); @@ -425,6 +448,7 @@ ZfLogService zfLogService; @Override + @Transactional public AjaxResult updateData(ZfEvent zfEvent) { ZInfoUser myself = zInfoUserService.getMyself(); Long familyId = myself.getFamilyId(); @@ -447,7 +471,58 @@ zfLog.setUpdater(zInfoUserService.getMyself().getNickName()); zfLogService.save(zfLog); - if(updateById(zfEvent)){ + if(zfEventService.updateById(zfEvent)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfEvent dataById = getById(zfEvent.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esSer.findByCtId(dataById.getId(), "瀹跺ぇ浜嬭"); + + if (esResult == null){ + return AjaxResult.success(); + } + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfEvent.getAddress()!=null){ + newModel.setBy1(zfEvent.getAddress()); + }else { + newModel.setBy1(dataById.getAddress()); + } + + if(zfEvent.getPeople()!=null){ + newModel.setBy2(zfEvent.getPeople()); + }else { + newModel.setBy2(dataById.getPeople()); + } + + if(zfEvent.getTitle()!=null){ + newModel.setBy3(zfEvent.getTitle()); + }else { + newModel.setBy3(dataById.getTitle()); + } + + if(zfEvent.getRemark()!=null){ + newModel.setRemark(zfEvent.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); }else { return AjaxResult.error(); @@ -472,7 +547,23 @@ } } + List<ZfEvent> zfEvents = listByIds(Arrays.asList(ids)); + if (zfEventService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfEvents.stream().forEach(zfEvent -> { + EsModel esModel = esSer.findByCtId(zfEvent.getId(), "瀹跺ぇ浜嬭"); + if (esModel != null){ + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + return AjaxResult.success(); }else { return AjaxResult.error(); -- Gitblit v1.9.1