| | |
| | | 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; |
| | |
| | | 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)表控制层 |
| | |
| | | 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) |
| | |
| | | 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())); |
New file |
| | |
| | | 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; |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | @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; |
| | | |
| | | } |
| | |
| | | * 是否禁言(0为否1为是) |
| | | */ |
| | | private Object banSpeech; |
| | | |
| | | private String remark; |
| | | } |
| | |
| | | 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.*; |
| | |
| | | **/ |
| | | PageParam<CauseReportVo> getReporterList(Integer causeId); |
| | | |
| | | List<CauseReportExpDto> getExpList(Integer causeId); |
| | | |
| | | /** |
| | | * @Description 案件群公告 |
| | | * @Param [groupId] |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @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)); |
| | | } |
| | |
| | | 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); |
| | |
| | | <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 |