KKSU
2023-11-28 93ed0466abb1a825705d8a92eded1879b329c623
匹配
1 files added
12 files modified
400 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java 40 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/ApiOrderBuyInsureDto.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 81 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java 112 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 52 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html 85 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/MoneyFlowTypeNewEnum.java
@@ -10,6 +10,7 @@
 **/
@Getter
public enum MoneyFlowTypeNewEnum {
    SYSTEM_PEY(15,"系统拨付"),
    NFT_OUT_FEE_FCM(14,"NFT提现FCM手续费"),
    TOKEN_BUY_FROZEN_RETURN(13,"预约令牌"),
    PAY(12,"支付"),
src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.ProductEnum;
import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
import cc.mrbird.febs.common.utils.excl.ExcelUtil;
@@ -77,6 +78,12 @@
        return new FebsResponse().success().data(data);
    }
    @GetMapping("getFcmMallMemberList")
    public FebsResponse getFcmMallMemberList(MallMember mallMember, QueryRequest request) {
        Map<String, Object> data = getDataTable(mallMemberService.getFcmMallMemberList(mallMember, request));
        return new FebsResponse().success().data(data);
    }
    /**
     * 会员列表---禁止
     *
@@ -99,6 +106,30 @@
    @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "开启失败")
    public FebsResponse openAccount(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.openAccount(id);
    }
    /**
     * 会员列表---冻结
     *
     * @param id
     * @return
     */
    @GetMapping("frozenWithYes/{id}")
    @ControllerEndpoint(operation = "冻结", exceptionMessage = "禁止失败")
    public FebsResponse frozenWithYes(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.frozenWith(id, ProductEnum.MEMBER_FROZEN.getValue());
    }
    /**
     * 会员列表---解冻
     *
     * @param id
     * @return
     */
    @GetMapping("frozenWithNo/{id}")
    @ControllerEndpoint(operation = "解冻", exceptionMessage = "开启失败")
    public FebsResponse frozenWithNo(@NotNull(message = "{required}") @PathVariable Long id) {
        return mallMemberService.frozenWith(id,ProductEnum.MEMBER_UNFROZEN.getValue());
    }
    /**
@@ -185,6 +216,15 @@
    }
    /**
     * 会员列表-系统拨付
     */
    @PostMapping("updateSystemPayInfo")
    @ControllerEndpoint(operation = "会员列表-系统拨付", exceptionMessage = "操作失败")
    public FebsResponse updateSystemPayInfo(@Valid MallSystemPayDto mallSystemPayDto) {
        return mallMemberService.updateSystemPayInfo(mallSystemPayDto);
    }
    /**
     * 会员列表-系统拨付绿色凭证
     */
    @PostMapping("updateVoucher")
src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -85,7 +85,7 @@
    @GetMapping("mallSystemPay/{type}/{id}")
    @RequiresPermissions("mallSystemPay:update")
    public String systemPay(@PathVariable long id, @PathVariable Integer type, Model model) {
        MallMemberVo data = mallMemberService.getMallMemberInfoById(id);
        MallMemberVo data = mallMemberService.getMallmemberAmountByMemberId(id);
        model.addAttribute("systemPay", data);
        model.addAttribute("type", type);
        return FebsUtil.view("modules/mallMember/mallSystemPay");
src/main/java/cc/mrbird/febs/mall/dto/ApiOrderBuyInsureDto.java
@@ -14,6 +14,7 @@
    @NotNull(message = "类型参数不能为空")
    private String nftImg;//支付凭证
    @NotNull(message = "类型参数不能为空")
    @ApiModelProperty(value = "支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账", example = "1")
    private Integer type;//支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账
    @NotNull(message = "交易密码不能为空")
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -113,4 +113,8 @@
    MallMember selectByUserKey(@Param("userKey")String userKey);
    MallMember selectAccountLoginAndUserKey(@Param("accountLogin")String accountLogin, @Param("userKey")String userKey);
    IPage<AdminMallMemberVo> getFcmMallMemberList(Page<AdminMallMemberVo> page,  @Param("record")MallMember mallMember);
    MallMemberVo getMallmemberAmountByMemberId(@Param("memberId")long id);
}
src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -121,4 +121,12 @@
    FebsResponse outsideWithType(Long id, int i);
    FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdraw);
    IPage<AdminMallMemberVo> getFcmMallMemberList(MallMember mallMember, QueryRequest request);
    FebsResponse frozenWith(Long id, int i);
    FebsResponse updateSystemPayInfo(MallSystemPayDto mallSystemPayDto);
    MallMemberVo getMallmemberAmountByMemberId(long id);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -2,10 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.GreenScoreEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.common.utils.LoginUserUtil;
