Commit 4b092fcc authored by liuyuzhen's avatar liuyuzhen

订单确认相关

parent 555e2fa7
......@@ -47,15 +47,18 @@ class OrderConfirmUtil {
private $couponCacheFlag = false;
public function addOrder($data,$memberId,$currentAddress){
$storeCartData = $this->checkPostData($data,$memberId,$currentAddress);
public function addOrder($data,$memberId,$currentAddress,$newFlag=false){
$storeCartData = $this->checkPostData($data,$memberId,$currentAddress,$newFlag);
//return $storeCartData;
$storeCartData = $this->checkDeliveryTypeAndPayway($storeCartData);
if($newFlag){
$storeCartData = $this->checkDeliveryTypeAndPaywayNew($storeCartData);
}else{
$storeCartData = $this->checkDeliveryTypeAndPayway($storeCartData);
}
return $this->saveOrderInfo($storeCartData);
}
/**
* 验证传入数据的完成性
* @param $data
......@@ -65,7 +68,7 @@ class OrderConfirmUtil {
* @throws \Error\OurExceptionModelfav
* @throws \Exception
*/
public function checkPostData($data,$memberId,$currentAddress){
public function checkPostData($data,$memberId,$currentAddress,$newFlag=false){
$dbName = \Our\DbNameConst::masterDBConnectName;
$this->memberId = $memberId;
$this->member = \DAO\MemberModel::getInstance()->getInfo($this->memberId);
......@@ -79,7 +82,11 @@ class OrderConfirmUtil {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyParamForOrder);
}
if(isset($this->postData['storeId'])&&$this->postData['storeId']){//组合销售或者单品的立即购买
$this->checkOneStoreData($this->postData);
if($newFlag){
$this->checkOneStoreDataNew($this->postData);
}else{
$this->checkOneStoreData($this->postData);
}
if((isset($this->postData['blId'])&&$this->postData['blId']>\Our\ApiConst::zero)&&(isset($this->postData['goodsId'])&&$this->postData['goodsId']>\Our\ApiConst::zero)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongBlIdAndGoodsIdForOrder);
}else if(!(isset($this->postData['goodsId'])&&$this->postData['goodsId']>\Our\ApiConst::zero)&&!(isset($this->postData['blId'])&&$this->postData['blId']>\Our\ApiConst::zero)){
......@@ -97,7 +104,11 @@ class OrderConfirmUtil {
}else{
$this->cartCacheDeleteFlag = true;
foreach($this->postData as $temp){
$this->checkOneStoreData($temp);
if($newFlag){
$this->checkOneStoreDataNew($temp);
}else{
$this->checkOneStoreData($temp);
}
if(!$temp['cartIds']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyCartIdsForOrder);
}
......@@ -176,6 +187,52 @@ class OrderConfirmUtil {
}
}
/**
* 配送方式只包含商家配送和自提的参数检验
* @param $temp
* @throws \Error\OurExceptionModel
* @throws \Exception
*/
public function checkOneStoreDataNew($temp){
if(!$temp['storeId']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyStoreIdForOrder);
}
if(!(isset($temp['payway']))&&in_array($temp['payway'],array(\Our\ApiConst::payOnline,\Our\ApiConst::payOffline,\Our\ApiConst::payAog))){//验证支付方式
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongPaywayForOrder);
}
if(!(isset($temp['deliveryType']))&&in_array($temp['deliveryType'],array(\Our\ApiConst::deliveryBuyer,\Our\ApiConst::deliveryStore))){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongDeliveryTypeForOrder);
}
if(!($temp['deliveryTime'])){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyDeliveryTime);
}
$minute = intval(date('i',$temp['deliveryTime']));
if(!($minute==0||$minute==30)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongDeliveryTime);
}
if($temp['deliveryType']==\Our\ApiConst::deliveryBuyer){
if(!isset($temp['buyerMobile'])){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyBuyerMobile);
}
if(!\Our\Common::checkMobilePhone($temp['buyerMobile'])){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongBuyerMobile);
}
}
if(!isset($temp['deliveryFee'])){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyDeliveryFeeForOrder);
}
if(isset($temp['couponId'])&&$temp['couponId']>\Our\ApiConst::zero){//商品如果有使用优惠券
if(intval($temp['couponId'])<=\Our\ApiConst::zero){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongCouponIdForOrder);
}else{
$this->couponIds[] = $temp['couponId'];
$this->storeCouponIds[$temp['storeId']] = $temp['couponId'];
}
}
}
/**
* 检查配送方式
* @param $storeCartData
......@@ -232,8 +289,87 @@ class OrderConfirmUtil {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::noExpressDeliveryForOrder1);
}
$deliveryFee = $temp['shippingFee'];
$delivery['buyerMobile'] = $requestData['buyerMobile'];
}
if($deliveryFee!=$requestData['deliveryFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongStoreDeliveryFeeForOrder);
}
$delivery['deliveryFee'] = $deliveryFee;
$delivery['deliveryType'] = $requestData['deliveryType'];
$delivery['deliveryTime'] = isset($deliveryTime)?$deliveryTime:\Our\ApiConst::zero;
$storeCartData['cartList'][$storeId]['delivery'] = $delivery;
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::payAog&&$temp['aogPay']==\Our\ApiConst::one))){
$storeCartData['cartList'][$storeId]['payway'] = $requestData['payway'];
}else{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongPaywayForStoreForOrder);
}
$reliefAmount = isset($tempStore['reliefAmount'])?$tempStore['reliefAmount']:\Our\ApiConst::zero;
$orderAmount = $tempStore['storeTotalPrice'] - $reliefAmount + $deliveryFee;
if($orderAmount<=\Our\ApiConst::zero){
$orderAmount = \Our\ApiConst::zero;
}
if($orderAmount!=$requestData['totalFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongTotalFeeForOrder);
}
$storeCartData['cartList'][$storeId]['orderAmount'] = $orderAmount;
}
return $storeCartData;
}
/**
* 检查配送方式
* @param $storeCartData
* @return mixed
*/
public function checkDeliveryTypeAndPaywayNew($storeCartData){
$cartService = \Business\Cart\CartServiceModel::getInstance();
$storeCartData = $cartService->getDeliveryTypeForCartNew($this->address,$storeCartData,\Our\DbNameConst::masterDBConnectName,true);
$currentTime = time();
$todayTime = strtotime(date('Y-m-d',time()));
$tomorrowTime = $todayTime + \Our\ApiConst::oneDaySecond;
foreach($storeCartData['cartList'] as $storeId=>$tempStore){
$temp = $tempStore['deliverySetting'];
if(isset($this->postData['storeId'])&&$this->postData['storeId']){
$requestData = $this->postData;
}else{
$requestData = $this->postFormatData[$storeId];
}
if($requestData['deliveryType'] == \Our\ApiConst::deliveryStore){//商家配送
if($temp['sellerDistribution']!=\Our\ApiConst::one){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::noStoreDeliveryTypeForOrder);
}
if($requestData['deliveryTime']>=$todayTime&&$requestData['deliveryTime']<$todayTime*3){
$tempList = array_column($temp['deliverTimeList'],'list','time');
$currentDay= strtotime(date('Y-m-d',$requestData['deliveryTime']));
$currentList = $tempList[$currentDay];
$feeArray = array_column($currentList,'price','time');
$deliveryFee = $feeArray[$requestData['deliveryTime']];
}else{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongDeliveryTimeRangeForOrder);
}
}else if($requestData['deliveryType'] == \Our\ApiConst::deliveryBuyer){
if($temp['buyerDistribution']!=\Our\ApiConst::one){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::noBuyerDeliveryTypeForOrder);
}
if($requestData['deliveryFee'] != \Our\ApiConst::zero){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::noDeliveryFeeForBuyerType);
}
if($requestData['deliveryTime']>=$todayTime&&$requestData['deliveryTime']<$todayTime*3){
$tempList = array($temp['selfDeliveryTimeList'],'list','time');
$currentDay= strtotime(date('Y-m-d',$requestData['deliveryTime']));
$currentList = $tempList[$currentDay];
$feeArray = array_column($currentList,'price','time');
$deliveryFee = $feeArray[$requestData['deliveryTime']];
}else{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongBuyerTimeRangeForOrder);
}
//$deliveryFee = \Our\ApiConst::zero;
}
var_dump($deliveryFee);
if($deliveryFee!=$requestData['deliveryFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongStoreDeliveryFeeForOrder);
}
......@@ -354,6 +490,7 @@ class OrderConfirmUtil {
$needPayFlag = \Our\ApiConst::zero;
$giftCoupons = array();
$this->pushMessageOrders = array();
$storeDao = \DAO\StoreModel::getInstance(\Our\DbNameConst::masterDBConnectName);
foreach($storeCartData['cartList'] as $storeId=>$storeCarts){
$order= array();
$order['order_sn'] = $this->makeOrderSn($orderPayResult);
......@@ -432,12 +569,19 @@ class OrderConfirmUtil {
$orderModel->db->doRollback();
\Error\ErrorModel::throwException(\Error\CodeConfigModel::updateAddressFailedForOrder);
}
$store = $storeDao->get($storeId,false);
$orderCommon = array();
$orderCommon['order_id'] = $orderId;
$orderCommon['store_id'] = $storeId;
$orderCommon['order_message'] = isset($this->storeMemos[$storeId])?$this->storeMemos[$storeId]:\Our\NameConst::emptyString;
$orderCommon['reciver_info'] = $reciverInfo;
$orderCommon['reciver_name'] = $reciverName;
if($storeCarts['delivery']['deliveryType'] == \Our\ApiConst::deliveryBuyer){
list($buyerStoreInfo,$buyerName) = $this->getStoreInfoAndBuyerInfo($store,array('buyerMobile'=>$storeCarts['delivery']['buyerMobile'],'member_name'=>$this->member['memberName']));
$orderCommon['reciver_info'] = $buyerStoreInfo;
$orderCommon['reciver_name'] = $buyerName;
}else{
$orderCommon['reciver_info'] = $reciverInfo;
$orderCommon['reciver_name'] = $reciverName;
}
$orderCommon['reciver_city_id'] = $this->address['city_id'];
$orderCommonList[] = $orderCommon;
//$orderCommonDao->insert($orderCommon);
......@@ -854,6 +998,24 @@ class OrderConfirmUtil {
}
public function getStoreInfoAndBuyerInfo($store,$data){
$reciverInfo['phone'] = $data['buyerMobile'];
$reciverInfo['mob_phone'] = $data['buyerMobile'];
$reciverInfo['tel_phone'] = $data['buyerMobile'];
$reciverInfo['address'] = $store['store_address'];
$reciverInfo['name'] = $data['member_name'];
$reciverInfo['area'] = $store['area_info'];
$reciverInfo['street'] = $store['store_address'];
$reciverInfo['lng'] = $store['store_longitude'];
$reciverInfo['lat'] = $store['store_latitude'];
$reciverInfo['citycode'] = $store['store_citycode'];
$reciverInfo['address_id'] = \Our\NameConst::emptyString;
$reciverInfo['subaddress'] = $store['store_subaddress'];
$reciverInfo = serialize($reciverInfo);
$reciverName = $data['member_name'];
return array($reciverInfo, $reciverName);
}
public function getReciverAddr($addressInfo = array()) {
/*if (intval($addressInfo['dlyp_id'])) {
$reciverInfo['phone'] = trim($addressInfo['dlyp_mobile'].($addressInfo['dlyp_telephony'] ? ','.$addressInfo['dlyp_telephony'] : null),',');
......
......@@ -663,7 +663,7 @@ class CartServiceModel extends \Business\AbstractModel{
* @param $address
* @param $storeCartData
*/
public function getDeliveryTypeForCartNew($address,$storeCartData,$dbName = \Our\DbNameConst::salveDBConnectName){
public function getDeliveryTypeForCartNew($address,$storeCartData,$dbName = \Our\DbNameConst::salveDBConnectName,$checkFlag = false){
$storeIds = $storeCartData['storeIds'];
$storeDao = \DAO\StoreModel::getInstance();
$deliveryFormulaDao = \DAO\DeliveryFormulaModel::getInstance($dbName);
......@@ -715,7 +715,7 @@ class CartServiceModel extends \Business\AbstractModel{
$storeDistance = \Our\CommonExtension::getDistance($address['lat'],$address['lng'],$store['store_latitude'],$store['store_longitude'],\Our\ApiConst::one);
if($result){
$deliverySetting['inServiceAreaFlag'] = \Our\ApiConst::one;
$deliverTimeList = $deliveryFormulaDao->getDeliveryFormulaForCartNew($store,$storeDistance,$deliveryFreeFlag);
$deliverTimeList = $deliveryFormulaDao->getDeliveryFormulaForCartNew($store,$storeCarts,$storeDistance,$deliveryFreeFlag,$checkFlag);
if($deliverTimeList){
$deliverySetting['deliverTimeList'] =$deliverTimeList['timeList'];
$storeCartData['cartList'][$storeId]['storeDistance'] = $storeDistance;
......@@ -1244,7 +1244,7 @@ class CartServiceModel extends \Business\AbstractModel{
function addOrder($data,$memberId,$currentAddress){
$orderUtil =\Order\OrderConfirmUtil::getInstance();
$return = $orderUtil->addOrder($data,$memberId,$currentAddress);
$return = $orderUtil->addOrder($data,$memberId,$currentAddress,true);
//删除订单列表缓存
$orderDao=\DAO\Order\OrderModel::getInstance();
$orderDao->deleteOrderCache($memberId);
......
......@@ -309,7 +309,6 @@ class AddressServiceModel extends \Business\AbstractModel {
}
}
return array('returnAddressId'=>$choosedAddressId,'choosedAddressFlag'=>$choosedAddressFlag,'addresses'=>$returnAddresses);
}
public function getMyCurrentAddressByMemberId($memberId){
......
......@@ -71,6 +71,9 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
if ($store['store_start_time'] && $store['store_close_time']) {
$todayStartTime = strtotime($time . ' ' . $store['store_start_time']);
$todayEndTime = strtotime($time . ' ' . $store['store_close_time']);
if($todayEndTime<=$todayStartTime){
$todayEndTime += \Our\ApiConst::oneDaySecond;
}
} else {
$todayStartTime = $time + \Our\ApiConst::deliveryStartTime;
$todayEndTime = $time + \Our\ApiConst::deliveryEndTime;
......@@ -122,8 +125,8 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
* @return array
* @throws \Our\Exception
*/
public function getDeliveryFormulaForCartNew($store,$storeCarts,$distance,$deliveryFreeFlag=false){
$delivery_template_ids = array_unique(array_column($storeCarts,'delivery_template_id'));
public function getDeliveryFormulaForCartNew($store,$storeCarts,$distance,$deliveryFreeFlag=false,$checkFlag = false){
$delivery_template_ids = array_unique(array_column($storeCarts['storeCarts'],'delivery_template_id'));
$deliveryFormula = \Our\RedisHelper::cachedFunction(\Redis\Db6\DeliveryFormulaRedisModel::getInstance(),array(&$this, 'getOne'),array('*',array('store_id'=>$store['store_id'])),\Our\ApiConst::sevenDaySecond,array($store['store_id']));
if(!$deliveryFormula){
return false;
......@@ -146,23 +149,39 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
}
}
$formula = array();
$halfList = array();
$oneList = array();
$twoList = array();
$dayList = array();
$otherList = array();
foreach($distanceFormulaList as $tempFormuala){
$halfList[] = $tempFormuala['half']?$tempFormuala['half']:$tempFormuala['other'];
$oneList[] = $tempFormuala['one']?$tempFormuala['one']:$tempFormuala['other'];
$twoList[] = $tempFormuala['one']?$tempFormuala['two']:$tempFormuala['other'];
$dayList[] = $tempFormuala['day']?$tempFormuala['day']:$tempFormuala['other'];
$otherList[] = $tempFormuala['other'];
}
$formula['half'] = max($distanceFormulaList);
$formula['one'] = max($oneList);
$formula['two'] = max($twoList);
$formula['day'] = max($dayList);
$formula['other'] = max($otherList);
$formula['half'] = max(array_column($distanceFormulaList,'half'));
$formula['one'] = max(array_column($distanceFormulaList,'one'));
$formula['two'] = max(array_column($distanceFormulaList,'two'));
$formula['day'] = max(array_column($distanceFormulaList,'day'));
$formula['other'] = max(array_column($distanceFormulaList,'other'));
foreach($distanceFormulaList as &$tempFormuala){
if($formula['half']){
if(!$tempFormuala['half']){
$tempFormuala['half'] = $tempFormuala['one']?$tempFormuala['one']:($tempFormuala['two']?$tempFormuala['two']:($tempFormuala['day']?$tempFormuala['day']:$tempFormuala['other']));
}
}
if($formula['one']){
if(!$tempFormuala['one']){
$tempFormuala['one'] = $tempFormuala['two']?$tempFormuala['two']:($tempFormuala['day']?$tempFormuala['day']:$tempFormuala['other']);
}
}
if($formula['two']){
if(!$tempFormuala['two']){
$tempFormuala['two'] = $tempFormuala['day']?$tempFormuala['day']:$tempFormuala['other'];
}
}
if($formula['day']){
if(!$tempFormuala['day']){
$tempFormuala['day'] = $tempFormuala['other'];
}
}
}
$formula['half'] = max(array_column($distanceFormulaList,'half'));
$formula['one'] = max(array_column($distanceFormulaList,'one'));
$formula['two'] = max(array_column($distanceFormulaList,'two'));
$formula['day'] = max(array_column($distanceFormulaList,'day'));
$currentTime =TIMESTAMP;
$time = date('Y-m-d',$currentTime);
......@@ -170,52 +189,92 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
if($store['store_dis_sta_time']&&$store['store_dis_end_time']){
$todayStartTime = strtotime($time.' '.$store['store_dis_sta_time']);
$todayEndTime = strtotime($time.' '.$store['store_dis_end_time']);
if($todayEndTime<=$todayStartTime){
$todayEndTime += \Our\ApiConst::oneDaySecond;
}
}else{
$todayStartTime = $time+\Our\ApiConst::deliveryStartTime;
$todayEndTime = $time+\Our\ApiConst::deliveryEndTime;
}
if($todayStartTime>$currentTime){
$currentTime = $todayStartTime;
$todayInterval = 0;
if($formula['half']){
$currentMinute = date('i',$currentTime);
$tenMinute =10;
$forthMinute = 40;
if($checkFlag){
$tenMinute =15;
$forthMinute = 45;
}
if($currentMinute>$tenMinute&&$currentMinute<30){
$currentTime = mktime(date('H',$currentTime),30,0,date('m',$currentTime),date('d',$currentTime),date('Y',$currentTime));
}else if($currentMinute>$forthMinute){
$currentTime = mktime(date('H',$currentTime),60,0,date('m',$currentTime),date('d',$currentTime),date('Y',$currentTime));
}
}else if($formula['one']){
$todayInterval = \Our\ApiConst::halfHour;
}else if($formula['two']){
$todayInterval = \Our\ApiConst::oneHour;
}else if($formula['day']){
$todayInterval = \Our\ApiConst::oneHour*2 ;
}else{
$todayInterval = \Our\ApiConst::oneDaySecond;
}
$defaultFee = $formula['half'];
$currentTime = $currentTime + $todayInterval;
$defaultFee = $formula['half']?$formula['half']:($formula['one']?$formula['one']:($formula['two']?$formula['two']:($formula['day']?$formula['day']:$formula['other'])));
$defaultFee = $defaultFee*\Our\ApiConst::hundred;
$return = array();
$formulaList = $this->getTodayFormulaList($currentTime,$todayEndTime,$formula,$deliveryFreeFlag);
$tommorowDefault = \Our\ApiConst::zero;
if(!$formulaList){
$tommorowDefault = \Our\ApiConst::one;
if($currentTime<$todayEndTime){
if($todayStartTime>$currentTime){
$currentTime = $todayStartTime;
}
$formulaList = $this->getTodayFormulaList($currentTime,$todayEndTime,$todayInterval,$formula,$deliveryFreeFlag);
if(!$formulaList){
$tommorowDefault = \Our\ApiConst::one;
}else{
$return = array_merge($return,$formulaList);
}
}else{
$defaultFee = $formula['other'];
$return[]= array('time'=>$todayUnixTime,'list'=>$formulaList);
$tommorowDefault = \Our\ApiConst::one;
}
$tommorowStartTime = $todayStartTime + \Our\ApiConst::oneDaySecond;
$tommorowEndTime = $todayEndTime + \Our\ApiConst::oneDaySecond;
$tommorowUnixTime = $todayUnixTime + \Our\ApiConst::oneDaySecond;
$tromorrowList = $this->getOtherDayFormulaList($tommorowStartTime,$tommorowEndTime,$formula['other'],$deliveryFreeFlag,$tommorowDefault);
if($tommorowUnixTime){
$return[]= array('time'=>$tommorowUnixTime,'list'=>$tromorrowList);
if($tromorrowList){
$return = array_merge($return,$tromorrowList);
}
$nextStartTime = $todayStartTime + \Our\ApiConst::oneDaySecond*2;
$nextEndTime = $todayEndTime + \Our\ApiConst::oneDaySecond*2;
$nextUnixTime = $todayUnixTime + \Our\ApiConst::oneDaySecond*2;
if($nextEndTime>$todayUnixTime + \Our\ApiConst::oneDaySecond*3){
$nextEndTime = $todayUnixTime + \Our\ApiConst::oneDaySecond*3;
}
$isDefault = \Our\ApiConst::zero;
if(!($formulaList&&$tromorrowList)){
if(!($return)){
$isDefault = \Our\ApiConst::one;
}
$nextList = $this->getOtherDayFormulaList($nextStartTime,$nextEndTime,$formula['other'],$deliveryFreeFlag,$isDefault);
if($tommorowUnixTime){
$return[]= array('time'=>$nextUnixTime,'list'=>$nextList);
if($nextList){
$return = array_merge($return,$nextList);
}
if($return){
return array('timeList'=>$return,'default'=>$defaultFee);
$returnList = array();
foreach($return as $key=>$value){
$dayList = array();
$dayList['time']= strtotime(date('Y-m-d',$value[0]['time']));
$dayList['list']= $value;
$returnList[] = $dayList;
}
return array('timeList'=>$returnList,'default'=>$defaultFee);
}
return $return;
}
public function getTodayFormulaList($beginTime,$endTime,$formulaPrice,$deliveryFreeFlag){
public function getTodayFormulaList($beginTime,$endTime,$todayInterval,$formulaPrice,$deliveryFreeFlag){
$formulaList = array();
$time = TIMESTAMP;
$initMinute = intval(date('i',$beginTime));
if($initMinute==0||$initMinute==30){
$startTime = $beginTime;
......@@ -227,12 +286,12 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
}
}
if($startTime+\Our\ApiConst::halfHour<$endTime){
$interval =\Our\ApiConst::zero;
$interval =$todayInterval;
for($i=$startTime;$i<$endTime;$i = $i+(\Our\ApiConst::halfHour)){
$interval += \Our\ApiConst::halfHour;
$temp = array();
$temp['time'] = $i;
$temp['interval'] = \Our\ApiConst::halfHour;
$temp['interval'] = $i - $time;
$temp['isDefault'] = \Our\ApiConst::zero;
if($interval==\Our\ApiConst::halfHour*1){//半小时内的价格
$temp['price'] = $formulaPrice['half'];
......@@ -247,8 +306,9 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
if($deliveryFreeFlag){
$temp['price'] = \Our\ApiConst::zero;
}
$temp['price'] = $temp['price']?$temp['price']:\Our\ApiConst::zero;
$formulaList[] = $temp;
$index = strtotime(date('Y-m-d',$i));
$temp['price'] = $temp['price']?($temp['price']*\Our\ApiConst::hundred):\Our\ApiConst::zero;
$formulaList[$index][] = $temp;
}
}
return $formulaList;
......@@ -271,13 +331,14 @@ class DeliveryFormulaModel extends \DAO\AbstractModel {
$temp = array();
$temp['time'] = $i;
$temp['interval'] = \Our\ApiConst::halfHour;
$temp['price'] = $price?$price:\Our\ApiConst::zero;
$temp['price'] = $price?($price*\Our\ApiConst::hundred):\Our\ApiConst::zero;
if($deliveryFreeFlag){
$temp['price'] = \Our\ApiConst::zero;
}
$temp['isDefault'] = $isDefault;
$isDefault = \Our\ApiConst::zero;
$formulaList[] = $temp;
$index = strtotime(date('Y-m-d',$i));
$formulaList[$index][] = $temp;
}
}
return $formulaList;
......
......@@ -48,7 +48,7 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
return $this->db->fetchAll();
}
public function getOne($field,$where,$order = array('fav_time'=>'desc')){
public function getOne($field,$where,$order = array('fav_time'=>'desc','favid'=>'desc')){
$this->setDb($this->dbName);
if($order){
foreach($order as $key=>$value){
......
......@@ -310,6 +310,7 @@ class GoodsModel extends \DAO\AbstractModel {
if(isset($returnData[$temp['goods_commonid']]['is_transport'])){
continue;
}
$returnData[$temp['goods_commonid']]['delivery_template_id'] = $temp['delivery_template_id'];
$returnData[$temp['goods_commonid']]['is_transport'] = $temp['is_transport'];
$returnData[$temp['goods_commonid']]['transport_id'] = $temp['transport_id'];
$returnData[$temp['goods_commonid']]['goods_freight'] = $temp['goods_freight'];
......
......@@ -284,6 +284,11 @@ class CodeConfigModel
const notExsitOrder = 300112;
const alreadyExsitRefundGoods = 300113;
const notAllowDelete = 300114;
const emptyDeliveryTime = 300115;
const wrongDeliveryTime = 300116;
const wrongBuyerTimeRangeForOrder =300117;
const emptyBuyerMobile = 300118;
const wrongBuyerMobile = 300119;
const noExpressDeliveryForOrder1 = 30115;
const goodsNoStoreForCartOrOrder1 = 30116;
......@@ -707,6 +712,11 @@ class CodeConfigModel
self::notExsitOrder => '订单不存在',
self::alreadyExsitRefundGoods => '退款订单已经存在',
self::notAllowDelete => '当前订单状态不允许删除',
self::emptyDeliveryTime => '配送时间或者自提时间不能为空',
self::wrongDeliveryTime => '配送时间格式错误',
self::wrongBuyerTimeRangeForOrder => '自提时间点错误',
self::emptyBuyerMobile => '自提人手机号码不能为空',
self::wrongBuyerMobile => '自提人手机号码格式错误',
self::platFormAreadyIn => '您已经申请过平台介入',
self::deleteError => '放入回收站失败,订单状态有误',
self::restoreError => '永久删除、从回收站还原失败,订单状态有误',
......@@ -764,7 +774,7 @@ class CodeConfigModel
self::emptyOrderForPay => '支付的订单不存在',
self::emptyOrderIdForPay => '订单ID不能为空',
self::noRightForOrder => '您没有该订单权限',
self::wrongPayForOrder => '该订单无需线上支付',
self::wrongPayForOrder => '订单状态发生改变,请刷新后重试',
self::newPaySnInsertFailed => '新订单支付参数生成失败',
self::updateOrderForPayFailed => '唤起支付时更新订单失败',
self::noOrderListForPaySn => '当前paySn没有找到对应订单列表',
......
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