Hentua
2023-06-20 9bc60c39ec05aa8f88b0273c974a7442fb4d07d4
会员列表导出
3 files modified
2 files added
96 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java 18 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/excel/LevelConverter.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/excel/SexConverter.java 24 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 9 ●●●●● patch | view | raw | blame | history
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);
    }
}
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;
src/main/java/cc/mrbird/febs/mall/excel/LevelConverter.java
New file
@@ -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, "/"));
    }
}
src/main/java/cc/mrbird/febs/mall/excel/SexConverter.java
New file
@@ -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;
    }
}
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">&#xe79b;</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>