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