From 028bd9c7cccb1ba7569636c631fa3c83a16d3e48 Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期日, 23 四月 2023 17:29:31 +0800
Subject: [PATCH] 用户导出,案件成员导出
---
src/main/java/com/example/jz/modle/dto/CauseReportExpDto.java | 59 +++++++++++++++++++
src/main/java/com/example/jz/modle/dto/UserExpDto.java | 13 +++
src/main/java/com/example/jz/utils/EasyExcelUtils.java | 2
src/main/java/com/example/jz/controller/CauseController.java | 21 ++++++-
src/main/java/com/example/jz/controller/WxAppController.java | 1
src/main/java/com/example/jz/modle/vo/GroupUserVo.java | 2
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | 30 ++++++++-
src/main/resources/mapper/GroupDao.xml | 3
src/main/java/com/example/jz/service/CauseService.java | 3 +
9 files changed, 123 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/example/jz/controller/CauseController.java b/src/main/java/com/example/jz/controller/CauseController.java
index 403d41a..d92402d 100644
--- a/src/main/java/com/example/jz/controller/CauseController.java
+++ b/src/main/java/com/example/jz/controller/CauseController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.dao.GroupDao;
@@ -11,27 +12,31 @@
import com.example.jz.dao.MessageDao;
import com.example.jz.dao.ReportDao;
import com.example.jz.modle.R;
-import com.example.jz.modle.dto.AddReportDto;
-import com.example.jz.modle.dto.CauseDto;
-import com.example.jz.modle.dto.ReportParamDto;
+import com.example.jz.modle.dto.*;
import com.example.jz.modle.entity.Cause;
import com.example.jz.modle.entity.GroupUser;
+import com.example.jz.modle.entity.User;
import com.example.jz.modle.vo.NewCauseVo;
import com.example.jz.modle.vo.ReportListVo;
import com.example.jz.service.CauseService;
import com.example.jz.service.GroupService;
import com.example.jz.service.ReportService;
+import com.example.jz.utils.EasyExcelUtils;
import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import lombok.SneakyThrows;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 妗堜欢琛�(Cause)琛ㄦ帶鍒跺眰
@@ -115,6 +120,16 @@
return R.ok(causeService.getReporterList(causeId));
}
+ @PostMapping("/exp")
+ @ApiImplicitParam(name = "causeId", value = "妗堜欢id", required = true, dataType = "Integer")
+ @ApiOperation(httpMethod = "POST", value = "缇ゆ垚鍛樹俊鎭鍑�")
+ public void ReporterListExp(@RequestParam Integer causeId,HttpServletResponse response){
+ Cause one = causeService.getOne(Wrappers.<Cause>lambdaQuery().eq(Cause::getId, causeId));
+ List<CauseReportExpDto> res = causeService.getExpList(causeId);
+ String sheetName = "鐢ㄦ埛瀵煎嚭";
+ EasyExcelUtils.export1(response, sheetName, CauseReportExpDto.class, res, one.getName() + "妗堜欢鐢ㄦ埛瀵煎嚭");
+ }
+
@ApiOperation(httpMethod = "GET", value = "妗堜欢鍙�-妗堜欢褰曞叆-鑾峰彇妗堜欢缇ゅ叕鍛�")
@GetMapping("/getGroupAnnouncement")
@ApiResponse(message = "鎵ц鎴愬姛", code = 200)
diff --git a/src/main/java/com/example/jz/controller/WxAppController.java b/src/main/java/com/example/jz/controller/WxAppController.java
index 4b74b69..15defe0 100644
--- a/src/main/java/com/example/jz/controller/WxAppController.java
+++ b/src/main/java/com/example/jz/controller/WxAppController.java
@@ -438,6 +438,7 @@
messageMap.put("sex", user.getSex());
messageMap.put("pic", user.getPic());
messageMap.put("role", 0);
+ messageMap.put("remark", user.getUserMemo());
} else {
messageMap.put("id", item.getCopId());
User user = userService.getOne(new QueryWrapper<User>().eq("id", item.getCopId()));
diff --git a/src/main/java/com/example/jz/modle/dto/CauseReportExpDto.java b/src/main/java/com/example/jz/modle/dto/CauseReportExpDto.java
new file mode 100644
index 0000000..eb24325
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/dto/CauseReportExpDto.java
@@ -0,0 +1,59 @@
+package com.example.jz.modle.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class CauseReportExpDto {
+ @ApiModelProperty(value = "濮撳悕",dataType = "String", position = 0)
+ @ExcelProperty(value = "濮撳悕",index = 0)
+ @ColumnWidth(20)
+ private String realName;
+
+ @ApiModelProperty(value = "鎵嬫満鍙风爜",dataType = "String", position = 1)
+ @ExcelProperty(value = "鎵嬫満鍙风爜",index = 1)
+ @ColumnWidth(20)
+ private String userMobile;
+
+ @ApiModelProperty(value = "韬唤璇�",dataType = "String", position = 2)
+ @ExcelProperty(value = "韬唤璇�",index = 2)
+ @ColumnWidth(20)
+ private String userIdcard;
+
+ @ApiModelProperty(value = "鎬у埆",dataType = "String", position = 3)
+ @ExcelProperty(value = "鎬у埆",index = 3)
+ @ColumnWidth(10)
+ private String sex;
+
+ @ApiModelProperty(value = "鐜板眳鍦�",dataType = "String", position = 4)
+ @ExcelProperty(value = "鐜板眳鍦�",index = 4)
+ @ColumnWidth(20)
+ private String location;
+
+ @ApiModelProperty(value = "宸ヤ綔鍗曚綅鍦板潃",dataType = "String", position = 5)
+ @ExcelProperty(value = "宸ヤ綔鍗曚綅鍦板潃",index = 5)
+ @ColumnWidth(20)
+ private String workingLocation;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿",dataType = "Date",position = 6)
+ @ExcelProperty(value = "鍒涘缓鏃堕棿", index = 6)
+ @DateTimeFormat("yyyy/MM/dd HH:mm:ss")
+ @ColumnWidth(20)
+ private Date ctime;
+
+ @ApiModelProperty(value = "澶囨敞",dataType = "String", position = 7)
+ @ExcelProperty(value = "澶囨敞",index = 7)
+ @ColumnWidth(20)
+ private String userMemo;
+}
diff --git a/src/main/java/com/example/jz/modle/dto/UserExpDto.java b/src/main/java/com/example/jz/modle/dto/UserExpDto.java
index 5c2f0f8..445d0bd 100644
--- a/src/main/java/com/example/jz/modle/dto/UserExpDto.java
+++ b/src/main/java/com/example/jz/modle/dto/UserExpDto.java
@@ -2,6 +2,7 @@
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -16,36 +17,44 @@
@Builder
public class UserExpDto {
@ApiModelProperty(value = "濮撳悕",dataType = "String", position = 0)
- @ExcelProperty(value = "鎶ユ浜�",index = 0)
+ @ExcelProperty(value = "濮撳悕",index = 0)
+ @ColumnWidth(20)
private String realName;
@ApiModelProperty(value = "鎵嬫満鍙风爜",dataType = "String", position = 1)
@ExcelProperty(value = "鎵嬫満鍙风爜",index = 1)
+ @ColumnWidth(20)
private String userMobile;
@ApiModelProperty(value = "韬唤璇�",dataType = "String", position = 2)
@ExcelProperty(value = "韬唤璇�",index = 2)
+ @ColumnWidth(20)
private String userIdcard;
@ApiModelProperty(value = "鎬у埆",dataType = "String", position = 3)
@ExcelProperty(value = "鎬у埆",index = 3)
+ @ColumnWidth(10)
private String sex;
@ApiModelProperty(value = "鐜板眳鍦�",dataType = "String", position = 4)
@ExcelProperty(value = "鐜板眳鍦�",index = 4)
+ @ColumnWidth(20)
private String location;
@ApiModelProperty(value = "宸ヤ綔鍗曚綅鍦板潃",dataType = "String", position = 5)
@ExcelProperty(value = "宸ヤ綔鍗曚綅鍦板潃",index = 5)
+ @ColumnWidth(20)
private String workingLocation;
@ApiModelProperty(value = "鍒涘缓鏃堕棿",dataType = "Date",position = 6)
@ExcelProperty(value = "鍒涘缓鏃堕棿", index = 6)
- @DateTimeFormat("yyyy/MM/dd")
+ @DateTimeFormat("yyyy/MM/dd HH:mm:ss")
+ @ColumnWidth(20)
private Date ctime;
@ApiModelProperty(value = "澶囨敞",dataType = "String", position = 7)
@ExcelProperty(value = "澶囨敞",index = 7)
+ @ColumnWidth(20)
private String userMemo;
}
diff --git a/src/main/java/com/example/jz/modle/vo/GroupUserVo.java b/src/main/java/com/example/jz/modle/vo/GroupUserVo.java
index 0e0c000..e1616af 100644
--- a/src/main/java/com/example/jz/modle/vo/GroupUserVo.java
+++ b/src/main/java/com/example/jz/modle/vo/GroupUserVo.java
@@ -33,4 +33,6 @@
* 鏄惁绂佽█(0涓哄惁1涓烘槸锛�
*/
private Object banSpeech;
+
+ private String remark;
}
diff --git a/src/main/java/com/example/jz/service/CauseService.java b/src/main/java/com/example/jz/service/CauseService.java
index df5799a..f1cd793 100644
--- a/src/main/java/com/example/jz/service/CauseService.java
+++ b/src/main/java/com/example/jz/service/CauseService.java
@@ -4,6 +4,7 @@
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.CauseReportExpDto;
import com.example.jz.modle.entity.Announcement;
import com.example.jz.modle.entity.Cause;
import com.example.jz.modle.vo.*;
@@ -55,6 +56,8 @@
**/
PageParam<CauseReportVo> getReporterList(Integer causeId);
+ List<CauseReportExpDto> getExpList(Integer causeId);
+
/**
* @Description 妗堜欢缇ゅ叕鍛�
* @Param [groupId]
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 2a0731c..6c4b793 100644
--- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -13,10 +13,7 @@
import com.example.jz.enums.CauseEnums;
import com.example.jz.exception.BusinessException;
import com.example.jz.modle.PageParam;
-import com.example.jz.modle.dto.AddReportDto;
-import com.example.jz.modle.dto.AddReportLoadDto;
-import com.example.jz.modle.dto.CauseDto;
-import com.example.jz.modle.dto.CauseLoadDto;
+import com.example.jz.modle.dto.*;
import com.example.jz.modle.entity.*;
import com.example.jz.modle.vo.CauseReportVo;
import com.example.jz.modle.vo.CauseVo;
@@ -242,6 +239,31 @@
}
@Override
+ public List<CauseReportExpDto> getExpList(Integer causeId) {
+ List<Report> reports = reportDao.selectList(Wrappers.<Report>lambdaQuery().eq(Report::getCauseId, causeId));
+ List<Integer> userIds = reports.stream().map(report -> report.getUserId()).collect(Collectors.toList());
+ List<User> users = userDao.selectList(Wrappers.<User>lambdaQuery().in(User::getId, userIds));
+ List<CauseReportExpDto> res = users.stream().map(new Function<User, CauseReportExpDto>() {
+ @Override
+ public CauseReportExpDto apply(User user) {
+ CauseReportExpDto build = CauseReportExpDto.builder()
+ .realName(user.getRealName())
+ .userMobile(user.getUserMobile())
+ .userIdcard(user.getUserMobile())
+ .userIdcard(user.getUserIdcard())
+ .sex(user.getSex())
+ .location(user.getLocation())
+ .workingLocation(user.getWorkingLocation())
+ .ctime(user.getCtime())
+ .userMemo(user.getUserMemo())
+ .build();
+ return build;
+ }
+ }).collect(Collectors.toList());
+ return res;
+ }
+
+ @Override
public List<Announcement> getGroupAnnouncement(Integer groupId) {
return announcementDao.selectList(new QueryWrapper<Announcement>().eq("group_id", groupId));
}
diff --git a/src/main/java/com/example/jz/utils/EasyExcelUtils.java b/src/main/java/com/example/jz/utils/EasyExcelUtils.java
index f13ea1e..40b467e 100644
--- a/src/main/java/com/example/jz/utils/EasyExcelUtils.java
+++ b/src/main/java/com/example/jz/utils/EasyExcelUtils.java
@@ -31,7 +31,7 @@
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + fileName + ".xlsx");
+ response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + ".xlsx");
EasyExcel.write(response.getOutputStream(), className)
.sheet(sheetName)
.doWrite(collection);
diff --git a/src/main/resources/mapper/GroupDao.xml b/src/main/resources/mapper/GroupDao.xml
index e0d8f12..c3f3a16 100644
--- a/src/main/resources/mapper/GroupDao.xml
+++ b/src/main/resources/mapper/GroupDao.xml
@@ -7,10 +7,11 @@
<result property="groupId" column="group_id"/>
<result property="userName" column="real_name"/>
<result property="banSpeech" column="ban_speech"/>
+ <result property="remark" column="user_memo"/>
</resultMap>
<select id="getAllUser" resultMap="GroupUserVoMap">
- select group_user.user_id,group_user.group_id, group_user.ban_speech, user.real_name
+ select group_user.user_id,group_user.group_id, group_user.ban_speech, user.real_name, user.user_memo
FROM group_user
JOIN report ON report.id = group_user.user_id
JOIN `user` ON `user`.id = report.user_id
--
Gitblit v1.8.0