@@ -78,6 +75,7 @@
    private final MallScoreRecordMapper mallScoreRecordMapper;
    private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper;
    private final NBYHService nbyhService;
    private final MallMemberAmountMapper mallMemberAmountMapper;
    @Override
    public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -875,6 +873,81 @@
    }
    @Override
    public IPage<AdminMallMemberVo> getFcmMallMemberList(MallMember mallMember, QueryRequest request) {
        Page<AdminMallMemberVo> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<AdminMallMemberVo> adminMallMemberVoIPage = this.baseMapper.getFcmMallMemberList(page, mallMember);
        return adminMallMemberVoIPage;
    }
    @Override
    public FebsResponse frozenWith(Long id, int i) {
        MallMember mallMember = mallMemberMapper.selectById(id);
        if(ObjectUtil.isEmpty(mallMember)) {
            return new FebsResponse().fail().message("会员信息不存在");
        }
        mallMember.setIsFrozen(i);
        mallMemberMapper.updateById(mallMember);
        return new FebsResponse().success();
    }
    @Override
    public FebsResponse updateSystemPayInfo(MallSystemPayDto mallSystemPayDto) {
        Long amountId = mallSystemPayDto.getId();
        MallMemberAmount mallMemberAmount = mallMemberAmountMapper.selectById(amountId);
        MallMember mallMember = mallMemberMapper.selectById(mallMemberAmount.getMemberId());
        if(ObjectUtil.isEmpty(mallMember)){
            throw new FebsException("会员不存在");
        }
        BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
        Integer type = mallSystemPayDto.getType();
        Integer flowType = 0;
        if (type == 1) {
            BigDecimal add = mallMemberAmount.getTrendsNft().add(bigDecimal);
            if(BigDecimal.ZERO.compareTo(add) > 0){
                throw new FebsException("输入合适的值");
            }
            mallMemberAmount.setTrendsNft(add);
            mallMemberAmountMapper.updateTrendsNftById(mallMemberAmount);
            flowType = FlowTypeNewEnum.NFT.getValue();
        } else if (type == 2) {
            BigDecimal add = mallMemberAmount.getFcmCntAva().add(bigDecimal);
            if(BigDecimal.ZERO.compareTo(add) > 0){
                throw new FebsException("输入合适的值");
            }
            mallMemberAmount.setFcmCntAva(add);
            mallMemberAmountMapper.updateFcmCntAvaById(mallMemberAmount);
            flowType = FlowTypeNewEnum.FCM_COIN.getValue();
        } else if (type == 3) {
            BigDecimal add = mallMemberAmount.getTokenAva().add(bigDecimal);
            if(BigDecimal.ZERO.compareTo(add) > 0){
                throw new FebsException("输入合适的值");
            }
            mallMemberAmount.setTokenAva(add);
            mallMemberAmountMapper.updateTokenAvaById(mallMemberAmount);
            flowType = FlowTypeNewEnum.TOKEN.getValue();
        } else {
            throw new FebsException("参数错误");
        }
        String orderNo = MallUtils.getOrderNum("BF");
        mallMoneyFlowService.addMoneyFlow(
                mallMemberAmount.getMemberId(),
                bigDecimal,
                MoneyFlowTypeNewEnum.SYSTEM_PEY.getValue(),
                orderNo,
                mallMemberAmount.getMemberId(),
                flowType,
                MoneyFlowTypeNewEnum.SYSTEM_PEY.getDescrition());
        return new FebsResponse().success();
    }
    @Override
    public MallMemberVo getMallmemberAmountByMemberId(long id) {
        MallMemberVo mallMemberVo = mallMemberMapper.getMallmemberAmountByMemberId(id);
        return mallMemberVo;
    }
    private String refererIds(String parentId) {
        boolean flag = false;
        if (StrUtil.isBlank(parentId)) {
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -105,6 +105,7 @@
        mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_DISABLED);
        mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL);
        mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.getCode());
        mallMember.setIsFrozen(ProductEnum.MEMBER_FROZEN.getValue());
