From cf200a1f92c01ba22c326c49391f748ffb006910 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Jul 2021 17:28:35 +0800
Subject: [PATCH] 20210617  开售开关

---
 src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java      |   10 ++
 src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml                   |    3 
 src/main/resources/templates/febs/views/modules/otc/otcEntrustList.html       |   28 ++++++
 src/main/resources/templates/febs/views/modules/otc/otcEntrustListUpdate.html |  126 +++++++++++++++++++++++++++++++
 src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java     |   15 +++
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java   |   45 +++++++++++
 src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java            |    4 +
 7 files changed, 230 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java
index 11c2544..4335613 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java
@@ -94,6 +94,16 @@
     }
 
     /**
+     *委托单--更新
+     * @return
+     */
+    @PostMapping("otcEntrustConfirm")
+    @ControllerEndpoint(operation = "委托单--更新", exceptionMessage = "失败")
+    public FebsResponse otcEntrustConfirm(@Valid OtcEntrustOrderEntity otcEntrustOrderEntity) {
+        return otcService.otcEntrustConfirm(otcEntrustOrderEntity);
+    }
+
+    /**
      * 订单列表
      */
     @GetMapping("otcOrderList")
diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java
index b246d9f..3b89a16 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java
@@ -3,6 +3,7 @@
 import com.xcong.excoin.common.entity.FebsConstant;
 import com.xcong.excoin.common.utils.FebsUtil;
 import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo;
+import com.xcong.excoin.modules.otc.entity.OtcEntrustOrderEntity;
 import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity;
 import com.xcong.excoin.modules.otc.entity.OtcOrderEntity;
 import com.xcong.excoin.modules.otc.entity.OtcSettingEntity;
@@ -41,6 +42,20 @@
         return FebsUtil.view("modules/otc/otcEntrustList");
     }
 
+
+
+    /**
+     * 获取委托单列表--详情
+     */
+    @GetMapping("otcEntrustListUpdate/{id}")
+    @RequiresPermissions("otcEntrustListUpdate:update")
+    public String otcEntrustListUpdate(@PathVariable long id, Model model) {
+        OtcEntrustOrderEntity data = otcService.otcEntrustListUpdate(id);
+        model.addAttribute("member", data);
+        return FebsUtil.view("modules/otc/otcEntrustListUpdate");
+    }
+
+
     /**
      * 获取订单列表
      */
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java b/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java
index df0ac3b..7bfb197 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java
@@ -42,4 +42,8 @@
     FebsResponse updateOtcSetting(OtcSettingEntity otcSettingEntity);
 
     int reduceCoin(Long id);
+
+    OtcEntrustOrderEntity otcEntrustListUpdate(long id);
+
+    FebsResponse otcEntrustConfirm(OtcEntrustOrderEntity otcEntrustOrderEntity);
 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
index 2259c8d..a90136b 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java
@@ -312,4 +312,49 @@
         otcOrderMapper.updateOrderStatusByOrderNo(OtcOrderEntity.STATUS_THREE, order.getOrderNo());
         return 1;
     }
