src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
@@ -1,5 +1,6 @@ package com.xcong.excoin.modules.member.controller; import com.xcong.excoin.common.annotation.ControllerEndpoint; import com.xcong.excoin.common.controller.BaseController; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; @@ -10,10 +11,14 @@ 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 java.util.Map; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; /** * @author wzy @@ -35,14 +40,31 @@ } /** * 会员USDT充值 * @param member * @param request * @return * 会员USDT充值---列表 */ @GetMapping("memberChargeUsdt") public FebsResponse memberChargeUsdt(MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request) { Map<String, Object> data = getDataTable(memberService.findmemberQuickBuySaleListInPage(memberQuickBuySaleEntity, request)); return new FebsResponse().success().data(data); } /** * 会员USDT充值---确认 * @return */ @GetMapping("memberChargeUsdtConfirm/{id}") @ControllerEndpoint(operation = "会员USDT充值---确认", exceptionMessage = "划转失败") public FebsResponse memberChargeUsdtConfirm(@NotNull(message = "{required}") @PathVariable Long id) { return memberService.memberChargeUsdtConfirm(id); } /** * 会员USDT充值---取消 * @return */ @GetMapping("memberChargeUsdtCancel/{id}") @ControllerEndpoint(operation = "会员USDT充值---取消", exceptionMessage = "取消失败") public FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") @PathVariable Long id) { return memberService.memberChargeUsdtCancel(id); } } src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java
New file @@ -0,0 +1,52 @@ package com.xcong.excoin.modules.member.entity; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.excoin.common.entity.BaseEntity; import lombok.Data; @Data @TableName("member_account_money_change") public class MemberAccountMoneyChangeEntity extends BaseEntity { private static final long serialVersionUID = 1L; /** * 类型【1:币币资产2:合约资产3:代理资产】 */ public static final Integer TYPE_WALLET_COIN = 1; public static final Integer TYPE_WALLET_CONTRACT = 2; public static final Integer TYPE_WALLET_AGENT = 3; /** * 状态【0:待审核 1:成功2:失败】 */ public static final Integer STATUS_WAIT_INTEGER = 0; public static final Integer STATUS_SUCCESS_INTEGER = 1; public static final Integer STATUS_FAIL_INTEGER = 2; private Long memberId; /** * 币种 */ private String symbol; /** * 金额 */ private BigDecimal amount; /** * 记录内容 */ private String content; /** * 类型【1:币币资产2:合约资产3:代理资产】 */ private int type; /** * 状态【0:待审核 1:成功2:失败】 */ private int status; } src/main/java/com/xcong/excoin/modules/member/entity/MemberQuickBuySaleEntity.java
@@ -1,8 +1,11 @@ package com.xcong.excoin.modules.member.entity; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.xcong.excoin.common.entity.BaseEntity; import lombok.Data; @@ -83,5 +86,11 @@ * 订单类型 B买入 S卖出 */ private String orderType; /** * 查询条件:第一查询条件 */ @TableField(exist = false) private String account; } src/main/java/com/xcong/excoin/modules/member/entity/MemberWalletCoinEntity.java
New file @@ -0,0 +1,62 @@ package com.xcong.excoin.modules.member.entity; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.excoin.common.entity.BaseEntity; import lombok.Data; @Data @TableName("member_wallet_coin") public class MemberWalletCoinEntity extends BaseEntity{ private static final long serialVersionUID = 1L; /** * 用户Id */ private Long memberId; /** * 可用余额 */ private BigDecimal availableBalance; /** * 总金额 */ private BigDecimal totalBalance; /** * 冻结金额 */ private BigDecimal frozenBalance; /** * 借入资产金额 */ private BigDecimal borrowedFund; /** * 钱包标识 */ private String walletCode; /** * 钱包地址 */ private String walletAddress; /** * 上次余额 */ private BigDecimal earlyBalance; /** * 区块编号 */ private int blockNumber; } src/main/java/com/xcong/excoin/modules/member/mapper/MemberAccountMoneyChangeMapper.java
New file @@ -0,0 +1,8 @@ package com.xcong.excoin.modules.member.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; public interface MemberAccountMoneyChangeMapper extends BaseMapper<MemberAccountMoneyChangeEntity> { } src/main/java/com/xcong/excoin/modules/member/mapper/MemberQuickBuySaleMapper.java
@@ -6,10 +6,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity; import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; public interface MemberQuickBuySaleMapper extends BaseMapper<MemberQuickBuySaleEntity> { IPage<MemberQuickBuySaleEntity> findmemberQuickBuySaleListInPage(Page<MemberQuickBuySaleEntity> page, IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage(Page<MemberQuickBuySaleEntity> page, @Param("record")MemberQuickBuySaleEntity memberQuickBuySaleEntity); } src/main/java/com/xcong/excoin/modules/member/mapper/MemberWalletCoinMapper.java
New file @@ -0,0 +1,12 @@ package com.xcong.excoin.modules.member.mapper; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; public interface MemberWalletCoinMapper extends BaseMapper<MemberWalletCoinEntity> { MemberWalletCoinEntity findWalletCoinByMemberIdAndWalletCode(@Param("memberId")Long memberId, @Param("walletCode")String walletCode); } src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java
@@ -1,10 +1,14 @@ package com.xcong.excoin.modules.member.service; import javax.validation.constraints.NotNull; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity; import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; /** * @author helius @@ -13,5 +17,10 @@ IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request); IPage<MemberQuickBuySaleEntity> findmemberQuickBuySaleListInPage(MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request); IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage(MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request); FebsResponse memberChargeUsdtConfirm(@NotNull(message = "{required}") Long id); FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") Long id); } src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -1,18 +1,27 @@ package com.xcong.excoin.modules.member.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper; import com.xcong.excoin.modules.member.mapper.MemberMapper; import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper; import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; import com.xcong.excoin.modules.member.service.IMemberService; import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; import lombok.RequiredArgsConstructor; import java.math.BigDecimal; import javax.validation.constraints.NotNull; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * @author wzy @@ -23,6 +32,11 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService { private final MemberQuickBuySaleMapper memberQuickBuySaleMapper; private final MemberWalletCoinMapper memberWalletCoinMapper; private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper; @Override public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) { @@ -31,9 +45,80 @@ } @Override public IPage<MemberQuickBuySaleEntity> findmemberQuickBuySaleListInPage( public IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage( MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request) { Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); return memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity); IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity); return findmemberQuickBuySaleListInPage; } @Override @Transactional(rollbackFor = Exception.class) public FebsResponse memberChargeUsdtConfirm(Long id) { MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id); if(!MemberQuickBuySaleEntity.CHARGE_STATUS_PAID.equals(memberQuickBuySaleEntity.getOrderStatus())) { return new FebsResponse().message("只允许已付款状态操作"); } Long memberId = memberQuickBuySaleEntity.getMemberId(); BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt(); String walletCode = "USDT"; MemberEntity selectById = this.baseMapper.selectById(memberId); if(ObjectUtils.isEmpty(selectById)) { return new FebsResponse().message("用户已不存在"); } //获取币币钱包 MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode); BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance(); BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance(); memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt)); memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt)); // 更新 memberWalletCoinMapper.updateById(memberWalletCoinEntity); // 更新状态 memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED); memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity); //添加币币资金划转历史记录 MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); memberAccountMoneyChangeEntity.setContent("OTC转入"); memberAccountMoneyChangeEntity.setMemberId(memberId); memberAccountMoneyChangeEntity.setAmount(amountUsdt); memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); memberAccountMoneyChangeEntity.setSymbol("USDT"); memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity); /** * todo SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String chargeTime = format.format(memberQuickBuySaleEntity.getChargeTime()); // 将当前时间袼式化为指定的格式 String usdt = memberQuickBuySaleEntity.getAmountUsdt()+"USDT"; //发送短信提醒 String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"充值"+usdt+"已成功到账,请您及时查收!订单号为:"+memberChargeUsdt.getOrderCode()+"。"; SmsUtils.hxSmsSend(member.getPhone(), smsContent); */ return new FebsResponse().message("拨币成功"); } @Override @Transactional(rollbackFor = Exception.class) public FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") Long id) { MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id); if(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED.equals(memberQuickBuySaleEntity.getOrderStatus()) || MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER.equals(memberQuickBuySaleEntity.getOrderStatus()) || MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM.equals(memberQuickBuySaleEntity.getOrderStatus())) { return new FebsResponse().message("不允许系统撤单操作"); } memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM); memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity); return new FebsResponse().success(); } } src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickBuySaleVo.java
New file @@ -0,0 +1,64 @@ package com.xcong.excoin.modules.member.vo; import java.math.BigDecimal; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @Data public class MemberQuickBuySaleVo { @TableId(value = "id",type = IdType.AUTO) private Long id; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; /** * 手机号(包含国际手机号) */ private String phone; /** * 邮箱 */ private String email; /** * 用户Id */ private Long memberId; /** * 金额(人民币) */ private BigDecimal amountCny; /** * 金额(USDT) */ private BigDecimal amountUsdt; /** * 付款方式 1-支付宝2-微信3-银行卡 */ private Integer paymentType; /** * 收款账号 */ private String paymentAccount; /** * 收款人姓名 */ private String paymentName; /** * 单价 */ private BigDecimal unitPrice; /** * 订单状态 1-新建2-已付款3-已审核4-撤单5-系统取消 */ private int orderStatus; /** * 订单编号 */ private String orderNo; } src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml
@@ -3,18 +3,15 @@ <mapper namespace="com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper"> <select id="findmemberQuickBuySaleListInPage" resultType="com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity"> <select id="findmemberQuickBuySaleListInPage" resultType="com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo"> select * from member_quick_buy_sale s left join member m on m.id = s.member_id <where> s.order_type = 'B' <if test="record != null" > <if test="record.createTime!=null"> and s.create_time >=#{record.createTime} <if test="record.account!=null and record.account!=''"> and (m.phone = #{record.account} or m.email = #{record.account} or s.member_id=#{record.account}) </if> <if test="record.memberId!=null"> and (m.phone = #{record.memberId} or m.email = #{record.memberId} or m.invite_id=#{record.memberId}) </if> <if test="record.orderStatus!=null" > <if test="record.orderStatus!=null and record.orderStatus!= 0" > and s.order_status = #{record.orderStatus} </if> </if> src/main/resources/mapper/modules/MemberWalletCoinMapper.xml
New file @@ -0,0 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper"> <select id="findWalletCoinByMemberIdAndWalletCode" resultType="com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity"> select * from member_wallet_coin where member_id = #{memberId} and wallet_code = #{walletCode} </select> </mapper> src/main/resources/templates/febs/views/modules/member/chargeUsdt.html
@@ -1,4 +1,4 @@ <div class="layui-fluid layui-anim febs-anim" id="febs-user" lay-title="会员列表"> <div class="layui-fluid layui-anim febs-anim" id="febs-user" lay-title="会员充值USDT记录"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-card"> @@ -13,16 +13,10 @@ </div> </div> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">创建时间</label> <div class="layui-input-inline"> <input type="text" name="createTime" id="user-createTime" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">订单状态</label> <div class="layui-input-inline"> <select name="orderStatus"> <option value=""></option> <option value="0"></option> <option value="1">新建</option> <option value="2">已付款</option> <option value="3">已审核</option> @@ -54,38 +48,30 @@ </div> </div> <!-- 表格字段状态格式化 start --> <script type="text/html" id="certify-status"> {{# var certifyStatus = { 0: {title: '未通过', color: 'red'}, 1: {title: '审核中', color: 'blue'}, 2: {title: '审核通过', color: 'green'}, 3: {title: '未实名', color: 'cyan'} }[d.certifyStatus]; }} <span class="layui-badge febs-tag-{{certifyStatus.color}}">{{ certifyStatus.title }}</span> </script> <script type="text/html" id="order-Status"> {{# var orderStatus = { 1: {title: '新建' , color: 'green'}, 2: {title: '已付款' , color: 'red'} 1: {title: '新建' , color: 'gray'}, 2: {title: '已付款' , color: 'red'}, 3: {title: '已审核' , color: 'green'}, 4: {title: '撤单' , color: 'red'} 5: {title: '系统取消' , color: 'red'} 4: {title: '撤单' , color: 'gray'}, 5: {title: '系统取消' , color: 'blue'} }[d.orderStatus]; }} <span class="layui-badge febs-tag-{{orderStatus.color}}">{{ orderStatus.title }}</span> </script> <script type="text/html" id="account-status"> <script type="text/html" id="payment-Type"> {{# var accountStatus = { 1: {title: '正常', color : 'blue'}, 0: {title: '禁用', color : 'red'} }[d.accountStatus]; var paymentType = { null: {title: '无' }, 1: {title: '支付宝' }, 2: {title: '微信'}, 3: {title: '银行卡' } }[d.paymentType]; }} <span class="layui-badge febs-bg-{{accountStatus.color}}">{{ accountStatus.title }}</span> <span >{{ paymentType.title }}</span> </script> <!-- 表格字段状态格式化 start --> <!-- 表格操作栏 start --> @@ -93,11 +79,9 @@ <span shiro:lacksPermission="user:view,user:update,user:delete"> <span class="layui-badge-dot febs-bg-orange"></span> 无权限 </span> <a lay-event="detail" shiro:hasPermission="user:view"><i class="layui-icon febs-edit-area febs-green"></i></a> <a lay-event="edit" shiro:hasPermission="user:update"><i class="layui-icon febs-edit-area febs-blue"></i></a> <a lay-event="del" shiro:hasPermission="user:delete"><i class="layui-icon febs-edit-area febs-red"></i></a> <a lay-event="confirm" shiro:hasPermission="user:delete">确认</a> <i class="layui-icon febs-edit-area febs-blue"></i> <a lay-event="cancel" shiro:hasPermission="user:delete">系统撤单</a> </script> <!-- 表格操作栏 end --> <script data-th-inline="none" type="text/javascript"> @@ -115,95 +99,12 @@ $reset = $view.find('#reset'), $searchForm = $view.find('form'), sortObject = {field: 'createTime', type: null}, tableIns, createTimeFrom, createTimeTo; tableIns; form.render(); // 表格初始化 initTable(); // 时间组件 laydate.render({ elem: '#user-createTime', range: true, trigger: 'click' }); // 新增下拉组件 /** dropdown.render({ elem: $view.find('.action-more'), click: function (name, elem, event) { var checkStatus = table.checkStatus('userTable'); if (name === 'add') { febs.modal.open('新增用户', 'system/user/add', { btn: ['提交', '重置'], area: $(window).width() <= 750 ? '95%' : '50%', offset: '30px', yes: function (index, layero) { $('#user-add').find('#submit').trigger('click'); }, btn2: function () { $('#user-add').find('#reset').trigger('click'); return false; } }); } if (name === 'delete') { if (!checkStatus.data.length) { febs.alert.warn('请选择需要删除的用户'); } else { febs.modal.confirm('删除用户', '确定删除该用户?', function () { var userIds = []; layui.each(checkStatus.data, function (key, item) { userIds.push(item.userId) }); deleteUsers(userIds.join(',')); }); } } if (name === 'reset') { if (!checkStatus.data.length) { febs.alert.warn('请选择需要重置密码的用户'); } else { var usernames = []; layui.each(checkStatus.data, function (key, item) { usernames.push(item.username) }); febs.post(ctx + 'user/password/reset/' + usernames.join(','), null, function () { febs.alert.success('所选用户密码已重置为1234qwer'); }); } } if (name === 'export') { var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); params.pageSize = $view.find(".layui-laypage-limits option:selected").val(); params.pageNum = $view.find(".layui-laypage-em").next().html(); febs.download(ctx + 'user/excel', params, '用户信息表.xlsx'); } }, options: [{ name: 'add', title: '新增用户', perms: 'user:add' }, { name: 'delete', title: '删除用户', perms: 'user:delete' }, { name: 'reset', title: '密码重置', perms: 'user:password:reset' }, { name: 'export', title: '导出Excel', perms: 'user:export' }] }); */ // 下拉框选择器 treeSelect.render({ @@ -218,30 +119,30 @@ table.on('tool(userTable)', function (obj) { var data = obj.data, layEvent = obj.event; if (layEvent === 'detail') { febs.modal.view('用户信息', 'system/user/detail/' + data.username, { area: $(window).width() <= 750 ? '95%' : '660px' if (layEvent === 'confirm') { febs.modal.confirm('询问', '您是否确认收款,确认拨币USDT到该会员吗?', function () { confirmUsers(data.id); }); } if (layEvent === 'del') { febs.modal.confirm('删除用户', '确定删除该用户?', function () { deleteUsers(data.userId); }); } if (layEvent === 'edit') { febs.modal.open('修改用户', 'system/user/update/' + data.username, { area: $(window).width() <= 750 ? '90%' : '50%', offset: '30px', btn: ['提交', '取消'], yes: function (index, layero) { $('#user-update').find('#submit').trigger('click'); }, btn2: function () { layer.closeAll(); } if (layEvent === 'cancel') { febs.modal.confirm('系统撤单', '您是否后台撤销该记录吗?', function () { cancelUsers(data.id); }); } }); function confirmUsers(id) { febs.get(ctx + 'member/memberChargeUsdtConfirm/' + id, null, function () { febs.alert.success('划转成功'); $query.click(); }); } function cancelUsers(id) { febs.get(ctx + 'member/memberChargeUsdtCancel/' + id, null, function () { febs.alert.success('设置为系统取消'); $query.click(); }); } // 查询按钮 $query.on('click', function () { @@ -254,8 +155,6 @@ $searchForm[0].reset(); treeSelect.revokeNode('dept'); sortObject.type = 'null'; createTimeTo = null; createTimeFrom = null; tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject}); }); @@ -265,10 +164,18 @@ id: 'userTable', url: ctx + 'member/memberChargeUsdt', cols: [[ {type: 'checkbox'}, {field: 'phone', title: '手机号码'}, {field: 'email', title: '邮箱'}, {field: 'memberId', title: '邀请码UID'}, {title: '订单状态', templet: '#order-Status'}, {field: 'createTime', title: '下单时间', minWidth: 180}, {field: 'amountCny', title: '人民币金额'}, {field: 'amountUsdt', title: 'USDT金额'}, {field: 'unitPrice', title: '单价'}, {field: 'createTime', title: '充值时间', minWidth: 180}, {title: '付款状态', templet: '#order-Status'}, {field: 'orderNo', title: '订单编号'}, {field: 'paymentName', title: '收款人'}, {field: 'paymentAccount', title: '收款账号'}, {title: '收款方式', templet: '#payment-Type'}, {title: '操作', toolbar: '#user-option', minWidth: 140, fixed : 'right'} ]] }); @@ -276,27 +183,11 @@ // 获取查询参数 function getQueryParams() { var createTime = $searchForm.find('input[name="createTime"]').val(); if (createTime) { createTimeFrom = createTime.split(' - ')[0]; } return { startTime: createTimeFrom, account: $searchForm.find('input[name="account"]').val().trim(), account: $searchForm.find('input[name="account"]').val().trim(), orderStatus: $searchForm.find("select[name='orderStatus']").val(), }; } function deleteUsers(userIds) { var currentUserId = currentUser.userId + ''; if (('' + userIds).split(',').indexOf(currentUserId) !== -1) { febs.alert.warn('所选用户包含当前登录用户,无法删除'); return; } febs.get(ctx + 'user/delete/' + userIds, null, function () { febs.alert.success('删除用户成功'); $query.click(); }); } }) </script>