You've already forked qlg.tsgz.moe
382 lines
9.5 KiB
PHP
Executable File
382 lines
9.5 KiB
PHP
Executable File
<?php
|
|
namespace wstmart\app\controller;
|
|
use wstmart\common\model\Orders as M;
|
|
use wstmart\common\model\Payments;
|
|
|
|
/**
|
|
* ============================================================================
|
|
* 订单控制器
|
|
*/
|
|
class Orders extends Base{
|
|
// 前置方法执行列表
|
|
protected $beforeActionList = [
|
|
'checkAuth'
|
|
];
|
|
/*********************************************** 用户操作订单 ************************************************************/
|
|
/**
|
|
* 提醒发货
|
|
*/
|
|
public function noticeDeliver(){
|
|
$m = new M();
|
|
return $m->noticeDeliver();
|
|
}
|
|
/**
|
|
* 提交订单
|
|
*/
|
|
public function submit(){
|
|
$m = new M();
|
|
$rs = $m->submit(3);
|
|
exit(json_encode($rs));
|
|
}
|
|
/**
|
|
* 提交虚拟订单
|
|
*/
|
|
public function quickSubmit(){
|
|
$m = new M();
|
|
$rs = $m->quickSubmit();
|
|
return $rs;
|
|
}
|
|
/**
|
|
* 在线支付方式
|
|
*/
|
|
public function succeed(){
|
|
//获取支付方式
|
|
$pa = new Payments();
|
|
$payments = $pa->getByGroup('4',-1,true);//具体支付场景1pc,2wap,3微信,4app
|
|
exit(jsonReturn('',1,$payments));
|
|
// $this->assign('payments',$payments);
|
|
// $this->assign('orderNo',input("get.orderNo"));
|
|
// $this->assign('isBatch',(int)input("get.isBatch/d",0));
|
|
// return $this->fetch("users/orders/orders_pay_list");
|
|
}
|
|
/**
|
|
* 订单管理
|
|
*/
|
|
public function index(){
|
|
$type = input('param.type','');
|
|
$this->assign('type',$type);
|
|
return $this->fetch("users/orders/orders_list");
|
|
}
|
|
public function findExpress(){
|
|
$orderId = (int)input("orderId");
|
|
$userId = $this->getUserId();
|
|
$where['userId'] = $userId;
|
|
if(!$orderId){
|
|
$where['orderStatus'] = 1;//待收货状态
|
|
$orderId = model('orders')->where($where)->max('orderId');
|
|
}else{
|
|
$where['orderId'] = $orderId;
|
|
$find = model('orders')->where($where)->value('orderId');//杜绝别人查看物流情况
|
|
if(!$find){
|
|
exit(jsonReturn('获取失败',-1));
|
|
}
|
|
}
|
|
if($orderId){
|
|
$m = new \addons\kuaidi\model\Kuaidi();
|
|
$rs = $m->getOrderExpress($orderId);
|
|
$express = json_decode($rs, true);
|
|
$state = isset($express["state"])?$express["state"]:'-1';
|
|
$data = $m->getOrderInfo($orderId);
|
|
$data["express"]["stateTxt"] = $this->getExpressState($state);
|
|
$express["express"] = $data["express"];
|
|
$express["goodsImg"] = $data["goodsImg"];
|
|
exit(jsonReturn('',1,$express));
|
|
}else{
|
|
exit(jsonReturn('获取失败',-1));
|
|
}
|
|
|
|
}
|
|
public function getExpressState($state){
|
|
$stateTxt = "";
|
|
switch ($state) {
|
|
case '0':$stateTxt="运输中";break;
|
|
case '1':$stateTxt="揽件";break;
|
|
case '2':$stateTxt="疑难";break;
|
|
case '3':$stateTxt="收件人已签收";break;
|
|
case '4':$stateTxt="已退签";break;
|
|
case '5':$stateTxt="派件中";break;
|
|
case '6':$stateTxt="退回";break;
|
|
default:$stateTxt="暂未获取到状态";break;
|
|
}
|
|
return $stateTxt;
|
|
}
|
|
/**
|
|
* 订单列表
|
|
*/
|
|
public function getOrderList(){
|
|
/*
|
|
-3:拒收、退款列表
|
|
-2:待付款列表
|
|
-1:已取消订单
|
|
0,1: 待收货
|
|
2:待评价/已完成
|
|
*/
|
|
$flag = -1;
|
|
$type = input('param.type');
|
|
$status = [];
|
|
$m = new M();
|
|
if(strpos($type, "zg")===0){
|
|
switch ($type) {
|
|
case 'zgwaitPay':
|
|
$status=[-2];
|
|
break;
|
|
case 'zgwaitDeliver':
|
|
$status=[0];
|
|
break;
|
|
case 'zgwaitReceive':
|
|
$status=[1];
|
|
break;
|
|
case 'zgwaitAppraise':
|
|
$status=[2];
|
|
$flag=0;
|
|
break;
|
|
case 'zgfinish':
|
|
$status=[2];
|
|
break;
|
|
case 'zgabnormal': // 退款/拒收 与取消合并
|
|
$status=[-1,-3];
|
|
break;
|
|
case 'zgall':
|
|
default:
|
|
$status=[-5,-4,-3,-2,-1,0,1,2];
|
|
break;
|
|
}
|
|
$rs = $m->userZgOrdersByPage($status,$flag);
|
|
}else{
|
|
switch ($type) {
|
|
case 'waitPay':
|
|
$status=[-2];
|
|
break;
|
|
case 'waitDeliver':
|
|
$status=[0];
|
|
break;
|
|
case 'waitReceive':
|
|
$status=[1];
|
|
break;
|
|
case 'waitAppraise':
|
|
$status=[2];
|
|
$flag=0;
|
|
break;
|
|
case 'finish':
|
|
$status=[2];
|
|
break;
|
|
case 'abnormal': // 退款/拒收 与取消合并
|
|
$status=[-1,-3];
|
|
break;
|
|
default:
|
|
$status=[-5,-4,-3,-2,-1,0,1,2];
|
|
break;
|
|
}
|
|
$rs = $m->userOrdersByPage($status,$flag);
|
|
}
|
|
foreach($rs['Rows'] as $k=>$v){
|
|
if(!empty($v['list'])){
|
|
foreach($v['list'] as $k1=>$v1){
|
|
$rs['Rows'][$k]['list'][$k1]['goodsImg'] = $v1['goodsImg'];
|
|
}
|
|
}
|
|
}
|
|
// param.pagesize = 10;
|
|
//param.page = Number( $('#currPage').val() ) + 1;
|
|
exit(jsonReturn('',1,$rs));
|
|
}
|
|
|
|
public function confirmHelpSale(){
|
|
$m = new M();
|
|
$id = (int)input('orderId');
|
|
exit(jsonReturn('',1,$m->confirmHelpSale($id)));
|
|
|
|
}
|
|
public function cancelHelpSale(){
|
|
$m = new M();
|
|
$id = (int)input('orderId');
|
|
exit(jsonReturn('',1,$m->cancelHelpSale($id)));
|
|
}
|
|
/**
|
|
* 订单详情
|
|
*/
|
|
public function getDetail(){
|
|
$m = new M();
|
|
$rs = $m->getByView((int)input('id'));
|
|
$rs['status'] = WSTLangOrderStatus($rs['orderStatus']);
|
|
$rs['payInfo'] = WSTLangPayType($rs['payType']);
|
|
$rs['deliverInfo'] = WSTLangDeliverType($rs['deliverType']);
|
|
foreach($rs['goods'] as $k=>$v){
|
|
$v['goodsImg'] = WSTImg($v['goodsImg'],3);
|
|
}
|
|
// 优惠券钩子
|
|
hook('mobileDocumentOrderSummaryView',['rs'=>&$rs]);
|
|
// 满就送钩子
|
|
hook('mobileDocumentOrderViewGoodsPromotion',['rs'=>&$rs]);
|
|
exit(jsonReturn('',1,$rs));
|
|
}
|
|
|
|
/**
|
|
* 用户确认收货
|
|
*/
|
|
public function receive(){
|
|
$m = new M();
|
|
$rs = $m->receive();
|
|
exit(json_encode($rs));
|
|
}
|
|
|
|
/**
|
|
* 获取上传凭证
|
|
*/
|
|
public function getCertificate(){
|
|
$m = new M();
|
|
$rs = $m->viewCertificate();
|
|
exit(json_encode($rs));
|
|
}
|
|
/**
|
|
* 用户上传凭证
|
|
*/
|
|
public function uploadCertificate(){
|
|
$m = new M();
|
|
$rs = $m->uploadCertificate();
|
|
exit(json_encode($rs));
|
|
}
|
|
/**
|
|
* 用户-评价页
|
|
*/
|
|
public function getOrderAppraise(){
|
|
$m = model('Orders');
|
|
$oId = (int)input('oId');
|
|
//根据订单id获取 商品信息
|
|
$data = $m->getOrderInfoAndAppr();
|
|
$data['shopName']=model('shops')->getShopName($oId);
|
|
$data['oId']=$oId;
|
|
exit(jsonReturn('',1,$data));
|
|
}
|
|
/**
|
|
* 用户取消订单
|
|
*/
|
|
public function cancellation(){
|
|
$m = new M();
|
|
$rs = $m->cancel();
|
|
return $rs;
|
|
}
|
|
/**
|
|
* 获取取消订单原因
|
|
* @return [type] [description]
|
|
*/
|
|
public function getCancelCause(){
|
|
exit(jsonReturn("",1,WSTDatas('ORDER_CANCEL')));
|
|
}
|
|
/**
|
|
* 获取拒收订单原因
|
|
* @return [type] [description]
|
|
*/
|
|
public function getRejectCause(){
|
|
exit(jsonReturn("",1,WSTDatas('ORDER_REJECT')));
|
|
}
|
|
/**
|
|
* 获取申请退款原因
|
|
* @return [type] [description]
|
|
*/
|
|
public function getRefundCause(){
|
|
exit(jsonReturn("",1,WSTDatas('REFUND_TYPE')));
|
|
}
|
|
/**
|
|
* 用户拒收订单
|
|
*/
|
|
public function reject(){
|
|
$m = new M();
|
|
$rs = $m->reject();
|
|
exit(json_encode($rs));
|
|
}
|
|
|
|
/**
|
|
* 用户退款
|
|
*/
|
|
public function getRefund(){
|
|
$orderId = (int)input('id');
|
|
$userId = $this->getUserId();
|
|
$orders = model('orders')->where(['orderId'=>$orderId,'userId'=>$userId,'dataFlag'=>1])->field('orderStatus')->find();
|
|
if(empty($orders))return jsonReturn("无效的订单");
|
|
$m = new M();
|
|
$data = $m->getMoneyByOrder($orderId);
|
|
exit(jsonReturn("",1,$data));
|
|
}
|
|
/**
|
|
* 获取快递公司列表
|
|
* @return [type] [description]
|
|
*/
|
|
public function getExpress(){
|
|
$express = model('Express')->listQuery();
|
|
exit(jsonReturn("",1,$express));
|
|
}
|
|
/**
|
|
* 用户-延时收货
|
|
*/
|
|
public function delay(){
|
|
$m = new M();
|
|
$rs = $m->delay();
|
|
return $rs;
|
|
}
|
|
|
|
|
|
|
|
/*********************************************** 商家操作订单 ************************************************************/
|
|
|
|
// /**
|
|
// * 商家-查看订单列表
|
|
// */
|
|
// public function sellerOrder(){
|
|
// $type = input('param.type','');
|
|
// $this->assign('type',$type);
|
|
// $express = model('Express')->listQuery();
|
|
// $this->assign('express',$express);
|
|
// return $this->fetch('users/sellerorders/orders_list');
|
|
// }
|
|
|
|
// /**
|
|
// * 商家-订单列表
|
|
// */
|
|
// public function getSellerOrderList(){
|
|
// /*
|
|
// -3:拒收、退款列表
|
|
// -2:待付款列表
|
|
// -1:已取消订单
|
|
// 0: 待发货
|
|
// 1,2:待评价/已完成
|
|
// */
|
|
// $type = input('param.type');
|
|
// $status = [];
|
|
// switch ($type) {
|
|
// case 'waitPay':
|
|
// $status=-2;
|
|
// break;
|
|
// case 'waitDeliver':
|
|
// $status=0;
|
|
// break;
|
|
// case 'waitReceive':
|
|
// $status=1;
|
|
// break;
|
|
// case 'waitDelivery':
|
|
// $status=0;
|
|
// break;
|
|
// case 'finish':
|
|
// $status=2;
|
|
// break;
|
|
// case 'abnormal': // 退款/拒收 与取消合并
|
|
// $status=[-1,-3];
|
|
// break;
|
|
// default:
|
|
// $status=[-5,-4,-3,-2,-1,0,1,2];
|
|
// break;
|
|
// }
|
|
// $m = new M();
|
|
// $rs = $m->shopOrdersByPage($status);
|
|
// //dump($rs);die;
|
|
// foreach($rs['Rows'] as $k=>$v){
|
|
// if(!empty($v['list'])){
|
|
// foreach($v['list'] as $k1=>$v1){
|
|
// $rs['Rows'][$k]['list'][$k1]['goodsImg'] = $v1['goodsImg'];
|
|
// }
|
|
// }
|
|
// }
|
|
// return $rs;
|
|
// }
|
|
}
|