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/modle/entity/Cause.java | 22
src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java | 55 +++
src/main/java/com/example/jz/dao/ReportDao.java | 2
src/main/java/com/example/jz/controller/ReportController.java | 19 +
src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java | 64 ++++
src/main/java/com/example/jz/controller/CauseController.java | 18 +
src/main/java/com/example/jz/enums/CauseEnums.java | 31 ++
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | 66 +++
pom.xml | 5
src/main/java/com/example/jz/service/AnnouncementService.java | 26 +
/dev/null | 131 ---------
src/main/java/com/example/jz/modle/dto/CauseLoadDto.java | 43 +++
src/main/java/com/example/jz/service/ReportService.java | 3
src/main/java/com/example/jz/controller/UserController.java | 70 +---
src/main/java/com/example/jz/modle/vo/AnnouncementVo.java | 23 +
src/main/java/com/example/jz/controller/GroupUserController.java | 85 ++++++
src/main/java/com/example/jz/modle/dto/CauseDto.java | 1
src/main/java/com/example/jz/service/CauseService.java | 11
src/main/java/com/example/jz/modle/dto/ReportParamDto.java | 2
src/main/java/com/example/jz/controller/AnnouncementController.java | 87 ++---
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java | 73 +++++
21 files changed, 566 insertions(+), 271 deletions(-)
diff --git a/pom.xml b/pom.xml
index 9b62808..8b63f80 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,6 +82,11 @@
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
+ <dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>easyexcel</artifactId>
+ <version>3.0.5</version>
+ </dependency>
<!-- hutool 宸ュ叿鍖� -->
<dependency>
<groupId>cn.hutool</groupId>
diff --git a/src/main/java/com/example/jz/controller/AnnouncementController.java b/src/main/java/com/example/jz/controller/AnnouncementController.java
index d537234..9e658d6 100644
--- a/src/main/java/com/example/jz/controller/AnnouncementController.java
+++ b/src/main/java/com/example/jz/controller/AnnouncementController.java
@@ -1,17 +1,14 @@
package com.example.jz.controller;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.example.jz.modle.entity.Announcement;
import com.example.jz.modle.R;
+import com.example.jz.modle.entity.Announcement;
import com.example.jz.service.AnnouncementService;
-import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
-import java.io.Serializable;
-import java.util.List;
/**
* 鍏憡琛�(Announcement)琛ㄦ帶鍒跺眰
@@ -28,59 +25,45 @@
@Resource
private AnnouncementService announcementService;
- /**
- * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
- *
- * @param page 鍒嗛〉瀵硅薄
- * @param announcement 鏌ヨ瀹炰綋
- * @return 鎵�鏈夋暟鎹�
- */
- @GetMapping
- public R<Page<Announcement>> selectAll(Page<Announcement> page, Announcement announcement) {
- return R.ok(this.announcementService.page(page, new QueryWrapper<>(announcement)));
+ @ApiOperation(httpMethod = "GET", value = "缇ゅ叕鍛婃煡璇�")
+ @GetMapping("/getAnnouncements")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ public R getAnnouncements(@RequestParam(value = "size") Integer size,
+ @RequestParam(value = "current") Integer current,
+ @RequestParam(value = "groupId") Integer groupId,
+ @RequestParam(value = "content", required = false) String content,
+ @RequestParam(value = "status", required = false) Integer status) {
+ return R.ok(announcementService.getAnnouncements(size, current, content, status, groupId));
}
- /**
- * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁
- *
- * @param id 涓婚敭
- * @return 鍗曟潯鏁版嵁
- */
- @GetMapping("{id}")
- public R selectOne(@PathVariable Serializable id) {
- return R.ok(this.announcementService.getById(id));
+ @ApiOperation(httpMethod = "POST", value = "缇ゅ叕鍛婃坊鍔�")
+ @PostMapping("/add")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ public R insert(@RequestParam(value = "groupId") Integer groupId, @RequestBody Announcement announcement) {
+ return R.ok(announcementService.add(groupId, announcement));
}
- /**
- * 鏂板鏁版嵁
- *
- * @param announcement 瀹炰綋瀵硅薄
- * @return 鏂板缁撴灉
- */
- @PostMapping
- public R insert(@RequestBody Announcement announcement) {
- return R.ok(this.announcementService.save(announcement));
+ @ApiOperation(httpMethod = "PUT", value = "缇ゅ叕鍛婂彂甯�")
+ @PutMapping("/updateStatusPublic")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ public R updateStatusPublic(@RequestParam(value = "id") Integer id) {
+ announcementService.updateStatus(id);
+ return R.ok();
}
- /**
- * 淇敼鏁版嵁
- *
- * @param announcement 瀹炰綋瀵硅薄
- * @return 淇敼缁撴灉
- */
- @PutMapping
- public R update(@RequestBody Announcement announcement) {
- return R.ok(this.announcementService.updateById(announcement));
+ @ApiOperation(httpMethod = "PUT", value = "缇ゅ叕鍛婁笅鏋�")
+ @PutMapping("/updateStatusUnshelve")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ public R updateStatusUnshelve(@RequestParam(value = "id") Integer id) {
+ announcementService.updateStatusUnshelve(id);
+ return R.ok();
}
- /**
- * 鍒犻櫎鏁版嵁
- *
- * @param idList 涓婚敭缁撳悎
- * @return 鍒犻櫎缁撴灉
- */
- @DeleteMapping
- public R delete(@RequestParam("idList") List<Long> idList) {
- return R.ok(this.announcementService.removeByIds(idList));
+ @ApiOperation(httpMethod = "DELETE", value = "缇ゅ叕鍛婂垹闄�")
+ @DeleteMapping("/delete")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ public R delete(@RequestParam(value = "id") Integer id) {
+ announcementService.removeById(id);
+ return R.ok();
}
}
diff --git a/src/main/java/com/example/jz/controller/CauseController.java b/src/main/java/com/example/jz/controller/CauseController.java
index fbe2d62..a5cde56 100644
--- a/src/main/java/com/example/jz/controller/CauseController.java
+++ b/src/main/java/com/example/jz/controller/CauseController.java
@@ -8,16 +8,18 @@
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.entity.Report;
import com.example.jz.modle.vo.ReportListVo;
import com.example.jz.service.CauseService;
import com.example.jz.service.ReportService;
-import com.example.jz.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
+import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
/**
* 妗堜欢琛�(Cause)琛ㄦ帶鍒跺眰
@@ -27,11 +29,12 @@
*/
@RestController
@RequestMapping("cause")
-@Api(tags = "妗堜欢鍖�")
+@Api(tags = "妗堜欢鍖�-妗堜欢褰曞叆")
public class CauseController extends ApiController {
/**
* 鏈嶅姟瀵硅薄
*/
+ @Resource
private CauseService causeService;
private ReportService reportService;
@@ -98,6 +101,15 @@
return R.ok();
}
+ @ApiOperation(httpMethod = "POST", value = "妗堜欢瀵煎叆")
+ @PostMapping("/upload")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ @SneakyThrows
+ public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) {
+ causeService.loadFile(multipartFile);
+ return R.ok();
+ }
+
@ApiOperation(httpMethod = "GET", value = "鏍规嵁缇ょ粍id鏌ヨ妗堜欢鍒嗛〉")
@GetMapping("/getAllReportList")
@ApiResponse(message = "鎵ц鎴愬姛", code = 200)
diff --git a/src/main/java/com/example/jz/controller/GroupUserController.java b/src/main/java/com/example/jz/controller/GroupUserController.java
new file mode 100644
index 0000000..12deb72
--- /dev/null
+++ b/src/main/java/com/example/jz/controller/GroupUserController.java
@@ -0,0 +1,85 @@
+package com.example.jz.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.api.ApiController;
+import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.example.jz.modle.entity.GroupUser;
+import com.example.jz.service.GroupUserService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛鍜岀兢涓棿琛�(GroupUser)琛ㄦ帶鍒跺眰
+ *
+ * @author makejava
+ * @since 2022-07-11 16:35:57
+ */
+@RestController
+@RequestMapping("groupUser")
+public class GroupUserController extends ApiController {
+ /**
+ * 鏈嶅姟瀵硅薄
+ */
+ @Resource
+ private GroupUserService groupUserService;
+
+ /**
+ * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
+ *
+ * @param page 鍒嗛〉瀵硅薄
+ * @param groupUser 鏌ヨ瀹炰綋
+ * @return 鎵�鏈夋暟鎹�
+ */
+ @GetMapping
+ public R selectAll(Page<GroupUser> page, GroupUser groupUser) {
+ return success(this.groupUserService.page(page, new QueryWrapper<>(groupUser)));
+ }
+
+ /**
+ * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁
+ *
+ * @param id 涓婚敭
+ * @return 鍗曟潯鏁版嵁
+ */
+ @GetMapping("{id}")
+ public R selectOne(@PathVariable Serializable id) {
+ return success(this.groupUserService.getById(id));
+ }
+
+ /**
+ * 鏂板鏁版嵁
+ *
+ * @param groupUser 瀹炰綋瀵硅薄
+ * @return 鏂板缁撴灉
+ */
+ @PostMapping
+ public R insert(@RequestBody GroupUser groupUser) {
+ return success(this.groupUserService.save(groupUser));
+ }
+
+ /**
+ * 淇敼鏁版嵁
+ *
+ * @param groupUser 瀹炰綋瀵硅薄
+ * @return 淇敼缁撴灉
+ */
+ @PutMapping
+ public R update(@RequestBody GroupUser groupUser) {
+ return success(this.groupUserService.updateById(groupUser));
+ }
+
+ /**
+ * 鍒犻櫎鏁版嵁
+ *
+ * @param idList 涓婚敭缁撳悎
+ * @return 鍒犻櫎缁撴灉
+ */
+ @DeleteMapping
+ public R delete(@RequestParam("idList") List<Long> idList) {
+ return success(this.groupUserService.removeByIds(idList));
+ }
+}
diff --git a/src/main/java/com/example/jz/controller/ReportController.java b/src/main/java/com/example/jz/controller/ReportController.java
index f2cc3f0..821f17b 100644
--- a/src/main/java/com/example/jz/controller/ReportController.java
+++ b/src/main/java/com/example/jz/controller/ReportController.java
@@ -1,5 +1,6 @@
package com.example.jz.controller;
+
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,6 +15,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
import java.util.Date;
@@ -25,7 +27,7 @@
*/
@RestController
@RequestMapping("report")
-@Api(value = "鎶ユ鎺ュ彛", tags = "鎶ユ鎺ュ彛")
+@Api(value = "妗堜欢鍖�-妗堜欢浜哄憳", tags = "妗堜欢鍖�-妗堜欢浜哄憳")
public class ReportController extends ApiController {
/**
* 鏈嶅姟瀵硅薄
@@ -36,7 +38,7 @@
/**
* 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
*
- * @param page 鍒嗛〉瀵硅薄
+ * @param page 鍒嗛〉瀵硅薄
* @param reportParamDto 鏌ヨ瀹炰綋
* @return 鎵�鏈夋暟鎹�
*/
@@ -97,17 +99,24 @@
@ApiOperation(httpMethod = "DELETE", value = "鎶ユ浜轰汉鍛橀��缇�")
@DeleteMapping("/leaveGroup")
@ApiResponse(message = "鎵ц鎴愬姛", code = 200)
- public R leaveGroup( @RequestParam(value = "id") Integer id,@RequestParam(value = "groupId") Integer groupId) {
- reportService.leaveGroup(id,groupId);
+ public R leaveGroup(@RequestParam(value = "id") Integer id, @RequestParam(value = "groupId") Integer groupId) {
+ reportService.leaveGroup(id, groupId);
return R.ok();
}
@ApiOperation(httpMethod = "DELETE", value = "鍒犻櫎鎶ユ浜�")
@DeleteMapping("/deleteReporter")
@ApiResponse(message = "鎵ц鎴愬姛", code = 200)
- public R deleteReporter( @RequestParam(value = "id") Integer id) {
+ public R deleteReporter(@RequestParam(value = "id") Integer id) {
reportService.removeById(id);
return R.ok();
}
+
+ @ApiOperation(httpMethod = "POST", value = "瀵煎嚭鏉愭枡")
+ @PostMapping("/exportReporter")
+ @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+ public void exportReport(@RequestParam(value = "id") Integer id, HttpServletResponse response) {
+ reportService.exportReporter(id, response);
+ }
}
diff --git a/src/main/java/com/example/jz/controller/UserController.java b/src/main/java/com/example/jz/controller/UserController.java
index 20d0031..6b2c106 100644
--- a/src/main/java/com/example/jz/controller/UserController.java
+++ b/src/main/java/com/example/jz/controller/UserController.java
@@ -3,16 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
-import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.entity.User;
import com.example.jz.service.UserService;
-import com.example.jz.utils.Md5Utils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -22,19 +15,17 @@
/**
* 鐢ㄦ埛琛�(User)琛ㄦ帶鍒跺眰
*
- * @author 瀹夌懢鐒�
+ * @author makejava
* @since 2022-07-11 16:35:57
*/
@RestController
@RequestMapping("user")
-@Api(tags = "鐢ㄦ埛绠$悊")
public class UserController extends ApiController {
+ /**
+ * 鏈嶅姟瀵硅薄
+ */
+ @Resource
private UserService userService;
-
- @Autowired
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
/**
* 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
@@ -44,7 +35,6 @@
* @return 鎵�鏈夋暟鎹�
*/
@GetMapping
- @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�")
public R selectAll(Page<User> page, User user) {
return success(this.userService.page(page, new QueryWrapper<>(user)));
}
@@ -56,9 +46,19 @@
* @return 鍗曟潯鏁版嵁
*/
@GetMapping("{id}")
- @ApiOperation("閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁")
public R selectOne(@PathVariable Serializable id) {
return success(this.userService.getById(id));
+ }
+
+ /**
+ * 鏂板鏁版嵁
+ *
+ * @param user 瀹炰綋瀵硅薄
+ * @return 鏂板缁撴灉
+ */
+ @PostMapping
+ public R insert(@RequestBody User user) {
+ return success(this.userService.save(user));
}
/**
@@ -68,9 +68,8 @@
* @return 淇敼缁撴灉
*/
@PutMapping
- @ApiOperation("淇敼鐢ㄦ埛鏁版嵁")
public R update(@RequestBody User user) {
- return success(userService.updateById(user));
+ return success(this.userService.updateById(user));
}
/**
@@ -80,42 +79,7 @@
* @return 鍒犻櫎缁撴灉
*/
@DeleteMapping
- @ApiOperation("鍒犻櫎鐢ㄦ埛鏁版嵁")
public R delete(@RequestParam("idList") List<Long> idList) {
return success(this.userService.removeByIds(idList));
- }
-
- /**
- * 娣诲姞绠$悊鍛�
- *
- * @param id 鐢ㄦ埛id
- * @param username 绠$悊鍛樼敤鎴峰悕
- * @param password 绠$悊鍛樺瘑鐮�
- * @return
- */
- @PostMapping("/addAdmin/{id}")
- @ApiOperation("娣诲姞绠$悊鍛�")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "password", value = "瀵嗙爜", required = true, dataType = "String"),
- @ApiImplicitParam(name = "username", value = "鐢ㄦ埛鍚�", required = true, dataType = "String")
- })
- public R addAdmin(@PathVariable Serializable id, String username, String password) {
- User user = userService.getById(id).setLoginUsername(username).setLoginPassword(Md5Utils.md5(password)).setRole(1);
- return success(userService.updateById(user));
- }
-
- /**
- * 閲嶇疆绠$悊鍛樺瘑鐮�
- *
- * @param id 鐢ㄦ埛id
- * @return
- */
- @GetMapping("/resetPassword/{id}")
- @ApiOperation("閲嶇疆绠$悊鍛樺瘑鐮�")
- public R resetPassword(@PathVariable Serializable id) {
- User user = userService.getById(id);
- // 閲嶇疆鍒濆瀵嗙爜涓鸿韩浠借瘉鍚庡叚浣�
- user.setLoginPassword(Md5Utils.md5(user.getUserIdcard().substring(user.getUserIdcard().length() - 6)));
- return success(userService.updateById(user));
}
}
diff --git a/src/main/java/com/example/jz/dao/ReportDao.java b/src/main/java/com/example/jz/dao/ReportDao.java
index eee3b7d..53fd686 100644
--- a/src/main/java/com/example/jz/dao/ReportDao.java
+++ b/src/main/java/com/example/jz/dao/ReportDao.java
@@ -19,7 +19,7 @@
@Mapper
public interface ReportDao extends BaseMapper<Report> {
- Page<ReportListVo> getPage(Page<ReportListVo> page,@Param("reportParamDto") ReportParamDto reportParamDto);
+ Page<ReportListVo> getPage(Page<ReportListVo> page,@Param("reportDto") ReportParamDto reportParamDto);
ReportListVo getReportListVoById(Serializable id);
diff --git a/src/main/java/com/example/jz/enums/CauseEnums.java b/src/main/java/com/example/jz/enums/CauseEnums.java
new file mode 100644
index 0000000..dcf6862
--- /dev/null
+++ b/src/main/java/com/example/jz/enums/CauseEnums.java
@@ -0,0 +1,31 @@
+package com.example.jz.enums;
+
+public enum CauseEnums {
+
+ //鏈鏍�
+ UNCHECKED(0,"鏈鏍�"),
+ //涓嶄簣绔嬫
+ NOTTOPUTONRECORD(1,"涓嶄簣绔嬫"),
+ //鍙楃悊涓�
+ UNDERCONSIDERATION(2,"鍙楃悊涓�"),
+ //宸茬粨妗�
+ CASECLOSED(3,"宸茬粨妗�"),
+ //宸叉挙妗�
+ HASBEENDROPPED(4,"宸叉挙妗�");
+
+ private final int value;
+
+ private final String msg;
+
+ CauseEnums(int value,String msg){
+ this.value = value;
+ this.msg = msg;
+ }
+ public int value() {
+ return this.value;
+ }
+
+ public String getMsg() {
+ return this.msg;
+ }
+}
diff --git a/src/main/java/com/example/jz/modle/dto/CauseDto.java b/src/main/java/com/example/jz/modle/dto/CauseDto.java
index e62c1ea..b0b2ed7 100644
--- a/src/main/java/com/example/jz/modle/dto/CauseDto.java
+++ b/src/main/java/com/example/jz/modle/dto/CauseDto.java
@@ -19,7 +19,6 @@
//绗竴娆℃鍙戞椂闂�
@ApiModelProperty(dataType = "Date", value = "绗竴娆℃鍙戞椂闂�")
-// @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss.SSS")
private Date firstTime;
//璐熻矗浜篿d
diff --git a/src/main/java/com/example/jz/modle/dto/CauseLoadDto.java b/src/main/java/com/example/jz/modle/dto/CauseLoadDto.java
new file mode 100644
index 0000000..9247020
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/dto/CauseLoadDto.java
@@ -0,0 +1,43 @@
+package com.example.jz.modle.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(description = "妗堜欢褰曞叆瀵煎叆", value = "CauseLoadDto")
+public class CauseLoadDto {
+ //妗堜欢缂栧彿
+ @ApiModelProperty(dataType = "String", value = "妗堜欢缂栧彿")
+ @ExcelProperty(value = "妗堜欢缂栧彿",index = 0)
+ private String number;
+
+ //妗堜欢鍚嶇О
+ @ApiModelProperty(dataType = "String", value = "妗堜欢鍚嶇О")
+ @ExcelProperty(value = "妗堜欢鍚嶇О",index = 1)
+ private String name;
+
+ //鏈�鏃╂妗堝彂鏃堕棿
+ @ApiModelProperty(dataType = "Date", value = "鏈�鏃╁彂妗堟椂闂�")
+ @ExcelProperty(value = "鏈�鏃╁彂妗堟椂闂�",index = 2)
+ private Date firstTime;
+
+ //妗堜欢鐘舵��
+ @ApiModelProperty(dataType = "String", value = "妗堜欢鐘舵��")
+ @ExcelProperty(value = "妗堜欢鐘舵��",index = 3)
+ private String status;
+
+ //璐熻矗浜�
+ @ApiModelProperty(dataType = "String", value = "璐熻矗浜�")
+ @ExcelProperty(value = "璐熻矗浜�",index = 4)
+ private String userName;
+
+ //妗堜欢鎻忚堪
+ @ApiModelProperty(dataType = "String", value = "妗堜欢鎻忚堪")
+ @ExcelProperty(value = "妗堜欢鎻忚堪",index = 5)
+ private String description;
+
+}
diff --git a/src/main/java/com/example/jz/modle/dto/ReportParamDto.java b/src/main/java/com/example/jz/modle/dto/ReportParamDto.java
index f991a22..7708269 100644
--- a/src/main/java/com/example/jz/modle/dto/ReportParamDto.java
+++ b/src/main/java/com/example/jz/modle/dto/ReportParamDto.java
@@ -18,7 +18,7 @@
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
-@ApiModel("鎶ユ鏌ヨ鏉′欢")
+@ApiModel("淇濆畨鏌ヨ鏉′欢")
public class ReportParamDto {
/**
* 鏌ヨ鏉′欢 鍙互鏄鍚嶄篃鍙互鏄韩浠借瘉鍙�
diff --git a/src/main/java/com/example/jz/modle/entity/Cause.java b/src/main/java/com/example/jz/modle/entity/Cause.java
index 3469987..a0d9934 100644
--- a/src/main/java/com/example/jz/modle/entity/Cause.java
+++ b/src/main/java/com/example/jz/modle/entity/Cause.java
@@ -1,11 +1,10 @@
package com.example.jz.modle.entity;
-import java.util.Date;
-
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
+
import java.io.Serializable;
+import java.util.Date;
/**
* 妗堜欢琛�(Cause)琛ㄥ疄浣撶被
@@ -26,7 +25,7 @@
//鍒涘缓鏃堕棿
private Date ctime;
//鐘舵�� 0鏈鏍� 1涓嶄簣绔嬫 2鍙楃悊涓� 3宸茬粨妗�
- private String status;
+ private Integer status;
//璐熻矗浜篿d
private Integer userId;
//妗堜欢鎻忚堪
@@ -73,13 +72,6 @@
this.ctime = ctime;
}
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
public Integer getUserId() {
return userId;
@@ -106,5 +98,13 @@
protected Serializable pkVal() {
return this.id;
}
+
+ public Integer getStatus() {
+ return status;
}
+ public void setStatus(Integer status) {
+ this.status = status;
+ }
+}
+
diff --git a/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java b/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java
index f5089db..a5d0ef6 100644
--- a/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java
+++ b/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java
@@ -9,9 +9,32 @@
@ApiModel(description = "妗堜欢缇ゅ叕鍛�",value = "AnnouncementVo")
public class AnnouncementVo {
+ /**
+ * 鍏憡鍐呭
+ */
private String text;
+ /**
+ * 缇d
+ */
+ private Integer groupId;
+ /**
+ * 鍏憡id
+ */
+ private Integer id;
/**
* 鍒涘缓鏃堕棿
*/
private Date ctime;
+
+ //鍏憡鏈夋晥寮�濮嬫椂闂�
+ private Date effectiveStime;
+
+ //鍏叡鏈夋晥缁撴潫鏃堕棿
+ private Date effectiveEtime;
+
+ //鍒涘缓浜�
+ private String createName;
+
+ //鐘舵��
+ private Integer status;
}
diff --git a/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java b/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
new file mode 100644
index 0000000..7003186
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
@@ -0,0 +1,55 @@
+package com.example.jz.modle.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.BooleanEnum;
+import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
+import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
+import com.alibaba.excel.metadata.data.ImageData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(description = "瀵煎嚭excel鎶ユ鏉愭枡", value = "ExportExcelReportVo")
+@ContentRowHeight(120)
+@HeadRowHeight(20)
+@ColumnWidth(25)
+public class ExportExcelReportVo {
+
+ @ExcelProperty(value = "鎶ユ浜�", index = 0)
+ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+ private String realName;
+
+ @ExcelProperty(value = "鎵嬫満鍙�", index = 1)
+ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+ private String userMobile;
+
+ @ExcelProperty(value = "韬唤璇佸彿", index = 2)
+ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+ private String userIdcard;
+ //琚獥鏃堕棿
+ @ExcelProperty(value = "琚獥鏃堕棿", index = 3)
+ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+ private Date cheatTime;
+
+ //娑夋閲戦
+ @ExcelProperty(value = "娑夋閲戦", index = 4)
+ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+ private Double amountInvolved;
+
+ //琛ュ厖淇℃伅
+ @ExcelProperty(value = "琛ュ厖淇℃伅", index = 5)
+ @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+ private String information;
+
+ @ExcelProperty(value = "妗堜欢鏉愭枡", index = 6)
+ @ColumnWidth(120)
+ private WriteCellData<List<ImageData>> writeCellData;
+}
diff --git a/src/main/java/com/example/jz/service/AnnouncementService.java b/src/main/java/com/example/jz/service/AnnouncementService.java
index 1bcd219..3f16e7d 100644
--- a/src/main/java/com/example/jz/service/AnnouncementService.java
+++ b/src/main/java/com/example/jz/service/AnnouncementService.java
@@ -1,7 +1,11 @@
package com.example.jz.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.example.jz.modle.PageParam;
import com.example.jz.modle.entity.Announcement;
+import com.example.jz.modle.vo.AnnouncementVo;
+
+import java.util.List;
/**
* 鍏憡琛�(Announcement)琛ㄦ湇鍔℃帴鍙�
@@ -11,5 +15,27 @@
*/
public interface AnnouncementService extends IService<Announcement> {
+ /**
+ * @Description 鏌ヨ鍏叡瀹d紶閫氬憡id
+ * @Param [size, current, content, status, groupId]
+ * @return com.example.jz.modle.PageParam<com.example.jz.modle.entity.Announcement>
+ **/
+ PageParam<AnnouncementVo> getAnnouncements(Integer size, Integer current, String content, Integer status,Integer groupId);
+
+ /**
+ * @Description 鍙戝竷
+ * @Param [id]
+ * @return java.lang.Integer
+ **/
+ Integer updateStatus(Integer id);
+
+ /**
+ * @Description 涓嬫灦
+ * @Param [id]
+ * @return java.lang.Integer
+ **/
+ Integer updateStatusUnshelve(Integer id);
+
+ Integer add(Integer groupId, Announcement announcement);
}
diff --git a/src/main/java/com/example/jz/service/CauseService.java b/src/main/java/com/example/jz/service/CauseService.java
index 20f6c79..769f683 100644
--- a/src/main/java/com/example/jz/service/CauseService.java
+++ b/src/main/java/com/example/jz/service/CauseService.java
@@ -4,11 +4,13 @@
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.entity.Announcement;
import com.example.jz.modle.entity.Cause;
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 org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -60,7 +62,7 @@
* @Param [groupId]
* @return java.util.List<com.example.jz.modle.vo.AnnouncementVo>
**/
- List<AnnouncementVo> getGroupAnnouncement(Integer groupId);
+ List<Announcement> getGroupAnnouncement(Integer groupId);
/**
* @Description 鍒犻櫎妗堜欢
@@ -69,6 +71,13 @@
**/
void deleteCause(Integer id);
+ /**
+ * @Description 鏂囦欢瀵煎叆
+ * @Param [multipartFile]
+ * @return void
+ **/
+ void loadFile(MultipartFile multipartFile);
+
Boolean addReportPeople(AddReportDto addReportDto);
}
diff --git a/src/main/java/com/example/jz/service/ReportService.java b/src/main/java/com/example/jz/service/ReportService.java
index 95cfc6c..33e0b6f 100644
--- a/src/main/java/com/example/jz/service/ReportService.java
+++ b/src/main/java/com/example/jz/service/ReportService.java
@@ -6,6 +6,7 @@
import com.example.jz.modle.entity.Report;
import com.example.jz.modle.vo.ReportListVo;
+import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
/**
@@ -20,6 +21,8 @@
void leaveGroup(Integer id, Integer groupId);
+ void exportReporter(Integer id, HttpServletResponse response);
+
Page<ReportListVo> getPage(Page<ReportListVo> page, ReportParamDto reportParamDto);
ReportListVo getReportListVoById(Serializable id);
diff --git a/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java b/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java
index 0887f7e..5e343a3 100644
--- a/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java
@@ -1,10 +1,23 @@
package com.example.jz.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.jz.dao.AnnouncementDao;
+import com.example.jz.dao.UserDao;
+import com.example.jz.modle.PageParam;
import com.example.jz.modle.entity.Announcement;
+import com.example.jz.modle.entity.User;
+import com.example.jz.modle.vo.AnnouncementVo;
import com.example.jz.service.AnnouncementService;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 鍏憡琛�(Announcement)琛ㄦ湇鍔″疄鐜扮被
@@ -15,4 +28,55 @@
@Service("announcementService")
public class AnnouncementServiceImpl extends ServiceImpl<AnnouncementDao, Announcement> implements AnnouncementService {
+ @Resource
+ AnnouncementDao announcementDao;
+ @Resource
+ UserDao userDao;
+
+ @Override
+ public PageParam<AnnouncementVo> getAnnouncements(Integer size, Integer current, String content, Integer status, Integer groupId) {
+ PageParam<Announcement> announcementPageParam = new PageParam<>();
+ announcementPageParam.setSize(size);
+ announcementPageParam.setCurrent(current);
+ QueryWrapper<Announcement> announcementQueryWrapper = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(content)) {
+ announcementQueryWrapper.like("text", content);
+ }
+ if (status != null) {
+ announcementQueryWrapper.eq("status", status);
+ }
+ announcementQueryWrapper.eq("group_id", groupId);
+ announcementQueryWrapper.orderByDesc("ctime");
+ PageParam<Announcement> announcementPageParamList = announcementDao.selectPage(announcementPageParam, announcementQueryWrapper);
+ List<AnnouncementVo> announcementVoList = announcementPageParamList.getRecords().stream().map(
+ a -> {
+ AnnouncementVo announcementVo = new AnnouncementVo();
+ BeanUtils.copyProperties(a, announcementVo);
+ announcementVo.setCreateName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getCreator())).getRealName());
+ return announcementVo;
+ }
+ ).collect(Collectors.toList());
+ PageParam<AnnouncementVo> announcementVoPageParam = new PageParam<>();
+ BeanUtils.copyProperties(announcementPageParamList, announcementVoPageParam);
+ announcementVoPageParam.setRecords(announcementVoList);
+ return announcementVoPageParam;
+ }
+
+ @Override
+ public Integer updateStatus(Integer id) {
+ return announcementDao.update(new Announcement().setStatus(1), new UpdateWrapper<Announcement>().eq("id", id));
+ }
+
+ @Override
+ public Integer updateStatusUnshelve(Integer id) {
+ return announcementDao.update(new Announcement().setStatus(2), new UpdateWrapper<Announcement>().eq("id", id));
+ }
+
+ @Override
+ public Integer add(Integer groupId, Announcement announcement) {
+ announcement.setStatus(0);
+ announcement.setCtime(new Date());
+ announcement.setGroupId(groupId);
+ return announcementDao.insert(announcement);
+ }
}
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()));
diff --git a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
index e3ff882..679896c 100644
--- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -1,5 +1,11 @@
package com.example.jz.service.impl;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.metadata.data.ImageData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.excel.util.IoUtils;
+import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,13 +18,28 @@
import com.example.jz.modle.entity.GroupUser;
import com.example.jz.modle.entity.Report;
import com.example.jz.modle.vo.ReportListVo;
+import com.example.jz.dao.*;
+import com.example.jz.modle.entity.*;
+import com.example.jz.modle.vo.ExportExcelReportVo;
+import com.example.jz.service.MinIOService;
import com.example.jz.service.ReportService;
+import lombok.SneakyThrows;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
import java.io.Serializable;
import java.util.Date;
+import java.util.List;
/**
* 鎶ユ琛�(Report)琛ㄦ湇鍔″疄鐜扮被
@@ -35,6 +56,15 @@
private GroupDao groupDao;
@Autowired
private GroupUserDao groupUserDao;
+
+ @Resource
+ CauseDao causeDao;
+
+ @Resource
+ UserDao userDao;
+
+ @Resource
+ MinIOService minIOService;
/**
* 瀹℃牳鎶ユ
@@ -62,6 +92,49 @@
}
@Override
+ @SneakyThrows
+ public void exportReporter(Integer id, HttpServletResponse response) {
+ //鏌ヨ鎶ユ浜虹浉鍏充俊鎭�氳繃妗堜欢
+ List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", id).orderByDesc());
+ ArrayList<ExportExcelReportVo> exportExcelReportVos = new ArrayList<>();
+ reports.forEach(
+ a -> {
+ ExportExcelReportVo exportExcelReportVo = new ExportExcelReportVo();
+ User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
+ BeanUtils.copyProperties(a, exportExcelReportVo);
+ exportExcelReportVo.setUserIdcard(user.getUserIdcard());
+ exportExcelReportVo.setUserMobile(user.getUserMobile());
+ exportExcelReportVo.setRealName(user.getRealName());
+ WriteCellData<List<ImageData>> objectWriteCellData = new WriteCellData<>();
+ ArrayList<ImageData> imageDataList = new ArrayList<>();
+ if (StringUtils.isNotBlank(a.getReportMaterials())) {
+ String[] urls = a.getReportMaterials().split(",");
+ for (int i = 0; i < urls.length; i++) {
+ int width=600;
+ try {
+ ImageData imageData = new ImageData();
+ imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[i])).openConnection().getInputStream()));
+ imageData.setLeft(width/ urls.length*i);
+ imageData.setRight(width-width/ urls.length*(i+1));
+ imageDataList.add(imageData);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+ objectWriteCellData.setImageDataList(imageDataList);
+ exportExcelReportVo.setWriteCellData(objectWriteCellData);
+ exportExcelReportVos.add(exportExcelReportVo);
+ }
+ );
+ String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName();
+ response.setHeader("Content-disposition", "attachment;filename="+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))+URLEncoder.encode(name+".xlsx","utf-8"));
+ response.setCharacterEncoding("utf-8");
+ response.setContentType("application/vnd.ms-excel");
+ EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("鏉愭枡瀵煎嚭").doWrite(exportExcelReportVos);
+ }
+
+ @Override
public Page<ReportListVo> getPage(Page<ReportListVo> page, ReportParamDto reportParamDto) {
Page<ReportListVo> aaa = reportDao.getPage(page, reportParamDto);
aaa.getRecords().stream().forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*")));
diff --git a/src/main/java/com/example/jz/utils/MD5Utils.java b/src/main/java/com/example/jz/utils/MD5Utils.java
deleted file mode 100644
index 4112d5e..0000000
--- a/src/main/java/com/example/jz/utils/MD5Utils.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package com.example.jz.utils;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.Base64;
-
-/**
- * @author 瀹夌懢鐒�
- * @data 2022/7/18 - 10:52 AM
- * @description 鍔犲瘑宸ュ叿绫�
- */
-public class Md5Utils {
-
- public static String md5(String str) {
- try {
- MessageDigest md = MessageDigest.getInstance("MD5");
- md.update(str.getBytes());
- byte b[] = md.digest();
-
- str = byteToStr(b);
- } catch (Exception e) {
- e.printStackTrace();
-
- }
- return str;
- }
-
- public static String byteToStr(byte[] b){
- int i;
- StringBuffer buf = new StringBuffer("");
- for (int offset = 0; offset < b.length; offset++) {
- i = b[offset];
- //System.out.println(i);
- if (i < 0)
- i += 256;
- if (i < 16)
- buf.append("0");
- buf.append(Integer.toHexString(i));
- }
- return buf.toString();
- }
-
- /**
- * 浼犲叆鏂囨湰鍐呭锛岃繑鍥� SHA-256 涓�
- *
- * @param strText
- * @return
- */
- public static String SHA256(final String strText)
- {
- return SHA(strText, "SHA-256");
- }
-
- public static String SHA1(final String strText)
- {
- return SHA(strText, "SHA-1");
- }
-
- /**
- * 浼犲叆鏂囨湰鍐呭锛岃繑鍥� SHA-512 涓�
- *
- * @param strText
- * @return
- */
- public static String SHA512(final String strText)
- {
- return SHA(strText, "SHA-512");
- }
-
- /**
- * 瀛楃涓� SHA 鍔犲瘑
- *
- * @param strText
- * @return
- */
- private static String SHA(final String strText, final String strType)
- {
- // 杩斿洖鍊�
- String strResult = null;
-
- // 鏄惁鏄湁鏁堝瓧绗︿覆
- if (strText != null && strText.length() > 0)
- {
- try
- {
- // SHA 鍔犲瘑寮�濮�
- MessageDigest messageDigest = MessageDigest.getInstance(strType);
- // 浼犲叆瑕佸姞瀵嗙殑瀛楃涓�
- messageDigest.update(strText.getBytes("utf-8"));
- // 寰楀埌 byte 绫诲瀷鐨勭粨鏋�
- byte byteBuffer[] = messageDigest.digest();
- strResult = byteToStr(byteBuffer);
- }
- catch (NoSuchAlgorithmException e)
- {
- e.printStackTrace();
- }catch (UnsupportedEncodingException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
-
- return strResult;
- }
-
- public static String base64(String str){
- String baseStr = null;
- Base64.Encoder encoder = Base64.getEncoder();
- byte[] textByte;
- try {
- textByte = str.getBytes("UTF-8");
- baseStr = encoder.encodeToString(textByte);
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
-
- return baseStr;
-
- }
-
- public static void main(String[] args) {
- String password = "bunana1";
- System.out.println(md5(password));
- //String base64 = base64(sha512);
- //System.out.println(base64);
- //String pwd1 = md5(base64);
- //System.out.println(pwd1);
- }
-}
--
Gitblit v1.8.0