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