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