//        mallMember.setSex("男");
//        mallMember.setBindPhone(registerDto.getAccount());
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java
@@ -89,6 +89,11 @@
         * 预约,验证交易密码、预约产品是否开启状态、该产品是否已经预约、token是否足够
         * 冻结对应的令牌数量、生成预约记录、生成流水记录
         */
        Integer isFrozen = mallMember.getIsFrozen();
        if(ProductEnum.MEMBER_UNFROZEN.getValue() != isFrozen){
            throw new FebsException("账户无法预约");
        }
        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
src/main/java/cc/mrbird/febs/mall/vo/AdminMallMemberVo.java
New file
@@ -0,0 +1,112 @@
package cc.mrbird.febs.mall.vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ApiModel(value = "AdminMallMemberVo", description = "信息返回类")
public class AdminMallMemberVo {
    private Long id;
    private Date createdTime;
    /**
     * 登录账号
     */
    private String accountLogin;
    /**
     * 姓名
     */
    private String name;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 邀请码
     */
    private String inviteId;
    /**
     * 父级邀请码
     */
    private String referrerId;
    /**
     * 邀请码链
     */
    private String referrerIds;
    /**
     * 代理级别
     */
    private String level;
    /**
     * 账户状态;1-正常 2-禁用
     */
    private Integer accountStatus;
    /**
     * 账号类型
     */
    private Integer accountType;
    private String account;
    private String bindPhone;
    private String referrerName;
    private String query;
    private String levelName;
    /**
     * 董事
     */
    private Integer director;
    /**
     * 店长
     */
    private Integer storeMaster;
    /**
     * 联创  1-是 2-否
     */
    private Integer creater;
    /**
     * 合伙人 1-是 2-否
     */
    private Integer partner;
    //内转标识 1:开启 2:关闭
    private Integer insideWith;
    //提现开关 1:开启 2:关闭
    private Integer outsideWith;
    private String userKey;
    private Integer isFrozen;//是否冻结 1:是 0 :否
    private BigDecimal staticNft;
    private BigDecimal trendsNft;
    private BigDecimal frozenNft;
    private BigDecimal fcmCntAva;
    private BigDecimal fcmCntFrozen;
    private BigDecimal tokenAva;
    private BigDecimal tokenFrozen;
}
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -487,4 +487,56 @@
        select * from mall_member
        where account_login = #{accountLogin} and user_key = #{userKey}
    </select>
    <select id="getFcmMallMemberList" resultType="cc.mrbird.febs.mall.vo.AdminMallMemberVo">
        SELECT
        m.*,
               b.static_nft staticNft,
               b.trends_nft trendsNft,
               b.frozen_nft frozenNft,
               b.fcm_cnt_ava fcmCntAva,
               b.fcm_cnt_frozen fcmCntFrozen,
               b.token_ava tokenAva,
               b.token_frozen tokenFrozen,
        a.account_login referrerName,
        d.description levelName
        FROM mall_member m
        left join mall_member a on m.referrer_id = a.invite_id
        left join mall_member_amount b on b.member_id = m.id
        LEFT JOIN data_dictionary_custom d on d.code = m.level and type='AGENT_LEVEL_REQUIRE'
        <where>
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
                    and m.name like concat('%',  #{record.name},'%')
                </if>
                <if test="record.accountLogin!=null and record.accountLogin!=''">
                    and m.account_login like concat('%',  #{record.accountLogin},'%')
                </if>
                <if test="record.account!=null and record.account!=''">
                    and (
                    m.phone like concat('%',  #{record.account},'%')
                    or m.email like concat('%',  #{record.account},'%')
                    or m.bind_phone like concat('%',  #{record.account},'%')
                    or m.invite_id like concat('%',  #{record.account},'%')
                    )
                </if>
                <if test="record.accountStatus!=null">
                    and m.account_status = #{record.accountStatus}
                </if>
                <if test="record.accountType != null" >
                    and m.account_type = #{record.accountType}
                </if>
                <if test="record.level!=null and record.level!=''">
                    and m.level=#{record.level}
                </if>
            </if>
        </where>
        order by m.CREATED_TIME desc
    </select>
    <select id="getMallmemberAmountByMemberId" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
        SELECT a.*
        FROM mall_member_amount a
        where a.member_id = #{memberId}
    </select>
</mapper>
src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -123,6 +123,13 @@
    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchOutsideWith">
    {{# } }}
</script>
<script type="text/html" id="switchFrozenWith">
    {{# if(d.isFrozen === 1) { }}
    <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchFrozenWith">
    {{# } else { }}
    <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchFrozenWith">
    {{# } }}
</script>
<style>
    .layui-form-onswitch {
        background-color: #5FB878 !important;
@@ -130,15 +137,15 @@
</style>
<script type="text/html" id="tableMemberBar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="exportMember">导出会员信息</button>
<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="exportMember">导出会员信息</button>-->
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="addMember:update" lay-event="registMember">添加会员</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="balance">拨付余额</button>
<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="score">拨付赠送积分</button>-->
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="prizeScore">拨付现金积分</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="balance">拨付动态NFT</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="score">拨付代币可用</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="mallSystemPay:update" lay-event="prizeScore">拨付令牌可用</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="resetPwd:update" lay-event="resetPwd">重置登录密码</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="resetPwd:update" lay-event="resetPayPwd">重置支付密码</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="agentLevelSet:update" lay-event="agentLevel">设置代理等级</button>
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="voucherUpdate:update" lay-event="voucherUpdate">拨付绿色凭证</button>
<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="agentLevelSet:update" lay-event="agentLevel">设置代理等级</button>-->
<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="voucherUpdate:update" lay-event="voucherUpdate">拨付绿色凭证</button>-->
    </div>
</script>
<!-- 表格操作栏 end -->
@@ -213,6 +220,18 @@
            }
        });
        function frozenWithYes(id) {
            febs.get(ctx + 'admin/mallMember/frozenWithYes/' + id, null, function () {
                febs.alert.success('操作成功');
                $query.click();
            });
        }
        function frozenWithNo(id) {
            febs.get(ctx + 'admin/mallMember/frozenWithNo/' + id, null, function () {
                febs.alert.success('操作成功');
                $query.click();
            });
        }
        function outsideWithYes(id) {
            febs.get(ctx + 'admin/mallMember/outsideWithYes/' + id, null, function () {
                febs.alert.success('操作成功');
@@ -288,32 +307,32 @@
            tableIns = febs.table.init({
                elem: $view.find('table'),
                id: 'userTable',
                url: ctx + 'admin/mallMember/getMallMemberList',
                // url: ctx + 'admin/mallMember/getMallMemberList',
                url: ctx + 'admin/mallMember/getFcmMallMemberList',
                toolbar:"#tableMemberBar",
                // defaultToolbar:[],
                totalRow: true ,// 开启合计行
                cols: [[
                    {type: 'checkbox'},
                    // {field: 'id', title: 'ID', minWidth: 150,align:'left'},
                    {field: 'accountLogin', title: '登录账户', minWidth: 150,align:'left'},
                    {field: 'phone', title: '手机号码', minWidth: 150,align:'left',hide:toolbarMallmember},
                    {field: 'name', title: '名称', minWidth: 100,align:'left', totalRowText: '合计:'},
                    {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
                    {field: 'balance', title: '余额', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.balance) }}'},
                    {field: 'prizeScore', title: '现金积分', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.prizeScore) }}'},
                    {field: 'star', title: '贡献点', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.star) }}'},
                    {field: 'totalScore', title: '补贴额度', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.totalScore) }}'},
                    {field: 'voucherCnt', title: '绿色凭证', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherCnt) }}'},
                    {field: 'voucherCntSurplus', title: '待释放数量', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherCntSurplus) }}'},
                    {field: 'voucherAmount', title: '凭证现金', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherAmount) }}'},
                    {field: 'voucherFireCnt', title: '能量值', minWidth: 100,align:'left',totalRow: '{{= parseInt(d.voucherFireCnt) }}'},
                    {field: 'referrerName', title: '推荐人', minWidth: 100,align:'left'},
                    {field: 'levelName', title: '会员类型', minWidth: 100,align:'left'},
                    {field: 'storeMaster', title: '线下服务中心', templet:'#switchStoreMaster', minWidth: 120,align:'left',hide:toolbarMallmember},
                    {field: 'director', title: '代理商', templet:'#switchDirector', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'creater', title: '联创', templet:'#switchCreate', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'partner', title: '合伙人', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'insideWith', title: '是否内转', templet:'#switchInsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'outsideWith', title: '是否提现', templet:'#switchOutsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'staticNft', title: '静态NFT', minWidth: 120,align:'left'},
                    {field: 'trendsNft', title: '动态NFT', minWidth: 120,align:'left'},
                    {field: 'frozenNft', title: '冻结NFT', minWidth: 120,align:'left'},
                    {field: 'fcmCntAva', title: '代币可用', minWidth: 120,align:'left'},
                    {field: 'fcmCntFrozen', title: '代币冻结', minWidth: 120,align:'left'},
                    {field: 'tokenAva', title: '令牌可用', minWidth: 120,align:'left'},
                    {field: 'tokenFrozen', title: '令牌冻结', minWidth: 120,align:'left'},
                    // {field: 'levelName', title: '会员类型', minWidth: 100,align:'left'},
                    // {field: 'storeMaster', title: '线下服务中心', templet:'#switchStoreMaster', minWidth: 120,align:'left',hide:toolbarMallmember},
                    // {field: 'director', title: '代理商', templet:'#switchDirector', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    // {field: 'creater', title: '联创', templet:'#switchCreate', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    // {field: 'partner', title: '合伙人', templet:'#switchPartner', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    // {field: 'insideWith', title: '是否内转', templet:'#switchInsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    // {field: 'outsideWith', title: '是否提现', templet:'#switchOutsideWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'isFrozen', title: '是否冻结', templet:'#switchFrozenWith', minWidth: 120,align:'left' ,hide:toolbarMallmember},
                    {field: 'accountType', title: '账号类型',
                        templet: function (d) {
                            if (d.accountType === 2) {
@@ -406,10 +425,10 @@
                    return;
                }
                if (checkData.length > 1) {
                    febs.alert.warn('请选择一个用户');
                    febs.alert.warn('只能选择一个用户');
                    return;
                }
                systemPay("修改余额", checkData[0].id, 1);
                systemPay("动态NFT", checkData[0].id, 1);
            }
            if (layEvent === 'voucherUpdate') {
@@ -435,7 +454,7 @@
                    febs.alert.warn('请选择一个用户');
                    return;
                }
                systemPay("修改赠送积分", checkData[0].id, 2);
                systemPay("代币可用", checkData[0].id, 2);
            }
            if (layEvent === 'prizeScore') {
@@ -448,7 +467,7 @@
                    febs.alert.warn('请选择一个用户');
                    return;
                }
                systemPay("修改竞猜积分", checkData[0].id, 3);
                systemPay("令牌可用", checkData[0].id, 3);
            }
            if (layEvent === 'agentLevel') {
@@ -486,7 +505,7 @@
        }
        function systemPay(text, id, type) {
            febs.modal.open('text', 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
            febs.modal.open(text, 'modules/mallMember/mallSystemPay/' + type +'/'+ id, {
                btn: ['提交', '取消'],
                yes: function (index, layero) {
                    $('#systemPay-update').find('#submit').trigger('click');
@@ -521,6 +540,13 @@
                outsideWithYes(data.value);
            } else {
                outsideWithNo(data.value);
            }
        })
        form.on('switch(switchFrozenWith)', function (data) {
            if (data.elem.checked) {
                frozenWithYes(data.value);
            } else {
                frozenWithNo(data.value);
            }
        })
@@ -563,5 +589,6 @@
                changeIdentityNo(4, data.value);
            }
        })
    })
</script>
src/main/resources/templates/febs/views/modules/mallMember/mallSystemPay.html
@@ -75,11 +75,11 @@
        function initUserValue() {
            var balance;
            if (type == 1) {
                balance = systemPay.balance
                balance = systemPay.trendsNft
            } else if (type == 2) {
                balance = systemPay.score
                balance = systemPay.fcmCntAva
            } else if (type ==3) {
                balance = systemPay.prizeScore
                balance = systemPay.tokenAva
            } else {
            }
@@ -91,7 +91,7 @@
        form.on('submit(systemPay-update-form-submit)', function (data) {
            data.field.type = type;
            febs.post(ctx + 'admin/mallMember/updateSystemPay', data.field, function () {
            febs.post(ctx + 'admin/mallMember/updateSystemPayInfo', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#febs-member-list').find('#reset').click();