From 5ffd0e1c930b61b0f8335f9b5c61f9ebde4d265b Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Mon, 2 Dec 2024 20:39:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yudao/common/DictBaseConstants.java | 10 +++ .../admin/CustomerMainController.java | 53 +++++++++++++-- .../module/custom/vo/CustomerExportVO.java | 66 +++++++++++++++++++ .../admin/ActiveMainController.java | 43 ++++++++++++ .../admin/MemberCouponController.java | 39 +++++++++-- .../admin/MemberLevelController.java | 44 +++++++++++++ .../module/member/vo/ActiveMainExportVO.java | 47 +++++++++++++ .../member/vo/MemberCouponExportVO.java | 56 ++++++++++++++++ .../module/member/vo/MemberLevelExportVO.java | 36 ++++++++++ 9 files changed, 386 insertions(+), 8 deletions(-) create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerExportVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainExportVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponExportVO.java create mode 100644 dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelExportVO.java diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/common/DictBaseConstants.java b/dl-module-base/src/main/java/cn/iocoder/yudao/common/DictBaseConstants.java index 7716c472..d6e34e58 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/common/DictBaseConstants.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/common/DictBaseConstants.java @@ -29,4 +29,14 @@ public class DictBaseConstants { public static final String CYCLE_DICT = "cycle_dict"; /** 企业资产临期判定时间 */ public static final String COMPANY_PROPERTY_EXPIRED = "company_property_expired"; + /** 客户状态 */ + public static final String DICT_CUS_INFO_STATUS = "cus_info_status"; + /** 卡券类型 */ + public static final String MEMBER_COUPON_TYPE = "member_coupon_type"; + /** 核销规则 */ + public static final String MEMBER_COUPON_OUT_RULE = "member_coupon_out_rule"; + /** 适用车型 */ + public static final String MEMBER_CAR = "member_car"; + /** 活动类型 */ + public static final String MEMBER_ACTIVE = "member_active"; } diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java index d2b7454f..e3e95054 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/controller/admin/CustomerMainController.java @@ -1,10 +1,15 @@ package cn.iocoder.yudao.module.custom.controller.admin; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.custom.entity.CustomerMain; import cn.iocoder.yudao.module.custom.service.CustomerCarService; import cn.iocoder.yudao.module.custom.service.CustomerMainService; +import cn.iocoder.yudao.module.custom.vo.CustomerExportVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainPageReqVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainRespVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainSaveReqVO; @@ -20,8 +25,12 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import static cn.iocoder.yudao.common.BaseConstants.*; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; @@ -44,6 +53,7 @@ public class CustomerMainController { private BusiLabelService busiLabelService; @Resource private CustomerCarService customerCarService; + /** * 客户管理分页列表查询 * @@ -76,7 +86,7 @@ public class CustomerMainController { @Operation(summary = "创建客户管理") @PreAuthorize("@ss.hasPermission('base:customer-main:create')") public CommonResult createCustomerMain(@Valid @RequestBody CustomerMainSaveReqVO saveReqVO) { - customerMainService.saveCustomer(saveReqVO,SIGN_CREATE); + customerMainService.saveCustomer(saveReqVO, SIGN_CREATE); return success(true); } @@ -99,7 +109,7 @@ public class CustomerMainController { @Operation(summary = "更新客户管理") @PreAuthorize("@ss.hasPermission('base:customer-main:update')") public CommonResult updateCustomerMain(@Valid @RequestBody CustomerMainSaveReqVO saveReqVO) { - customerMainService.saveCustomer(saveReqVO,SIGN_UPDATE); + customerMainService.saveCustomer(saveReqVO, SIGN_UPDATE); return success(true); } @@ -185,10 +195,10 @@ public class CustomerMainController { /** * 根据姓名和电话查询单条记录 * + * @param customerMain 查询对象 * @author 小李 * @date 11:19 2024/10/8 - * @param customerMain 查询对象 - **/ + **/ @PostMapping("/getByNameAndMobile") @Operation(summary = "根据姓名和电话查询单条记录") public CommonResult getByNameAndMobile(@Valid @RequestBody CustomerMain customerMain) { @@ -201,4 +211,39 @@ public class CustomerMainController { } throw exception0(500, "系统异常"); } + + /** + * 导出数据 + * + * @author 小李 + * @date 19:33 2024/12/2 + * @param pageReqVO 请求对象 + **/ + @GetMapping("/export") + @Operation(summary = "导出数据") + public void exportData(CustomerMainPageReqVO pageReqVO, HttpServletResponse response) throws IOException { + int pageNo = 1, pageSize = 1000; + List list = new ArrayList<>(); + Page page = new Page<>(pageNo, pageSize); + do { + IPage customerMainRespVOIPage = customerMainService.queryListPage(pageReqVO, page); + List records = customerMainRespVOIPage.getRecords(); + if (CollUtil.isEmpty(records)){ + break; + } + List convertedRecords = records.stream().map(item -> BeanUtils.toBean(item, CustomerExportVO.class)).collect(Collectors.toList()); + list.addAll(convertedRecords); + pageNo++; + page.setCurrent(pageNo); + }while (true); + if (CollUtil.isEmpty(list)){ + throw exception0(500, "没有数据可以导出"); + } + list.forEach(item -> { + if (ObjectUtil.isNotEmpty(item.getIsHangAccount())){ + item.setIsHangAccount(item.getIsHangAccount().equals("0") ? "否" : "是"); + } + }); + ExcelUtils.write(response, "客户数据.xls", "数据", CustomerExportVO.class, list); + } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerExportVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerExportVO.java new file mode 100644 index 00000000..75b6f0eb --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CustomerExportVO.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.custom.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +import java.util.Date; + +import static cn.iocoder.yudao.common.DictBaseConstants.*; + +/** + * 用于导出客户数据VO + * + * @author 小李 + * @date 19:20 2024/12/2 +**/ +@Data +@ExcelIgnoreUnannotated +public class CustomerExportVO { + + @ExcelProperty("客户名称") + private String cusName; + + @ExcelProperty(value = "性别", converter = DictConvert.class) + @DictFormat(DICT_SYS_USER_SEX) + private String sex; + + @ExcelProperty("会员等级") + private String levelName; + + @ExcelProperty("联系方式") + private String phoneNumber; + + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ExcelProperty("生日") + private LocalDateTime birthday; + + @ExcelProperty("住址") + private String address; + + @ExcelProperty("是否挂账") + private String isHangAccount; + + @ExcelProperty(value = "客户来源", converter = DictConvert.class) + @DictFormat(DICT_CUS_DATA_FROM) + private String dataFrom; + + @ExcelProperty(value = "最近办理业务", converter = DictConvert.class) + @DictFormat(DICT_CUS_BUSI_TYPE) + private String nearDoContent; + + @ExcelProperty("最近业务办理时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private LocalDateTime nearDoTime; + + @ExcelProperty(value = "客户状态", converter = DictConvert.class) + @DictFormat(DICT_CUS_INFO_STATUS) + private String status; +} diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java index cc0086cc..43926f92 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/ActiveMainController.java @@ -1,9 +1,13 @@ package cn.iocoder.yudao.module.member.controller.admin; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.member.entity.ActiveMain; import cn.iocoder.yudao.module.member.service.ActiveMainService; +import cn.iocoder.yudao.module.member.vo.ActiveMainExportVO; import cn.iocoder.yudao.module.member.vo.ActiveMainPageReqVO; import cn.iocoder.yudao.module.member.vo.ActiveMainRespVO; import cn.iocoder.yudao.module.member.vo.ActiveMainSaveReqVO; @@ -17,10 +21,15 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 营销活动") @@ -111,4 +120,38 @@ public class ActiveMainController { return success(activeMainService.queryListPage(pageReqVO, page)); } + /** + * 导出数据 + * + * @author 小李 + * @date 20:25 2024/12/2 + * @param pageReqVO 请求对象 + **/ + @GetMapping("/export") + @Operation(summary = "导出数据") + public void exportData(ActiveMainPageReqVO pageReqVO, HttpServletResponse response)throws IOException { + int pageNo = 1, pageSize = 1000; + List list = new ArrayList<>(); + Page page = new Page<>(pageNo, pageSize); + do { + IPage activeMainRespVOIPage = activeMainService.queryListPage(pageReqVO, page); + List records = activeMainRespVOIPage.getRecords(); + if (CollUtil.isEmpty(records)){ + break; + } + List convertedRecords = records.stream().map(item -> BeanUtils.toBean(item, ActiveMainExportVO.class)).collect(Collectors.toList()); + list.addAll(convertedRecords); + pageNo++; + page.setCurrent(pageNo); + }while (true); + if (CollUtil.isEmpty(list)){ + throw exception0(500, "没有数据可以导出"); + } + list.forEach(item -> { + if (ObjectUtil.isNotEmpty(item.getStatus())){ + item.setStatus(item.getStatus().equals("01") ? "启用" : "停用"); + } + }); + ExcelUtils.write(response, "营销活动数据.xls", "数据", ActiveMainExportVO.class, list); + } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java index eab4db6f..e4d37225 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberCouponController.java @@ -1,5 +1,7 @@ package cn.iocoder.yudao.module.member.controller.admin; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; @@ -8,10 +10,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.member.entity.MemberCoupon; import cn.iocoder.yudao.module.member.service.MemberCouponService; -import cn.iocoder.yudao.module.member.vo.MemberCouponPageReqVO; -import cn.iocoder.yudao.module.member.vo.MemberCouponRespVO; -import cn.iocoder.yudao.module.member.vo.MemberCouponSaveReqVO; -import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; +import cn.iocoder.yudao.module.member.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; @@ -25,9 +24,12 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 基础卡券") @@ -138,5 +140,34 @@ public class MemberCouponController { return success(couponService.queryListPage(pageReqVO, page)); } + /** + * 导出数据 + * + * @author 小李 + * @date 19:53 2024/12/2 + * @param pageReqVO 请求数据 + **/ + @GetMapping("/export") + @Operation(summary = "导出数据") + public void exportData(MemberCouponPageReqVO pageReqVO, HttpServletResponse response)throws IOException{ + int pageNo = 1, pageSize = 1000; + List list = new ArrayList<>(); + Page page = new Page<>(pageNo, pageSize); + do { + IPage memberCouponRespVOIPage = couponService.queryListPage(pageReqVO, page); + List records = memberCouponRespVOIPage.getRecords(); + if (CollUtil.isEmpty(records)){ + break; + } + List convertedRecords = records.stream().map(item -> BeanUtils.toBean(item, MemberCouponExportVO.class)).collect(Collectors.toList()); + list.addAll(convertedRecords); + pageNo++; + page.setCurrent(pageNo); + }while (true); + if (CollUtil.isEmpty(list)){ + throw exception0(500, "没有数据可以导出"); + } + ExcelUtils.write(response, "基础卡券数据.xls", "数据", MemberCouponExportVO.class, list); + } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java index 471bdc71..1e49d979 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/controller/admin/MemberLevelController.java @@ -1,9 +1,13 @@ package cn.iocoder.yudao.module.member.controller.admin; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.member.entity.MemberLevel; import cn.iocoder.yudao.module.member.service.MemberLevelService; +import cn.iocoder.yudao.module.member.vo.MemberLevelExportVO; import cn.iocoder.yudao.module.member.vo.MemberLevelPageReqVO; import cn.iocoder.yudao.module.member.vo.MemberLevelRespVO; import cn.iocoder.yudao.module.member.vo.MemberLevelSaveReqVO; @@ -17,10 +21,15 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -127,4 +136,39 @@ public class MemberLevelController { return success(levelService.queryListAll(pageReqVO)); } + + /** + * 导出数据 + * + * @author 小李 + * @date 19:41 2024/12/2 + * @param pageReqVO 请求对象 + **/ + @GetMapping("/export") + @Operation(summary = "导出数据") + public void exportData(MemberLevelPageReqVO pageReqVO, HttpServletResponse response)throws IOException { + int pageNo = 1, pageSize = 1000; + List list = new ArrayList<>(); + Page page = new Page<>(pageNo, pageSize); + do { + IPage memberLevelRespVOIPage = levelService.queryListPage(pageReqVO, page); + List records = memberLevelRespVOIPage.getRecords(); + if (CollUtil.isEmpty(records)){ + break; + } + List convertedRecords = records.stream().map(item -> BeanUtils.toBean(item, MemberLevelExportVO.class)).collect(Collectors.toList()); + list.addAll(convertedRecords); + pageNo++; + page.setCurrent(pageNo); + }while (true); + if (CollUtil.isEmpty(list)){ + throw exception0(500, "没有数据可以导出"); + } + list.forEach(item -> { + if (ObjectUtil.isNotEmpty(item.getStatus())){ + item.setStatus(item.getStatus().equals("01") ? "启用" : "停用"); + } + }); + ExcelUtils.write(response, "会员等级数据.xls", "数据", MemberLevelExportVO.class, list); + } } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainExportVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainExportVO.java new file mode 100644 index 00000000..1892c4c3 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/ActiveMainExportVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.member.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.common.DictBaseConstants.MEMBER_ACTIVE; + +/** + * 用于导出营销活动VO + * + * @author 小李 + * @date 20:26 2024/12/2 +**/ +@Data +@ExcelIgnoreUnannotated +public class ActiveMainExportVO { + + @ExcelProperty("活动名称") + private String name; + + @ExcelProperty(value = "活动类型", converter = DictConvert.class) + @DictFormat(MEMBER_ACTIVE) + private String type; + + @ExcelProperty("活动开始时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime beginTime; + + @ExcelProperty("活动结束时间") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + @ExcelProperty("活动状态") + private String status; + + @ExcelProperty("活动描述") + private String remark; +} diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponExportVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponExportVO.java new file mode 100644 index 00000000..0ecbfa86 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberCouponExportVO.java @@ -0,0 +1,56 @@ +package cn.iocoder.yudao.module.member.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.common.DictBaseConstants.*; + +/** + * 用于基础卡券导出VO + * + * @author 小李 + * @date 19:55 2024/12/2 +**/ +@Data +@ExcelIgnoreUnannotated +public class MemberCouponExportVO { + + @ExcelProperty("卡券名称") + private String name; + + @ExcelProperty(value = "卡券类型", converter = DictConvert.class) + @DictFormat(MEMBER_COUPON_TYPE) + private String type; + + @ExcelProperty(value = "适用车型", converter = DictConvert.class) + @DictFormat(MEMBER_CAR) + private String carModel; + + @ExcelProperty(value = "核销规则", converter = DictConvert.class) + @DictFormat(MEMBER_COUPON_OUT_RULE) + private String outRule; + + @ExcelProperty("开始有效期") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime beginTime; + + @ExcelProperty("结束有效期") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + @ExcelProperty("面额") + private BigDecimal amount; + + @ExcelProperty("备注") + private String remark; +} diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelExportVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelExportVO.java new file mode 100644 index 00000000..3e9d3ff9 --- /dev/null +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/member/vo/MemberLevelExportVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.member.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 用于会员等级导出VO + * + * @author 小李 + * @date 19:42 2024/12/2 +**/ +@Data +@ExcelIgnoreUnannotated +public class MemberLevelExportVO { + + @ExcelProperty("等级名称") + private String name; + + @ExcelProperty("状态") + private String status; + + @ExcelProperty("升级所需积分") + private String growthValue; + + @ExcelProperty("会员折扣") + private BigDecimal discount; + + @ExcelProperty("等级说明") + private String remark; + + @ExcelProperty("等级权益") + private String userEquity; +}