From dc194fb281e0e4c4ec34549adb4ad11f3cb67b35 Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期一, 05 六月 2023 20:13:30 +0800 Subject: [PATCH] 123 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 119 insertions(+), 0 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaServiceImpl.java index d5f5f0b..ce7ff0b 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZIdeaServiceImpl.java @@ -1,11 +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.ZIdea; import com.ruoyi.domain.ZIdea; import com.ruoyi.mapper.ZIdeaMapper; import com.ruoyi.service.ZIdeaService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; /** * <p> @@ -18,4 +35,106 @@ @Service public class ZIdeaServiceImpl extends ServiceImpl<ZIdeaMapper, ZIdea> implements ZIdeaService { + @Autowired + ZIdeaServiceImpl zIdeaService; + + private LambdaQueryWrapper<ZIdea> uniqueCondition(ZIdea zIdea) { + LambdaQueryWrapper<ZIdea> lqw = new LambdaQueryWrapper<>(); + lqw.eq(StringUtils.isNotEmpty(zIdea.getTitle()), ZIdea::getTitle, zIdea.getTitle()) + .eq(StringUtils.isNotEmpty(zIdea.getCause()), ZIdea::getCause, zIdea.getCause()) + .eq(StringUtils.isNotEmpty(zIdea.getBeneficiary()), ZIdea::getBeneficiary, zIdea.getBeneficiary()) + .eq(StringUtils.isNotEmpty(zIdea.getHeir()), ZIdea::getHeir, zIdea.getHeir()) + .eq(StringUtils.isNotEmpty(zIdea.getDifficulty()), ZIdea::getDifficulty, zIdea.getDifficulty()) + .eq(zIdea.getHappenTime() != null, ZIdea::getHappenTime, zIdea.getHappenTime()) + .eq(zIdea.getIsEffective() != null, ZIdea::getIsEffective, zIdea.getIsEffective()) + .eq(StringUtils.isNotEmpty(zIdea.getRemark()), ZIdea::getRemark, zIdea.getRemark()) + .eq(zIdea.getUid() != null, ZIdea::getUid, zIdea.getUid()); + return lqw; + } + + private LambdaQueryWrapper<ZIdea> buildCondition(ZIdea zIdea, Long userId) { + LambdaQueryWrapper<ZIdea> lqw = new LambdaQueryWrapper<>(); + lqw.eq(userId != null, ZIdea::getUid, userId) + .like(StringUtils.isNotEmpty(zIdea.getTitle()), ZIdea::getTitle, zIdea.getTitle()) + .like(StringUtils.isNotEmpty(zIdea.getBeneficiary()), ZIdea::getBeneficiary, zIdea.getBeneficiary()) + .like(StringUtils.isNotEmpty(zIdea.getHeir()), ZIdea::getHeir, zIdea.getHeir()) + .between(zIdea.getHappenStartTime() != null && zIdea.getHappenEndTime() != null, ZIdea::getHappenTime, zIdea.getHappenStartTime(), zIdea.getHappenEndTime()) + .orderByDesc(ZIdea::getCreateTime); + return lqw; + } + + /** + * 鍒嗛〉鏌ユ壘 + */ + @Override + public AjaxResult selectDataList(ZIdea zIdea, Integer pageNum, Integer pageSize) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + LambdaQueryWrapper<ZIdea> lqw = buildCondition(zIdea, userId); + + Page<ZIdea> pageBean = new Page<>(pageNum, pageSize); + Page<ZIdea> pageResult = page(pageBean, lqw); + + List<ZIdea> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� + + HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); + return AjaxResult.success(data); + + } + + + @Override + public List<ZIdea> selectByIds(Long[] ids) { + List<ZIdea> list = new ArrayList<>(); + if (ids.length != 0) + list = listByIds(Arrays.asList(ids)); + else + list = list(); + return list; + } + + @Override + public AjaxResult mySave(ZIdea zIdea) { + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + zIdea.setUid(userId); + + //妫�鏌ユ槸鍚︽湁閲嶅鏁版嵁鎻掑叆 + LambdaQueryWrapper<ZIdea> lqw = uniqueCondition(zIdea); + List<ZIdea> list = list(lqw); + if (list.size() > 0) { + throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); + } + + if (save(zIdea)) { + return AjaxResult.success(); + } else { + return AjaxResult.error(); + } + + } + + @Override + @Transactional + public AjaxResult importExcel(MultipartFile file) { + + ExcelUtil<ZIdea> util = new ExcelUtil<>(ZIdea.class); + List<ZIdea> dataList = null; + try { + dataList = util.importExcel(file.getInputStream()); + } catch (Exception e) { + throw new RuntimeException("娌℃湁鎸夌収瑙勫垯瀵煎叆鏁版嵁"); + } + + assert dataList != null; + + for (ZIdea zIdea : dataList) { + zIdeaService.mySave(zIdea); + } + + return AjaxResult.success(); + + } + + } -- Gitblit v1.9.1