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.SysUser; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.*; import com.ruoyi.mapper.ZfShareMapper; import com.ruoyi.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @Service @Slf4j public class TravelDetailSharServiceImpl extends ServiceImpl implements TravelDetailSharService { @Resource TravelDetailService travelDetailService; @Resource private ZInfoUserService zInfoUserService; @Resource TravelCountSharService travelCountSharService; private LambdaQueryWrapper uniqueCondition(ZfShare zfShare) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(StringUtils.isNotEmpty(String.valueOf(zfShare.getShareId())), ZfShare::getShareId, zfShare.getShareId()); lqw.eq(StringUtils.isNotEmpty(String.valueOf(zfShare.getShareContent())), ZfShare::getShareContent, zfShare.getShareContent()); lqw.eq(StringUtils.isNotEmpty(String.valueOf(zfShare.getSysMenuId())), ZfShare::getSysMenuId, zfShare.getSysMenuId()); return lqw; } @Override public List getAuthority() { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfShare::getShareId,userId); return list(lqw); } public Long getUserId(){ ZInfoUser myself = zInfoUserService.getMyself(); return myself.getUserId(); } // public void addData(ZfShare za) // { // LambdaQueryWrapper lqw = uniqueCondition(za); // List list = list(lqw); // // if(list.size()>0){ // throw new RuntimeException("请勿分享重复数据"); // } // else { // // } // // } @Override public AjaxResult saveZa(ShareMore shareMore) { Long [] shareIds = shareMore.getShareIds(); Long [] shareContents = shareMore.getShareContents(); for (Long shareId : shareIds) { for (Long shareContent : shareContents) { ZfShare za = new ZfShare(); za.setUserId(getUserId()); za.setShareContent(shareContent); za.setShareId(shareId); za.setSysMenuId(2055L); save(za); // TravelDetail travelDetail =travelDetailService.getById(za.getShareContent()); // Long id = travelDetail.getCid(); // if (id != null){ // za.setId(za.getId()+1); // za.setSysMenuId(2056L); // za.setShareContent(id); // List travelCount = list(uniqueCondition(za)); // System.out.println("nmfiwwugn419526/"+za); // System.out.println(travelCount); // if (travelCount.size() == 0){ // addData(za); // }} } } // Long [] // if(bl) return AjaxResult.success("分享成功!"); } @Override public AjaxResult listByFidAid(ShareMore shareMore, Integer pageNo, Integer pageSize) { Long [] shareIds = shareMore.getShareIds(); List beanRecord3 = new ArrayList<>(); for (Long shareId : shareIds) { { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfShare::getShareId,shareId) .eq(ZfShare::getSysMenuId,shareMore.getSysMenuId()) .eq(ZfShare::getUserId, getUserId()); List beanRecords = list(lqw); for (ZfShare beanRecord : beanRecords ) { beanRecord3.add(travelDetailService.getById(beanRecord.getShareContent())); } } } List record = beanRecord3.stream().skip((pageNo-1)*pageSize).limit(pageSize).collect(Collectors.toList()); int totalPage = (beanRecord3.size() -1) / pageSize +1; Page travelDetailPage = new Page<>(pageNo, pageSize,totalPage); HashMap data = MapUtils.getShareResult(travelDetailPage, record,beanRecord3.size()); return AjaxResult.success(data); } @Override public AjaxResult deleteZa(ShareMore shareMore) { Long [] shareIds = shareMore.getShareIds(); Long [] shareContents = shareMore.getShareContents(); for(Long shareId : shareIds) for(Long shareContent: shareContents) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfShare::getShareId,shareId) .eq(ZfShare::getShareContent, shareContent) .eq(ZfShare::getSysMenuId, shareMore.getSysMenuId()) .eq(ZfShare::getUserId, getUserId()); remove(lqw); // addData(za); } return AjaxResult.success("数据收回成功!"); } @Override public AjaxResult listByUserId() { HashMap> bs = new HashMap<>(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfShare::getShareId,getUserId()); lqw.eq(ZfShare::getSysMenuId,2055L); List beanRecords = list(lqw); List b1 = new ArrayList<>(); for (ZfShare beanRecord : beanRecords ) { b1.add(travelDetailService.getById(beanRecord.getShareContent())); bs.put(beanRecord.getUserId(),b1); } log.info("从数据库中查到的为:{}", bs); return AjaxResult.success(bs); } @Override public AjaxResult listUserId(Integer pageNo, Integer pageSize) { List bs = new ArrayList<>(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfShare::getShareId,getUserId()); lqw.eq(ZfShare::getSysMenuId,2055L); List beanRecords = list(lqw); for (ZfShare beanRecord : beanRecords ) { TravelDetail bs2 = travelDetailService.getById(beanRecord.getShareContent()); bs2.setShareId(beanRecord.getUserId().intValue()); bs.add(bs2); } log.info("从数据库中查到的为:{}", bs); List record = bs.stream().skip((pageNo-1)*pageSize).limit(pageSize).collect(Collectors.toList()); int totalPage = (bs.size() -1) / pageSize +1; Page travelDetailPage = new Page<>(pageNo, pageSize,totalPage); HashMap data = MapUtils.getShareResult(travelDetailPage, record,bs.size()); return AjaxResult.success(data); } @Override public Long getShareId(ZfDownload zfDownload) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(ZfShare::getShareId, zfDownload.getDownloadId()) .eq(ZfShare::getShareContent, zfDownload.getDownloadContent()) .eq(ZfShare::getSysMenuId, zfDownload.getSysMenuId()); List beanRecords = list(lqw); if (beanRecords.size() != 0){ return beanRecords.get(0).getUserId(); } else { return null; } } }