+
+    @Override
+    public OtcEntrustOrderEntity otcEntrustListUpdate(long id) {
+        return otcEntrustOrderMapper.selectById(id);
+    }
+
+    @Override
+    public FebsResponse otcEntrustConfirm(OtcEntrustOrderEntity otcEntrustOrderEntity) {
+        Long id = otcEntrustOrderEntity.getId();
+        OtcEntrustOrderEntity otcEntrustOrder = otcEntrustOrderMapper.selectById(id);
+        BigDecimal unitPrice = otcEntrustOrderEntity.getUnitPrice();
+        if(ObjectUtil.isEmpty(unitPrice) || unitPrice.compareTo(BigDecimal.ZERO) < 0){
+            return new FebsResponse().fail().message("请设置正确的单价");
+        }
+        otcEntrustOrder.setUnitPrice(unitPrice);
+        BigDecimal coinAmount = otcEntrustOrderEntity.getCoinAmount();
+        if(ObjectUtil.isEmpty(coinAmount) || coinAmount.compareTo(BigDecimal.ZERO) < 0){
+            return new FebsResponse().fail().message("请设置正确的数量");
+        }
+        otcEntrustOrder.setCoinAmount(coinAmount);
+        BigDecimal totalAmount = coinAmount.multiply(unitPrice);
+        otcEntrustOrder.setTotalAmount(totalAmount);
+
+        BigDecimal remainCoinAmount = otcEntrustOrderEntity.getRemainCoinAmount();
+        if(ObjectUtil.isEmpty(remainCoinAmount) || remainCoinAmount.compareTo(BigDecimal.ZERO) < 0
+                || totalAmount.compareTo(remainCoinAmount) < 0){
+            return new FebsResponse().fail().message("请设置正确的剩余数量");
+        }
+        otcEntrustOrder.setRemainCoinAmount(remainCoinAmount);
+        BigDecimal limitMinAmount = otcEntrustOrderEntity.getLimitMinAmount();
+        if(ObjectUtil.isEmpty(limitMinAmount) || limitMinAmount.compareTo(BigDecimal.ZERO) < 0){
+            return new FebsResponse().fail().message("请设置正确的最小限额");
+        }
+        otcEntrustOrder.setLimitMinAmount(limitMinAmount);
+        BigDecimal limitMaxAmount = otcEntrustOrderEntity.getLimitMaxAmount();
+        if(ObjectUtil.isEmpty(limitMaxAmount) || limitMaxAmount.compareTo(BigDecimal.ZERO) < 0
+                || limitMaxAmount.compareTo(limitMinAmount) < 0 || totalAmount.compareTo(limitMaxAmount) < 0){
+            return new FebsResponse().fail().message("请设置正确的最大限额");
+        }
+        otcEntrustOrder.setLimitMaxAmount(limitMaxAmount);
+        otcEntrustOrder.setStatus(otcEntrustOrderEntity.getStatus());
+        otcEntrustOrderMapper.updateById(otcEntrustOrder);
+
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml b/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml
index 12799d6..203aa55 100644
--- a/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml
+++ b/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml
@@ -18,6 +18,9 @@
                 <if test="record.orderType!=null and record.orderType!=''">
                     and a.order_type= #{record.orderType}
                 </if>
+                <if test="record.status!=null and record.status!=''">
+                    and a.status= #{record.status}
+                </if>
             </if>
         </where>
         order by m.create_time desc
diff --git a/src/main/resources/templates/febs/views/modules/otc/otcEntrustList.html b/src/main/resources/templates/febs/views/modules/otc/otcEntrustList.html
index 784b39a..32c82e6 100644
--- a/src/main/resources/templates/febs/views/modules/otc/otcEntrustList.html
+++ b/src/main/resources/templates/febs/views/modules/otc/otcEntrustList.html
@@ -22,6 +22,17 @@
                                             </select>
                                         </div>
                                     </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label layui-form-label-sm">状态</label>
+                                        <div class="layui-input-inline">
+                                            <select name="status">
+                                                <option value="">请选择</option>
+                                                <option value="1">上线</option>
+                                                <option value="2">下线</option>
+                                                <option value="3">取消</option>
+                                            </select>
+                                        </div>
+                                    </div>
                                 </div>
                             </div>
                             <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -82,6 +93,17 @@
                     dealDone(data.id);
                 });
             }
