xiaoyong931011
2021-09-16 a833e22f6a258dfb66358d281524927ce326fe69
20210916
2 files added
8 files modified
457 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java 37 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 25 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/detail.html 127 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 162 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -1,5 +1,6 @@
package cc.mrbird.febs.mall.controller;
import cc.mrbird.febs.common.annotation.ControllerEndpoint;
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
@@ -9,9 +10,11 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotNull;
import java.util.Map;
@Slf4j
@@ -34,4 +37,26 @@
        Map<String, Object> data = getDataTable(mallMemberService.getMallMemberList(mallMember, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 会员列表---禁止
     * @param id
     * @return
     */
    @GetMapping("closeAccount/{id}")
    @ControllerEndpoint(operation = "会员列表---禁止", exceptionMessage = "禁止失败")
    public FebsResponse closeAccount(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.closeAccount(id);
    }
    /**
     * 会员列表---开启
     * @param id
     * @return
     */
    @GetMapping("openAccount/{id}")
    @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
    public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.openAccount(id);
    }
}
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -3,10 +3,15 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller("mallMemberView")
@@ -14,14 +19,30 @@
@RequiredArgsConstructor
public class ViewMallMemberController extends BaseController {
    private final IAdminMallMemberService mallMemberService;
    /**
     * 会员列表
     * @return
     */
    @GetMapping("mallMember")
    @RequiresPermissions("mallMember:view")
    @GetMapping("mallMemberList")
    @RequiresPermissions("mallMemberList:view")
    public String mallMember() {
        return FebsUtil.view("modules/mallMember/mallMemberList");
    }
    /**
     * 会员列表-个人详情
     * @param id
     * @param model
     * @return
     */
    @GetMapping("detail/{id}")
    @RequiresPermissions("detail:update")
    public String detail(@PathVariable long id, Model model) {
        MallMemberVo data = mallMemberService.getMallMemberInfoById(id);
        model.addAttribute("member", data);
        return FebsUtil.view("modules/mallMember/detail");
    }
}
src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -1,6 +1,8 @@
package cc.mrbird.febs.mall.entity;
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -10,7 +12,7 @@
 **/
@Data
@TableName("mall_member")
public class MallMember extends BaseController {
public class MallMember extends BaseEntity {
    private String name;
@@ -30,8 +32,16 @@
    private String level;
    /**
     * 账户状态;1-正常 2-禁用
     */
    private Integer accountStatus;
    public static final int ACCOUNTSTATUS_Y = 1;
    public static final int ACCOUNTSTATUS_N = 2;
    private Integer accountType;
    @TableField(exist = false)
    private String account;
}
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.mapper;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,4 +15,5 @@
    IPage<MallMember> selectMallMemberListInPage(Page<MallMember> page, @Param("record")MallMember mallMember);
    MallMemberVo getMallMemberInfoById(@Param("id")long id);
}
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -4,10 +4,19 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.mall.dto.RegisterDto;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.validation.constraints.NotNull;
public interface IAdminMallMemberService extends IService<MallMember> {
    IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request);
    FebsResponse closeAccount(@NotNull(message = "{required}") Long id);
    FebsResponse openAccount(@NotNull(message = "{required}") Long id);
    MallMemberVo getMallMemberInfoById(@NotNull(message = "{required}") long id);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -1,9 +1,12 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,6 +23,8 @@
