From 9c6150c879432b21816618a256c166dc3801b1a2 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期二, 19 七月 2022 14:11:44 +0800 Subject: [PATCH] 群公告 导入导出 --- src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | 66 +++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java index bcc2ce5..5be530f 100644 --- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java @@ -1,30 +1,37 @@ package com.example.jz.service.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.*; +import com.example.jz.enums.CauseEnums; import com.example.jz.modle.PageParam; import com.example.jz.modle.dto.AddReportDto; import com.example.jz.modle.dto.CauseDto; +import com.example.jz.modle.dto.CauseLoadDto; import com.example.jz.modle.entity.*; -import com.example.jz.modle.vo.AnnouncementVo; import com.example.jz.modle.vo.CauseReportVo; import com.example.jz.modle.vo.CauseVo; import com.example.jz.modle.vo.UserVo; import com.example.jz.service.CauseService; +import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** - * 锟斤拷锟斤拷锟斤拷(Cause)锟斤拷锟斤拷锟绞碉拷锟斤拷锟� + * 妗堜欢琛�(Cause)琛ㄦ湇鍔″疄鐜扮被 * * @author makejava * @since 2022-07-13 11:52:58 @@ -56,7 +63,7 @@ BeanUtils.copyProperties(causeDto, cause); cause.setCtime(new Date()); causeService.save(cause); - //锟斤拷锟斤拷群锟斤拷 + //鍒涘缓缇ょ粍 Group group = new Group(); group.setCtime(new Date()); group.setGroupName(causeDto.getName()); @@ -136,15 +143,8 @@ } @Override - public List<AnnouncementVo> getGroupAnnouncement(Integer groupId) { - return announcementDao.selectList(new QueryWrapper<Announcement>().eq("group_id", groupId)).stream() - .map( - a -> { - AnnouncementVo announcementVo = new AnnouncementVo(); - BeanUtils.copyProperties(a, announcementVo); - return announcementVo; - } - ).collect(Collectors.toList()); + public List<Announcement> getGroupAnnouncement(Integer groupId) { + return announcementDao.selectList(new QueryWrapper<Announcement>().eq("group_id", groupId)); } @Override @@ -153,6 +153,48 @@ } @Override + @SneakyThrows + public void loadFile(MultipartFile multipartFile) { + ArrayList<CauseLoadDto> causeLoadDtos = new ArrayList<>(); + EasyExcel.read(multipartFile.getInputStream(),CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() { + @Override + public void invoke(CauseLoadDto data, AnalysisContext context) { + causeLoadDtos.add(data); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }) + .autoCloseStream(true) + .doReadAll(); + causeLoadDtos.forEach( + a -> { + Cause cause = new Cause(); + BeanUtils.copyProperties(a, cause); + if (a.getStatus().equals(CauseEnums.UNCHECKED.getMsg())) { + cause.setStatus(CauseEnums.UNCHECKED.value()); + } + if (a.getStatus().equals(CauseEnums.NOTTOPUTONRECORD.getMsg())) { + cause.setStatus(CauseEnums.NOTTOPUTONRECORD.value()); + } + if (a.getStatus().equals(CauseEnums.UNDERCONSIDERATION.getMsg())) { + cause.setStatus(CauseEnums.UNDERCONSIDERATION.value()); + } + if (a.getStatus().equals(CauseEnums.CASECLOSED.getMsg())) { + cause.setStatus(CauseEnums.CASECLOSED.value()); + } + if (a.getStatus().equals(CauseEnums.HASBEENDROPPED.getMsg())) { + cause.setStatus(CauseEnums.HASBEENDROPPED.value()); + } + cause.setCtime(new Date()); + cause.setUserId(userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId()); + causeDao.insert(cause); + }); + } + + @Override @Transactional public Boolean addReportPeople(AddReportDto addReportDto) { User user = userDao.selectOne(new LambdaQueryWrapper<User>(User.class).eq(User::getUserIdcard, addReportDto.getIdcard())); -- Gitblit v1.8.0