作者 jinglong
1 个管道 的构建 通过 耗费 6 秒

修改退换货,退款驳回后台接口

... ... @@ -119,9 +119,9 @@ class Order extends Backend
}
/**
* 申请退款
* 申请退款通过
*/
public function adoptRefund($ids)
public function adoptPass($ids)
{
if ($ids) {
$pk = $this->model->getPk();
... ... @@ -174,9 +174,28 @@ class Order extends Backend
}
/**
* 申请退换货
* 申请退款驳回
*/
public function adoptReturn($ids)
public function adoptRefund($ids)
{
if ($ids) {
$pk = $this->model->getPk();
$status = config('verify.status');
$res = $this->model->where($pk, '=', $ids)->update(['status'=>$status[10]]);//申请退款驳回
if($res){
$this->success('成功');
}else{
$this->error('失败');
}
}
$this->error(__('Parameter %s can not be empty', 'ids'));
}
/**
* 申请退换货通过
*/
public function adoptReturnPass($ids)
{
if ($ids) {
$pk = $this->model->getPk();
... ... @@ -191,6 +210,24 @@ class Order extends Backend
$this->error(__('Parameter %s can not be empty', 'ids'));
}
/**
* 申请退换货驳回
*/
public function adoptReturnReject($ids)
{
if ($ids) {
$pk = $this->model->getPk();
$status = config('verify.status');
$res = $this->model->where($pk, '=', $ids)->update(['status'=>$status[9]]);//退换货驳回
if($res){
$this->success('成功');
}else{
$this->error('失败');
}
}
$this->error(__('Parameter %s can not be empty', 'ids'));
}
//支付订单号
public static function genPayOrderSn($letter = '') {
$time = explode (" ", microtime ());
... ...
... ... @@ -334,7 +334,7 @@ class Cars extends Api
//检测库存
$check_stock = Common::checkStock($g_value['style'],$g_value['goods_number'],$value['g_style'],$value['stock']);
if(!$check_stock){
$this->error('商品名称:'.$value['name'].',规格:'.$g_value['style'].'库存不足');
$this->error('规格:'.$g_value['style'].'库存不足');
}
$total_expense_price += $value['expense_price'];
break;
... ...
... ... @@ -483,7 +483,7 @@ class Common
* 写入订单数据
* @ApiInternal
*/
public static function createOrder($data,$pay_order_sn,$uid){
public static function createOrder($data,$pay_order_sn,$uid,$status=''){
Db::startTrans();
//写入订单主表
$data1['order_sn'] = self::genOrderSn();
... ... @@ -498,6 +498,9 @@ class Common
if(isset($data['coupon_id']) && !empty($data['coupon_id'])){
$data1['coupon_id'] = $data['coupon_id'];//优惠券id
}
if(!empty($status)){
$data1['status'] = $data['status'];//更新支付成功
}
$data1['total_goods_price'] = $data['total_goods_price'];//商品金额
$data1['discount_price'] = $data['discount_price'];//优惠金额
$data1['total_expense_price'] = $data['total_expense_price'];//运费总金额
... ...
... ... @@ -55,7 +55,7 @@ class Orders extends Api
//已完成
$arr['total3'] = Common::countSoftTotal('order',['uid'=>$this->uid,'status'=>$status[8]]);
//退换货
$arr['total4'] = Common::countSoftTotal('order',['uid'=>$this->uid,'status'=>['in',[6,7]]]);
$arr['total4'] = Common::countSoftTotal('order',['uid'=>$this->uid,'status'=>['in',[6,7,9]]]);
$this->success('成功',$arr);
}else{
$this->error('请求方式错误');
... ... @@ -69,7 +69,7 @@ class Orders extends Api
* @ApiRoute (/api/orders/myOrderList)
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
*
* @ApiParams (name="status", type="inter", required=true, description="订单状态(-1:全部,0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已换货,8: 已完成)")
* @ApiParams (name="status", type="inter", required=true, description="订单状态(-1:全部,0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)")
* @ApiParams (name="page", type="inter", required=true, description="分页页码")
*
* @ApiReturn({
... ... @@ -82,7 +82,8 @@ class Orders extends Api
"id": 2,//订单id
"order_sn": 1000002,//订单号
"total_price": 390,//支付金额
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成)
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)
"return_refund_flag": 0,//(2:退货,3:换货 )
"goods_list": [
{
"id": 3,//附加表id
... ... @@ -155,11 +156,11 @@ class Orders extends Api
$where = ['uid'=>$this->uid];
}else if($status == 6){
//退换货申请中,显示所有申请中的和已退换货
$where = ['uid'=>$this->uid,'status'=>['in',[6,7]]];
$where = ['uid'=>$this->uid,'status'=>['in',[6,7,9]]];
}else{
$where = ['uid'=>$this->uid,'status'=>$status];
}
$res = Common::selectSoftWherePageData('order',$where,'id,order_sn,status,total_price',$page);
$res = Common::selectSoftWherePageData('order',$where,'id,order_sn,status,total_price,return_refund_flag',$page);
$id_s = array_column($res,'id');
//订单附加表
$res_o_goods = Db::name('ogoods')
... ... @@ -204,7 +205,8 @@ class Orders extends Api
"data": {
"id": 1,//订单id
"uid": 2,
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成)
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)
"return_refund_flag": 0,//(2:退货,3:换货 )
"order_sn": 1000001,//订单号
"receive_name": "景龙",//收货人
"receive_mobile": "13752011725",//收货电话
... ... @@ -316,7 +318,8 @@ class Orders extends Api
"time": "1575511885",
"data": {
"id": 2,
"status": 3,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成)
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)
"return_refund_flag": 0,//(2:退货,3:换货 )
"refund_reason": "",//退款原因
"return_reason": ""//退换货原因
}
... ... @@ -332,7 +335,7 @@ class Orders extends Api
$this->error($validate->getError());
}
$res = Common::findSoftWhereData('order',['id'=>$order_id,'uid'=>$this->uid],'id,status,refund_reason,return_reason');
$res = Common::findSoftWhereData('order',['id'=>$order_id,'uid'=>$this->uid],'id,status,refund_reason,return_reason,return_refund_flag');
$this->success('成功',$res);
}else{
$this->error('请求方式错误');
... ...
... ... @@ -72,9 +72,59 @@ class Pay extends Api
$this->error($check_stock);
}
$orderModel = new Order();
$pay_order_sn = Common::genPayOrderSn('pay');//支付订单号
//更新订单的支付订单号
$arr = [];
$arr['pay_order_sn'] = $pay_order_sn;
if(isset($data['receive_name']) && !empty($data['receive_name'])){
//收货人
$arr['receive_name'] = $data['receive_name'];
}
if(isset($data['receive_mobile']) && !empty($data['receive_mobile'])){
//收货电话
$arr['receive_mobile'] = $data['receive_mobile'];
}
if(isset($data['receive_address']) && !empty($data['receive_address'])){
//收货地址
$arr['receive_address'] = $data['receive_address'];
}
if(isset($data['leave_message']) && !empty($data['leave_message'])){
//留言
$arr['leave_message'] = $data['leave_message'];
}
if(isset($data['coupon_id']) && !empty($data['coupon_id'])){
//优惠券id
$arr['coupon_id'] = $data['coupon_id'];
}
if(isset($data['discount_price']) && !empty($data['discount_price'])){
//优惠价格
$arr['discount_price'] = $data['discount_price'];
}
if(isset($data['total_price']) && !empty($data['total_price'])){
//支付总金额
$arr['total_price'] = $data['total_price'];
//支付金额为0,直接更新为支付成功
if($data['total_price'] == 0){
$res1 = $orderModel->where(['order_sn'=>$order_sn,'uid'=>$this->uid])->update($arr);
if($res1){
$res2 = Common::findSoftWhereData('order',['order_sn'=>$order_sn,'uid'=>$this->uid],'id order_id');
if($res2){
Common::paySuccess($pay_order_sn);
$this->success('成功',['order_id'=>$res2['order_id']]);
}else{
$this->error('未查到订单');
}
}else{
$this->error('失败');
}
}
}
//创建支付对象
$config = config('verify.wx_pay');
$pay_order_sn = Common::genPayOrderSn('pay');//支付订单号
$app = Factory::payment($config);
$result = $app->order->unify([
'body' => '佛山市理想中网络科技有限公司',
... ... @@ -96,39 +146,6 @@ class Pay extends Api
// 注意这里用的是商户平台的Key进行二次签名
$params['paySign'] = generate_sign($params, $config['key']);
//更新订单的支付订单号
$orderModel = new Order();
$arr = [];
$arr['pay_order_sn'] = $pay_order_sn;
if(isset($data['receive_name']) && !empty($data['receive_name'])){
//收货人
$arr['receive_name'] = $data['receive_name'];
}
if(isset($data['receive_mobile']) && !empty($data['receive_mobile'])){
//收货电话
$arr['receive_mobile'] = $data['receive_mobile'];
}
if(isset($data['receive_address']) && !empty($data['receive_address'])){
//收货地址
$arr['receive_address'] = $data['receive_address'];
}
if(isset($data['leave_message']) && !empty($data['leave_message'])){
//留言
$arr['leave_message'] = $data['leave_message'];
}
if(isset($data['coupon_id']) && !empty($data['coupon_id'])){
//优惠券id
$arr['coupon_id'] = $data['coupon_id'];
}
if(isset($data['discount_price']) && !empty($data['discount_price'])){
//优惠价格
$arr['discount_price'] = $data['discount_price'];
}
if(isset($data['total_price']) && !empty($data['total_price'])){
//支付总金额
$arr['total_price'] = $data['total_price'];
}
$res1 = $orderModel->where(['order_sn'=>$order_sn,'uid'=>$this->uid])->update($arr);
if($res1){
$res2 = Common::findSoftWhereData('order',['order_sn'=>$order_sn,'uid'=>$this->uid],'id order_id');
... ... @@ -214,12 +231,22 @@ class Pay extends Api
$this->error($check_stock);
}
//支付金额为0,直接更新为支付成功
$pay_order_sn = Common::genPayOrderSn('pay');//支付订单号
if($data['total_price'] == 0){
//写入订单
$status = config('verify.status');
$res = Common::createOrder($data,$pay_order_sn,$this->uid,$status[2]);
if($res){
Common::paySuccess($pay_order_sn);
$this->success('成功',['order_id'=>$res['order_id']]);
}
}
//创建支付对象
$config = config('verify.wx_pay');
$app = Factory::payment($config);
$pay_order_sn = Common::genPayOrderSn('pay');//支付订单号
$ffg_host = config('verify.ffg_host');
$result = $app->order->unify([
'body' => '佛山市理想中网络科技有限公司',
... ...
... ... @@ -30,7 +30,7 @@ return [
//商品标识
// 'flag' => [0,1,2,3],//0:普通,1:推荐,2:设计师作品,3:新人特惠
'flag' => [0,1],//0:否,1:是
'status' => [0,1,2,3,4,5,6,7,8],//0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已换货,8: 已完成
'status' => [0,1,2,3,4,5,6,7,8,9,10],//0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款申请驳回
//优惠券类型
'type' => [0,1,2],//0:全场,1:品牌,2:商品
//分页数
... ...
... ... @@ -4172,7 +4172,7 @@
<td>status</td>
<td>inter</td>
<td></td>
<td>订单状态(-1:全部,0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已换货,8: 已完成</td>
<td>订单状态(-1:全部,0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回</td>
</tr>
<tr>
<td>page</td>
... ... @@ -4211,7 +4211,7 @@
<form enctype="application/x-www-form-urlencoded" role="form" action="/api/orders/myOrderList" method="GET" name="form26" id="form26">
<div class="form-group">
<label class="control-label" for="status">status</label>
<input type="inter" class="form-control input-sm" id="status" required placeholder="订单状态(-1:全部,0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已换货,8: 已完成)" name="status">
<input type="inter" class="form-control input-sm" id="status" required placeholder="订单状态(-1:全部,0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)" name="status">
</div>
<div class="form-group">
<label class="control-label" for="page">page</label>
... ... @@ -4258,7 +4258,8 @@
"id": 2,//订单id
"order_sn": 1000002,//订单号
"total_price": 390,//支付金额
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成)
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)
"return_refund_flag": 0,//(2:退货,3:换货 )
"goods_list": [
{
"id": 3,//附加表id
... ... @@ -4458,7 +4459,8 @@
"data": {
"id": 1,//订单id
"uid": 2,
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成)
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)
"return_refund_flag": 0,//(2:退货,3:换货 )
"order_sn": 1000001,//订单号
"receive_name": "景龙",//收货人
"receive_mobile": "13752011725",//收货电话
... ... @@ -4639,7 +4641,8 @@
"time": "1575511885",
"data": {
"id": 2,
"status": 3,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成)
"status": 0,//订单状态(0: 待付款, 1: 已取消,2: 待发货, 3: 退款申请中,4: 已退款, 5: 待收货,6: 退换货申请中, 7: 已退换货,8: 已完成,9:退换货驳回,10:退款驳回)
"return_refund_flag": 0,//(2:退货,3:换货 )
"refund_reason": "",//退款原因
"return_reason": ""//退换货原因
}
... ... @@ -7476,7 +7479,7 @@
<div class="row mt0 footer">
<div class="col-md-6" align="left">
Generated on 2019-12-09 19:35:05 </div>
Generated on 2019-12-10 13:15:29 </div>
<div class="col-md-6" align="right">
<a href="https://www.fastadmin.net" target="_blank">FastAdmin</a>
</div>
... ...
... ... @@ -26,7 +26,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'order_sn', title: __('Order_sn')},
{field: 'status', title: __('Status'),searchList: {0: __('待付款'), 1: __('已取消'),2: __('待发货'), 3: __('退款申请中'),4: __('已退款'), 5: __('待收货'),6: __('退换货申请中'), 7: __('已换货'),8: __('已完成')},formatter:Table.api.formatter.label},
{field: 'status', title: __('Status'),searchList: {0: __('待付款'), 1: __('已取消'),2: __('待发货'), 3: __('退款申请中'),4: __('已退款'), 5: __('待收货'),6: __('退换货申请中'), 7: __('已退换货'),8: __('已完成'), 9: __('退换货驳回'),10: __('退款驳回')},formatter:Table.api.formatter.label},
{field: 'receive_name', title: __('Receive_name')},
{field: 'receive_mobile', title: __('Receive_mobile')},
{field: 'receive_address', title: __('Receive_address')},
... ... @@ -60,7 +60,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
title: __('申请退款'),
classname: 'btn btn-xs btn-primary btn-ajax',
icon: 'fa fa-magic',
url: 'order/adoptRefund',
url: 'order/adoptPass',
confirm: '确认通过?',
success: function (data, ret) {
$(".btn-refresh").trigger("click");
... ... @@ -78,6 +78,28 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
},
{
name: 'detail',
text: __('驳回'),
title: __('申请退款'),
classname: 'btn btn-xs btn-primary btn-ajax',
icon: 'fa fa-magic',
url: 'order/adoptRefund',
confirm: '确认驳回?',
success: function (data, ret) {
$(".btn-refresh").trigger("click");
},
error: function (data, ret) {
return false;
},
visible: function (row) {
if(row.status == 3){
return true;
}else{
return false;
}
}
},
{
name: 'detail',
text: __('同意'),
title: __('申请退换货'),
classname: 'btn btn-xs btn-primary btn-ajax',
... ... @@ -97,6 +119,28 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
return false;
}
}
},
{
name: 'detail',
text: __('驳回'),
title: __('申请退换货'),
classname: 'btn btn-xs btn-primary btn-ajax',
icon: 'fa fa-magic',
url: 'order/adoptReturnReject',
confirm: '确认驳回?',
success: function (data, ret) {
$(".btn-refresh").trigger("click");
},
error: function (data, ret) {
return false;
},
visible: function (row) {
if(row.status == 6){
return true;
}else{
return false;
}
}
}
]}
]
... ...