$instance
$instance : object
Reference to the CI singleton
Application Controller Class
This class object is the super class that every library in CodeIgniter will be assigned to.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Order extends CI_Controller
{
private static $data = array();
public function __construct()
{
parent::__construct();
$this->load->model('Menu_model','menu');
$this->load->model('Banner_model','banner');
$this->load->model('Webcommon_model','common');
$this->load->model('User_model','user');
$this->load->model('Userinfo_model','userinfo');
$this->load->model('Goods_model','goods');
$this->load->model('Goodscate_model','goodscate');
$this->load->model('Goodsbrand_model','goodsbrand');
$this->load->model('Goodsimage_model','goodsimage');
$this->load->model('Goodsactivity_model','goodsactivity');
$this->load->model('Goodsspec_model','goodsspec');
$this->load->model('Goodscomment_model','comment');
$this->load->model('Userpoints_model','userpoints');
$this->load->model('Goodscollection_model','collection');//收藏
$this->load->model('Order_model','order');
$this->load->model('Ordergoods_model','ordergoods');
$this->load->model('Vendercode_model','address');
}
/**
* 订单列表
* */
public function orderList()
{
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$param = array();
$orderStatus = trim($this->input->get_post('orderStatus')); //订单状态0确认,1完成,2未开课,3取消 当为9时不区分
$payStatus = trim($this->input->get_post('payStatus'));//支付状态0未支付,1已支付,2支付失败 当为9时不区分
if($orderStatus==1 || $orderStatus==2 || $orderStatus==4)
{
$payStatus = 1;
}
$orderType = 0; //订单类型0买花,1课程 //当为9时不区分
if($orderType == 9)
{
$orderType = false;
}
$refundStatus = $this->input->get_post('refundStatus'); //退款状态0未退款,1已退款 //当为9时不区分
$start = $this->input->get_post('start');
$start = empty($start)?0:$start;
$limit = 100;//每页显示多少
$limit = empty($limit) ? 10 : (int)trim($limit);
$pagType = empty($pagType) ? 0 : (int)trim($pagType);
$param['userId'] = $userId;
if (!empty($payStatus)){
$param['payStatus'] = $payStatus;
}
if($orderStatus != 5 ){
$param['orderStatus'] = $orderStatus;
}
$param['orderType'] = $orderType;
if($orderStatus ==1){
$param['isvaluated'] = 0;
}
$param['refundStatus'] = $refundStatus;
$param['deleStatus'] = 0;
$orderlist = $this->order->orderList($param, 0, $limit);
$orderListArray = array();
$activityInfo = $this->goodsactivity->getValidActivityList( );
$goodsIds = array();
if(!empty($activityInfo))
{
foreach($activityInfo as $key=>$value)
{
$activityIds[$key] = $value['activityId'];
}
$goodsIdList = $this->goodsactivity->getActivityGoodsList( $activityIds );
if(!empty($goodsIdList))
{
foreach($goodsIdList as $key=>$value)
{
$goodsIds[$value['agId']] = $value['goodsId'];
}
}
}
if(!empty($orderlist))
{
foreach ($orderlist as $k=>$v)
{
$orderListArray[$k]['createTime'] = date('Y-m-d H:i',$v['createTime']);
$orderListArray[$k]['payTime'] = !empty($v['payTime']) ? date('Y-m-d H:i',$v['payTime']): 0;
$orderListArray[$k]['finishTime'] = !empty($v['finishTime']) ? date('Y-m-d H:i',$v['finishTime']) : 0;
$orderListArray[$k]['refundTime'] = !empty($v['refundTime']) ? date('Y-m-d H:i',$v['refundTime']) : 0;
$orderListArray[$k]['cancelTime'] = !empty($v['cancelTime']) ? date('Y-m-d H:i',$v['cancelTime']) : 0;
$orderListArray[$k]['deleTime'] = !empty($v['deleTime']) ? date('Y-m-d H:i',$v['deleTime']) : 0;
$orderListArray[$k]['orderId'] = $v['orderId'];
$orderListArray[$k]['orderSn'] = $v['orderSn'];
$orderListArray[$k]['userId'] = $v['userId'];
$orderListArray[$k]['orderStatus'] = $v['orderStatus'];
$orderListArray[$k]['goodsNum'] = $v['goodsNum'];
$orderListArray[$k]['goodsTotalNum'] = $v['goodsTotalNum'];
$goodsList = $this->ordergoods->getGoodsById($v['orderId']);
//获取订单收货地址信息
$addressinfo = $this->address->getAddressRow($v['addressId']);
if(!empty($addressinfo)){
$orderListArray[$k]['userName'] = $addressinfo['userName'];//用户名
$orderListArray[$k]['address'] = $addressinfo['provinceName'].$addressinfo['cityName'].$addressinfo['areaName'].$addressinfo['address'];
$orderListArray[$k]['userPhone'] = $addressinfo['userPhone'];
}
//获取商品信息
foreach($goodsList as $a=>$b)
{
$specInfo = $this->goodsspec->getGoodsSpecById($b['specId']);
$orderListArray[$k]['goodsList'][$a]['goodsId'] = $b['goodsId'];
$orderListArray[$k]['goodsList'][$a]['specName'] = $specInfo['specName'];
$orderListArray[$k]['goodsList'][$a]['inventory'] = $b['inventory'];
$orderListArray[$k]['goodsList'][$a]['goodsImage'] = $this->config->item('hwclouds').$b['goodsImage'];
if(in_array($b['goodsId'], $goodsIds))
{ //foreach($goodsIds as $a=>$b){echo $a."+++";}
$c = array_search($b['goodsId'], $goodsIds);
$activityList = $this->goodsactivity->getActivityGoodsInfoRow($c);
$orderListArray[$k]['goodsList'][$a]['goodsActivityJifen'] = $activityList['activityJifen'];
$orderListArray[$k]['goodsList'][$a]['goodsJifen'] = $activityList['goodsJifen'];
$orderListArray[$k]['goodsList'][$a]['goodsTitle'] = $activityList['goodsActivityName'];
}
else
{
$goodsInfo = $this->goods->getGoodsById($b['goodsId']);
$orderListArray[$k]['goodsList'][$a]['goodsJifen'] = $goodsInfo['goodsJifen'];
$orderListArray[$k]['goodsList'][$a]['goodsTitle'] = $goodsInfo['goodsTitle'];
}
}
}
}
echo $this->common->returnArray ( array ( 'orderList' => $orderListArray ), '读取成功', 200 );exit;
}
/**
* 确认收货
* */
public function confirmOrder()
{
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$orderId = $this->input->get_post('orderId');
if(empty($orderId))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
$param['orderStatus'] = 1;
$param['finishTime'] = time();
$bool = $this->order->updateOrder($orderId,$param);
if($bool)
{
echo $this->common->returnArray(array('list' => ''), '确认订单成功', 200);exit;
}
else
{
echo $this->common->returnArray(array('list' => ''), '确认订单失败', 201);exit;
}
}
/**
* 订单详情
* */
public function detail()
{
$this->load->model('Province_model','province');
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
$orderId = $this->input->get_post('orderId');
$orderStatus = $this->input->get_post('orderStatus');//0待付款 1已发货 或待收货、已收货
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
if(empty($orderId))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
$orderInfoArray = array();
$orderInfo = $this->order->orderInfo($orderId,'','userId,orderId,orderSn,goodsNum,goodsTotalNum,addressId,createTime,payStatus,orderStatus,refundType');
$orderInfoArray['createTime'] = date('Y-m-d H:i',$orderInfo['createTime']);
$orderInfoArray['payTime'] = !empty($orderInfo['payTime']) ? date('Y-m-d H:i',$orderInfo['payTime']): 0;
$orderInfoArray['finishTime'] = !empty($orderInfo['finishTime']) ? date('Y-m-d H:i',$orderInfo['finishTime']) : 0;
$orderInfoArray['refundTime'] = !empty($orderInfo['refundTime']) ? date('Y-m-d H:i',$orderInfo['refundTime']) : 0;
$orderInfoArray['cancelTime'] = !empty($orderInfo['cancelTime']) ? date('Y-m-d H:i',$orderInfo['cancelTime']) : 0;
$orderInfoArray['deleTime'] = !empty($orderInfo['deleTime']) ? date('Y-m-d H:i',$orderInfo['deleTime']) : 0;
$orderInfoArray['orderId'] = $orderInfo['orderId'];
$orderInfoArray['orderSn'] = $orderInfo['orderSn'];
$orderInfoArray['userId'] = $orderInfo['userId'];
$orderInfoArray['goodsNum'] = $orderInfo['goodsNum'];
$orderInfoArray['goodsTotalNum'] = $orderInfo['goodsTotalNum'];
if(empty( $orderInfo ))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
else
{
$addressId = $orderInfo['addressId'];
$addressInfo = $this->address->getAddressRow( $addressId );
$addr = $addressInfo['provinceName'].$addressInfo['cityName'].$addressInfo['areaName'].$addressInfo['address'];
$addrInfo['userName'] = $addressInfo['userName'];
$addrInfo['userPhone'] = $addressInfo['userPhone'];
$addrInfo['addr'] = $addr;
if(empty( $orderStatus ))
{
$activityInfo = $this->goodsactivity->getValidActivityList( );
$goodsIds = array();
if(!empty($activityInfo))
{
foreach($activityInfo as $key=>$value)
{
$activityIds[$key] = $value['activityId'];
}
$goodsIdList = $this->goodsactivity->getActivityGoodsList( $activityIds );
if(!empty($goodsIdList))
{
foreach($goodsIdList as $key=>$value)
{
$goodsIds[$value['agId']] = $value['goodsId'];
}
}
}
$goodsListArray = array();
$goosList = $this->ordergoods->getGoodsById( $orderId );
foreach($goosList as $k=>$v)
{
$specInfo = $this->goodsspec->getGoodsSpecById($v['specId']);
$goodsListArray[$k]['specName'] = $specInfo['specName'];
$goodsListArray[$k]['inventory'] = $v['inventory'];
$goodsListArray[$k]['goodsImage'] = $this->config->item('hwclouds').$v['goodsImage'];
$goodsListArray[$k]['goodsId'] = $v['goodsId'];
if(in_array($v['goodsId'], $goodsIds))
{
$a = array_search($v['goodsId'], $goodsIds);
$activityList = $this->goodsactivity->getActivityGoodsInfoRow( $a );
$goodsListArray[$k]['goodsActivityJifen'] = $activityList['activityJifen'];
$goodsListArray[$k]['goodsJifen'] = $activityList['goodsJifen'];
$goodsListArray[$k]['goodsTitle'] = $activityList['goodsActivityName'];
}
else
{
$goodsInfo = $this->goods->getGoodsById($v['goodsId']);
$goodsListArray[$k]['goodsJifen'] = $goodsInfo['goodsJifen'];
$goodsListArray[$k]['goodsTitle'] = $goodsInfo['goodsTitle'];
}
}
}
else
{
$goosList = $this->ordergoods->getGoodsById( $orderId );
foreach($goosList as $k=>$v)
{
$specInfo = $this->goodsspec->getGoodsSpecById($v['specId']);
$goodsListArray[$k]['goodsId'] = $v['goodsId'];
$goodsListArray[$k]['specName'] = $specInfo['specName'];
$goodsListArray[$k]['inventory'] = $v['inventory'];
$goodsListArray[$k]['goodsImage'] = $this->config->item('hwclouds').$v['goodsImage'];
$goodsListArray[$k]['goodsTitle'] = $v['goodsName'];
$goodsListArray[$k]['goodsJifen'] = $v['goodsJifen'];
}
}
echo $this->common->returnArray ( array ('addr'=>$addrInfo,'orderInfo'=>$orderInfoArray,'goodsList'=>$goodsListArray), '读取成功', 200 );exit;
}
}
/**
* 相似商品
* */
public function similarGoods()
{
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$goodsId = $this->input->get_post('goodsId');
$goodsInfo = $this->goods->getGoodsById( $goodsId );
if(empty($goodsInfo))
{
echo $this->common->returnArray ( array ('list'=>''), '商品不存在了', 700013 );exit;
}
else
{
$relateSkus = empty($goodsInfo['relateSkus'])?'':$goodsInfo['relateSkus'];
if(empty( $relateSkus ))
{
echo $this->common->returnArray ( array ('list'=>''), '暂无相似商品', 700017 );exit;
}
else
{
$goodsIds = explode( "|" ,$relateSkus );
$goodsIds = array_filter($goodsIds);
$relateGoodsId = $goodsIds[1];
echo $this->common->returnArray ( array ('goodsId' => $relateGoodsId), '读取成功', 200 );exit;
}
}
}
/**
* 提醒发货
* */
public function remindDeliver()
{
$this->load->model('Reminddeliver_model','deliver');
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录',3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$orderId = $this->input->get_post('orderId');
if(empty($orderId))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
$orderSn = $this->input->get_post('orderSn');
$data = array(
'orderId' => $orderId,
'orderSn' => $orderSn,
'userId' => $userId,
'createTime' => time(),
'readFlag' => 0
);
$bool = $this->deliver->addRemindDeliver( $data );
$bool = $bool ? '200' : '201';
$msg = $bool ? '提醒成功' : '提醒失败';
echo $this->common->returnArray ( array ('list'=>''), $msg , $bool );exit;
}
/**
* 查看物流
* */
public function express()
{
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$orderId = $this->input->get_post('orderId');
if(empty($orderId))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
$orderInfo = $this->order->orderInfo($orderId,'','expressSn');
$express = $orderInfo['expressSn'];
$host = "http://wuliu.market.alicloudapi.com";
$path = "/kdi";
$method = "GET";
$appcode = "af8a96add4bf4c31b992bc31aad30028";
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
$querys = "no=".$express."&type=auto";
$bodys = "";
$url = $host . $path . "?" . $querys;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
$url1 = curl_exec($curl);
echo $this->common->returnArray(array('cateList' => $url1 ), '读取成功', 200);exit;
}
/**
* 售后分类
* */
public function customerServiceCate()
{
$this->load->model('Customerservice_model','customerservice');
$cateList = $this->customerservice->getCateList();
echo $this->common->returnArray(array('cateList' => $cateList ), '读取成功', 200);exit;
}
/**
* 提交售后信息
* */
public function customerService()
{
$this->load->model('Customerservice_model','customerservice');
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
$cateId = $this->input->get_post('cateId');
$content = $this->input->get_post('content');
$orderSn = $this->input->get_post('orderSn');
$orderId = $this->input->get_post('orderId');
$goodsId = $this->input->get_post('goodsId');
$typeFlag = $this->input->get_post('typeFlag');
$jifen = intval($this->input->get_post('jifen'));
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$orderId = $this->input->get_post('orderId');
if(empty($orderId))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
if(empty($cateId))
{
echo $this->common->returnArray ( array ('list'=>''), '请选择退款原因', 3000010 );exit;
}
if(empty($content))
{
echo $this->common->returnArray ( array ('list'=>''), '请输入退款理由', 3000011 );exit;
}
if(empty($jifen))
{
echo $this->common->returnArray ( array ('list'=>''), '参数错误', 1 );exit;
}
$data = array(
'cateId' => $cateId,
'content' => $content,
'userId' => $userId,
'orderId' => $orderId,
'orderSn' => $orderSn,
'goodsId' => $goodsId,
'customerId' =>'SBSH'.$orderId,
'jifen' => empty($jifen)?0:$jifen,
'typeFlag' => empty($typeFlag)?0:$typeFlag,
'createTime' => time()
);
$bool = $this->customerservice->addCustomerServer( $data );
$bool = $bool? 200:201;
$msg = $bool? '提交成功':'提交失败';
echo $this->common->returnArray ( array ('list'=>''), $msg, $bool );exit;
}
/**
* 退货/售后
* */
public function returnGoodsList()
{
$this->load->model('Customerservice_model','customerservice');
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
//获取退款成功的商品
$param['userId'] = $userId;
$goodsList = $this->customerservice->getRefundList($param);
$goodsListArray = array();
foreach($goodsList as $key=>$value)
{
$goodsListArray[$key]['orderId'] = $value['orderId'];
$goodsListArray[$key]['customerServerId'] = $value['customerServerId'];
$goodsListArray[$key]['status'] = $value['status'];
$goodsListArray[$key]['orderSn'] = $value['orderSn'];
$goodsListArray[$key]['expressSn'] = $value['expressSn'];
$goodsListArray[$key]['customerId'] = $value['customerId'];
$goodsListArray[$key]['goodsId'] = $value['goodsId'];
$orderInfo1 = $this->order->orderInfo($value['orderId'],'','addressId,payTime,orderPostageJifen');
$addressinfo = $this->address->getAddressRow($orderInfo1['addressId']);
$goodsListArray[$key]['payTime'] = $orderInfo1['payTime'];
$goodsListArray[$key]['orderPostageJifen'] = $orderInfo1['orderPostageJifen'];
if(!empty($addressinfo)){
$goodsListArray[$key]['userName'] = $addressinfo['userName'];//用户名
$goodsListArray[$key]['address'] = $addressinfo['provinceName'].$addressinfo['cityName'].$addressinfo['areaName'].$addressinfo['address'];
$goodsListArray[$key]['userPhone'] = $addressinfo['userPhone'];
}
$orderInfo = $this->ordergoods->orderGoods($value['goodsId'], '', $value['orderId']);
$goodsListArray[$key]['goodsTitle'] = $orderInfo['goodsName'];
$goodsListArray[$key]['goodsJifen'] = $orderInfo['goodsJifen'];
$goodsListArray[$key]['inventory'] = $orderInfo['inventory'];
$goodsListArray[$key]['goodsImage'] = $this->config->item('hwclouds').$orderInfo['goodsImage'];
if(!empty($orderInfo['specId']))
{
$specInfo = $this->goodsspec->getGoodsSpecById($orderInfo['specId']);
$goodsListArray[$key]['specName'] = $specInfo['specName'];
}
$goodsListArray[$key]['typeFlag'] = empty($value['typeFlag'])?'仅退款':'退货退款';
}
echo $this->common->returnArray ( array ('goodsList'=>$goodsListArray), '读取成功', 200 );exit;
}
/**
* 售后添加物流信息
*/
public function addexpress(){
$this->load->model('Customerservice_model','customerservice');
$token = $this->input->get_post('token');
$userId = $this->input->get_post('userId');
$customerServerId = $this->input->get_post('customerServerId');
$expressSn = $this->input->get_post('expressSn');
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
$this->common->getLoginStuate($userId, $token);//登录账户验证,互踢
$data['expressSn']=trim($expressSn);
$res = $this->customerservice->updateCustomerServer($customerServerId,$data);
if($res){
echo $this->common->returnArray ( array ('List'=>''), '提交成功', 200 );exit;
}
echo $this->common->returnArray ( array ('List'=>''), '提交失败', 201 );exit;
}
/**
* 删除订单
* */
public function deleOrder()
{
$param = array();
$token = trim($this->input->get_post('token'));
$userId = $this->input->get_post('userId');
// $userinfo = $this->common->checkValidate($validateParam, $token);//登录账户验证,互踢
$orderId = trim($this->input->get_post('orderId'));
$orderId = intval($orderId);
$orderSn = trim($this->input->get_post('orderSn'));
if(empty($token)||empty($userId))
{
echo $this->common->returnArray ( array ('list'=>''), '请登录', 3 );exit;
}
if(empty($orderId) || empty($orderSn))
{
echo $this->common->returnArray(array('list' => ''), '参数错误', 1);exit;
}
$orderinfo = $this->order->orderInfo($orderId, '', 'orderId,orderSn,payStatus,goodsTotalNum,finishTime,orderStatus,deleStatus');
if(empty($orderinfo))
{
echo $this->common->returnArray(array('list' => ''), '参数错误', 1);exit;
}
if($orderinfo['orderSn'] != $orderSn)
{
echo $this->common->returnArray(array('list' => ''), '参数错误', 1);exit;
}
if($orderinfo['deleStatus'] != 1)
{
$param['deleStatus'] = 1;
$param['orderStatus'] = 3;
$param['deleTime'] = time();
$bool = $this->order->updateOrder($orderId,$param);
if($bool)
{
echo $this->common->returnArray(array('list' => ''),'删除订单成功' ,200);exit;
}
else
{
echo $this->common->returnArray(array('list' => ''), '删除订单失败', 201);exit;
}
}
else
{
echo $this->common->returnArray(array('list' => '') ,'参数错误' ,'1');exit;
}
}
}