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") 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"); } /** * 获取订单列表 */ 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); } 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(); } } 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 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(), }; } src/main/resources/templates/febs/views/modules/otc/otcEntrustListUpdate.html
New file @@ -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>