From 27c794a7d53992efb8ba6ee2be12c58e10766f89 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 07 Jul 2020 22:09:36 +0800
Subject: [PATCH] 20200707  代码提交

---
 src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java            |    4 +
 src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java      |    8 ++
 src/main/resources/templates/febs/views/modules/member/member.html                |   19 ++++
 src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java         |    2 
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   49 ++++++++++++
 src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java    |   11 ++
 src/main/resources/templates/febs/views/modules/member/addCoin.html               |  100 +++++++++++++++++++++++++
 7 files changed, 189 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
index c1a018b..44d250a 100644
--- a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
+++ b/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
      */
diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java
index a88a9c9..b501da7 100644
--- a/src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java
+++ b/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
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
index 4afca0c..03fc7df 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
+++ b/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;
 
 /**
@@ -146,6 +147,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)
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java
index 8e966b0..fc6b27d 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java
+++ b/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);
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index 66030ec..3b89c26 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/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();
+	}
+
 }
diff --git a/src/main/resources/templates/febs/views/modules/member/addCoin.html b/src/main/resources/templates/febs/views/modules/member/addCoin.html
new file mode 100644
index 0000000..1d258a6
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/member/addCoin.html
@@ -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>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/member/member.html b/src/main/resources/templates/febs/views/modules/member/member.html
index 6eaf04f..b6c9071 100644
--- a/src/main/resources/templates/febs/views/modules/member/member.html
+++ b/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">&#xe7a5;</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'}
                 ]]

--
Gitblit v1.9.1