Commit 3e5e0100 authored by wwccw0591's avatar wwccw0591

pc

parents c64a62d4 06859172
...@@ -36,8 +36,10 @@ class IndexController extends \Our\Controller_Abstract { ...@@ -36,8 +36,10 @@ class IndexController extends \Our\Controller_Abstract {
// ErrorModel::throwException(CodeConfigModel::authExpire); // ErrorModel::throwException(CodeConfigModel::authExpire);
} }
$this->memberDb0Redis=\Redis\Db0\MemberRedisModel::getInstance(); $this->memberDb0Redis=\Redis\Db0\MemberRedisModel::getInstance();
$paramsStr= $this->memberDb0Redis->tablelpop($this->key); $paramsStr= $this->memberDb0Redis->tablelpop($this->key);
$paramsStr=json_decode($paramsStr,true); $paramsStr=json_decode($paramsStr,true);
$this->_view->assign("params", $paramsStr); $this->_view->assign("params", $paramsStr);
if($paramsStr['type']==\Our\ApiConst::sharePlat){ if($paramsStr['type']==\Our\ApiConst::sharePlat){
$this->_view->display('index/plat.phtml'); $this->_view->display('index/plat.phtml');
...@@ -45,7 +47,7 @@ class IndexController extends \Our\Controller_Abstract { ...@@ -45,7 +47,7 @@ class IndexController extends \Our\Controller_Abstract {
if($paramsStr['type']==\Our\ApiConst::shareStore){ if($paramsStr['type']==\Our\ApiConst::shareStore){
$this->_view->display('index/store.phtml'); $this->_view->display('index/store.phtml');
} }
if($paramsStr['type']==\Our\ApiConst::shareGoods || \Our\ApiConst::shareGroup){ if($paramsStr['type']==\Our\ApiConst::shareGoods || $paramsStr['type']==\Our\ApiConst::shareGroup){
$this->_view->display('index/goods.phtml'); $this->_view->display('index/goods.phtml');
} }
if($paramsStr['type']==\Our\ApiConst::shareSaler){ if($paramsStr['type']==\Our\ApiConst::shareSaler){
......
...@@ -387,6 +387,7 @@ class OrderConfirmUtil { ...@@ -387,6 +387,7 @@ class OrderConfirmUtil {
$delivery['deliveryFee'] = $deliveryFee; $delivery['deliveryFee'] = $deliveryFee;
$delivery['deliveryType'] = $requestData['deliveryType']; $delivery['deliveryType'] = $requestData['deliveryType'];
$delivery['deliveryTime'] = isset($deliveryTime)?$deliveryTime:\Our\ApiConst::zero; $delivery['deliveryTime'] = isset($deliveryTime)?$deliveryTime:\Our\ApiConst::zero;
$delivery['needShippingFee'] = isset($temp['other'])?$temp['other']:\Our\ApiConst::zero;
$storeCartData['cartList'][$storeId]['delivery'] = $delivery; $storeCartData['cartList'][$storeId]['delivery'] = $delivery;
if(($requestData['payway'] == \Our\ApiConst::payOnline&&$temp['onelinePay']==\Our\ApiConst::one)|| if(($requestData['payway'] == \Our\ApiConst::payOnline&&$temp['onelinePay']==\Our\ApiConst::one)||
($requestData['payway'] == \Our\ApiConst::payOffline&&$temp['offlinePay']==\Our\ApiConst::one)|| ($requestData['payway'] == \Our\ApiConst::payOffline&&$temp['offlinePay']==\Our\ApiConst::one)||
...@@ -510,7 +511,15 @@ class OrderConfirmUtil { ...@@ -510,7 +511,15 @@ class OrderConfirmUtil {
$order['store_name'] = $storeCarts['storeName']; $order['store_name'] = $storeCarts['storeName'];
$order['buyer_id'] = $this->memberId; $order['buyer_id'] = $this->memberId;
$order['buyer_name'] = $this->member['memberName']; $order['buyer_name'] = $this->member['memberName'];
$order['buyer_email'] = $this->member['memberEmail']; if(CURRENTVERSION==\Our\NameConst::versionOne){
if($storeCarts['delivery']['deliveryType'] == \Our\ApiConst::deliveryBuyer){
$order['buyer_email'] = $storeCarts['delivery']['buyerMobile'];
}else{
$order['buyer_email'] = $this->address['mob_phone'];
}
}else{
$order['buyer_email'] = $this->member['memberEmail'];
}
$order['add_time'] = TIMESTAMP; $order['add_time'] = TIMESTAMP;
$order['payment_type'] = $storeCarts['payway']; $order['payment_type'] = $storeCarts['payway'];
$order['order_amount'] = $storeCarts['orderAmount']; $order['order_amount'] = $storeCarts['orderAmount'];
...@@ -527,6 +536,7 @@ class OrderConfirmUtil { ...@@ -527,6 +536,7 @@ class OrderConfirmUtil {
$logMsg = \Our\DescribeConst::addNoPayOrderLog; $logMsg = \Our\DescribeConst::addNoPayOrderLog;
} }
$order['shipping_fee'] = $storeCarts['delivery']['deliveryFee']; $order['shipping_fee'] = $storeCarts['delivery']['deliveryFee'];
$order['need_shipping_fee'] = isset($storeCarts['delivery']['needShippingFee'])?$storeCarts['delivery']['needShippingFee']:\Our\ApiConst::zero;
$order['goods_amount'] = $storeCarts['storeTotalPrice']; $order['goods_amount'] = $storeCarts['storeTotalPrice'];
$order['shipping_type'] = $storeCarts['delivery']['deliveryType']; $order['shipping_type'] = $storeCarts['delivery']['deliveryType'];
if($storeCarts['delivery']['deliveryType'] == \Our\ApiConst::deliveryStore){ if($storeCarts['delivery']['deliveryType'] == \Our\ApiConst::deliveryStore){
......
...@@ -734,6 +734,7 @@ class CartServiceModel extends \Business\AbstractModel{ ...@@ -734,6 +734,7 @@ class CartServiceModel extends \Business\AbstractModel{
$deliverySetting['deliverTimeList'] =$deliverTimeList['timeList']; $deliverySetting['deliverTimeList'] =$deliverTimeList['timeList'];
$storeCartData['cartList'][$storeId]['storeDistance'] = $storeDistance; $storeCartData['cartList'][$storeId]['storeDistance'] = $storeDistance;
$deliverySetting['sellerDefaultFee'] = $deliverTimeList['default']?$deliverTimeList['default']:\Our\ApiConst::zero; $deliverySetting['sellerDefaultFee'] = $deliverTimeList['default']?$deliverTimeList['default']:\Our\ApiConst::zero;
$deliverySetting['other'] = $deliverTimeList['other']?$deliverTimeList['other']:\Our\ApiConst::zero;
} }
} }
} }
......
...@@ -875,6 +875,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -875,6 +875,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName);
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName); $orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
$orderCommonDao = \DAO\Order\OrderCommonModel::getInstance(DbNameConst::salveDBConnectName); $orderCommonDao = \DAO\Order\OrderCommonModel::getInstance(DbNameConst::salveDBConnectName);
$refundReturnDao=\DAO\Order\RefundReturnModel::getInstance(DbNameConst::salveDBConnectName);
$memberDao = \DAO\MemberModel::getInstance(DbNameConst::salveDBConnectName); $memberDao = \DAO\MemberModel::getInstance(DbNameConst::salveDBConnectName);
$qmMans=$qmDeliveryMan->getListByMemberId($memberId); $qmMans=$qmDeliveryMan->getListByMemberId($memberId);
$diliverymanIds=array_column($qmMans,'id'); $diliverymanIds=array_column($qmMans,'id');
...@@ -882,8 +883,26 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -882,8 +883,26 @@ class OrderServiceModel extends \Business\AbstractModel
if (empty($diliverymanIds)) { if (empty($diliverymanIds)) {
ErrorModel::throwException(CodeConfigModel::commonError); ErrorModel::throwException(CodeConfigModel::commonError);
} }
$qmDeliveryLogList = $qmDeliveryLogDao->getListByDeliverymanIdAndTypeCache($diliverymanIds, $type, $pageIndex, $pageSize,array('get_time' => 'desc'),$memberId); $qmDeliveryLogList = $qmDeliveryLogDao->getListByDeliverymanIdAndTypeCache($diliverymanIds, $type, ApiConst::pageIndex, $pageSize,array('get_time' => 'desc'),$memberId);
$orderIds = array_column($qmDeliveryLogList['list'], 'orderId'); $orderIds=Array();
foreach($qmDeliveryLogList['list'] as $qmDeliveryLog){
if($qmDeliveryLog['orderType']==ApiConst::orderTypeRefund){
$refundids[]=$qmDeliveryLog['orderId'];
}else{
$orderIds[]=$qmDeliveryLog['orderId'];
}
}
if(!empty($refundids)){
$refundWhere['refund_id']=array('in',$refundids);
$refundOrders=$refundReturnDao->getList($refundWhere,$refundReturnDao->refundDetailField,ApiConst::zero,ApiConst::pageSize);
$refundOrders=$refundReturnDao->convertCommonList($refundOrders['list'],'orderGoodsId');
$refundReturnOrders=$refundReturnDao->convertCommonList($refundOrders,'refundId');
$refundOrderIds=array_column($refundOrders, 'orderId');
}
if(!empty($refundOrderIds)){
$orderIds=array_merge($refundOrderIds,$orderIds);
}
// $orderIds = array_column($qmDeliveryLogList['list'], 'orderId');
// echo json_encode($orderIds);exit; // echo json_encode($orderIds);exit;
// $where['delete_state'] = ApiConst::undeleteOrder; // $where['delete_state'] = ApiConst::undeleteOrder;
...@@ -916,7 +935,14 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -916,7 +935,14 @@ class OrderServiceModel extends \Business\AbstractModel
$delivery['finishTime'] = $value['finishTime']; $delivery['finishTime'] = $value['finishTime'];
$delivery['mobPhone'] = $delivery['mobPhone'] ? $delivery['mobPhone'] : ''; $delivery['mobPhone'] = $delivery['mobPhone'] ? $delivery['mobPhone'] : '';
$delivery['finishTime'] = $delivery['finishTime'] ? $delivery['finishTime'] : ApiConst::zero; $delivery['finishTime'] = $delivery['finishTime'] ? $delivery['finishTime'] : ApiConst::zero;
$delivery['orderGoods'] = !empty($goodsDao->convert($orderMerge[$value['orderId']]['orderGoods']))?$goodsDao->convert($orderMerge[$value['orderId']]['orderGoods']):array(); if($value['orderType']==ApiConst::orderTypeRefund){
//因为$value['orderId']=refundId
$orderMergeGoods=$goodsDao->convert($orderMerge[$refundReturnOrders[$value['orderId']]['orderId']]['orderGoods'],false,$refundOrders);
$delivery['orderGoods'] =$orderMergeGoods?$orderMergeGoods:array();
}else{
$delivery['orderGoods'] = !empty($goodsDao->convert($orderMerge[$value['orderId']]['orderGoods']))?$goodsDao->convert($orderMerge[$value['orderId']]['orderGoods']):array();
}
$delivery['street'] =$orderCommonDao->convertReceiveAddress($delivery['reciverInfo']['address']); $delivery['street'] =$orderCommonDao->convertReceiveAddress($delivery['reciverInfo']['address']);
$delivery['lng'] = $delivery['reciverInfo']['lng'] ? $delivery['reciverInfo']['lng'] : 0.0; $delivery['lng'] = $delivery['reciverInfo']['lng'] ? $delivery['reciverInfo']['lng'] : 0.0;
$delivery['lat'] = $delivery['reciverInfo']['lat'] ? $delivery['reciverInfo']['lat'] : 0.0; $delivery['lat'] = $delivery['reciverInfo']['lat'] ? $delivery['reciverInfo']['lat'] : 0.0;
...@@ -1082,7 +1108,9 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -1082,7 +1108,9 @@ class OrderServiceModel extends \Business\AbstractModel
$dlyoPickupCode = \Our\NameConst::emptyString; $dlyoPickupCode = \Our\NameConst::emptyString;
foreach ($orderList as $order) { foreach ($orderList as $order) {
$orderNos[] = $order['order_sn']; $orderNos[] = $order['order_sn'];
$dlyoPickupCode = substr($order['order_sn'], ApiConst::positionPickupCodeBegin); if($order['shipping_type']==\Our\ApiConst::bySelf){
$dlyoPickupCode = substr($order['order_sn'], ApiConst::positionPickupCodeBegin);
}
if ($order['order_state'] == \Our\ApiConst::orderStateWaitPay) { if ($order['order_state'] == \Our\ApiConst::orderStateWaitPay) {
$orderTips = \Our\DescribeConst::payFailedTips; $orderTips = \Our\DescribeConst::payFailedTips;
$orderSubTips = \Our\DescribeConst::payFailedSubTips; $orderSubTips = \Our\DescribeConst::payFailedSubTips;
......
...@@ -122,7 +122,6 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -122,7 +122,6 @@ class RefundServiceModel extends \Business\AbstractModel
// if (($refund['seller_state'] != '2' && $refund['platform_state'] != '1') || $refund['goods_state'] != '2') {//检查状态,防止页面刷新不及时造成数据错误 // if (($refund['seller_state'] != '2' && $refund['platform_state'] != '1') || $refund['goods_state'] != '2') {//检查状态,防止页面刷新不及时造成数据错误
// return false; // return false;
// } // }
error_reporting(E_ALL);
$refund_array = array(); $refund_array = array();
if ($goodsState == '3' && $delay_time > 0) { if ($goodsState == '3' && $delay_time > 0) {
$refund_array['goods_state'] = 3; $refund_array['goods_state'] = 3;
...@@ -218,6 +217,13 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -218,6 +217,13 @@ class RefundServiceModel extends \Business\AbstractModel
$refund_array['seller_state'] =$sellerState;//卖家处理状态:1为待审核,2为同意,3为不同意 $refund_array['seller_state'] =$sellerState;//卖家处理状态:1为待审核,2为同意,3为不同意
$refund_array['seller_message'] =$sellerMessage; $refund_array['seller_message'] =$sellerMessage;
//如果卖家不同意退款回写is_refund //如果卖家不同意退款回写is_refund
if($return['refund_type']==ApiConst::refundTypeGoods && !$isGiveUp){
$waitRefundReceiveCount=ApiConst::one;
$refundCount=ApiConst::zero;
}else{
$waitRefundReceiveCount=ApiConst::zero;
$refundCount=ApiConst::reduceOne;
}
if ($refund_array['seller_state'] != '2'){ if ($refund_array['seller_state'] != '2'){
$orderGoodsUpdateData['is_refund']=ApiConst::zero; $orderGoodsUpdateData['is_refund']=ApiConst::zero;
$orderGoodsUpdateData['refund_state_name']=DescribeConst::sellerRefuseReturn; $orderGoodsUpdateData['refund_state_name']=DescribeConst::sellerRefuseReturn;
...@@ -227,13 +233,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -227,13 +233,7 @@ class RefundServiceModel extends \Business\AbstractModel
if(!$result){ if(!$result){
ErrorModel::throwException(CodeConfigModel::updateIsRefundFail); ErrorModel::throwException(CodeConfigModel::updateIsRefundFail);
} }
if($return['refund_type']==ApiConst::refundTypeGoods && $return['return_type']){
$waitRefundReceiveCount=ApiConst::one;
$refundCount=ApiConst::zero;
}else{
$waitRefundReceiveCount=ApiConst::zero;
$refundCount=ApiConst::reduceOne;
}
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$order_info['storeId'], $pushData=array('storeId'=>$order_info['storeId'],
'type'=>ApiConst::messageRefund, 'type'=>ApiConst::messageRefund,
...@@ -287,8 +287,8 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -287,8 +287,8 @@ class RefundServiceModel extends \Business\AbstractModel
'waitGetCount'=>ApiConst::zero, 'waitGetCount'=>ApiConst::zero,
'orderCount'=>ApiConst::zero, 'orderCount'=>ApiConst::zero,
'waitRefundProccessCount'=>ApiConst::reduceOne, 'waitRefundProccessCount'=>ApiConst::reduceOne,
'waitRefundReceiveCount'=>zero, 'waitRefundReceiveCount'=>$waitRefundReceiveCount,
'refundCount'=>ApiConst::reduceOne, 'refundCount'=>$refundCount,
'alertCount'=>ApiConst::zero, 'alertCount'=>ApiConst::zero,
'params'=>array('c'=>'shopkeeper', 'params'=>array('c'=>'shopkeeper',
'm'=>'orderDetail', 'm'=>'orderDetail',
...@@ -331,6 +331,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -331,6 +331,7 @@ class RefundServiceModel extends \Business\AbstractModel
{ {
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName); $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$storeDao=\DAO\StoreModel::getInstance(DbNameConst::masterDBConnectName);
$whereRefund = array(); $whereRefund = array();
$whereRefund['store_id']= $storeId; $whereRefund['store_id']= $storeId;
$whereRefund['refund_id']= $refundId; $whereRefund['refund_id']= $refundId;
...@@ -340,6 +341,8 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -340,6 +341,8 @@ class RefundServiceModel extends \Business\AbstractModel
$refundReturnDao->deleteRefundCache($refund['buyer_id'], $refund['refund_id']); $refundReturnDao->deleteRefundCache($refund['buyer_id'], $refund['refund_id']);
$orderDao->deleteOrderCache($refund['buyer_id'],$refund['order_id'],$refund['store_id']); $orderDao->deleteOrderCache($refund['buyer_id'],$refund['order_id'],$refund['store_id']);
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$refundReturnDao, 'getList'), array(), array($refund['store_id'])); \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$refundReturnDao, 'getList'), array(), array($refund['store_id']));
$storeDao->deleteStoreCache($refund['store_id'],$refund['order_id']);
$storeDao->deleteStoreRefundCache($refund['store_id'],$refund['order_id']);
} }
return true; return true;
}else{ }else{
...@@ -459,6 +462,8 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -459,6 +462,8 @@ class RefundServiceModel extends \Business\AbstractModel
$refundReturnDao->deleteRefundCache($refund['buyer_id'], $refund['refund_id']); $refundReturnDao->deleteRefundCache($refund['buyer_id'], $refund['refund_id']);
$orderDao->deleteOrderCache($refund['buyer_id'],$refund['order_id'],$refund['store_id']); $orderDao->deleteOrderCache($refund['buyer_id'],$refund['order_id'],$refund['store_id']);
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$refundReturnDao, 'getList'), array(), array($refund['store_id'])); \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$refundReturnDao, 'getList'), array(), array($refund['store_id']));
$storeDao->deleteStoreCache($refund['store_id'],$refund['order_id']);
$storeDao->deleteStoreRefundCache($refund['store_id'],$refund['order_id']);
return true; return true;
} }
$refundReturnDao->db->doRollback(); $refundReturnDao->db->doRollback();
...@@ -544,7 +549,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -544,7 +549,7 @@ class RefundServiceModel extends \Business\AbstractModel
* @param int $pageSize * @param int $pageSize
* @return \stdClass * @return \stdClass
*/ */
public function getStoreRefundList($storeId, $type=0,$pageIndex = ApiConst::zero, $pageSize = ApiConst::pageSize,$refundId=false) public function getStoreRefundList($storeId, $type=ApiConst::zero,$pageIndex = ApiConst::zero, $pageSize = ApiConst::pageSize,$refundId=false)
{ {
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::salveDBConnectName); $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::salveDBConnectName);
...@@ -552,7 +557,8 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -552,7 +557,8 @@ class RefundServiceModel extends \Business\AbstractModel
$orderDao=\DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName); $orderDao=\DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName);
$goodsDao=\DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName); $goodsDao=\DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName);
$diliverymanDao=\DAO\Order\DiliverymanModel::getInstance();
$qmDeliveryManLogDao=\DAO\Order\QmDeliverymanLogModel::getInstance();
$addressDao = \DAO\Order\DAddressModel::getInstance(DbNameConst::salveDBConnectName); $addressDao = \DAO\Order\DAddressModel::getInstance(DbNameConst::salveDBConnectName);
$orderCommonDao = \DAO\Order\OrderCommonModel::getInstance(); $orderCommonDao = \DAO\Order\OrderCommonModel::getInstance();
...@@ -586,8 +592,15 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -586,8 +592,15 @@ class RefundServiceModel extends \Business\AbstractModel
$orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByRecIds'), array($orderGoodsId, $this->refundOrderGoodsField), \Our\ApiConst::oneDaySecond, array($storeId)); $orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByRecIds'), array($orderGoodsId, $this->refundOrderGoodsField), \Our\ApiConst::oneDaySecond, array($storeId));
$refundMerge = Common::intergrateOneToOne($refundReturns['list'], $orderGoods, 'orderGoodsId', 'recId'); $refundMerge = Common::intergrateOneToOne($refundReturns['list'], $orderGoods, 'orderGoodsId', 'recId');
$orderIds= array_column($refundMerge, 'orderId'); $orderIds= array_column($refundMerge, 'orderId');
$refundIds=array_column($refundMerge,'refundId');
$diliveryWhere['order_id']=array('in',$refundIds);
$diliveryWhere['order_type']=ApiConst::orderTypeRefund;
$orderWhere['order_id']=array('in',$orderIds); $orderWhere['order_id']=array('in',$orderIds);
$orders = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$orderDao, 'getList'), array($orderWhere, $orderDao->getOrderDetailField(), ApiConst::zero, $pageSize), \Our\ApiConst::oneDaySecond, array($storeId)); $orders = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$orderDao, 'getList'), array($orderWhere, $orderDao->getOrderDetailField(), ApiConst::zero, $pageSize), \Our\ApiConst::oneDaySecond, array($storeId));
$qmDeliveryManLogWhere['order_id']=array('in',$refundIds);
$qmDeliveryManLogWhere['order_type']= ApiConst::orderTypeRefund;
$qmDeliveryManLogs=\Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$qmDeliveryManLogDao, 'getList'), array($qmDeliveryManLogWhere, $qmDeliveryManLogDao->fieldDetail,ApiConst::zero,$pageSize), \Our\ApiConst::oneDaySecond, array($storeId));
$qmDeliveryManLogs=$qmDeliveryManLogDao->convertListByField($qmDeliveryManLogs['list'],'orderId');
$orders=$orderDao->convertOrder($orders['list'],'orderId'); $orders=$orderDao->convertOrder($orders['list'],'orderId');
$orderCommons = $orderCommonDao->getAllByOrderIds($orderIds, $orderCommonDao->orderCommonField); $orderCommons = $orderCommonDao->getAllByOrderIds($orderIds, $orderCommonDao->orderCommonField);
$orderCommons=$orderDao->convertOrder($orderCommons,'orderId'); $orderCommons=$orderDao->convertOrder($orderCommons,'orderId');
...@@ -607,6 +620,14 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -607,6 +620,14 @@ class RefundServiceModel extends \Business\AbstractModel
$extent=$orderDao->getClienOrderCommon($orders[$value['orderId']]); $extent=$orderDao->getClienOrderCommon($orders[$value['orderId']]);
$value=array_merge($value,$extent); $value=array_merge($value,$extent);
$goodGroup=unserialize($value['goodsGroup']); $goodGroup=unserialize($value['goodsGroup']);
if ($value['diliverymanId']) {
$diliverymanDao = \DAO\Order\DiliverymanModel::getInstance();
$res = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$diliverymanDao, 'findById'), array($value['diliverymanId']), \Our\ApiConst::oneDaySecond, array($value['diliverymanId']));
$value['deliveryman'] = $diliverymanDao->convert($res);
$value['deliveryman']['distributionFee']=$qmDeliveryManLogs[$value['refundId']]['distributionFee'];
}else{
$value['deliveryman']=new \stdClass();
}
$value['goodsGroup']=!empty($goodGroup)?$goodGroup:[]; $value['goodsGroup']=!empty($goodGroup)?$goodGroup:[];
if ($value['refundType'] == ApiConst::refundTypeGoods) { if ($value['refundType'] == ApiConst::refundTypeGoods) {
if($value['refundShippingType']==ApiConst::bySeller){ if($value['refundShippingType']==ApiConst::bySeller){
......
...@@ -33,11 +33,19 @@ class DeliveryServiceModel extends \Business\AbstractModel ...@@ -33,11 +33,19 @@ class DeliveryServiceModel extends \Business\AbstractModel
{ {
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$storeDao=\DAO\StoreModel::getInstance(); $storeDao=\DAO\StoreModel::getInstance();
$refundReturnDao=\DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
$qmDeliveryManLog = \DAO\Order\QmDeliverymanLogModel::getInstance(DbNameConst::masterDBConnectName); $qmDeliveryManLog = \DAO\Order\QmDeliverymanLogModel::getInstance(DbNameConst::masterDBConnectName);
$messageService=\Business\Message\MessageServiceModel::getInstance(); $messageService=\Business\Message\MessageServiceModel::getInstance();
$deliveryManDao=\DAO\Order\DiliverymanModel::getInstance(); $deliveryManDao=\DAO\Order\DiliverymanModel::getInstance();
$orderDao->setDb($orderDao->dbName); $orderDao->setDb($orderDao->dbName);
$orderD= $orderDao->find($data['orderId'],$orderDao->getOrderDetailField()); if($data['orderType']==ApiConst::orderTypeRefund){
//如果是退货orderId就是refundId
$orderOne= $refundReturnDao->findByRefundId($data['orderId'],$refundReturnDao->refundDetailField);
$orderD= $orderDao->find($orderOne['orderId'],$orderDao->getOrderDetailField());
}else{
$orderD= $orderDao->find($data['orderId'],$orderDao->getOrderDetailField());
}
// if( $orderD['diliveryman_id']== $data['id']){ // if( $orderD['diliveryman_id']== $data['id']){
// ErrorModel::throwException(CodeConfigModel::alreadyExsitQmDeliveryLog); // ErrorModel::throwException(CodeConfigModel::alreadyExsitQmDeliveryLog);
// } // }
...@@ -46,19 +54,29 @@ class DeliveryServiceModel extends \Business\AbstractModel ...@@ -46,19 +54,29 @@ class DeliveryServiceModel extends \Business\AbstractModel
// } // }
$orderDao->db->doTransaction(); $orderDao->db->doTransaction();
$orderData['diliveryman_id'] = $data['id']; $orderData['diliveryman_id'] = $data['id'];
$orderData['order_state']=ApiConst::orderStateWaitRecieve; if($data['orderType']==ApiConst::orderTypeRefund){
$orderRes = $orderDao->updateByOrderId($orderData, $data['orderId']); $returnWhere['refund_id']=$data['orderId'];
// if (!$orderRes) { $orderRes= $refundReturnDao->update($returnWhere,$orderData);
// $orderDao->db->doRollback(); }else{
// ErrorModel::throwException(CodeConfigModel::updateOrderFail); $orderData['order_state']=ApiConst::orderStateWaitRecieve;
// } $orderRes = $orderDao->updateByOrderId($orderData, $data['orderId']);
}
if ($orderRes===false) {
$orderDao->db->doRollback();
ErrorModel::throwException(CodeConfigModel::updateOrderFail);
}
$qmDeliveryManLogData['diliveryman_id'] = $data['id']; $qmDeliveryManLogData['diliveryman_id'] = $data['id'];
$qmDeliveryManLogData['store_id'] = $data['storeId']; $qmDeliveryManLogData['store_id'] = $data['storeId'];
$qmDeliveryManLogData['order_id'] = $data['orderId']; $qmDeliveryManLogData['order_id'] = $data['orderId'];
$qmDeliveryManLogData['delivery_state'] = ApiConst::deliveryStateWait; $qmDeliveryManLogData['delivery_state'] = ApiConst::deliveryStateWait;
$qmDeliveryManLogData['distribution_fee'] =$data['distributionFee']; $qmDeliveryManLogData['distribution_fee'] =$data['distributionFee'];
$qmDeliveryManLogData['order_type'] = $data['orderType']; $qmDeliveryManLogData['order_type'] = $data['orderType'];
$qmDeliveryManLogData['shipping_fee'] = $orderD['shippingFee']; if($data['orderType']==ApiConst::orderTypeRefund){
$qmDeliveryManLogData['shipping_fee']=$orderD['need_shipping_fee'];
}else{
$qmDeliveryManLogData['shipping_fee'] = $orderD['shippingFee'];
}
$qmDeliveryManLogData['order_sn'] = $orderD['orderSn']; $qmDeliveryManLogData['order_sn'] = $orderD['orderSn'];
$qmDeliveryManLogData['get_time'] = TIMESTAMP; $qmDeliveryManLogData['get_time'] = TIMESTAMP;
// $qmDeliveryWhere['diliveryman_id']= $qmDeliveryManLogData['diliveryman_id']; // $qmDeliveryWhere['diliveryman_id']= $qmDeliveryManLogData['diliveryman_id'];
...@@ -82,6 +100,7 @@ class DeliveryServiceModel extends \Business\AbstractModel ...@@ -82,6 +100,7 @@ class DeliveryServiceModel extends \Business\AbstractModel
$deliveryManMemberIds=array($deliveryManMemberId,$oringeDeliveryManMemberId); $deliveryManMemberIds=array($deliveryManMemberId,$oringeDeliveryManMemberId);
$orderDao->deleteOrderCache(null, $data['orderId'], $data['storeId'], true,false,$deliveryManMemberIds); $orderDao->deleteOrderCache(null, $data['orderId'], $data['storeId'], true,false,$deliveryManMemberIds);
$storeDao->deleteStoreCache($data['storeId'],$data['orderId']); $storeDao->deleteStoreCache($data['storeId'],$data['orderId']);
$storeDao->deleteStoreRefundCache($data['storeId'],$data['orderId']);
//配送员推送 //配送员推送
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$push->sendDelivery($oringeDeliveryManMemberId,$data['orderId']); $push->sendDelivery($oringeDeliveryManMemberId,$data['orderId']);
......
...@@ -39,25 +39,40 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -39,25 +39,40 @@ class SalespersonServiceModel extends \Business\AbstractModel
$acts = $this->getOrderGoods($acts,$saleGoods,$memberId); $acts = $this->getOrderGoods($acts,$saleGoods,$memberId);
return $acts; return $acts;
} }
/**
* @param $acts
* @param $saleGoods goods_id 或 array('goods_id'=>'sale_act_id')
* @param $memberId
* @return array
* @throws \Exception
* @throws \Our\Exception
*/
protected function getOrderGoods($acts,$saleGoods,$memberId){ protected function getOrderGoods($acts,$saleGoods,$memberId){
if(is_array($acts)) { if(is_array($acts)) {
//多个活动
$tempActs = array_column($acts['list'],'qrcode_path','sale_act_id'); $tempActs = array_column($acts['list'],'qrcode_path','sale_act_id');
if($saleGoods) {
$goodsIds = array_keys($saleGoods);
}else{
$goodsIds = [];
}
}else{ }else{
//单个活动
$saleActArr = array($acts); $saleActArr = array($acts);
$sale = \DAO\SaleModel::getInstance()->getOne(array('sale_act_id'=>$acts,'member_id'=>$memberId,'is_closing'=>0),'qrcode_path'); $sale = \DAO\SaleModel::getInstance()->getOne(array('sale_act_id'=>$acts,'member_id'=>$memberId,'is_closing'=>0),'qrcode_path');
if(!$sale) { if(!$sale) {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saleNotJoin); \Error\ErrorModel::throwException(\Error\CodeConfigModel::saleNotJoin);
} }
$tempActs[$acts] = $sale['qrcode_path']; $tempActs[$acts] = $sale['qrcode_path'];
$goodsIds = array($saleGoods);
$saleGoods = array($saleGoods=>$acts); $saleGoods = array($saleGoods=>$acts);
} }
$saleActArr = array_keys($tempActs); $saleActArr = array_keys($tempActs);
$saleOrderDAO = \DAO\SaleOrderModel::getInstance();
//取得goodsid 防止活动商品表的商品被删除 显示的商品不准确
$saleGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db1\SaleOrderRedisModel::getInstance(),array(&$saleOrderDAO, 'getOrderGoodsList'),array("sale_act_id in(".implode(',',$saleActArr).") AND sale_id = {$memberId}",'DISTINCT goods_id,sale_act_id'),\Our\ApiConst::halfDaySecond,array($memberId));
$saleGoodsList = $saleGoodsList ? array_column($saleGoodsList,'sale_act_id','goods_id') : [];
$saleGoods = $saleGoods +$saleGoodsList;
$goodsIds = $saleGoods ? array_keys($saleGoods) :[];
if($goodsIds) { if($goodsIds) {
$goodsDAO = \DAO\GoodsModel::getInstance(); $goodsDAO = \DAO\GoodsModel::getInstance();
$tempGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$goodsDAO, 'getList'),array('goods_id in('.implode(',',$goodsIds).')','goods_id,goods_commonid,goods_name,goods_image'),\Our\ApiConst::oneMinute); $tempGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$goodsDAO, 'getList'),array('goods_id in('.implode(',',$goodsIds).')','goods_id,goods_commonid,goods_name,goods_image'),\Our\ApiConst::oneMinute);
...@@ -70,7 +85,7 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -70,7 +85,7 @@ class SalespersonServiceModel extends \Business\AbstractModel
$goodsList[$v['goods_id']] = $v; $goodsList[$v['goods_id']] = $v;
} }
} }
$saleOrderDAO = \DAO\SaleOrderModel::getInstance();
$saleActDAO = \DAO\SaleActivityModel::getInstance(); $saleActDAO = \DAO\SaleActivityModel::getInstance();
$actList = $saleActDAO->getActByArr($saleActArr); $actList = $saleActDAO->getActByArr($saleActArr);
......
...@@ -28,6 +28,13 @@ abstract class AbstractModel { ...@@ -28,6 +28,13 @@ abstract class AbstractModel {
$this->db=LinkMySQLModel::get($dbLink); $this->db=LinkMySQLModel::get($dbLink);
} }
} }
public function convertCommonList($list,$filed){
$returnList=Array();
foreach($list as $li){
$returnList[$li[$filed]]=$li;
}
return $returnList;
}
public function unsetDb(){ public function unsetDb(){
unset($this->db); unset($this->db);
// LinkMySQLModel::unsetDbConecet(); // LinkMySQLModel::unsetDbConecet();
......
...@@ -297,7 +297,7 @@ class DeliveryFormulaModel extends \DAO\AbstractModel { ...@@ -297,7 +297,7 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
$dayList['list']= $value; $dayList['list']= $value;
$returnList[] = $dayList; $returnList[] = $dayList;
} }
return array('timeList'=>$returnList,'default'=>$defaultFee); return array('timeList'=>$returnList,'default'=>$defaultFee,'other'=>$formula['other']*\Our\ApiConst::hundred);
} }
return $return; return $return;
......
...@@ -473,7 +473,16 @@ class GoodsModel extends \DAO\AbstractModel { ...@@ -473,7 +473,16 @@ class GoodsModel extends \DAO\AbstractModel {
return $orderGoodses; return $orderGoodses;
} }
//ccw //ccw
public function convert($goodses,$extentField=false){ public function convert($goodses,$extentField=false,$refundOrders=false){
if($refundOrders){
$newGoods=Array();
foreach($goodses as $goods){
if($refundOrders[$goods['recId']]){
array_push($newGoods,$goods);
}
}
$goodses=$newGoods;
}
foreach($goodses as &$goods){ foreach($goodses as &$goods){
if($goods['refundId']==ApiConst::zero){ if($goods['refundId']==ApiConst::zero){
if((!empty($extentField) || empty($goods['refundStateName'])) ){ if((!empty($extentField) || empty($goods['refundStateName'])) ){
......
...@@ -274,6 +274,7 @@ class OrderModel extends \DAO\AbstractModel ...@@ -274,6 +274,7 @@ class OrderModel extends \DAO\AbstractModel
$where = $this->db->getSqlWhereByArray($where); $where = $this->db->getSqlWhereByArray($where);
if($status==ApiConst::orderStateComplete){ if($status==ApiConst::orderStateComplete){
$data['is_receive_payment']=ApiConst::receivePayment; $data['is_receive_payment']=ApiConst::receivePayment;
$data['payment_time']=TIMESTAMP;
} }
$data['order_state'] = $status; $data['order_state'] = $status;
$data['finnshed_time']=TIMESTAMP; $data['finnshed_time']=TIMESTAMP;
......
...@@ -16,8 +16,9 @@ use Our\ImageConst; ...@@ -16,8 +16,9 @@ use Our\ImageConst;
class QmDeliverymanLogModel extends \DAO\AbstractModel class QmDeliverymanLogModel extends \DAO\AbstractModel
{ {
public $fieldList = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,distribution_fee as distributionFee'; public $fieldList = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,distribution_fee as distributionFee,order_type as orderType,distribution_fee as distributionFee,shipping_fee as shippingFee,order_sn as orderSn';
public $fieldDetail = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,delivery_state as deliveryState,order_type as orderType,distribution_fee as distributionFee'; public $fieldDetail = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,delivery_state as deliveryState,order_type as orderType,distribution_fee as distributionFee,shipping_fee as shippingFee,order_sn as orderSn';
/** /**
...@@ -180,6 +181,15 @@ class QmDeliverymanLogModel extends \DAO\AbstractModel ...@@ -180,6 +181,15 @@ class QmDeliverymanLogModel extends \DAO\AbstractModel
return $convertInfo; return $convertInfo;
} }
public function convertListByField($list,$field='orderId'){
$returnList=Array();
foreach($list as $li){
$returnList[$li[$field]]=$li;
}
return $returnList;
}
//删除订单详情缓存 //删除订单详情缓存
public function deletefindByIdCache($id) public function deletefindByIdCache($id)
{ {
......
...@@ -538,6 +538,9 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -538,6 +538,9 @@ class RefundReturnModel extends \DAO\AbstractModel {
public function getList($where, $field, $pageIndex=ApiConst::zero, $pageSize=ApiConst::pageSize, $order = array('add_time' => 'desc')) public function getList($where, $field, $pageIndex=ApiConst::zero, $pageSize=ApiConst::pageSize, $order = array('add_time' => 'desc'))
{ {
$this->setDb($this->dbName); $this->setDb($this->dbName);
if(is_array($where)){
$where = $this->db->getSqlWhereByArray($where);
}
$refunds = $this->lists($where, $order, $field, $pageIndex, $pageSize); $refunds = $this->lists($where, $order, $field, $pageIndex, $pageSize);
return $refunds ? $refunds : array(); return $refunds ? $refunds : array();
} }
...@@ -640,7 +643,7 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -640,7 +643,7 @@ class RefundReturnModel extends \DAO\AbstractModel {
//获得售后待处理订单条件 //获得售后待处理订单条件
public function getProccessOrderBySeller($id){ public function getProccessOrderBySeller($id){
$where['store_id']=$id; $where['store_id']=$id;
$where['refund_state']=ApiConst::refundSellerVerify; $where['seller_state']=ApiConst::refundSellerVerify;
return $where; return $where;
} }
//获得售后待收货订单条件 //获得售后待收货订单条件
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment