| | |
| | | package com.ruoyi.service.impl;public class ZfClanServiceImpl { |
| | | } |
| | | |
| | | 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.domain.*; |
| | | import com.ruoyi.mapper.ZfClanMapper; |
| | | import com.ruoyi.service.*; |
| | | 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 javax.annotation.Resource; |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class ZfClanServiceImpl extends ServiceImpl<ZfClanMapper,ZfClan> implements ZfClanService { |
| | | |
| | | @Resource |
| | | private EsService esSer; |
| | | |
| | | @Resource |
| | | ZfLogService zfLogService; |
| | | |
| | | @Resource |
| | | ZInfoUserService zInfoUserService; |
| | | |
| | | @Resource |
| | | private RestHighLevelClient restHighLevelClient; |
| | | |
| | | @Resource |
| | | private ZfClanService zfClanService; |
| | | |
| | | @Resource |
| | | private ZfAncestorService zfAncestorService; |
| | | |
| | | |
| | | private LambdaQueryWrapper<ZfClan> buildCondition(ZfClan zfClan) { |
| | | LambdaQueryWrapper<ZfClan> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.orderByDesc(ZfClan::getClanId); |
| | | lqw.like(StringUtils.isNotEmpty(zfClan.getClanName()), ZfClan::getClanName, zfClan.getClanName()); |
| | | return lqw; |
| | | } |
| | | |
| | | private LambdaQueryWrapper<ZfClan> uniqueCondition(ZfClan zfClan){ |
| | | LambdaQueryWrapper<ZfClan> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.eq(!StringUtils.isEmpty(zfClan.getClanName()), ZfClan::getClanName, zfClan.getClanName()); |
| | | return lqw; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * 获取当前用户的sysUserId |
| | | * @return |
| | | */ |
| | | public Long getUserId(){ |
| | | ZInfoUser myself = zInfoUserService.getMyself(); |
| | | |
| | | return myself.getUserId(); |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public AjaxResult selectDataList(ZfClan zfClan, Integer pageNum, Integer pageSize) { |
| | | LambdaQueryWrapper<ZfClan> lqw = buildCondition(zfClan); |
| | | |
| | | |
| | | Page<ZfClan> zfClanPage = new Page<>(pageNum, pageSize); |
| | | Page<ZfClan> pageResult = page(zfClanPage, lqw); |
| | | |
| | | List<ZfClan> beanRecords = pageResult.getRecords();//得到查询出来的数据 |
| | | |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); |
| | | return AjaxResult.success(data); } |
| | | |
| | | @Override |
| | | public AjaxResult selectData() { |
| | | List<ZfClan> lis = this.list(); |
| | | return AjaxResult.success(lis); |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult selectDataList(ZfClan zfClan){ |
| | | LambdaQueryWrapper<ZfClan> lqw = buildCondition(zfClan); |
| | | List<ZfClan> zfClans = list(lqw); |
| | | List<ZfClan> satisfyList = new ArrayList<>(); |
| | | for (ZfClan zfClan1: zfClans) { |
| | | if (zfAncestorService.count(zfClan1.getClanId())){ |
| | | satisfyList.add(zfClan1);} |
| | | } |
| | | return AjaxResult.success(satisfyList); |
| | | } |
| | | |
| | | @Override |
| | | public List<ZfClan> selectByCondition(ZfClan zfClan) { |
| | | |
| | | |
| | | LambdaQueryWrapper<ZfClan> lambdaQueryWrapper = buildCondition(zfClan); |
| | | List<ZfClan> beanRecords = list(lambdaQueryWrapper); |
| | | return beanRecords; |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult addData(ZfClan zfClan) { |
| | | LambdaQueryWrapper<ZfClan> lqw = uniqueCondition(zfClan); |
| | | List<ZfClan> list = list(lqw); |
| | | |
| | | if(list.size()>0){ |
| | | throw new RuntimeException("请勿新增重复家族"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if (save(zfClan)) { |
| | | EsModel esModel = new EsModel(); |
| | | Integer inte =zfClan.getClanId(); |
| | | String uuid = UUID.randomUUID().toString().replace("-",""); |
| | | esModel.setId(uuid); |
| | | esModel.setCtId(Long.valueOf(inte)); |
| | | esModel.setCtTableName("家族"); |
| | | esModel.setBy1(zfClan.getClanName()); |
| | | |
| | | esModel.setBy5("/zfClan"); |
| | | // esModel.setFid(familyId); |
| | | esSer.insertTable(esModel); |
| | | // System.out.println(esModel); |
| | | |
| | | |
| | | return AjaxResult.success(); |
| | | } else { |
| | | return AjaxResult.error(); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public AjaxResult updateData(ZfClan zfClan) { |
| | | |
| | | // if (!Long.valueOf(zfClanService.getById(zfClan.getClanId()).getAdminId()).equals(getUserId())) { |
| | | // 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(zfClan)){ |
| | | //到数据库中查询对应的数据 |
| | | ZfClan dataById = getById(zfClan.getClanId()); |
| | | |
| | | //先到es中查询到对应那条数据在es的id |
| | | EsModel esResult = esSer.findByCtId(dataById.getClanId(), "家族"); |
| | | // System.out.println("===================================="+meeting); |
| | | if (esResult == null){ |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | //操作es修改数据 |
| | | EsModel newModel = new EsModel(); |
| | | if(zfClan.getClanName()!=null){ |
| | | newModel.setBy1(zfClan.getClanName()); |
| | | }else { |
| | | newModel.setBy1(dataById.getClanName()); |
| | | } |
| | | // |
| | | |
| | | UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); |
| | | updateRequest.doc( |
| | | "by1",newModel.getBy1() |
| | | |
| | | ); |
| | | |
| | | 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<ZfClan> zfClans = listByIds(Arrays.asList(ids)); |
| | | |
| | | zfAncestorService.deleteMember(ids); |
| | | if (zfClanService.removeByIds(Arrays.asList(ids))) { |
| | | |
| | | //删除es中的数据 |
| | | zfClans.stream().forEach(zfClan -> { |
| | | EsModel esModel = esSer.findByCtId((zfClan.getClanId().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(); |
| | | } |
| | | }} |
| | | |