+            if (layEvent === 'editOrder') {
+                febs.modal.open('详情修改', 'modules/otc/otcEntrustListUpdate/' + data.id, {
+                    btn: ['提交', '取消'],
+                    yes: function (index, layero) {
+                        $('#user-update').find('#submit').trigger('click');
+                    },
+                    btn2: function () {
+                        layer.closeAll();
+                    }
+                });
+            }
         });
         function dealIng(id) {
             febs.get(ctx + 'otc/dealIng/' + id, null, function () {
@@ -137,7 +159,7 @@
                     {field: 'remainCoinAmount', title: '剩余数量',minWidth: 100,align:'center'},
                     {field: 'limitMinAmount', title: '最小限额',minWidth: 100,align:'center'},
                     {field: 'limitMaxAmount', title: '最大限额',minWidth: 100,align:'center'},
-                    {field: 'status', title: '类型',
+                    {field: 'status', title: '状态',
                         templet: function (d) {
                             if (d.status === 1) {
                                 return '<span style="color:blue;">上线</span>'
@@ -160,6 +182,9 @@
                                 return ''
                             }
                         }, minWidth: 80,align:'center'},
+                    {title: '操作',templet: function (d) {
+                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="editOrder" shiro:hasPermission="user:update">详情</button>'
+                        },minWidth: 200,align:'center'}
                     // {title: '操作',templet: function (d) {
                     //         if(d.status === 1){
                     //             return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="dealIng" shiro:hasPermission="user:update">马上处理</button>'
@@ -178,6 +203,7 @@
             return {
                 account: $searchForm.find('input[name="account"]').val().trim(),
                 orderType: $searchForm.find("select[name='orderType']").val(),
+                status: $searchForm.find("select[name='status']").val(),
             };
         }
 
diff --git a/src/main/resources/templates/febs/views/modules/otc/otcEntrustListUpdate.html b/src/main/resources/templates/febs/views/modules/otc/otcEntrustListUpdate.html
new file mode 100644
index 0000000..a3bd9a0
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/otc/otcEntrustListUpdate.html
@@ -0,0 +1,126 @@
+<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="number" name="unitPrice" data-th-id="${member.unitPrice}"
+                       autocomplete="off" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">数量:</label>
+            <div class="layui-input-block">
+                <input type="number" name="coinAmount" data-th-id="${member.coinAmount}"
+                       autocomplete="off" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">剩余数量:</label>
+            <div class="layui-input-block">
+                <input type="number" name="remainCoinAmount" data-th-id="${member.remainCoinAmount}"
+                       autocomplete="off" class="layui-input">
+            </div>
+        </div>
+<!--        <div class="layui-form-item">-->
+<!--            <label class="layui-form-label febs-form-item-require">委托总金额:</label>-->
+<!--            <div class="layui-input-block">-->
+<!--                <input type="number" name="totalAmount" data-th-id="${member.totalAmount}"-->
+<!--                       autocomplete="off" class="layui-input">-->
+<!--            </div>-->
+<!--        </div>-->
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">最小限额:</label>
+            <div class="layui-input-block">
+                <input type="number" name="limitMinAmount" data-th-id="${member.limitMinAmount}"
+                       autocomplete="off" class="layui-input">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label febs-form-item-require">最大限额:</label>
+            <div class="layui-input-block">
+                <input type="number" name="limitMaxAmount" data-th-id="${member.limitMaxAmount}"
+                       autocomplete="off" class="layui-input">
+            </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="status" value="1" title="上线" checked="">
+                <input type="radio" name="status" value="2" title="下线" >
+                <input type="radio" name="status" value="3" title="取消" >
+            </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", {
+                "id": member.id,
+                "unitPrice": member.unitPrice,
+                "coinAmount": member.coinAmount,
+                "remainCoinAmount": member.remainCoinAmount,
+                // "totalAmount": member.totalAmount,
+                "limitMinAmount": member.limitMinAmount,
+                "status": member.status,
+                "limitMaxAmount": member.limitMaxAmount
+            });
+        }
+
+        form.on('submit(user-update-form-submit)', function (data) {
+            febs.post(ctx + 'otc/otcEntrustConfirm', data.field, function () {
+                layer.closeAll();
+                febs.alert.success('成功');
+                $('#febs-user').find('#query').click();
+            });
+            return false;
+        });
+    });
+</script>
\ No newline at end of file

--
Gitblit v1.9.1