From fb5549475c11fa264f4a4630638c136c99250d1e Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 20 May 2021 11:36:40 +0800 Subject: [PATCH] 20210520 订单更新付款人,订单状态,支付时间 --- src/main/java/com/xcong/excoin/modules/otc/entity/OtcEntrustOrderEntity.java | 2 src/main/resources/mapper/modules/OtcOrderMapper.xml | 1 src/main/resources/mapper/modules/OtcOrderAppealMapper.xml | 1 src/main/java/com/xcong/excoin/modules/otc/entity/OtcOrderEntity.java | 12 ++ src/main/resources/templates/febs/views/modules/otc/otcOrderList.html | 73 +++++++------- src/main/java/com/xcong/excoin/modules/otc/controller/OtcController.java | 17 ++ src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml | 1 src/main/resources/templates/febs/views/modules/otc/otcOrderInfo.html | 109 +++++++++++++++++++++ src/main/java/com/xcong/excoin/modules/otc/controller/ViewController.java | 12 ++ src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcServiceImpl.java | 54 ++++++++++ src/main/java/com/xcong/excoin/modules/otc/service/OtcService.java | 4 11 files changed, 237 insertions(+), 49 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 de52620..243ed27 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 @@ -5,6 +5,7 @@ import com.xcong.excoin.common.entity.FebsResponse; import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; +import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.otc.entity.OtcEntrustOrderEntity; import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity; import com.xcong.excoin.modules.otc.entity.OtcOrderAppealEntity; @@ -12,11 +13,9 @@ import com.xcong.excoin.modules.otc.service.OtcService; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.Map; @@ -104,4 +103,14 @@ return new FebsResponse().success().data(data); } + /** + *订单列表---付款人 + * @return + */ + @PostMapping("updateOrderInfo") + @ControllerEndpoint(operation = "订单列表---付款人", exceptionMessage = "失败") + public FebsResponse updateOrderInfo(@Valid OtcOrderEntity otcOrderEntity) { + return otcService.updateOrderInfo(otcOrderEntity); + } + } 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 867960b..7074b12 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.OtcOrderEntity; import com.xcong.excoin.modules.otc.service.OtcService; import com.xcong.excoin.modules.otc.vo.OtcAppealInfoVo; import lombok.RequiredArgsConstructor; @@ -48,6 +49,17 @@ } /** + * 获取订单列表--详情 + */ + @GetMapping("otcOrderInfo/{id}") + @RequiresPermissions("otcOrderInfo:update") + public String otcOrderInfo(@PathVariable long id, Model model) { + OtcOrderEntity data = otcService.otcOrderInfo(id); + model.addAttribute("member", data); + return FebsUtil.view("modules/otc/otcOrderInfo"); + } + + /** * 获取申诉列表 */ @GetMapping("otcAppealList") diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcEntrustOrderEntity.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcEntrustOrderEntity.java index 5472c5d..21d179d 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcEntrustOrderEntity.java +++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcEntrustOrderEntity.java @@ -65,6 +65,6 @@ private String realName; @TableField(exist = false) - private String nickname; + private String nikename; } diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcOrderEntity.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcOrderEntity.java index f2acbfe..d1993bc 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcOrderEntity.java +++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcOrderEntity.java @@ -35,6 +35,11 @@ public static final Integer STATUS_THREE = 3; public static final Integer STATUS_FOUR = 4; + //委托单类型 B-买S-卖 + private String orderType; + public static final String ORDERTYPE_B = "B"; + public static final String ORDERTYPE_S = "S"; + //付款时间 private Date payTime; @@ -45,10 +50,13 @@ private long entrustOrderId; //市商ID - private long mdId; + private long mbId; //支付市商ID - private long payMdId; + private long payMbId; + + //付款人姓名 + private String payName; @TableField(exist = false) private String account; 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 916cabe..599e0d9 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 @@ -29,4 +29,8 @@ IPage<OtcOrderEntity> otcOrderList(OtcOrderEntity otcOrderEntity, QueryRequest request); OtcAppealInfoVo otcAppealInfo(long id); + + OtcOrderEntity otcOrderInfo(long id); + + FebsResponse updateOrderInfo(OtcOrderEntity otcOrderEntity); } 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 abcb588..c240dcc 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 @@ -1,6 +1,10 @@ package com.xcong.excoin.modules.otc.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -8,7 +12,9 @@ import com.xcong.excoin.common.entity.QueryRequest; import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.modules.member.mapper.MemberMapper; +import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; import com.xcong.excoin.modules.otc.entity.OtcEntrustOrderEntity; import com.xcong.excoin.modules.otc.entity.OtcMarketBussinessEntity; import com.xcong.excoin.modules.otc.entity.OtcOrderAppealEntity; @@ -26,6 +32,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Date; +import java.util.List; @Service @RequiredArgsConstructor @@ -39,6 +46,8 @@ private OtcEntrustOrderMapper otcEntrustOrderMapper; @Resource private OtcOrderMapper otcOrderMapper; + @Resource + private MemberWalletCoinMapper memberWalletCoinMapper; @Resource private MemberMapper memberMapper; @@ -166,7 +175,7 @@ otcAppealInfoVo.setFinishTime(finishTime); } //获取对应的商户信息 - long payMdId = otcOrderEntity.getPayMdId(); + long payMdId = otcOrderEntity.getPayMbId(); OtcMarketBussinessEntity otcMarketBussinessEntity = otcMarketBussinessMapper.selectById(payMdId); if(ObjectUtil.isNotEmpty(otcMarketBussinessEntity)){ String nikename = otcMarketBussinessEntity.getNikename(); @@ -175,4 +184,47 @@ return otcAppealInfoVo; } + @Override + public OtcOrderEntity otcOrderInfo(long id) { + OtcOrderEntity otcOrderEntity = otcOrderMapper.selectById(id); + return otcOrderEntity; + } + + @Override + @Transactional + public FebsResponse updateOrderInfo(OtcOrderEntity otcOrderEntity) { + Long id = otcOrderEntity.getId(); + OtcOrderEntity otcOrder = otcOrderMapper.selectById(id); + if(ObjectUtil.isEmpty(otcOrder)){ + return new FebsResponse().fail().message("连接超时,请刷新页面重试"); + } + Integer status = otcOrder.getStatus(); + if(OtcOrderEntity.STATUS_ONE != status){ + return new FebsResponse().fail().message("当前订单不是待付款状态"); + } + String payName = otcOrderEntity.getPayName(); + if(StrUtil.isEmpty(payName)){ + return new FebsResponse().fail().message("请输入付款人"); + } + BigDecimal coinAmount = otcOrderEntity.getCoinAmount(); + /** + * 获取订单信息--订单编号 + * 获取买单和买单 + * 更新payName字段 + * 更新订单状态 + */ + QueryWrapper<OtcOrderEntity> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_no",otcOrder.getOrderNo()); + List<OtcOrderEntity> list = otcOrderMapper.selectList(queryWrapper); + if(CollUtil.isNotEmpty(list)){ + for(OtcOrderEntity order : list){ + order.setStatus(OtcOrderEntity.STATUS_TWO); + order.setPayName(payName); + order.setPayTime(DateUtil.date()); + otcOrderMapper.updateById(order); + } + } + return new FebsResponse().success(); + } + } diff --git a/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml b/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml index 077808c..12799d6 100644 --- a/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml +++ b/src/main/resources/mapper/modules/OtcEntrustOrderMapper.xml @@ -10,7 +10,6 @@ otc_entrust_order a LEFT JOIN member m ON m.id = a.member_id LEFT JOIN member_authentication b ON b.member_id = a.member_id - LEFT JOIN otc_market_bussiness c ON c.id = a.mb_id <where> <if test="record != null" > <if test="record.account!=null and record.account!=''"> diff --git a/src/main/resources/mapper/modules/OtcOrderAppealMapper.xml b/src/main/resources/mapper/modules/OtcOrderAppealMapper.xml index 791fa95..42b9e69 100644 --- a/src/main/resources/mapper/modules/OtcOrderAppealMapper.xml +++ b/src/main/resources/mapper/modules/OtcOrderAppealMapper.xml @@ -10,7 +10,6 @@ otc_order_appeal a LEFT JOIN member m ON m.id = a.member_id LEFT JOIN member_authentication b ON b.member_id = a.member_id - LEFT JOIN otc_market_bussiness c ON c.member_id = a.member_id <where> <if test="record != null" > <if test="record.account!=null and record.account!=''"> diff --git a/src/main/resources/mapper/modules/OtcOrderMapper.xml b/src/main/resources/mapper/modules/OtcOrderMapper.xml index ee4104e..8a0dd5a 100644 --- a/src/main/resources/mapper/modules/OtcOrderMapper.xml +++ b/src/main/resources/mapper/modules/OtcOrderMapper.xml @@ -10,7 +10,6 @@ otc_order a LEFT JOIN member m ON m.id = a.member_id LEFT JOIN member_authentication b ON b.member_id = a.member_id - LEFT JOIN otc_market_bussiness c ON c.id = a.pay_md_id <where> <if test="record != null" > <if test="record.account!=null and record.account!=''"> diff --git a/src/main/resources/templates/febs/views/modules/otc/otcOrderInfo.html b/src/main/resources/templates/febs/views/modules/otc/otcOrderInfo.html new file mode 100644 index 0000000..e68c468 --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/otc/otcOrderInfo.html @@ -0,0 +1,109 @@ +<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="orderNo"data-th-id="${member.orderNo}" + 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="number" name="unitPrice"data-th-id="${member.unitPrice}" + 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="number" name="coinAmount"data-th-id="${member.coinAmount}" + 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="number" name="totalAmount"data-th-id="${member.totalAmount}" + 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="payName"data-th-id="${member.payName}" + 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", { + "id": member.id, + "orderNo": member.orderNo, + "unitPrice": member.unitPrice, + "coinAmount": member.coinAmount, + "totalAmount": member.totalAmount, + "payName": member.payName + }); + } + + form.on('submit(user-update-form-submit)', function (data) { + febs.post(ctx + 'otc/updateOrderInfo', data.field, function () { + layer.closeAll(); + febs.alert.success('成功'); + $('#febs-user-order').find('#reset').click(); + }); + return false; + }); + }); +</script> \ No newline at end of file diff --git a/src/main/resources/templates/febs/views/modules/otc/otcOrderList.html b/src/main/resources/templates/febs/views/modules/otc/otcOrderList.html index 5bd5136..127fa27 100644 --- a/src/main/resources/templates/febs/views/modules/otc/otcOrderList.html +++ b/src/main/resources/templates/febs/views/modules/otc/otcOrderList.html @@ -1,4 +1,4 @@ -<div class="layui-fluid layui-anim febs-anim" id="febs-user" lay-title="订单"> +<div class="layui-fluid layui-anim febs-anim" id="febs-user-order" lay-title="订单"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-card"> @@ -58,7 +58,7 @@ febs = layui.febs, form = layui.form, table = layui.table, - $view = $('#febs-user'), + $view = $('#febs-user-order'), $query = $view.find('#query'), $reset = $view.find('#reset'), $searchForm = $view.find('form'), @@ -75,29 +75,17 @@ var data = obj.data, layEvent = obj.event; if (layEvent === 'dealIng') { - febs.modal.confirm('处理', '开始处理申诉?', function () { - dealIng(data.id); - }); - } - if (layEvent === 'dealDone') { - febs.modal.confirm('处理结束', '确认已处理结束?', function () { - dealDone(data.id); + febs.modal.open('付款', 'modules/otc/otcOrderInfo/' + 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 () { - febs.alert.success('成功'); - $query.click(); - }); - } - function dealDone(id) { - febs.get(ctx + 'otc/dealDone/' + id, null, function () { - febs.alert.success('成功'); - $query.click(); - }); - } - // 查询按钮 $query.on('click', function () { @@ -118,13 +106,23 @@ id: 'userTable', url: ctx + 'otc/otcOrderList', cols: [[ - {field: 'phone', title: '手机号', minWidth: 150,align:'left'}, + {field: 'phone', title: '手机号', minWidth: 100,align:'left'}, {field: 'realName', title: '姓名', minWidth: 100,align:'left'}, {field: 'inviteId', title: '邀请码', minWidth: 80,align:'center'}, - {field: 'order_no', title: '订单编号', minWidth: 80,align:'center'}, - {field: 'unitPrice', title: '单价',minWidth: 100,align:'center'}, - {field: 'coinAmount', title: '数量',minWidth: 100,align:'center'}, + {field: 'orderNo', title: '订单编号', minWidth: 150,align:'center'}, + {field: 'unitPrice', title: '单价',minWidth: 80,align:'center'}, + {field: 'coinAmount', title: '数量',minWidth: 80,align:'center'}, {field: 'totalAmount', title: '委托总金额',minWidth: 100,align:'center'}, + {field: 'orderType', title: '类型', + templet: function (d) { + if (d.orderType === 'B') { + return '<span style="color:green;">买入</span>' + } else if (d.orderType === 'S') { + return '<span style="color:blue;">卖出</span>' + } else{ + return '' + } + }, minWidth: 80,align:'center'}, {field: 'status', title: '订单状态', templet: function (d) { if (d.status === 1) { @@ -139,18 +137,17 @@ return '' } }, minWidth: 80,align:'center'}, - {field: 'nickname', title: '商家昵称',minWidth: 100,align:'center'}, - {field: 'payTime', title: '付款时间',minWidth: 100,align:'center'}, - {field: 'finishTime', title: '完成时间',minWidth: 100,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>' - // }else if(d.status === 2){ - // return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="dealDone" shiro:hasPermission="user:update">已处理</button>' - // }else{ - // return '' - // } - // },minWidth: 200,align:'center'} + {field: 'payName', title: '付款人姓名',minWidth: 100,align:'center'}, + {field: 'payTime', title: '付款时间',minWidth: 150,align:'center'}, + {field: 'finishTime', title: '完成时间',minWidth: 150,align:'center'}, + {title: '操作',templet: function (d) { + //return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="dealIng" shiro:hasPermission="user:update">付款</button>' + if(d.status === 1){ + return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="dealIng" shiro:hasPermission="user:update">付款</button>' + }else{ + return '' + } + },minWidth: 100,align:'center'} ]] }); } -- Gitblit v1.9.1