| | |
| | | |
| | | package com.ruoyi.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | |
| | | import com.ruoyi.common.core.domain.entity.EsModel; |
| | | import com.ruoyi.common.utils.MapUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.domain.ZInfoUser; |
| | | import com.ruoyi.domain.ZfClan; |
| | | import com.ruoyi.domain.ZfLog; |
| | | import com.ruoyi.domain.*; |
| | | import com.ruoyi.mapper.ZfClanMapper; |
| | | import com.ruoyi.service.EsService; |
| | | import com.ruoyi.service.ZInfoUserService; |
| | | import com.ruoyi.service.ZfClanService; |
| | | import com.ruoyi.service.ZfLogService; |
| | | import com.ruoyi.service.*; |
| | | import org.elasticsearch.action.delete.DeleteRequest; |
| | | import org.elasticsearch.action.update.UpdateRequest; |
| | | import org.elasticsearch.client.RequestOptions; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.IOException; |
| | | import java.sql.SQLIntegrityConstraintViolationException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | public class ZfClanServiceImpl extends ServiceImpl<ZfClanMapper,ZfClan> implements ZfClanService { |
| | |
| | | @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()) |
| | | .like(zfClan.getAdminId() !=0, ZfClan::getAdminId, zfClan.getAdminId()) |
| | | .like(zfClan.getDadId() !=0 , ZfClan::getDadId, zfClan.getDadId()) |
| | | .like(zfClan.getMomId() !=0, ZfClan::getMomId, zfClan.getMomId()); |
| | | 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()); |
| | | lqw.eq(zfClan.getAdminId() !=0, ZfClan::getAdminId, zfClan.getAdminId()); |
| | | lqw.eq(zfClan.getDadId() !=0 , ZfClan::getDadId, zfClan.getDadId()); |
| | | lqw.eq(zfClan.getMomId() !=0, ZfClan::getMomId, zfClan.getMomId()); |
| | | return lqw; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | |
| | | */ |
| | | public Long getUserId(){ |
| | | ZInfoUser myself = zInfoUserService.getMyself(); |
| | | |
| | | return myself.getUserId(); |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public AjaxResult selectDataList(ZfClan zfClan, Integer pageNum, Integer pageSize) { |
| | |
| | | |
| | | Page<ZfClan> zfClanPage = new Page<>(pageNum, pageSize); |
| | | Page<ZfClan> pageResult = page(zfClanPage, lqw); |
| | | |
| | | List<ZfClan> beanRecords = pageResult.getRecords();//得到查询出来的数据 |
| | | // System.out.println(beanRecords); |
| | | |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); |
| | | return AjaxResult.success(data); |
| | | 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) { |
| | | |
| | | System.out.println("8008888//"+zfClan.getClanId()); |
| | | LambdaQueryWrapper<ZfClan> lambdaQueryWrapper = buildCondition(zfClan); |
| | | lambdaQueryWrapper.eq(zfClan.getClanId()!=null,ZfClan::getClanId,zfClan.getClanId()); |
| | | |
| | | return list(lambdaQueryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<ZfClan> selectByIds(Long[] ids) { |
| | | List<ZfClan> list = new ArrayList<>(); |
| | | if(ids.length!=0) |
| | | list = listByIds(Arrays.asList(ids)); |
| | | else |
| | | list = list(); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult addData(ZfClan zfClan) { |
| | |
| | | if(list.size()>0){ |
| | | throw new RuntimeException("请勿新增重复家族"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if (save(zfClan)) { |
| | | EsModel esModel = new EsModel(); |
| | |
| | | esSer.insertTable(esModel); |
| | | // System.out.println(esModel); |
| | | |
| | | |
| | | return AjaxResult.success(); |
| | | } else { |
| | | return AjaxResult.error(); |
| | |
| | | @Override |
| | | public AjaxResult updateData(ZfClan zfClan) { |
| | | |
| | | List<ZfClan> lqw = list(buildCondition(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()); |
| | | // zfLog.setUpdater(zInfoUserService.getMyself().getNickName()); |
| | | zfLogService.save(zfLog); |
| | | |
| | | LambdaQueryWrapper<ZfClan> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.orderByDesc(ZfClan::getClanId); |
| | | lqw.eq(StringUtils.isNotEmpty(zfClan.getClanName()), ZfClan::getClanName, zfClan.getClanName()); |
| | | List<ZfClan> lis = this.list(lqw); |
| | | // System.out.println("===================================="+meeting); |
| | | if(updateById(zfClan)){ |
| | | //到数据库中查询对应的数据 |
| | | ZfClan dataById = getById(zfClan.getClanId()); |
| | | if(lis.size()>0) |
| | | { |
| | | return AjaxResult.success("家族名称不能重复!"); |
| | | |
| | | //先到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(); |
| | | } |
| | | else |
| | | { |
| | | boolean res = updateById(zfClan); |
| | | return AjaxResult.success(); |
| | | } |
| | | |
| | | // if(res){ |
| | | |
| | | // }else { |
| | | // return AjaxResult.success("家族名称不能重复!"); |
| | | // } |
| | | |
| | | |
| | | |
| | | // return AjaxResult.success("家族名称不能重复!"); |
| | | // //到数据库中查询对应的数据 |
| | | // 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); |
| | | // } |
| | | |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult deleteData(Long[] ids) { |
| | | public AjaxResult deleteData(Long ids) { |
| | | List<ZfClan> zfClans = listByIds(Arrays.asList(ids)); |
| | | for (ZfClan zfClan : zfClans) { |
| | | if (!zfClan.getAdminId().equals(getUserId())) { |
| | | throw new RuntimeException("您不是管理员,没有权力删除该家族"); |
| | | } |
| | | } |
| | | |
| | | zfAncestorService.deleteMember(ids); |
| | | if (zfClanService.removeByIds(Arrays.asList(ids))) { |
| | | |
| | | //删除es中的数据 |
| | |
| | | } |
| | | }); |
| | | |
| | | |
| | | |
| | | return AjaxResult.success(); |
| | | } else { |
| | | return AjaxResult.error(); |
| | | } |
| | | }} |
| | | |