@RequiredArgsConstructor
public class AdminMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IAdminMallMemberService {
    private final MallMemberMapper mallMemberMapper;
    @Override
    public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
        Page<MallMember> page = new Page<>(request.getPageNum(), request.getPageSize());
@@ -27,4 +32,32 @@
        return mallMembers;
    }
    @Override
    public FebsResponse closeAccount(Long id) {
        MallMember mallMember = mallMemberMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setAccountStatus(MallMember.ACCOUNTSTATUS_N);
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse openAccount(Long id) {
        MallMember mallMember = mallMemberMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setAccountStatus(MallMember.ACCOUNTSTATUS_Y);
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
    @Override
    public MallMemberVo getMallMemberInfoById(long id) {
        MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberInfoById(id);
        return mallMemberVo;
    }
}
src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
New file
@@ -0,0 +1,37 @@
package cc.mrbird.febs.mall.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class MallMemberVo {
    private Long id;
    private String name;
    private String phone;
    private String email;
    private String sex;
    private String inviteId;
    private String referrerName;
    private String level;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;
    /**
     * 账户状态;1-正常 2-禁用
     */
    private Integer accountStatus;
    public static final int ACCOUNTSTATUS_Y = 1;
    public static final int ACCOUNTSTATUS_N = 2;
}
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -7,10 +7,14 @@
        <where>
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
                    and (m.name like concat('%',  #{record.name},'%')
                    and m.name like concat('%',  #{record.name},'%')
                </if>
                <if test="record.phone!=null and record.phone!=''">
                    and (m.phone like concat('%',  #{record.phone},'%') or m.email like concat('%',  #{record.phone},'%'))
                <if test="record.account!=null and record.account!=''">
                    and (
                        m.phone like concat('%',  #{record.account},'%')
                        or m.email like concat('%',  #{record.account},'%')
                        or m.invite_id like concat('%',  #{record.account},'%')
                        )
                </if>
                <if test="record.accountStatus!=null">
                    and m.account_status = #{record.accountStatus}
@@ -23,4 +27,19 @@
        order by m.CREATED_TIME desc
    </select>
    <select id="getMallMemberInfoById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
        SELECT a.name,
               a.phone,
               a.email,
               a.sex,
               a.invite_id,
               a.level,
               a.account_status,
               a.CREATED_TIME,
               b.name
               FROM mall_member a
            LEFT JOIN mall_member b on a.referrer_id = b.invite_id
            where a.id = #{id}
    </select>
</mapper>
src/main/resources/templates/febs/views/modules/mallMember/detail.html
New file
@@ -0,0 +1,127 @@
<style>
    #user-update {
        padding: 20px 25px 25px 0;
    }
    #user-update .layui-treeSelect .ztree li a, .ztree li span {
        margin: 0 0 2px 3px !important;
    }
    #user-update #data-permission-tree-block {
        border: 1px solid #eee;
        border-radius: 2px;
        padding: 3px 0;
    }
    #user-add .layui-treeSelect .ztree li span.button.switch {
        top: 1px;
        left: 3px;
    }
</style>
<div class="layui-fluid" id="user-update">
    <form class="layui-form" action="" lay-filter="user-update-form">
        <div class="layui-form-item febs-hide">
            <label class="layui-form-label febs-form-item-require">用户id:</label>
            <div class="layui-input-block">
                <input type="text" name="id" data-th-value="${member.id}">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">名称:</label>
            <div class="layui-input-block">
                <input type="text" name="name" data-th-id="${member.name}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">代理层级:</label>
            <div class="layui-input-block">
                <input type="text" name="level" data-th-id="${member.level}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">性别:</label>
            <div class="layui-input-block">
                <input type="text" name="sex" data-th-id="${member.sex}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">手机号:</label>
            <div class="layui-input-block">
                <input type="text" name="phone" data-th-id="${member.phone}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">邮箱:</label>
            <div class="layui-input-block">
                <input type="text" name="email" data-th-id="${member.email}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">邀请码:</label>
            <div class="layui-input-block">
                <input type="text" name="inviteId" data-th-id="${member.inviteId}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">注册时间:</label>
            <div class="layui-input-block">
                <input type="text" name="createdTime" data-th-id="${member.createdTime}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">推荐人:</label>
            <div class="layui-input-block">
                <input type="text" name="referrerName" data-th-id="${member.referrerName}"
                       autocomplete="off" class="layui-input" readonly>
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">账户状态:</label>
            <div class="layui-input-block">
                <input type="radio" name="accountStatus" value="1" title="正常" readonly>
                <input type="radio" name="accountStatus" value="2" title="禁用" readonly>
            </div>
        </div>
    </form>
</div>
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            formSelects = layui.formSelects,
            treeSelect = layui.treeSelect,
            form = layui.form,
            eleTree = layui.eleTree,
            member = [[${member}]],
            $view = $('#user-update'),
            validate = layui.validate,
            _deptTree;
        form.render();
        initUserValue();
        function initUserValue() {
            form.val("user-update-form", {
                "id": member.id,
                "name": member.name,
                "phone": member.phone,
                "email": member.email,
                "sex": member.sex,
                "inviteId": member.inviteId,
                "referrerName": member.referrerName,
                "level": member.level,
                "createdTime": member.createdTime,
                "accountStatus": member.accountStatus
            });
        }
    });
</script>
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -9,17 +9,21 @@
                                <div class="layui-form-item">
                                    <div class="layui-inline">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="手机号/邮箱/邀请码" name="account" autocomplete="off" class="layui-input">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label layui-form-label-sm">审核状态</label>
                                        <label class="layui-form-label layui-form-label-sm">账户状态</label>
                                        <div class="layui-input-inline">
                                            <select name="certifyStatus">
                                            <select name="accountStatus">
                                                <option value="">请选择</option>
                                                <option value="1">待审核</option>
                                                <option value="2">审核通过</option>
                                                <option value="3">未实名</option>
                                                <option value="1">正常</option>
                                                <option value="2">禁用</option>
                                            </select>
                                        </div>
                                    </div>
@@ -73,14 +77,14 @@
        table.on('tool(userTable)', function (obj) {
            var data = obj.data,
                layEvent = obj.event;
            if (layEvent === 'disagree') {
                febs.modal.confirm('禁止', '确认禁止平仓功能?', function () {
                    disagree(data.id);
            if (layEvent === 'close') {
                febs.modal.confirm('禁用', '确认禁用该账号?', function () {
                    closeAccount(data.id);
                });
            }
            if (layEvent === 'agree') {
                febs.modal.confirm('开启', '确认开启平仓功能?', function () {
                    agree(data.id);
            if (layEvent === 'open') {
                febs.modal.confirm('开启', '确认开启该账号?', function () {
                    openAccount(data.id);
                });
            }
@@ -96,7 +100,7 @@
                });
            }
            if (layEvent === 'see') {
                febs.modal.open( '身份认证', 'modules/member/memberDetail/' + data.id, {
                febs.modal.open( '个人信息', 'modules/mallMember/detail/' + data.id, {
                    maxmin: true,
                });
            }
@@ -117,14 +121,14 @@
                });
            }
        });
        function disagree(id) {
            febs.get(ctx + 'tradeManage/disagreePositionSetting/' + id, null, function () {
                febs.alert.success('禁止成功');
        function closeAccount(id) {
            febs.get(ctx + 'admin/mallMember/closeAccount/' + id, null, function () {
                febs.alert.success('禁用成功');
                $query.click();
            });
        }
        function agree(id) {
            febs.get(ctx + 'tradeManage/agreePositionSetting/' + id, null, function () {
        function openAccount(id) {
            febs.get(ctx + 'admin/mallMember/openAccount/' + id, null, function () {
                febs.alert.success('开启成功');
                $query.click();
            });
@@ -150,89 +154,44 @@
                id: 'userTable',
                url: ctx + 'admin/mallMember/getMallMemberList',
                cols: [[
                    {field: 'phone', title: '手机号', minWidth: 150,align:'left'}
                    // {field: 'email', title: '邮箱', minWidth: 150,align:'left'},
                    // {field: 'realName', title: '姓名', minWidth: 100,align:'left'},
                    // {field: 'inviteId', title: '邀请码UID',
                    //     templet: function (d) {
                    //         return '<a lay-event="examine" shiro:hasPermission="user:update">'+d.inviteId+'</a>'
                    //     }, minWidth: 80,align:'center'},
                    // {field: 'refererId', title: '上级邀请码UID', minWidth: 80,align:'center'},
                    // {field: 'accountType', title: '账号类型',
                    //     templet: function (d) {
                    //         if (d.accountType === 2) {
                    //             return '<span style="color:green;">测试账号</span>'
                    //         } else if (d.accountType === 1) {
                    //             return '<span style="color:red;">正常账号</span>'
                    //         }else{
                    //             return ''
                    //         }
                    //     }, minWidth: 80,align:'center'},
                    // {field: 'accountStatus', title: '账号状态',
                    //     templet: function (d) {
                    //         if (d.accountStatus === 1) {
                    //             return '<span style="color:green;">正常</span>'
                    //         } else if (d.accountStatus === 0) {
                    //             return '<span style="color:red;">禁用</span>'
                    //         }else{
                    //             return ''
                    //         }
                    //     }, minWidth: 80,align:'center'},
                    // {field: 'certifyStatus', title: '审核状态',
                    //     templet: function (d) {
                    //         if (d.certifyStatus === 0) {
                    //             return '<span style="color:red;">未通过</span>'
                    //         } else if (d.certifyStatus === 1) {
                    //             return '<span style="color:blue;">待审核</span>'
                    //         } else if (d.certifyStatus === 2) {
                    //             return '<span style="color:green;">审核通过</span>'
                    //         } else if (d.certifyStatus === 3) {
                    //             return '<span>未实名</span>'
                    //         }else{
                    //             return ''
                    //         }
                    //     }, minWidth: 80,align:'center'},
                    // {field: 'pcState', title: '是否可平仓',
                    //     templet: function (d) {
                    //         if (d.pcState === 1) {
                    //             return '<span style="color:#ff0000;">否</span>'
                    //         } else {
                    //             return '<span style="color:green;">是</span>'
                    //         }
                    //     },minWidth: 100,align:'center'},
                    // {field: 'createTime', title: '注册时间', minWidth: 180,align:'center'},
                    // {title: '操作',
                    //     templet: function (d) {
                    //         if (d.certifyStatus === 1) {
                    //             if(d.pcState === 1){
                    //                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit" shiro:hasPermission="user:update">审核认证</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agree" shiro:hasPermission="user:update">开启</button>'
                    //             }else{
                    //                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit" shiro:hasPermission="user:update">审核认证</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="disagree" shiro:hasPermission="user:update">禁止</button>'
                    //             }
                    //         }else if(d.certifyStatus === 2){
                    //             if(d.pcState === 1){
                    //                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">查看</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agree" shiro:hasPermission="user:update">开启</button>'
                    //             }else{
                    //                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">查看</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="disagree" shiro:hasPermission="user:update">禁止</button>'
                    //             }
                    //         }else {
                    //             if(d.pcState === 1){
                    //                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="agree" shiro:hasPermission="user:update">开启</button>'
                    //             }else{
                    //                 return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="addCoin" shiro:hasPermission="user:update">拨币</button>'
                    //                     +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="disagree" shiro:hasPermission="user:update">禁止</button>'
                    //             }
                    //         }
                    //     },minWidth: 300,align:'center'}
                    {field: 'phone', title: '手机号', minWidth: 150,align:'left'},
                    {field: 'email', title: '邮箱', minWidth: 150,align:'left'},
                    {field: 'name', title: '名称', minWidth: 100,align:'left'},
                    {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
                    {field: 'referrerId', title: '推荐人邀请码', minWidth: 100,align:'left'},
                    {field: 'accountType', title: '账号类型',
                        templet: function (d) {
                            if (d.accountType === 2) {
                                return '<span style="color:red;">测试账号</span>'
                            } else if (d.accountType === 1) {
                                return '<span style="color:green;">正常账号</span>'
                            }else{
                                return ''
                            }
                        }, minWidth: 80,align:'center'},
                    {field: 'accountStatus', title: '账号状态',
                        templet: function (d) {
                            if (d.accountStatus === 1) {
                                return '<span style="color:green;">正常</span>'
                            } else if (d.accountStatus === 2) {
                                return '<span style="color:red;">禁用</span>'
                            }else{
                                return ''
                            }
                        }, minWidth: 80,align:'center'},
                    {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                            if (d.accountStatus === 1) {
                                return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">详情</button>'
                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="close" shiro:hasPermission="user:update">禁用</button>'
                            }else{
                                return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="see" shiro:hasPermission="user:update">详情</button>'
                                        +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="open" shiro:hasPermission="user:update">启用</button>'
                            }
                        },minWidth: 300,align:'center'}
                ]]
            });
        }
@@ -240,8 +199,9 @@
        // 获取查询参数
        function getQueryParams() {
            return {
                name: $searchForm.find('input[name="name"]').val().trim(),
                account: $searchForm.find('input[name="account"]').val().trim(),
                certifyStatus: $searchForm.find("select[name='certifyStatus']").val(),
                accountStatus: $searchForm.find("select[name='accountStatus']").val(),
            };
        }