src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
@@ -4,7 +4,6 @@ import com.xcong.excoin.common.controller.BaseController; import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.dto.MemberDataInfoDto; import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto; import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity; import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity; @@ -41,6 +40,16 @@ private final IMemberService memberService; /** *会员列表---拨币 * @return */ @PostMapping("addCoinConfirm") @ControllerEndpoint(operation = "交易设置---确认", exceptionMessage = "设置失败") public FebsResponse addCoinConfirm(@Valid MemberEntity memberEntity) { return memberService.addCoinConfirm(memberEntity); } /** * 代理关系---列表 * @return */ src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java
@@ -27,6 +27,14 @@ private final IMemberService memberService; @GetMapping("addCoin/{id}") @RequiresPermissions("addCoin:update") public String addCoin(@PathVariable long id, Model model) { MemberEntity data = memberService.selectMemberByid(id); model.addAttribute("member", data); return FebsUtil.view("modules/member/addCoin"); } /** * 代理关系 * @return src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
@@ -6,6 +6,7 @@ import com.xcong.excoin.common.entity.BaseEntity; import lombok.Data; import java.math.BigDecimal; import java.util.Date; /** @@ -147,6 +148,9 @@ @TableField(exist = false) private String account; @TableField(exist = false) private BigDecimal coinNumber; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(exist = false) private Date startTime; src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java
@@ -63,4 +63,6 @@ IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity, QueryRequest request); FebsResponse addCoinConfirm(@Valid MemberEntity memberEntity); } src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -586,4 +586,53 @@ return new FebsResponse().data(selectByMap); } @Override public FebsResponse addCoinConfirm(@Valid MemberEntity memberEntity) { Long memberId = memberEntity.getId(); String walletCode = "USDT"; BigDecimal amountUsdt = memberEntity.getCoinNumber(); 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); //添加币币资金划转历史记录 MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); memberAccountMoneyChangeEntity.setContent("转入币币账户"); memberAccountMoneyChangeEntity.setMemberId(memberId); memberAccountMoneyChangeEntity.setAmount(amountUsdt); memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); memberAccountMoneyChangeEntity.setSymbol("USDT"); memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy()); memberAccountMoneyChangeEntity.setCreateTime(new Date()); memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy()); memberAccountMoneyChangeEntity.setUpdateTime(new Date()); 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().success(); } } src/main/resources/templates/febs/views/modules/member/addCoin.html
New file @@ -0,0 +1,100 @@ <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="phone" minlength="4" maxlength="10" data-th-id="${member.phone}" lay-verify="range|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" minlength="4" maxlength="10" data-th-id="${member.email}" lay-verify="range|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" minlength="4" maxlength="10" data-th-id="${member.inviteId}" lay-verify="range|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="coinNumber" minlength="4" maxlength="10" data-th-id="${member.coinNumber}" lay-verify="range|coinNumber" autocomplete="off" class="layui-input" > </div> </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" lay-submit="" lay-filter="user-update-form-submit" id="submit"></button> </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(); formSelects.render(); function initUserValue() { form.val("user-update-form", { "phone": member.phone, "email": member.email, "coinNumber": member.coinNumber, "inviteId": member.inviteId }); } form.on('submit(user-update-form-submit)', function (data) { febs.post(ctx + 'member/addCoinConfirm', data.field, function () { layer.closeAll(); febs.alert.success('拨币成功'); $('#febs-user').find('#reset').click(); }); return false; }); }); </script> src/main/resources/templates/febs/views/modules/member/member.html
@@ -81,6 +81,17 @@ maxmin: true, }); } if (layEvent === 'addCoin') { febs.modal.open( '拨币', 'modules/member/addCoin/' + data.id, { btn: ['提交', '取消'], yes: function (index, layero) { $('#user-update').find('#submit').trigger('click'); }, btn2: function () { layer.closeAll(); } }); } }); @@ -110,9 +121,9 @@ {field: 'accountType', title: '账号类型', templet: function (d) { if (d.accountType === 2) { return '<span style="color:green;">正常账号</span>' return '<span style="color:green;">测试账号</span>' } else if (d.accountType === 1) { return '<span style="color:red;">测试账号</span>' return '<span style="color:red;">正常账号</span>' }else{ return '' } @@ -146,11 +157,13 @@ templet: function (d) { if (d.certifyStatus === 1) { return '<a lay-event="edit" shiro:hasPermission="user:update">确认</a>' +'<a lay-event="addCoin" shiro:hasPermission="user:update">拨币</a>' }else if(d.certifyStatus === 2){ return '<a lay-event="see" shiro:hasPermission="user:update">' +'<i class="layui-icon febs-edit-area febs-blue"></i></a>' +'<a lay-event="addCoin" shiro:hasPermission="user:update">拨币</a>' }else { return '' return +'<a lay-event="addCoin" shiro:hasPermission="user:update">拨币</a>' } },minWidth: 200,align:'center'} ]]