KKSU
2024-12-18 2ec9c53fac072e0546df78a359928a5b7c489eda
refactor(mall): 重构会员管理功能

- 更新会员账号状态使用 YesOrNoEnum 枚举
- 修改会员等级相关代码,使用动态获取的 VIP 列表
- 优化会员列表页面,调整查询参数和表格列顺序
4 files modified
39 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 26 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -84,7 +84,7 @@
    /**
     * 禁用
     */
    public static final Integer ACCOUNT_STATUS_DISABLED = 2;
    public static final Integer ACCOUNT_STATUS_DISABLED = 0;
    /**
     * 账号类型
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.enumerates.YesOrNoEnum;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.MallUtils;
@@ -91,7 +92,7 @@
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_DISABLED);
        mallMember.setAccountStatus(YesOrNoEnum.NO.getValue());
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
@@ -103,7 +104,7 @@
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
        mallMember.setAccountStatus(YesOrNoEnum.YES.getValue());
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -140,7 +140,7 @@
            }
        }
        mallMember.setName(account);
        mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE);
        mallMember.setAccountStatus(YesOrNoEnum.YES.getValue());
        mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
        mallMember.setSex("男");
        mallMember.setBindPhone(account);
@@ -200,8 +200,8 @@
            throw new FebsException("用户不存在或账号密码错误");
        }
        if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) {
            throw new FebsException("该账号存在异常, 暂限制登录");
        if (YesOrNoEnum.NO.getValue() == mallMember.getAccountStatus()) {
            throw new FebsException("账号限制登录");
        }
        String redisKey = AppContants.APP_LOGIN_PREFIX + mallMember.getId();
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -16,10 +16,8 @@
                                    <div class="layui-inline">
                                        <label class="layui-form-label layui-form-label-sm">会员类型</label>
                                        <div class="layui-input-inline">
                                            <select name="level">
                                            <select name="levelType" class="vip-level-set-level_member">
                                                <option value="">请选择</option>
                                                <option value="ZERO_LEVEL">普通用户</option>
                                                <option value="FIRST_LEVEL">城市合伙人</option>
                                            </select>
                                        </div>
                                    </div>
@@ -119,6 +117,19 @@
        laydate.render({
            elem: '#febs-member-benefits-list-birthday-start',
            format:'MM-dd'
        });
        //(下拉框)
        $.get(ctx + 'admin/runVip/allVipList', function (res) {
            var data = res.data;
            for (var k in data)
            {
                $(".vip-level-set-level_member").append("<option value='" + data[k].vipCode + "'>" + data[k].vipName + "</option>");
            }
            layui.use('form', function () {
                var form = layui.form;
                form.render();
            });
        });
        // 表格初始化
@@ -235,9 +246,9 @@
                    {field: 'score', title: '碳积分', minWidth: 100,align:'left'},
                    {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
                    {field: 'levelName', title: '会员等级', minWidth: 100,align:'left'},
                    {field: 'accountStatus', title: '账号状态', templet: '#switchStatus', minWidth: 100,align:'center'},
                    {field: 'vipLevelTime', title: '到期时间', minWidth: 180,align:'center'},
                    {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'},
                    {field: 'accountStatus', title: '账号状态', templet: '#switchStatus', minWidth: 100,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                            return  ''
@@ -343,11 +354,8 @@
        // 获取查询参数
        function getQueryParams() {
            return {
                name: $searchForm.find('input[name="name"]').val().trim(),
                account: $searchForm.find('input[name="account"]').val().trim(),
                level: $searchForm.find("select[name='level']").val(),
                birthdayQuery: $searchForm.find("input[name='birthday']").val(),
                // level: $searchForm.find("select[name='level']").val(),
                account: $searchForm.find('input[name="account"]').val(),
                level: $searchForm.find("select[name='levelType']").val(),
            };
        }