From 9bc60c39ec05aa8f88b0273c974a7442fb4d07d4 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Tue, 20 Jun 2023 22:12:03 +0800
Subject: [PATCH] 会员列表导出
---
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java | 18 +++++++-
src/main/java/cc/mrbird/febs/mall/excel/LevelConverter.java | 30 +++++++++++++++
src/main/java/cc/mrbird/febs/mall/excel/SexConverter.java | 24 ++++++++++++
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java | 15 +++++++
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html | 9 ++++
5 files changed, 93 insertions(+), 3 deletions(-)
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 6aeac21..f343339 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -15,6 +15,7 @@
import cc.mrbird.febs.system.entity.Dept;
import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
@@ -507,4 +508,18 @@
EasyExcel.write(response.getOutputStream(),AdminMoneyFlowListVo.class).sheet("资金明细表").doWrite(list);
}
+ @GetMapping("exportMemberList")
+ public void exportMemberList(MallMember mallMember, HttpServletResponse response) throws IOException {
+ QueryRequest request = new QueryRequest();
+ request.setPageNum(1);
+ request.setPageSize(999999999);
+ List<MallMember> list = mallMemberService.getMallMemberList(mallMember, request).getRecords();
+
+ 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(),MallMember.class).sheet("会员列表").doWrite(list);
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index 8425235..e358523 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -4,6 +4,10 @@
import cc.mrbird.febs.common.entity.BaseEntity;
import cc.mrbird.febs.common.entity.BaseEntity;
import cc.mrbird.febs.common.enumerates.MemberLevelTagDicEnums;
+import cc.mrbird.febs.mall.excel.LevelConverter;
+import cc.mrbird.febs.mall.excel.SexConverter;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -15,17 +19,20 @@
* @date 2021-09-16
**/
@Data
+@ExcelIgnoreUnannotated
@TableName("mall_member")
public class MallMember extends BaseEntity {
/**
* 姓名
*/
+ @ExcelProperty(value = "姓名")
private String name;
/**
* 手机号
*/
+ @ExcelProperty(value = "手机号")
private String phone;
/**
@@ -51,17 +58,24 @@
/**
* 性别
*/
+ @ExcelProperty(value = "性别", converter = SexConverter.class)
private Integer sex;
/**
* 邀请码
*/
+ @ExcelProperty(value = "邀请码")
private String inviteId;
/**
* 父级邀请码
*/
+ @ExcelProperty(value = "父级邀请码")
private String referrerId;
+
+ @ExcelProperty(value = "父级名称")
+ @TableField(exist = false)
+ private String referrerName;
/**
* 邀请码链
@@ -71,6 +85,7 @@
/**
* 代理级别
*/
+ @ExcelProperty(value = "会员级别", converter = LevelConverter.class)
private String level;
/**
@@ -103,9 +118,6 @@
private String account;
private String bindPhone;
-
- @TableField(exist = false)
- private String referrerName;
@TableField(exist = false)
private BigDecimal balance;
diff --git a/src/main/java/cc/mrbird/febs/mall/excel/LevelConverter.java b/src/main/java/cc/mrbird/febs/mall/excel/LevelConverter.java
new file mode 100644
index 0000000..44ce0b7
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/excel/LevelConverter.java
@@ -0,0 +1,30 @@
+package cc.mrbird.febs.mall.excel;
+
+import cc.mrbird.febs.common.enumerates.MemberLevelTagDicEnums;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+
+public class LevelConverter implements Converter<String> {
+
+ @Override
+ public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+ Set<String> list = new HashSet<>();
+ for (MemberLevelTagDicEnums type : MemberLevelTagDicEnums.values()) {
+ if (type.getCode().equals(value)) {
+ list.add(type.getDesc());
+ }
+ }
+
+ return new WriteCellData<>(CollUtil.join(list, "/"));
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/excel/SexConverter.java b/src/main/java/cc/mrbird/febs/mall/excel/SexConverter.java
new file mode 100644
index 0000000..b330ccf
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/excel/SexConverter.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.mall.excel;
+
+import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.converters.WriteConverterContext;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+public class SexConverter implements Converter<Integer> {
+
+ @Override
+ public WriteCellData<?> convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+
+ if (value == 1) {
+ return new WriteCellData<>("男");
+ }
+
+ if (value == 2) {
+ return new WriteCellData<>("女");
+ }
+ return null;
+ }
+}
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 4ef47be..1118bb2 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -53,6 +53,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>
@@ -121,6 +124,7 @@
$query = $view.find('#query'),
$reset = $view.find('#reset'),
$searchForm = $view.find('form'),
+ $exportExcel = $view.find('#exportExcel'),
sortObject = {field: 'phone', type: null},
tableIns;
@@ -496,5 +500,10 @@
changeIdentityNo(4, data.value);
}
})
+
+
+ $exportExcel.on('click', function() {
+ febs.download(ctx + 'admin/mallMember/exportMemberList', getQueryParams(), '会员列表.xlsx');
+ });
})
</script>
\ No newline at end of file
--
Gitblit v1.9.1