From 72e7d01b5b249ae1a079d19cdc62ecd2782c325c Mon Sep 17 00:00:00 2001 From: Hentua <wangdoubleone@gmail.com> Date: Sat, 10 Jun 2023 01:24:36 +0800 Subject: [PATCH] ecel --- src/main/java/cc/mrbird/febs/monitor/controller/LogController.java | 4 src/main/java/cc/mrbird/febs/monitor/entity/SystemLog.java | 22 +- src/main/java/cc/mrbird/febs/mall/vo/ChargeListExportVo.java | 42 ++++ pom.xml | 49 +++-- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 5 src/main/java/cc/mrbird/febs/system/controller/DeptController.java | 4 src/main/resources/generator/templates/controller.ftl | 4 src/main/java/cc/mrbird/febs/system/controller/UserController.java | 4 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml | 30 +++ src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java | 3 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java | 2 src/main/java/cc/mrbird/febs/others/entity/Eximport.java | 14 - src/main/java/cc/mrbird/febs/monitor/controller/LoginLogController.java | 4 src/main/java/cc/mrbird/febs/others/controller/EximportController.java | 36 +-- src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 19 ++ src/main/resources/mapper/modules/MallMemberMapper.xml | 4 src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html | 8 src/main/java/cc/mrbird/febs/system/entity/Menu.java | 20 +- src/main/java/cc/mrbird/febs/system/controller/MenuController.java | 4 src/main/java/cc/mrbird/febs/system/controller/RoleController.java | 4 src/main/java/cc/mrbird/febs/common/converter/TimeConverter.java | 64 +++--- src/main/java/cc/mrbird/febs/system/entity/Dept.java | 12 src/main/java/cc/mrbird/febs/system/entity/User.java | 28 +- src/main/java/cc/mrbird/febs/system/entity/Role.java | 14 src/main/java/cc/mrbird/febs/common/utils/excl/ExcelUtil.java | 94 +++++----- src/main/java/cc/mrbird/febs/monitor/entity/LoginLog.java | 18 - 26 files changed, 304 insertions(+), 208 deletions(-) diff --git a/pom.xml b/pom.xml index 3b06b94..0171b00 100644 --- a/pom.xml +++ b/pom.xml @@ -191,11 +191,11 @@ </dependency> <!-- Excel导入导出插件 --> - <dependency> - <groupId>com.wuwenze</groupId> - <artifactId>ExcelKit</artifactId> - <version>2.0.72</version> - </dependency> +<!-- <dependency>--> +<!-- <groupId>com.wuwenze</groupId>--> +<!-- <artifactId>ExcelKit</artifactId>--> +<!-- <version>2.0.72</version>--> +<!-- </dependency>--> <!-- lombok --> <dependency> @@ -312,30 +312,37 @@ <version>1.5</version> </dependency> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi-ooxml</artifactId> - <version>3.8</version> - </dependency> +<!-- <dependency>--> +<!-- <groupId>org.apache.poi</groupId>--> +<!-- <artifactId>poi-ooxml</artifactId>--> +<!-- <version>3.8</version>--> +<!-- </dependency>--> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi</artifactId> - <version>3.8</version> - </dependency> +<!-- <dependency>--> +<!-- <groupId>org.apache.poi</groupId>--> +<!-- <artifactId>poi</artifactId>--> +<!-- <version>3.8</version>--> +<!-- </dependency>--> - <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas --> - <dependency> - <groupId>org.apache.poi</groupId> - <artifactId>poi-ooxml-schemas</artifactId> - <version>3.8</version> - </dependency> +<!-- <!– https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas –>--> +<!-- <dependency>--> +<!-- <groupId>org.apache.poi</groupId>--> +<!-- <artifactId>poi-ooxml-schemas</artifactId>--> +<!-- <version>3.8</version>--> +<!-- </dependency>--> <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-pay</artifactId> <version>4.4.0</version> </dependency> + + + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>easyexcel</artifactId> + <version>3.3.2</version> + </dependency> </dependencies> <build> diff --git a/src/main/java/cc/mrbird/febs/common/converter/TimeConverter.java b/src/main/java/cc/mrbird/febs/common/converter/TimeConverter.java index 01ba667..8004313 100644 --- a/src/main/java/cc/mrbird/febs/common/converter/TimeConverter.java +++ b/src/main/java/cc/mrbird/febs/common/converter/TimeConverter.java @@ -1,32 +1,32 @@ -package cc.mrbird.febs.common.converter; - -import cc.mrbird.febs.common.utils.DateUtil; -import com.wuwenze.poi.convert.WriteConverter; -import com.wuwenze.poi.exception.ExcelKitWriteConverterException; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; - -import java.text.ParseException; - -/** - * Execl导出时间类型字段格式化 - * - * @author MrBird - */ -@Slf4j -public class TimeConverter implements WriteConverter { - @Override - public String convert(Object value) { - if (value == null) { - return StringUtils.EMPTY; - } else { - try { - return DateUtil.formatCstTime(value.toString(), DateUtil.FULL_TIME_SPLIT_PATTERN); - } catch (ParseException e) { - String message = "时间转换异常"; - log.error(message, e); - throw new ExcelKitWriteConverterException(message); - } - } - } -} +//package cc.mrbird.febs.common.converter; +// +//import cc.mrbird.febs.common.utils.DateUtil; +//import com.wuwenze.poi.convert.WriteConverter; +//import com.wuwenze.poi.exception.ExcelKitWriteConverterException; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +// +//import java.text.ParseException; +// +///** +// * Execl导出时间类型字段格式化 +// * +// * @author MrBird +// */ +//@Slf4j +//public class TimeConverter implements WriteConverter { +// @Override +// public String convert(Object value) { +// if (value == null) { +// return StringUtils.EMPTY; +// } else { +// try { +// return DateUtil.formatCstTime(value.toString(), DateUtil.FULL_TIME_SPLIT_PATTERN); +// } catch (ParseException e) { +// String message = "时间转换异常"; +// log.error(message, e); +// throw new ExcelKitWriteConverterException(message); +// } +// } +// } +//} diff --git a/src/main/java/cc/mrbird/febs/common/utils/excl/ExcelUtil.java b/src/main/java/cc/mrbird/febs/common/utils/excl/ExcelUtil.java index 51d799b..a093282 100644 --- a/src/main/java/cc/mrbird/febs/common/utils/excl/ExcelUtil.java +++ b/src/main/java/cc/mrbird/febs/common/utils/excl/ExcelUtil.java @@ -135,35 +135,35 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 格式化数字 DecimalFormat nf = new DecimalFormat("0.00"); - switch (cell.getCellType()) { - case Cell.CELL_TYPE_STRING: - columnValue = cell.getStringCellValue(); - break; - case Cell.CELL_TYPE_NUMERIC: - if ("@".equals(cell.getCellStyle().getDataFormatString())) { - columnValue = df.format(cell.getNumericCellValue()); - } else if ("General".equals(cell.getCellStyle().getDataFormatString())) { - columnValue = nf.format(cell.getNumericCellValue()); - } else { - columnValue = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); - } - break; - case Cell.CELL_TYPE_BOOLEAN: - columnValue = cell.getBooleanCellValue(); - break; - case Cell.CELL_TYPE_BLANK: - columnValue = ""; - break; - case Cell.CELL_TYPE_FORMULA: - // 格式单元格 - FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); - evaluator.evaluateFormulaCell(cell); - CellValue cellValue = evaluator.evaluate(cell); - columnValue = cellValue.getNumberValue(); - break; - default: - columnValue = cell.toString(); - } +// switch (cell.getCellType()) { +// case Cell.CELL_TYPE_STRING: +// columnValue = cell.getStringCellValue(); +// break; +// case Cell.CELL_TYPE_NUMERIC: +// if ("@".equals(cell.getCellStyle().getDataFormatString())) { +// columnValue = df.format(cell.getNumericCellValue()); +// } else if ("General".equals(cell.getCellStyle().getDataFormatString())) { +// columnValue = nf.format(cell.getNumericCellValue()); +// } else { +// columnValue = sdf.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); +// } +// break; +// case Cell.CELL_TYPE_BOOLEAN: +// columnValue = cell.getBooleanCellValue(); +// break; +// case Cell.CELL_TYPE_BLANK: +// columnValue = ""; +// break; +// case Cell.CELL_TYPE_FORMULA: +// // 格式单元格 +// FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); +// evaluator.evaluateFormulaCell(cell); +// CellValue cellValue = evaluator.evaluate(cell); +// columnValue = cellValue.getNumberValue(); +// break; +// default: +// columnValue = cell.toString(); +// } } return columnValue; } @@ -285,24 +285,24 @@ // style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setWrapText(true); - if (STYLE_HEADER == type) { - style.setAlignment(HSSFCellStyle.ALIGN_CENTER); - Font font = wb.createFont(); - font.setFontHeightInPoints((short) 16); - font.setBoldweight(Font.BOLDWEIGHT_BOLD); - style.setFont(font); - } else if (STYLE_TITLE == type) { - style.setAlignment(HSSFCellStyle.ALIGN_CENTER); - Font font = wb.createFont(); - font.setFontHeightInPoints((short) 18); - font.setBoldweight(Font.BOLDWEIGHT_BOLD); - style.setFont(font); - } else if (STYLE_DATA == type) { - style.setAlignment(HSSFCellStyle.ALIGN_LEFT); - Font font = wb.createFont(); - font.setFontHeightInPoints((short) 12); - style.setFont(font); - } +// if (STYLE_HEADER == type) { +// style.setAlignment(HSSFCellStyle.ALIGN_CENTER); +// Font font = wb.createFont(); +// font.setFontHeightInPoints((short) 16); +// font.setBoldweight(Font.BOLDWEIGHT_BOLD); +// style.setFont(font); +// } else if (STYLE_TITLE == type) { +// style.setAlignment(HSSFCellStyle.ALIGN_CENTER); +// Font font = wb.createFont(); +// font.setFontHeightInPoints((short) 18); +// font.setBoldweight(Font.BOLDWEIGHT_BOLD); +// style.setFont(font); +// } else if (STYLE_DATA == type) { +// style.setAlignment(HSSFCellStyle.ALIGN_LEFT); +// Font font = wb.createFont(); +// font.setFontHeightInPoints((short) 12); +// style.setFont(font); +// } cellStyleMap.put(type, style); return style; } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java index e54aa4a..5c39417 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java @@ -10,6 +10,10 @@ import cc.mrbird.febs.mall.service.IAdminMallMemberService; import cc.mrbird.febs.mall.service.IApiMallMemberService; import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo; +import cc.mrbird.febs.mall.vo.ChargeListExportVo; +import cc.mrbird.febs.system.entity.Dept; +import com.alibaba.excel.EasyExcel; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.annotations.Param; @@ -17,8 +21,12 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import javax.validation.constraints.NotNull; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.List; import java.util.Map; @@ -466,4 +474,15 @@ return null; } + @GetMapping(value = "/chargeList/excel") + public void exportChargeList(MoneyChargeListDto moneyChargeListDto, HttpServletResponse response) throws IOException { + List<ChargeListExportVo> list = this.mallMemberService.findChargeListForExcel(moneyChargeListDto); + + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName= URLEncoder.encode("提现列表","UTF-8").replaceAll("\\+","%20"); + response.setHeader("Content-disposition","attachment;filename*=utf-8''"+fileName+".xlsx"); + EasyExcel.write(response.getOutputStream(),ChargeListExportVo.class).sheet("提现列表").doWrite(list); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java index a1ea6f4..debd3cb 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMoneyFlowMapper.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.mall.mapper; +import cc.mrbird.febs.mall.dto.AdminRoleReleaseDto; import cc.mrbird.febs.mall.dto.MoneyChargeListDto; import cc.mrbird.febs.mall.dto.MoneyFlowDto; import cc.mrbird.febs.mall.dto.MoneyFlowListDto; @@ -49,4 +50,6 @@ void updateRemarkAndIsReturnById(@Param("remark")String remarkNum, @Param("id")Long id); MallMoneyFlow selectByOrderNoAndMemberId(@Param("orderNo")String orderNo, @Param("memberId")Long memberId, @Param("isReturn")int isReturn); + + List<ChargeListExportVo> selectChargeListForExcel(@Param("record") MoneyChargeListDto moneyChargeListDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java index 6292cfe..fb7902b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java @@ -116,4 +116,6 @@ List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent); TreeItemVo findMatrixTree(); + + List<ChargeListExportVo> findChargeListForExcel(MoneyChargeListDto moneyChargeListDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java index a380fb7..58d2977 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java @@ -807,4 +807,9 @@ public TreeItemVo findMatrixTree() { return null; } + + @Override + public List<ChargeListExportVo> findChargeListForExcel(MoneyChargeListDto moneyChargeListDto) { + return this.mallMoneyFlowMapper.selectChargeListForExcel(moneyChargeListDto); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ChargeListExportVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ChargeListExportVo.java new file mode 100644 index 0000000..e47a5fa --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/ChargeListExportVo.java @@ -0,0 +1,42 @@ +package cc.mrbird.febs.mall.vo; + + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.format.DateTimeFormat; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class ChargeListExportVo { + + @ExcelProperty(value = "会员名称") + private String memberName; + + @ExcelProperty(value = "会员账号") + private String phone; + + @DateTimeFormat("yyyy-MM-dd HH:mm:ss") + @ExcelProperty(value = "提现时间") + private Date createTime; + + @ExcelProperty(value = "提现金额") + private BigDecimal amount; + + @ExcelProperty(value = "持卡人姓名") + private String cardName; + + @ExcelProperty(value = "所属银行") + private String bankName; + + @ExcelProperty(value = "所属支行") + private String subbranchName; + + @ExcelProperty(value = "银行卡号") + private String bankNo; + + @ExcelProperty(value = "预留手机号") + private String bankPhone; + +} diff --git a/src/main/java/cc/mrbird/febs/monitor/controller/LogController.java b/src/main/java/cc/mrbird/febs/monitor/controller/LogController.java index a2b0eab..59c5968 100644 --- a/src/main/java/cc/mrbird/febs/monitor/controller/LogController.java +++ b/src/main/java/cc/mrbird/febs/monitor/controller/LogController.java @@ -7,7 +7,7 @@ import cc.mrbird.febs.monitor.entity.SystemLog; import cc.mrbird.febs.monitor.service.ILogService; import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.wuwenze.poi.ExcelKit; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -53,6 +53,6 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(QueryRequest request, SystemLog lg, HttpServletResponse response) { List<SystemLog> logs = this.logService.findLogs(lg, request).getRecords(); - ExcelKit.$Export(SystemLog.class, response).downXlsx(logs, false); + // ExcelKit.$Export(SystemLog.class, response).downXlsx(logs, false); } } diff --git a/src/main/java/cc/mrbird/febs/monitor/controller/LoginLogController.java b/src/main/java/cc/mrbird/febs/monitor/controller/LoginLogController.java index cd1d4f3..65b84f1 100644 --- a/src/main/java/cc/mrbird/febs/monitor/controller/LoginLogController.java +++ b/src/main/java/cc/mrbird/febs/monitor/controller/LoginLogController.java @@ -7,7 +7,7 @@ import cc.mrbird.febs.monitor.entity.LoginLog; import cc.mrbird.febs.monitor.service.ILoginLogService; import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.wuwenze.poi.ExcelKit; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -53,6 +53,6 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(QueryRequest request, LoginLog loginLog, HttpServletResponse response) { List<LoginLog> loginLogs = this.loginLogService.findLoginLogs(loginLog, request).getRecords(); - ExcelKit.$Export(LoginLog.class, response).downXlsx(loginLogs, false); + // ExcelKit.$Export(LoginLog.class, response).downXlsx(loginLogs, false); } } diff --git a/src/main/java/cc/mrbird/febs/monitor/entity/LoginLog.java b/src/main/java/cc/mrbird/febs/monitor/entity/LoginLog.java index f4cfd9d..b0820b8 100644 --- a/src/main/java/cc/mrbird/febs/monitor/entity/LoginLog.java +++ b/src/main/java/cc/mrbird/febs/monitor/entity/LoginLog.java @@ -1,13 +1,12 @@ package cc.mrbird.febs.monitor.entity; -import cc.mrbird.febs.common.converter.TimeConverter; + import cc.mrbird.febs.common.utils.HttpContextUtil; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -22,7 +21,6 @@ @Slf4j @Data @TableName("t_login_log") -@Excel("登录日志") public class LoginLog implements Serializable { private static final long serialVersionUID = 921991157363932095L; @@ -36,39 +34,39 @@ * 登录用户 */ @TableField("USERNAME") - @ExcelField("登录用户") + @ExcelProperty("登录用户") private String username; /** * 登录时间 */ @TableField("LOGIN_TIME") - @ExcelField(value = "登录时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "登录时间") private Date loginTime; /** * 登录地点 */ @TableField("LOCATION") - @ExcelField(value = "登录地点") + @ExcelProperty(value = "登录地点") private String location; /** * 登录 IP */ @TableField("IP") - @ExcelField("登录IP") + @ExcelProperty("登录IP") private String ip; /** * 操作系统 */ @TableField("`SYSTEM`") - @ExcelField("操作系统") + @ExcelProperty("操作系统") private String system; /** * 登录浏览器 */ @TableField("BROWSER") - @ExcelField("登录浏览器") + @ExcelProperty("登录浏览器") private String browser; private transient String loginTimeFrom; diff --git a/src/main/java/cc/mrbird/febs/monitor/entity/SystemLog.java b/src/main/java/cc/mrbird/febs/monitor/entity/SystemLog.java index 4584bea..2fc7ba0 100644 --- a/src/main/java/cc/mrbird/febs/monitor/entity/SystemLog.java +++ b/src/main/java/cc/mrbird/febs/monitor/entity/SystemLog.java @@ -1,12 +1,11 @@ package cc.mrbird.febs.monitor.entity; -import cc.mrbird.febs.common.converter.TimeConverter; + +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import java.io.Serializable; @@ -17,7 +16,6 @@ */ @Data @TableName("t_log") -@Excel("系统日志表") public class SystemLog implements Serializable { /** @@ -30,56 +28,56 @@ * 操作用户 */ @TableField("USERNAME") - @ExcelField(value = "操作用户") + @ExcelProperty(value = "操作用户") private String username; /** * 操作内容 */ @TableField("OPERATION") - @ExcelField(value = "操作内容") + @ExcelProperty(value = "操作内容") private String operation; /** * 耗时 */ @TableField("TIME") - @ExcelField(value = "耗时(毫秒)") + @ExcelProperty(value = "耗时(毫秒)") private Long time; /** * 操作方法 */ @TableField("METHOD") - @ExcelField(value = "操作方法") + @ExcelProperty(value = "操作方法") private String method; /** * 方法参数 */ @TableField("PARAMS") - @ExcelField(value = "方法参数") + @ExcelProperty(value = "方法参数") private String params; /** * 操作者IP */ @TableField("IP") - @ExcelField(value = "操作者IP") + @ExcelProperty(value = "操作者IP") private String ip; /** * 创建时间 */ @TableField("CREATE_TIME") - @ExcelField(value = "操作时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "操作时间") private Date createTime; /** * 操作地点 */ @TableField("LOCATION") - @ExcelField(value = "操作地点") + @ExcelProperty(value = "操作地点") private String location; private transient String createTimeFrom; diff --git a/src/main/java/cc/mrbird/febs/others/controller/EximportController.java b/src/main/java/cc/mrbird/febs/others/controller/EximportController.java index 415690e..c61bde4 100644 --- a/src/main/java/cc/mrbird/febs/others/controller/EximportController.java +++ b/src/main/java/cc/mrbird/febs/others/controller/EximportController.java @@ -10,9 +10,7 @@ import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; -import com.wuwenze.poi.ExcelKit; -import com.wuwenze.poi.handler.ExcelReadHandler; -import com.wuwenze.poi.pojo.ExcelErrorField; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; @@ -66,7 +64,7 @@ list.add(eximport); }); // 构建模板 - ExcelKit.$Export(Eximport.class, response).downXlsx(list, true); + // ExcelKit.$Export(Eximport.class, response).downXlsx(list, true); } /** @@ -87,20 +85,20 @@ Stopwatch stopwatch = Stopwatch.createStarted(); final List<Eximport> data = Lists.newArrayList(); final List<Map<String, Object>> error = Lists.newArrayList(); - ExcelKit.$Import(Eximport.class).readXlsx(file.getInputStream(), new ExcelReadHandler<Eximport>() { - @Override - public void onSuccess(int sheet, int row, Eximport eximport) { - // 数据校验成功时,加入集合 - eximport.setCreateTime(new Date()); - data.add(eximport); - } - - @Override - public void onError(int sheet, int row, List<ExcelErrorField> errorFields) { - // 数据校验失败时,记录到 error集合 - error.add(ImmutableMap.of("row", row, "errorFields", errorFields)); - } - }); +// ExcelKit.$Import(Eximport.class).readXlsx(file.getInputStream(), new ExcelReadHandler<Eximport>() { +// @Override +// public void onSuccess(int sheet, int row, Eximport eximport) { +// // 数据校验成功时,加入集合 +// eximport.setCreateTime(new Date()); +// data.add(eximport); +// } +// +// @Override +// public void onError(int sheet, int row, List<ExcelErrorField> errorFields) { +// // 数据校验失败时,记录到 error集合 +// error.add(ImmutableMap.of("row", row, "errorFields", errorFields)); +// } +// }); if (CollectionUtils.isNotEmpty(data)) { // 将合法的记录批量入库 this.eximportService.batchInsert(data); @@ -118,6 +116,6 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(QueryRequest queryRequest, Eximport eximport, HttpServletResponse response) { List<Eximport> eximports = this.eximportService.findEximports(queryRequest, eximport).getRecords(); - ExcelKit.$Export(Eximport.class, response).downXlsx(eximports, false); + // ExcelKit.$Export(Eximport.class, response).downXlsx(eximports, false); } } diff --git a/src/main/java/cc/mrbird/febs/others/entity/Eximport.java b/src/main/java/cc/mrbird/febs/others/entity/Eximport.java index a7fe761..d75f94f 100644 --- a/src/main/java/cc/mrbird/febs/others/entity/Eximport.java +++ b/src/main/java/cc/mrbird/febs/others/entity/Eximport.java @@ -1,9 +1,7 @@ package cc.mrbird.febs.others.entity; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.TableName; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; -import com.wuwenze.poi.validator.EmailValidator; import lombok.Data; import java.util.Date; @@ -15,28 +13,24 @@ */ @Data @TableName("t_eximport") -@Excel("测试导入导出数据") public class Eximport { /** * 字段1 */ - @ExcelField(value = "字段1", required = true, maxLength = 20, - comment = "提示:必填,长度不能超过20个字符") + @ExcelProperty(value = "字段1") private String field1; /** * 字段2 */ - @ExcelField(value = "字段2", required = true, maxLength = 11, regularExp = "[0-9]+", - regularExpMessage = "必须是数字", comment = "提示: 必填,只能填写数字,并且长度不能超过11位") + @ExcelProperty(value = "字段2") private Integer field2; /** * 字段3 */ - @ExcelField(value = "字段3", required = true, maxLength = 50, - comment = "提示:必填,只能填写邮箱,长度不能超过50个字符", validator = EmailValidator.class) + @ExcelProperty(value = "字段3") private String field3; /** diff --git a/src/main/java/cc/mrbird/febs/system/controller/DeptController.java b/src/main/java/cc/mrbird/febs/system/controller/DeptController.java index c906e87..db0bb20 100644 --- a/src/main/java/cc/mrbird/febs/system/controller/DeptController.java +++ b/src/main/java/cc/mrbird/febs/system/controller/DeptController.java @@ -9,7 +9,7 @@ import cc.mrbird.febs.system.entity.Dept; import cc.mrbird.febs.system.service.IDeptService; import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.wuwenze.poi.ExcelKit; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -74,6 +74,6 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(Dept dept, QueryRequest request, HttpServletResponse response) throws FebsException { List<Dept> depts = this.deptService.findDepts(dept, request); - ExcelKit.$Export(Dept.class, response).downXlsx(depts, false); +// // ExcelKit.$Export(Dept.class, response).downXlsx(depts, false); } } diff --git a/src/main/java/cc/mrbird/febs/system/controller/MenuController.java b/src/main/java/cc/mrbird/febs/system/controller/MenuController.java index 363659b..25d1d0d 100644 --- a/src/main/java/cc/mrbird/febs/system/controller/MenuController.java +++ b/src/main/java/cc/mrbird/febs/system/controller/MenuController.java @@ -9,7 +9,7 @@ import cc.mrbird.febs.system.entity.Menu; import cc.mrbird.febs.system.entity.User; import cc.mrbird.febs.system.service.IMenuService; -import com.wuwenze.poi.ExcelKit; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -78,6 +78,6 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(Menu menu, HttpServletResponse response) { List<Menu> menus = this.menuService.findMenuList(menu); - ExcelKit.$Export(Menu.class, response).downXlsx(menus, false); + // ExcelKit.$Export(Menu.class, response).downXlsx(menus, false); } } diff --git a/src/main/java/cc/mrbird/febs/system/controller/RoleController.java b/src/main/java/cc/mrbird/febs/system/controller/RoleController.java index 71e9235..008d693 100644 --- a/src/main/java/cc/mrbird/febs/system/controller/RoleController.java +++ b/src/main/java/cc/mrbird/febs/system/controller/RoleController.java @@ -8,7 +8,7 @@ import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.system.entity.Role; import cc.mrbird.febs.system.service.IRoleService; -import com.wuwenze.poi.ExcelKit; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -72,7 +72,7 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(QueryRequest queryRequest, Role role, HttpServletResponse response) throws FebsException { List<Role> roles = this.roleService.findRoles(role, queryRequest).getRecords(); - ExcelKit.$Export(Role.class, response).downXlsx(roles, false); + // ExcelKit.$Export(Role.class, response).downXlsx(roles, false); } } diff --git a/src/main/java/cc/mrbird/febs/system/controller/UserController.java b/src/main/java/cc/mrbird/febs/system/controller/UserController.java index 371e031..dd1f052 100644 --- a/src/main/java/cc/mrbird/febs/system/controller/UserController.java +++ b/src/main/java/cc/mrbird/febs/system/controller/UserController.java @@ -9,7 +9,7 @@ import cc.mrbird.febs.system.entity.User; import cc.mrbird.febs.system.service.IUserService; import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.wuwenze.poi.ExcelKit; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -132,6 +132,6 @@ @ControllerEndpoint(exceptionMessage = "导出Excel失败") public void export(QueryRequest queryRequest, User user, HttpServletResponse response) { List<User> users = this.userService.findUserDetailList(user, queryRequest).getRecords(); - ExcelKit.$Export(User.class, response).downXlsx(users, false); + // ExcelKit.$Export(User.class, response).downXlsx(users, false); } } diff --git a/src/main/java/cc/mrbird/febs/system/entity/Dept.java b/src/main/java/cc/mrbird/febs/system/entity/Dept.java index 942c596..d7f324d 100644 --- a/src/main/java/cc/mrbird/febs/system/entity/Dept.java +++ b/src/main/java/cc/mrbird/febs/system/entity/Dept.java @@ -1,12 +1,11 @@ package cc.mrbird.febs.system.entity; -import cc.mrbird.febs.common.converter.TimeConverter; + +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -19,7 +18,6 @@ */ @Data @TableName("t_dept") -@Excel("部门信息表") public class Dept implements Serializable { private static final long serialVersionUID = 5702271568363798328L; @@ -44,7 +42,7 @@ @TableField("DEPT_NAME") @NotBlank(message = "{required}") @Size(max = 10, message = "{noMoreThan}") - @ExcelField(value = "部门名称") + @ExcelProperty(value = "部门名称") private String deptName; /** @@ -57,11 +55,11 @@ * 创建时间 */ @TableField("CREATE_TIME") - @ExcelField(value = "创建时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "创建时间") private Date createTime; @TableField("MODIFY_TIME") - @ExcelField(value = "修改时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "修改时间") private Date modifyTime; } diff --git a/src/main/java/cc/mrbird/febs/system/entity/Menu.java b/src/main/java/cc/mrbird/febs/system/entity/Menu.java index d4c8d5d..5e7f931 100644 --- a/src/main/java/cc/mrbird/febs/system/entity/Menu.java +++ b/src/main/java/cc/mrbird/febs/system/entity/Menu.java @@ -1,12 +1,11 @@ package cc.mrbird.febs.system.entity; -import cc.mrbird.febs.common.converter.TimeConverter; + +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -19,7 +18,6 @@ */ @Data @TableName("t_menu") -@Excel("菜单信息表") public class Menu implements Serializable { private static final long serialVersionUID = 8571011372410167901L; @@ -53,7 +51,7 @@ @TableField("MENU_NAME") @NotBlank(message = "{required}") @Size(max = 10, message = "{noMoreThan}") - @ExcelField(value = "名称") + @ExcelProperty(value = "名称") private String menuName; /** @@ -61,7 +59,7 @@ */ @TableField("URL") @Size(max = 50, message = "{noMoreThan}") - @ExcelField(value = "URL") + @ExcelProperty(value = "URL") private String url; /** @@ -69,7 +67,7 @@ */ @TableField("PERMS") @Size(max = 50, message = "{noMoreThan}") - @ExcelField(value = "权限") + @ExcelProperty(value = "权限") private String perms; /** @@ -77,7 +75,7 @@ */ @TableField("ICON") @Size(max = 50, message = "{noMoreThan}") - @ExcelField(value = "图标") + @ExcelProperty(value = "图标") private String icon; /** @@ -85,7 +83,7 @@ */ @TableField("TYPE") @NotBlank(message = "{required}") - @ExcelField(value = "类型", writeConverterExp = "0=按钮,1=菜单") + @ExcelProperty(value = "类型") private String type; /** @@ -98,14 +96,14 @@ * 创建时间 */ @TableField("CREATE_TIME") - @ExcelField(value = "创建时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "创建时间") private Date createTime; /** * 修改时间 */ @TableField("MODIFY_TIME") - @ExcelField(value = "修改时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "修改时间") private Date modifyTime; diff --git a/src/main/java/cc/mrbird/febs/system/entity/Role.java b/src/main/java/cc/mrbird/febs/system/entity/Role.java index 5bf85df..2f06bfe 100644 --- a/src/main/java/cc/mrbird/febs/system/entity/Role.java +++ b/src/main/java/cc/mrbird/febs/system/entity/Role.java @@ -1,12 +1,11 @@ package cc.mrbird.febs.system.entity; -import cc.mrbird.febs.common.converter.TimeConverter; + +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -19,7 +18,6 @@ */ @Data @TableName("t_role") -@Excel("角色信息表") public class Role implements Serializable { private static final long serialVersionUID = -4493960686192269860L; @@ -33,7 +31,7 @@ * 角色名称 */ @TableField("ROLE_NAME") - @ExcelField(value = "角色名称") + @ExcelProperty(value = "角色名称") @NotBlank(message = "{required}") @Size(max = 10, message = "{noMoreThan}") private String roleName; @@ -42,7 +40,7 @@ * 角色描述 */ @TableField("REMARK") - @ExcelField(value = "角色描述") + @ExcelProperty(value = "角色描述") @Size(max = 50, message = "{noMoreThan}") private String remark; @@ -50,14 +48,14 @@ * 创建时间 */ @TableField("CREATE_TIME") - @ExcelField(value = "创建时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "创建时间") private Date createTime; /** * 修改时间 */ @TableField("MODIFY_TIME") - @ExcelField(value = "修改时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "修改时间") private Date modifyTime; /** diff --git a/src/main/java/cc/mrbird/febs/system/entity/User.java b/src/main/java/cc/mrbird/febs/system/entity/User.java index 81e0987..4154c3e 100644 --- a/src/main/java/cc/mrbird/febs/system/entity/User.java +++ b/src/main/java/cc/mrbird/febs/system/entity/User.java @@ -2,15 +2,14 @@ import cc.mrbird.febs.common.annotation.Desensitization; import cc.mrbird.febs.common.annotation.IsMobile; -import cc.mrbird.febs.common.converter.TimeConverter; + import cc.mrbird.febs.common.entity.DesensitizationType; +import com.alibaba.excel.annotation.ExcelProperty; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; -import com.wuwenze.poi.annotation.Excel; -import com.wuwenze.poi.annotation.ExcelField; import lombok.Data; import javax.validation.constraints.Email; @@ -24,7 +23,6 @@ */ @Data @TableName("t_user") -@Excel("用户信息表") public class User implements Serializable { private static final long serialVersionUID = -4352868070794165001L; @@ -86,7 +84,7 @@ */ @TableField("USERNAME") @Size(min = 4, max = 10, message = "{range}") - @ExcelField(value = "用户名") + @ExcelProperty(value = "用户名") private String username; /** @@ -107,7 +105,7 @@ @TableField("EMAIL") @Size(max = 50, message = "{noMoreThan}") @Email(message = "{email}") - @ExcelField(value = "邮箱") + @ExcelProperty(value = "邮箱") private String email; /** @@ -115,7 +113,7 @@ */ @TableField("MOBILE") @IsMobile(message = "{mobile}") - @ExcelField(value = "联系电话") + @ExcelProperty(value = "联系电话") @Desensitization(type = DesensitizationType.PHONE) private String mobile; @@ -124,28 +122,28 @@ */ @TableField("STATUS") @NotBlank(message = "{required}") - @ExcelField(value = "状态", writeConverterExp = "0=锁定,1=有效") + @ExcelProperty(value = "状态") private String status; /** * 创建时间 */ @TableField("CREATE_TIME") - @ExcelField(value = "创建时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "创建时间") private Date createTime; /** * 修改时间 */ @TableField("MODIFY_TIME") - @ExcelField(value = "修改时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "修改时间") private Date modifyTime; /** * 最近访问时间 */ @TableField("LAST_LOGIN_TIME") - @ExcelField(value = "最近访问时间", writeConverter = TimeConverter.class) + @ExcelProperty(value = "最近访问时间") @JsonFormat(pattern = "yyyy年MM月dd日 HH时mm分ss秒", timezone = "GMT+8") private Date lastLoginTime; @@ -154,7 +152,7 @@ */ @TableField("SSEX") @NotBlank(message = "{required}") - @ExcelField(value = "性别", writeConverterExp = "0=男,1=女,2=保密") + @ExcelProperty(value = "性别") private String sex; /** @@ -180,13 +178,13 @@ */ @TableField("DESCRIPTION") @Size(max = 100, message = "{noMoreThan}") - @ExcelField(value = "个人描述") + @ExcelProperty(value = "个人描述") private String description; /** * 部门名称 */ - @ExcelField(value = "部门") + @ExcelProperty(value = "部门") @TableField(exist = false) private String deptName; @@ -201,7 +199,7 @@ @TableField(exist = false) private String roleId; - @ExcelField(value = "角色") + @ExcelProperty(value = "角色") @TableField(exist = false) private String roleName; diff --git a/src/main/resources/generator/templates/controller.ftl b/src/main/resources/generator/templates/controller.ftl index 50dcaea..ef3c492 100644 --- a/src/main/resources/generator/templates/controller.ftl +++ b/src/main/resources/generator/templates/controller.ftl @@ -8,7 +8,7 @@ import cc.mrbird.febs.common.entity.QueryRequest; import ${basePackage}.${entityPackage}.${className}; import ${basePackage}.${servicePackage}.I${className}Service; -import com.wuwenze.poi.ExcelKit; + import lombok.extern.slf4j.Slf4j; import lombok.RequiredArgsConstructor; @@ -91,6 +91,6 @@ @RequiresPermissions("${className?uncap_first}:export") public void export(QueryRequest queryRequest, ${className} ${className?uncap_first}, HttpServletResponse response) { List<${className}> ${className?uncap_first}s = this.${className?uncap_first}Service.find${className}s(queryRequest, ${className?uncap_first}).getRecords(); - ExcelKit.$Export(${className}.class, response).downXlsx(${className?uncap_first}s, false); + // ExcelKit.$Export(${className}.class, response).downXlsx(${className?uncap_first}s, false); } } diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index c261413..b7ab81e 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -496,10 +496,10 @@ select IFNULL(count(1),0) from mall_member x where x.referrer_id=#{inviteId} and x.level != 'ZERO_LEVEL' - <if test="accountLevel == 1 or accountLevel == 2"> + <if test="accountLevel == 1"> and x.account_level = #{accountLevel} </if> - <if test="accountLevel == 3"> + <if test="accountLevel == 3 or accountLevel == 2"> and x.account_level in (2, 3) </if> </select> diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml index 2efcdaa..dcfaea2 100644 --- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml +++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml @@ -241,4 +241,34 @@ ORDER BY a.created_time ASC </select> + + <select id="selectChargeListForExcel" resultType="cc.mrbird.febs.mall.vo.ChargeListExportVo"> + select + b.name memberName + ,b.phone phone + ,a.amount + ,c.CREATED_TIME createTime + ,c.bank_name bankName + ,c.bank_no bankNo + ,c.name cardName + ,c.subbranch_name subbranchName + ,c.phone bankPhone + from mall_member_withdraw a + inner join mall_member b on a.member_id=b.id + inner join mall_member_bank c on b.id=c.member_id + <where> + <if test="record != null" > + <if test="record.name!=null and record.name!=''"> + and b.name like concat('%', #{record.name},'%') + </if> + <if test="record.phone!=null and record.phone!=''"> + and b.phone like concat('%', #{record.phone},'%') + </if> + <if test="record.status!=null and record.status!=''"> + and a.status = #{record.status} + </if> + </if> + </where> + order by a.created_time desc + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html index a194ad1..048c7f9 100644 --- a/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html +++ b/src/main/resources/templates/febs/views/modules/mallMember/chargeFlowList.html @@ -39,6 +39,9 @@ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset"> <i class="layui-icon"></i> </div> + <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="exportExcel"> + 导出 + </div> </div> </div> </form> @@ -68,6 +71,7 @@ $view = $('#febs-money-flow-charge'), $query = $view.find('#query'), $reset = $view.find('#reset'), + $exportExcel = $view.find('#exportExcel'), $searchForm = $view.find('form'), sortObject = {field: 'phone', type: null}, tableIns; @@ -127,6 +131,10 @@ tableIns.reload({where: getQueryParams(), page: {curr: currPageGoods}, initSort: sortObject}); }); + $exportExcel.on('click', function() { + febs.download(ctx + 'admin/mallMember/chargeList/excel', getQueryParams(), '提现列表.xlsx'); + }); + function initTable() { tableIns = febs.table.init({ elem: $view.find('table'), -- Gitblit v1.9.1