From db9e568e346c07b574c5fbe59041889309f0642c Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期一, 29 五月 2023 22:09:30 +0800 Subject: [PATCH] 123 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelBaseServiceImpl.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 112 insertions(+), 0 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelBaseServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelBaseServiceImpl.java index 051994a..c1af08f 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelBaseServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelBaseServiceImpl.java @@ -1,10 +1,28 @@ 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.common.utils.poi.ExcelUtil; +import com.ruoyi.domain.*; +import com.ruoyi.domain.ZTravelBase; +import com.ruoyi.domain.ZTravelBase; import com.ruoyi.domain.ZTravelBase; import com.ruoyi.mapper.ZTravelBaseMapper; import com.ruoyi.service.ZTravelBaseService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; /** * <p> @@ -17,4 +35,98 @@ @Service public class ZTravelBaseServiceImpl extends ServiceImpl<ZTravelBaseMapper, ZTravelBase> implements ZTravelBaseService { + @Autowired + ZTravelBaseService zTravelBaseService; + + @Override + public AjaxResult selectDataList(String fid, ZTravelBase zTravelBase, Integer pageNum, Integer pageSize) { + + LambdaQueryWrapper<ZTravelBase> lqw = buildCondition(zTravelBase, fid); + + Page<ZTravelBase> pageBean = new Page<>(pageNum, pageSize); + Page<ZTravelBase> pageResult = page(pageBean, lqw); + + List<ZTravelBase> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� + + HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); + return AjaxResult.success(data); + + } + + @Override + public List<ZTravelBase> selectByIds(Long[] ids) { + List<ZTravelBase> list = new ArrayList<>(); + if(ids.length!=0) + list = listByIds(Arrays.asList(ids)); + else + list = list(); + return list; + } + + @Override + public AjaxResult mySave(ZTravelBase zTravelBase) { + + //妫�鏌ユ槸鍚︽湁閲嶅鏁版嵁鎻掑叆 + LambdaQueryWrapper<ZTravelBase> lqw = uniqueCondition(zTravelBase); + List<ZTravelBase> list = list(lqw); + if(list.size()>0){ + throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); + } + + if (save(zTravelBase)) { + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + } + + @Override + public AjaxResult importExcel(MultipartFile file) { + + ExcelUtil<ZTravelBase> util = new ExcelUtil<>(ZTravelBase.class); + List<ZTravelBase> dataList = null; + try { + dataList = util.importExcel(file.getInputStream()); + } catch (Exception e) { + throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁"); + } + + assert dataList != null; + + for (ZTravelBase zTravelBase : dataList) { + zTravelBaseService.mySave(zTravelBase); + } + + return AjaxResult.success(); + + + + } + + private LambdaQueryWrapper<ZTravelBase> uniqueCondition(ZTravelBase zTravelBase) { + LambdaQueryWrapper<ZTravelBase> lqw = new LambdaQueryWrapper<>(); + lqw.eq(zTravelBase.getFeeId()!=null,ZTravelBase::getFeeId,zTravelBase.getFeeId()) + .eq(StringUtils.isNotEmpty(zTravelBase.getAddress()),ZTravelBase::getAddress,zTravelBase.getAddress()) + .eq(StringUtils.isNotEmpty(zTravelBase.getPeople()),ZTravelBase::getPeople,zTravelBase.getPeople()) + .eq(StringUtils.isNotEmpty(zTravelBase.getTitle()),ZTravelBase::getTitle,zTravelBase.getTitle()) + .eq(StringUtils.isNotEmpty(zTravelBase.getTravelPeriod()),ZTravelBase::getTravelPeriod,zTravelBase.getTravelPeriod()) + .eq(StringUtils.isNotEmpty(zTravelBase.getCertificate()),ZTravelBase::getCertificate,zTravelBase.getCertificate()) + .eq(StringUtils.isNotEmpty(zTravelBase.getRemark()),ZTravelBase::getRemark,zTravelBase.getRemark()) + .eq(zTravelBase.getTotalPrice()!=null,ZTravelBase::getTotalPrice,zTravelBase.getTotalPrice()) + .eq(zTravelBase.getSelf()!=null,ZTravelBase::getSelf,zTravelBase.getSelf()); + return lqw; + + + } + + private LambdaQueryWrapper<ZTravelBase> buildCondition(ZTravelBase zTravelBase, String fid) { + LambdaQueryWrapper<ZTravelBase> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZTravelBase::getFeeId,fid) + .between(zTravelBase.getHappenStartTime()!=null && zTravelBase.getHappenEndTime()!=null,ZTravelBase::getHappenTime,zTravelBase.getHappenStartTime(),zTravelBase.getHappenEndTime()) + .like(StringUtils.isNotEmpty(zTravelBase.getAddress()),ZTravelBase::getAddress,zTravelBase.getAddress()) + .like(StringUtils.isNotEmpty(zTravelBase.getPeople()),ZTravelBase::getPeople,zTravelBase.getPeople()) + .like(StringUtils.isNotEmpty(zTravelBase.getTitle()),ZTravelBase::getTitle,zTravelBase.getTitle()); + lqw.orderByDesc(ZTravelBase::getCreateTime); + return lqw; + } } -- Gitblit v1.9.1