From 5d7b0a0bbcae6844e2296ef53c3f4c88293dacfe Mon Sep 17 00:00:00 2001 From: jinquanOu <1511349576@qq.com> Date: 星期二, 11 六月 2024 18:18:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- zhang-content/src/main/java/com/ruoyi/service/impl/MeetingServiceImpl.java | 425 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 425 insertions(+), 0 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/MeetingServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/MeetingServiceImpl.java new file mode 100644 index 0000000..e298673 --- /dev/null +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/MeetingServiceImpl.java @@ -0,0 +1,425 @@ +package com.ruoyi.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.EsModel; +import com.ruoyi.common.utils.MapUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.domain.*; +import com.ruoyi.mapper.MeetingMapper; +import com.ruoyi.service.*; +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.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.sql.Timestamp; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +import static com.ruoyi.constant.MenuAuthority.*; + +@Slf4j +@Service +public class MeetingServiceImpl extends ServiceImpl<MeetingMapper, Meeting> implements MeetingService { + + @Resource + ZInfoUserService zInfoUserService; + + @Resource + ZAuthorityService zAuthorityService; + + @Resource + private EsService esSer; + + @Resource + ZfLogService zfLogService; + + @Resource + private RestHighLevelClient restHighLevelClient; + + @Resource + private MeetingService meetingService; + + private LambdaQueryWrapper<Meeting> buildCondition(Meeting meeting) { + LambdaQueryWrapper<Meeting> lqw = new LambdaQueryWrapper<>(); + // lqw.in(ZfDoctor::getFamilyId,familyIdList); + lqw.orderByDesc(Meeting::getCreateTime); + lqw.like(StringUtils.isNotEmpty(meeting.getPlace()), Meeting::getPlace, meeting.getPlace()) + .like(StringUtils.isNotEmpty(meeting.getApplyApart()), Meeting::getApplyApart, meeting.getApplyApart()); +// .like(Integer.valueOf(meeting.getApplyPerson())!=null, Meeting::getApplyPerson, meeting.getApplyPerson()); + + lqw.between(meeting.getHappenStartTime() != null && meeting.getHappenEndTime() != null, Meeting::getStartTime, meeting.getHappenStartTime(), meeting.getHappenEndTime()); + + return lqw; + } + private LambdaQueryWrapper<Meeting> uniqueCondition(Meeting meeting){ + LambdaQueryWrapper<Meeting> lqw = new LambdaQueryWrapper<>(); + lqw.eq(!StringUtils.isEmpty(meeting.getPlace()), Meeting::getPlace, meeting.getPlace()); + lqw.eq(!StringUtils.isEmpty(meeting.getApplyApart()), Meeting::getApplyApart, meeting.getApplyApart()); + lqw.eq(!StringUtils.isEmpty(meeting.getTitle()), Meeting::getTitle, meeting.getTitle()); + lqw.eq(!StringUtils.isEmpty(meeting.getConnPhone()), Meeting::getConnPhone, meeting.getConnPhone()); +// lqw.eq(meeting.getFamilyId()!=null,Meeting::getFamilyId,meeting.getFamilyId()); + lqw.eq(!StringUtils.isEmpty(String.valueOf(meeting.getApplyPerson())), Meeting::getApplyPerson, meeting.getApplyPerson()); + lqw.eq(!StringUtils.isEmpty(String.valueOf(meeting.getPartPeople())), Meeting::getPartPeople, meeting.getPartPeople()); + lqw.eq(!StringUtils.isEmpty(meeting.getConnPerson()), Meeting::getConnPerson, meeting.getConnPerson()); + return lqw; + } + + + + @Override + public AjaxResult selectDataList(Meeting meeting, Integer pageNum, Integer pageSize) { + //瑕佹煡鑷繁瀹跺涵鐨� + ZInfoUser myself = zInfoUserService.getMyself(); + if(myself==null) + { + // System.out.println("ssssss"); + return AjaxResult.success("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�"); + } + Long familyId = myself.getFamilyId(); +// //涔熻鏌ュ埆浜烘巿鏉冪殑 +// List<ZAuthority> authority = zAuthorityService.getAuthority(); +// List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(DOCTOR_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); +// //鍔犱笂鑷繁瀹跺涵鐨刬d +// idList.add(familyId); +// String familyIds = listFamilyIds(); +// String secondFamilyAuthority = listSecondFamilyIds(); + LambdaQueryWrapper<Meeting> lqw = buildCondition(meeting); + + + Page<Meeting> meetingPage = new Page<>(pageNum, pageSize); + Page<Meeting> pageResult = page(meetingPage, lqw); + + List<Meeting> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� +// System.out.println(beanRecords); + + + + HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); + return AjaxResult.success(data); } + + + + @Override + public List<Meeting> selectByCondition(Meeting meeting) { + //瑕佹煡鑷繁瀹跺涵鐨� + 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()); +// //鍔犱笂鑷繁瀹跺涵鐨刬d +// idList.add(familyId); + + LambdaQueryWrapper<Meeting> lambdaQueryWrapper = buildCondition(meeting); + List<Meeting> beanRecords = list(lambdaQueryWrapper); + log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords); + return beanRecords; + } + + @Override + public List<Meeting> selectByIds(Long[] ids) { + List<Meeting> list = new ArrayList<>(); + if (ids.length != 0) + list = listByIds(Arrays.asList(ids)); + else + list = list(); + return list; + + } + + @Override + @Transactional + public AjaxResult importExcel(MultipartFile file) { + ExcelUtil<Meeting> util = new ExcelUtil<>(Meeting.class); + List<Meeting> dataList = null; + try { + dataList = util.importExcel(file.getInputStream()); + } catch (Exception e) { + throw new RuntimeException(e); + } + log.info("鏁版嵁鍒楄〃涓猴細{}", dataList); + + + for (Meeting meeting : dataList) { + meetingService.addData(meeting); + } + + return AjaxResult.success("瀵煎叆鏁版嵁鎴愬姛"); + + } + + @Override + public AjaxResult updateData(Meeting meeting) { +// ZInfoUser myself = zInfoUserService.getMyself(); +// Long familyId = myself.getFamilyId(); +// +// //鍏堟牴鎹甶d鏌ヨ鍑烘暟鎹殑familyId锛岀湅鐪嬫湁娌℃湁鏉冮檺鎿嶄綔 +// Long dataFamilyId = getById(zfDoctor.getId()).getFamilyId(); +// +// List<ZAuthority> authority = zAuthorityService.getAuthority(); +// List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(DOCTOR_LIST_UPDATE)).map(ZAuthority::getFid).collect(Collectors.toList()); +// familyIdList.add(familyId); + +// if (dataFamilyId!=null && !familyIdList.contains(dataFamilyId)) { +// throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); +// } + + //鎿嶄綔鍚庡姞鍏ユ棩蹇� + ZfLog zfLog = new ZfLog(); + zfLog.setUpdateTime(LocalDateTime.now()); + zfLog.setModule("浼氳"); + zfLog.setUpdater(zInfoUserService.getMyself().getNickName()); + zfLogService.save(zfLog); +// System.out.println("===================================="+meeting); + if(updateById(meeting)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + Meeting dataById = getById(meeting.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esSer.findByCtId(dataById.getId().intValue(), "浼氳"); +// System.out.println("===================================="+meeting); + if (esResult == null){ + return AjaxResult.success(); + } + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); +// System.out.println(meeting); +// System.out.println("=============="+meeting.getConnPhone()); + if(meeting.getTitle()!=null){ + newModel.setBy1(meeting.getTitle()); + }else { + newModel.setBy1(dataById.getTitle()); + } + + if(meeting.getPlace()!=null){ + newModel.setBy2(meeting.getPlace()); + }else { + newModel.setBy2(dataById.getPlace()); + } +// +// if(StringUtils.isNotEmpty(String.valueOf(meeting.getConPeople()))){ +// newModel.setBy8(meeting.getConPeople()); +// }else { +// newModel.setBy8(dataById.getConPeople()); +// } +// +// if(meeting.getPartPeople() == 0){ +// newModel.setBy9(meeting.getPartPeople()); +// }else { +// newModel.setBy9(dataById.getPartPeople()); +// } + + +// if(meeting.getApplyPerson() != 0){ +// newModel.setBy10(meeting.getApplyPerson()); +// }else { +// newModel.setBy10(dataById.getApplyPerson()); +// } +// +// if(meeting.getApplyApart()!=null){ +// newModel.setBy3(meeting.getApplyApart()); +// }else { +// newModel.setBy3(dataById.getApplyApart()); +// } +// +// if(String.valueOf(meeting.getStartTime()) != null){ +// newModel.setBy14(meeting.getStartTime()); +// }else { +// newModel.setBy14(dataById.getStartTime()); +// } +// +// if(String.valueOf(meeting.getEndTime()) != null){ +// newModel.setBy15(meeting.getEndTime()); +// }else { +// newModel.setBy15(dataById.getEndTime()); +// } + +// +// if(meeting.getIsPlacebrand() != 0 ){ +// newModel.setBy11(meeting.getIsPlacebrand()); +// }else { +// newModel.setBy11(dataById.getIsPlacebrand()); +// } +// +// if(meeting.getConnPhone()!=null){ +// newModel.setBy12(meeting.getConnPerson()); +// }else { +// newModel.setBy12(dataById.getConnPerson()); +// } + +// if(meeting.getConnPhone()!=null){ +// newModel.setBy4(meeting.getConnPhone()); +// }else { +// newModel.setBy4(dataById.getConnPhone()); +// } +// +// if(meeting.getStatu() != 0){ +// newModel.setBy13(meeting.getStatu()); +// }else { +// newModel.setBy13(dataById.getStatu()); +// } + +// if(String.valueOf(meeting.getCreateTime()) !=null){ +// newModel.setBy16(meeting.getCreateTime()); +// }else { +// newModel.setBy16(dataById.getCreateTime()); +// } + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + //"by3",newModel.getBy8(), + // "by4",newModel.getBy9(), + "by5",newModel.getBy10() + // "by6",newModel.getBy11(), + // "by7",newModel.getBy3(), + // "by8",newModel.getBy14(), + // "by9",newModel.getBy15(), + // "by10",newModel.getBy12(), + // "by11",newModel.getBy4(), + // "by12",newModel.getBy13(), + // "by13",newModel.getBy15() + + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + } + + @Override + public AjaxResult deleteData(Long[] ids) { + +// List<Meeting> dataList = meetingService.listByIds(Arrays.asList(ids)); +// +// ZInfoUser myself = zInfoUserService.getMyself(); +// Long familyId = myself.getFamilyId(); +// +// List<ZAuthority> authority = zAuthorityService.getAuthority(); +// List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EVENT_LIST_REMOVE)).map(ZAuthority::getFid).collect(Collectors.toList()); +// familyIdList.add(familyId); +// +// for (Meeting data : dataList) { +// if (!familyIdList.contains(data.getFamilyId())){ +// throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); +// } +// } + + List<Meeting> meetings = listByIds(Arrays.asList(ids)); + + if (meetingService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + meetings.stream().forEach(meeting -> { + EsModel esModel = esSer.findByCtId((meeting.getId().intValue()), "浼氳"); + 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(); + } + + } + + + + @Override + public AjaxResult addData(Meeting meeting) { + +// System.out.println("-----------------000000000000"); +// +// System.out.println(meeting.getStartTime()); +// 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 (meeting.getFamilyId()!=null && !familyIdList.contains(zfEvent.getFamilyId())) { +// throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); +// } +// +//// +// if(meeting.getFamilyId() == null){ +// //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� +// zfEvent.setFamilyId(familyId); +// } +// +// 鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� + LambdaQueryWrapper<Meeting> lqw = uniqueCondition(meeting); + List<Meeting> list = list(lqw); + + if(list.size()>0){ + throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); + } + + if (save(meeting)) { + EsModel esModel = new EsModel(); + Long inte =meeting.getId(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("浼氳璁板綍"); + esModel.setBy1(meeting.getTitle()); + esModel.setBy2(meeting.getPlace()); + // esModel.setBy8(meeting.getConPeople()); + // esModel.setBy9(meeting.getPartPeople()); + // esModel.setBy10(meeting.getApplyPerson()); + // esModel.setBy3(meeting.getApplyApart()); + // esModel.setBy14(meeting.getStartTime()); + // esModel.setBy15(meeting.getEndTime()); + // esModel.setBy11(meeting.getIsPlacebrand()); + // esModel.setBy12(meeting.getConnPerson()); + // esModel.setBy4(meeting.getConnPhone()); + // esModel.setBy13(meeting.getStatu()); + // esModel.setBy16( meeting.getCreateTime()); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esModel.setBy5("/zMeeting"); +// esModel.setFid(familyId); + esSer.insertTable(esModel); +// System.out.println(esModel); + + return AjaxResult.success(); + } else { + return AjaxResult.error(); + + } + } +} -- Gitblit v1.9.1