Commit 10ee6f3c authored by liuyuzhen's avatar liuyuzhen

Merge branch 'master_dev' of git.shenbd.com:qm-develop/shenbd into lyz

parents 170845b0 cbd94c99
<?php <?php
namespace Alipay\aop\request;
/** /**
* ALIPAY API: alipay.trade.refund request * ALIPAY API: alipay.trade.refund request
* *
...@@ -6,10 +7,10 @@ ...@@ -6,10 +7,10 @@
* @since 1.0, 2018-03-22 17:12:24 * @since 1.0, 2018-03-22 17:12:24
*/ */
class AlipayTradeRefundRequest class AlipayTradeRefundRequest
{ {
/** /**
* 统一收单交易退款接口 * 统一收单交易退款接口
**/ **/
private $bizContent; private $bizContent;
private $apiParas = array(); private $apiParas = array();
...@@ -21,16 +22,16 @@ class AlipayTradeRefundRequest ...@@ -21,16 +22,16 @@ class AlipayTradeRefundRequest
private $returnUrl; private $returnUrl;
private $needEncrypt=false; private $needEncrypt=false;
public function setBizContent($bizContent) public function setBizContent($bizContent)
{ {
$this->bizContent = $bizContent; $this->bizContent = $bizContent;
$this->apiParas["biz_content"] = $bizContent; $this->apiParas["biz_content"] = $bizContent;
} }
public function getBizContent() public function getBizContent()
{ {
return $this->bizContent; return $this->bizContent;
} }
public function getApiMethodName() public function getApiMethodName()
......
...@@ -26,7 +26,8 @@ class ApiConst ...@@ -26,7 +26,8 @@ class ApiConst
const oneMinute = 60; const oneMinute = 60;
//八小时秒数 //八小时秒数
const EightHoursSecond = 28800; const EightHoursSecond = 28800;
const hundred = 100; //1分钟秒数 const hundred = 100;
//1分钟秒数
const oneMinSecond = 60; const oneMinSecond = 60;
//成功状态码 //成功状态码
const returnSuccess = 1; const returnSuccess = 1;
......
...@@ -29,6 +29,9 @@ class PayConst { ...@@ -29,6 +29,9 @@ class PayConst {
const alipayAppId = '2017102509512276'; const alipayAppId = '2017102509512276';
const merchantPrivateKey = 'MIIEpQIBAAKCAQEAuuiMPUDWb2KDrMOL+Nxd2V8t5KVCKH2RwnHWzcWsdUbpbIGRDrdG6CztQr0sbD6QXcquQWxeX8niTMg+AgL2tOADqRmhGs4SnWsHFM5U117tMp8l0UFVJdi77ipKmqZ3wrauCdmF8R6g1MbAm52mi72fykIV2j1elDeHu8VBASKczRRvfI22mekq86jIxO+/6qwj+nGCoDkQ001zsUHuGNXmGprt2Tr08JaenDJWTRH+mfOQtIAvrC6iUTHQL1pvg/oPIEAxlImF2XUN8ENaoci7tMKTrQBjvnpXUy8o6SNL1kkp6rd4nhuuSIy6+aNtsHrfA68aZzXB3QFQon//ZwIDAQABAoIBAQCGS6rgJCMvWxiDXOnIwQXJtuKxw7AaicbecI9HwL2ecnor1ZjVewi+r/E2H9i4Wee/DG9SYLwalWM9ii9LoLeE1OSsbtbb/K9RXmJzJ6G8Md+6nLE+fnPgwq6dfNOn9O5eAIZiW2IrEre6yqf/6DGPfItAd2VeLvQzCQdE+oEvf2QGlhYujfPMHFffbLYzP8Cnyt0vft7RnGB/dgcRjVXRL/NwAsKnwgmWydIxY/R61pvIQFKqdtOzvmAgh2z8WFON2kuu8+S1QY7m9/zv1h3d0XEgqGUDkmzIfX9jokzkavVYRTOPCkmj2AuXjqGG3VnVSIVQLW7LJtl9ivqrQ+Y5AoGBAPN7yAqBnUUHgXzi/cBvAh96V1Ag6SSdauvN8xCEFHS32RhkV9qhT8xzc0gLeDTgGRpLSVA5i5BhGOw/0YZJKp5zveXntX+7vqov+59pEfHF5MqZ5MWfysNFlTf7hK3BnFyX+d1mT+2BpOdsfvB52qphHxBJRmj0HF6Uum4hAgC9AoGBAMSEPk3kr9WN8kBXWbh9Yv8CacC3eP22HH1X6Lv0//wdAVLGumcmYzMu8qd9/JInJSnV62SDwSz0crbffNgIWoP9LkuEuzvXT+6jVOjmSGQweFIla9oWlcfRFw1R1vWzTPjC8QDk3CRdpOBFopwUWpwkU6IZ+S9bKKDZRYeqcTzzAoGBAMyB3WWltHj0cvh4l/X3x2q1EX1GB00vw0zIMS5gIeZfPUNVlM0XzLTHC78pkw+mYq9JKQzvKKBeTdaxS8Vk0x0/zfK7CiF9igncP5aHZAEU3LSnShYLvv0BBvJ8mdZv1muXYtFpTB0LVXzkDkLhtp6A8Nx3D2K8FtACUAyMQOhpAoGAL+k173Oz0tL6nuks/KfFPPrvoYaZvvFpXL3UBg8jYeoIao/83i0jvlTR4Df9HfzhOKPo8eaVcEpgtWkjXOAcgVV2tf60T1CdMkcr6mRKffK7QvvQoakj90Vo41xylhCS0YtlipxBd7RFAFC55men9617nmfKstr8usp+Aydw2DUCgYEAju/kuN8//IVoZZOatkb4/DmAyLfGJ1ZJwowY0uksFrTOOfGxYSCDxfK2PHDrfgtaRCT6mb3nQIBljELvwAN6N/fFFMK+PuaMLvkevII6QbGgqNkXewCQyHZDxsqAxtEEJazz6a+Nqra8LS0nXmr2iFRKgw6JIY4wDXMW3g39Ihk='; const merchantPrivateKey = 'MIIEpQIBAAKCAQEAuuiMPUDWb2KDrMOL+Nxd2V8t5KVCKH2RwnHWzcWsdUbpbIGRDrdG6CztQr0sbD6QXcquQWxeX8niTMg+AgL2tOADqRmhGs4SnWsHFM5U117tMp8l0UFVJdi77ipKmqZ3wrauCdmF8R6g1MbAm52mi72fykIV2j1elDeHu8VBASKczRRvfI22mekq86jIxO+/6qwj+nGCoDkQ001zsUHuGNXmGprt2Tr08JaenDJWTRH+mfOQtIAvrC6iUTHQL1pvg/oPIEAxlImF2XUN8ENaoci7tMKTrQBjvnpXUy8o6SNL1kkp6rd4nhuuSIy6+aNtsHrfA68aZzXB3QFQon//ZwIDAQABAoIBAQCGS6rgJCMvWxiDXOnIwQXJtuKxw7AaicbecI9HwL2ecnor1ZjVewi+r/E2H9i4Wee/DG9SYLwalWM9ii9LoLeE1OSsbtbb/K9RXmJzJ6G8Md+6nLE+fnPgwq6dfNOn9O5eAIZiW2IrEre6yqf/6DGPfItAd2VeLvQzCQdE+oEvf2QGlhYujfPMHFffbLYzP8Cnyt0vft7RnGB/dgcRjVXRL/NwAsKnwgmWydIxY/R61pvIQFKqdtOzvmAgh2z8WFON2kuu8+S1QY7m9/zv1h3d0XEgqGUDkmzIfX9jokzkavVYRTOPCkmj2AuXjqGG3VnVSIVQLW7LJtl9ivqrQ+Y5AoGBAPN7yAqBnUUHgXzi/cBvAh96V1Ag6SSdauvN8xCEFHS32RhkV9qhT8xzc0gLeDTgGRpLSVA5i5BhGOw/0YZJKp5zveXntX+7vqov+59pEfHF5MqZ5MWfysNFlTf7hK3BnFyX+d1mT+2BpOdsfvB52qphHxBJRmj0HF6Uum4hAgC9AoGBAMSEPk3kr9WN8kBXWbh9Yv8CacC3eP22HH1X6Lv0//wdAVLGumcmYzMu8qd9/JInJSnV62SDwSz0crbffNgIWoP9LkuEuzvXT+6jVOjmSGQweFIla9oWlcfRFw1R1vWzTPjC8QDk3CRdpOBFopwUWpwkU6IZ+S9bKKDZRYeqcTzzAoGBAMyB3WWltHj0cvh4l/X3x2q1EX1GB00vw0zIMS5gIeZfPUNVlM0XzLTHC78pkw+mYq9JKQzvKKBeTdaxS8Vk0x0/zfK7CiF9igncP5aHZAEU3LSnShYLvv0BBvJ8mdZv1muXYtFpTB0LVXzkDkLhtp6A8Nx3D2K8FtACUAyMQOhpAoGAL+k173Oz0tL6nuks/KfFPPrvoYaZvvFpXL3UBg8jYeoIao/83i0jvlTR4Df9HfzhOKPo8eaVcEpgtWkjXOAcgVV2tf60T1CdMkcr6mRKffK7QvvQoakj90Vo41xylhCS0YtlipxBd7RFAFC55men9617nmfKstr8usp+Aydw2DUCgYEAju/kuN8//IVoZZOatkb4/DmAyLfGJ1ZJwowY0uksFrTOOfGxYSCDxfK2PHDrfgtaRCT6mb3nQIBljELvwAN6N/fFFMK+PuaMLvkevII6QbGgqNkXewCQyHZDxsqAxtEEJazz6a+Nqra8LS0nXmr2iFRKgw6JIY4wDXMW3g39Ihk=';
const alipaySignType = 'RSA2'; const alipaySignType = 'RSA2';
const alipayCharset="UTF-8";
const format='json';
const alipayApiVersion='1.0';
const alipayGatewayUrl = 'https://openapi.alipay.com/gateway.do'; const alipayGatewayUrl = 'https://openapi.alipay.com/gateway.do';
const alipayPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlnxDEAQLq9g9KBL8N+Kwr83b4xAl2GNa8E9lKjrgObsnIHwxCei4eASWvGFyFtau418aQvdFD9scR0mxw8NOB2QSmvJpeh2Ov5Cihh3dmR6jIDIEP7iCTHZQHv2tvM3DuxuUZSBK4oKD7kughmhVbu/fy4PGYLKcoHNuFVqajRxCS5/GXfce9dOGIk5+UFMzOi1m377qqpRK2SLMHO2tse0MTNznyKUgGHUGUlhvQwCnxF8FZx/RUUJPHcuaWxTnY8C9aQL2iaWKrwE3JPiE18m8g0NfBu/4E0VpLzPZCsoH2naHt1ORtMy0gnFH4FusdFapGatuMIb0LKJxhzsBTQIDAQAB'; const alipayPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlnxDEAQLq9g9KBL8N+Kwr83b4xAl2GNa8E9lKjrgObsnIHwxCei4eASWvGFyFtau418aQvdFD9scR0mxw8NOB2QSmvJpeh2Ov5Cihh3dmR6jIDIEP7iCTHZQHv2tvM3DuxuUZSBK4oKD7kughmhVbu/fy4PGYLKcoHNuFVqajRxCS5/GXfce9dOGIk5+UFMzOi1m377qqpRK2SLMHO2tse0MTNznyKUgGHUGUlhvQwCnxF8FZx/RUUJPHcuaWxTnY8C9aQL2iaWKrwE3JPiE18m8g0NfBu/4E0VpLzPZCsoH2naHt1ORtMy0gnFH4FusdFapGatuMIb0LKJxhzsBTQIDAQAB';
......
<?php <?php
namespace Payment; namespace Payment;
use Our\ApiConst;
/** /**
* User: liuyuzhen * User: liuyuzhen
* Date: 2018/7/3 * Date: 2018/7/3
...@@ -47,6 +49,54 @@ class Alipay { ...@@ -47,6 +49,54 @@ class Alipay {
return $returnData; return $returnData;
} }
private function getRandomString($len, $chars=null)
{
if (is_null($chars)) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
}
mt_srand(10000000*(double)microtime());
for ($i = 0, $str = '', $lc = strlen($chars)-1; $i < $len; $i++) {
$str .= $chars[mt_rand(0, $lc)];
}
return $str;
}
public function refund($order){
$refundAmount = round($order['refundAmount']/\Our\ApiConst::hundred,\Our\ApiConst::two);
if(APP_ENV == 'develop'||APP_ENV == 'test'||APP_ENV == 'pre'){
$refundAmount = 0.01;
}
$aop = new \Alipay\aop\AopClient();
$aop->gatewayUrl =\Our\PayConst::alipayGatewayUrl;
$aop->appId =\Our\PayConst::alipayAppId;
$aop->rsaPrivateKey =\Our\PayConst::merchantPrivateKey;
$aop->alipayrsaPublicKey=\Our\PayConst::alipayPublicKey;
$aop->apiVersion =\Our\PayConst::alipayApiVersion;
$aop->signType = \Our\PayConst::alipaySignType;
$aop->postCharset=\Our\PayConst::alipayCharset;
$aop->format=\Our\PayConst::format;
$outRequestNo=$this->getRandomString(ApiConst::nine);
// require_once BASE_ROOT_PATH.'/core/payment/alipay/aop/request/AlipayTradeRefundRequest.php';
// //require_once 'aop/request/AlipayTradeRefundRequest.php';
$request = new \Alipay\aop\request\AlipayTradeAppPayRequest();
$request->setBizContent("{" .
"\"out_trade_no\":\"{$order['outTradeNo']}\"," .
"\"refund_amount\":{$refundAmount}," .
"\"refund_reason\":\"正常退款\"," .
"\"out_request_no\":\"{$outRequestNo}\"," .
"\"store_id\":\"{$order['storeId']}\"" .
"}");
$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$result=$result->$responseNode;
return $result;
// $resultCode = $result->$responseNode->code;
// if(!empty($resultCode)&&$resultCode == 10000){
// return true;
// } else {
// return false;
// }
}
/** /**
* 类实例 * 类实例
......
...@@ -30,7 +30,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -30,7 +30,7 @@ class OrderServiceModel extends \Business\AbstractModel
private $storeField = "offline_payway as offlinePayway"; private $storeField = "offline_payway as offlinePayway";
private $orderMessageField = "order_id as orderId,order_sn as orderSn,store_name as storeName,add_time as addTime,store_id as storeId,goods_amount as goodsAmount,shipping_fee as shippingFee,order_amount as orderAmount,shipping_type as shippingType,payment_type as paymentType,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment,buyer_id as buyerId,buyer_name as buyerName,accept_time as acceptTime"; private $orderMessageField = "order_id as orderId,order_sn as orderSn,order_pay as orderPay,store_name as storeName,add_time as addTime,store_id as storeId,goods_amount as goodsAmount,shipping_fee as shippingFee,order_amount as orderAmount,shipping_type as shippingType,payment_type as paymentType,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment,buyer_id as buyerId,buyer_name as buyerName,accept_time as acceptTime";
private $order; private $order;
...@@ -54,53 +54,56 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -54,53 +54,56 @@ class OrderServiceModel extends \Business\AbstractModel
{ {
return $this->orderGoodsField . ',goods_commonid as goodsCommonid,goods_group as goodsGroup'; return $this->orderGoodsField . ',goods_commonid as goodsCommonid,goods_group as goodsGroup';
} }
public function getOrderIndexWhere($memberId,$keyword,$pageIndex,$pageSize){
public function getOrderIndexWhere($memberId, $keyword, $pageIndex, $pageSize)
{
// $query1= array('match' => array('buyerId' => $memberId)); // $query1= array('match' => array('buyerId' => $memberId));
// $res1['must']=$query1; // $res1['must']=$query1;
// // $query2[]= array('match' => array('orderSn' => $keyword")); // // $query2[]= array('match' => array('orderSn' => $keyword"));
// $query2[]= array('match' => array('storeName' => $keyword)); // $query2[]= array('match' => array('storeName' => $keyword));
// $query2[]= array('match' => array('goodsName' => $keyword)); // $query2[]= array('match' => array('goodsName' => $keyword));
// $res1['should']=$query2; // $res1['should']=$query2;
// $allQuery['bool']=$res1; // $allQuery['bool']=$res1;
$query1= array('match' => array('buyerId' => $memberId)); $query1 = array('match' => array('buyerId' => $memberId));
$res1['must'][0]=$query1; $res1['must'][0] = $query1;
// $query2[]= array('match' => array('orderSn' => $keyword")); // $query2[]= array('match' => array('orderSn' => $keyword"));
$query2[]= array('match' => array('storeName' => $keyword)); $query2[] = array('match' => array('storeName' => $keyword));
$query2[]= array('match' => array('goodsName' => $keyword)); $query2[] = array('match' => array('goodsName' => $keyword));
$res1['must'][1]['bool']['should']=$query2; $res1['must'][1]['bool']['should'] = $query2;
$allQuery['bool']=$res1; $allQuery['bool'] = $res1;
// echo json_encode($allQuery);exit; // echo json_encode($allQuery);exit;
// echo json_encode($allQuery);exit; // echo json_encode($allQuery);exit;
//array_push($allQuery['bool'],$res2); //array_push($allQuery['bool'],$res2);
// echo json_encode($allQuery);exit; // echo json_encode($allQuery);exit;
// echo json_encode($allQuery);exit; // echo json_encode($allQuery);exit;
$elasticTool=\Elastics\ElasticsToolModel::getInstance(NameConst::ordersIndex); $elasticTool = \Elastics\ElasticsToolModel::getInstance(NameConst::ordersIndex);
$res=$elasticTool->searchMatch($allQuery,$pageIndex,$pageSize); $res = $elasticTool->searchMatch($allQuery, $pageIndex, $pageSize);
$orderIdsField=array_column($res['list'],'orderId'); $orderIdsField = array_column($res['list'], 'orderId');
$orderIds=implode(',',$orderIdsField); $orderIds = implode(',', $orderIdsField);
if($orderIds){ if ($orderIds) {
$where=Common::format(" han_order.buyer_id={0} and delete_state={1} and (order_id in({2}) or han_order.order_sn like '%{3}%')",$memberId,ApiConst::undeleteOrder,$orderIds,$keyword); $where = Common::format(" han_order.buyer_id={0} and delete_state={1} and (order_id in({2}) or han_order.order_sn like '%{3}%')", $memberId, ApiConst::undeleteOrder, $orderIds, $keyword);
}else{ } else {
$where=Common::format(" han_order.buyer_id={0} and delete_state={1} and han_order.order_sn like '%{2}%'",$memberId,ApiConst::undeleteOrder,$keyword); $where = Common::format(" han_order.buyer_id={0} and delete_state={1} and han_order.order_sn like '%{2}%'", $memberId, ApiConst::undeleteOrder, $keyword);
} }
return $where; return $where;
} }
/** /**
* 订单,获得订单列表 * 订单,获得订单列表
* *
* @date 2018-5-15 * @date 2018-5-15
* @author ccw * @author ccw
*/ */
public function getList($memberId,$keyWord=false, $pageIndex = ApiConst::pageIndex, $pageSize = ApiConst::pageSize, $orderState = false) public function getList($memberId, $keyWord = false, $pageIndex = ApiConst::pageIndex, $pageSize = ApiConst::pageSize, $orderState = false)
{ {
$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);
$goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName); $goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName);
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::salveDBConnectName); $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::salveDBConnectName);
if($keyWord!==false){ if ($keyWord !== false) {
$where=$this->getOrderIndexWhere($memberId,$keyWord,$pageIndex,$pageSize); $where = $this->getOrderIndexWhere($memberId, $keyWord, $pageIndex, $pageSize);
}else{ } else {
$where['delete_state'] = ApiConst::undeleteOrder; $where['delete_state'] = ApiConst::undeleteOrder;
$where['buyer_id'] = $memberId; $where['buyer_id'] = $memberId;
//$where['lock_state'] = ApiConst::zero; //$where['lock_state'] = ApiConst::zero;
...@@ -161,7 +164,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -161,7 +164,7 @@ class OrderServiceModel extends \Business\AbstractModel
public function delete($memberId, $orderId) public function delete($memberId, $orderId)
{ {
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$memberDao=\DAO\MemberModel::getInstance(DbNameConst::masterDBConnectName); $memberDao = \DAO\MemberModel::getInstance(DbNameConst::masterDBConnectName);
$order = $orderDao->findByMemberIdAndOrderId($memberId, $orderId, $this->getDeleteField()); $order = $orderDao->findByMemberIdAndOrderId($memberId, $orderId, $this->getDeleteField());
if (empty($order)) { if (empty($order)) {
ErrorModel::throwException(CodeConfigModel::orderNotExist); ErrorModel::throwException(CodeConfigModel::orderNotExist);
...@@ -179,7 +182,6 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -179,7 +182,6 @@ class OrderServiceModel extends \Business\AbstractModel
} }
private function getDeliveryManFields() private function getDeliveryManFields()
{ {
return array( return array(
...@@ -206,16 +208,16 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -206,16 +208,16 @@ class OrderServiceModel extends \Business\AbstractModel
$goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName); $goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName);
//订单 //订单
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond); $order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond);
$fields =$orderDao->getFields(); $fields = $orderDao->getFields();
$this->order = $orderDao->getConvertOrder($order, $fields); $this->order = $orderDao->getConvertOrder($order, $fields);
//收货人地址 //收货人地址
//收货人信息 //收货人信息
$this->orderCommon = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderCommonDao, 'findByOrderId'), array($orderId, $orderCommonDao->orderCommonField), \Our\ApiConst::oneDaySecond); $this->orderCommon = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderCommonDao, 'findByOrderId'), array($orderId, $orderCommonDao->orderCommonField), \Our\ApiConst::oneDaySecond);
//$this->orderCommon = $orderCommonDao->findByOrderId($orderId, $this->orderCommonField); //$this->orderCommon = $orderCommonDao->findByOrderId($orderId, $this->orderCommonField);
$reciverInfo=$this->orderCommon['reciverInfo']; $reciverInfo = $this->orderCommon['reciverInfo'];
$reciverInfo=unserialize($reciverInfo); $reciverInfo = unserialize($reciverInfo);
$reciverInfo['true_name']=$this->orderCommon['reciverName']; $reciverInfo['true_name'] = $this->orderCommon['reciverName'];
$this->address=$orderCommonDao->getReciverInfo($reciverInfo); $this->address = $orderCommonDao->getReciverInfo($reciverInfo);
// if ($this->orderCommon['daddressId'] > ApiConst::zero) { // if ($this->orderCommon['daddressId'] > ApiConst::zero) {
// $this->address = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$addressDao, 'getAddressByAddressId'), array($this->orderCommon['daddressId'], $this->addressField), \Our\ApiConst::oneDaySecond);; // $this->address = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$addressDao, 'getAddressByAddressId'), array($this->orderCommon['daddressId'], $this->addressField), \Our\ApiConst::oneDaySecond);;
// $this->address['lat'] = $this->address['lat'] ? $this->address['lat'] : ApiConst::zero; // $this->address['lat'] = $this->address['lat'] ? $this->address['lat'] : ApiConst::zero;
...@@ -226,7 +228,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -226,7 +228,7 @@ class OrderServiceModel extends \Business\AbstractModel
// } // }
//定单商品表 //定单商品表
$this->orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderId, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond,array($orderId)); $this->orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderId, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond, array($orderId));
//商店相关信息 //商店相关信息
$this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($this->order['storeId'], $this->storeField), \Our\ApiConst::oneDaySecond); $this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($this->order['storeId'], $this->storeField), \Our\ApiConst::oneDaySecond);
$returnData = $this->order; $returnData = $this->order;
...@@ -251,8 +253,8 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -251,8 +253,8 @@ class OrderServiceModel extends \Business\AbstractModel
$returnData['totalGoodsNum'] = $orderGoodsDao->getGoodsCount($this->orderGoodsList); $returnData['totalGoodsNum'] = $orderGoodsDao->getGoodsCount($this->orderGoodsList);
$returnData['offlinePayway'] = $this->store['offlinePayway'] ? $this->store['offlinePayway'] : ''; $returnData['offlinePayway'] = $this->store['offlinePayway'] ? $this->store['offlinePayway'] : '';
$returnData['reciverInfo'] = $this->address; $returnData['reciverInfo'] = $this->address;
$refundStateName=$orderDao->getRefundText($this->order); $refundStateName = $orderDao->getRefundText($this->order);
$returnData['orderGoods'] = $goodsDao->convert($this->orderGoodsList,$refundStateName); $returnData['orderGoods'] = $goodsDao->convert($this->orderGoodsList, $refundStateName);
return $returnData; return $returnData;
} }
...@@ -266,16 +268,16 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -266,16 +268,16 @@ class OrderServiceModel extends \Business\AbstractModel
public function cancel($orderId, $memberId = false) public function cancel($orderId, $memberId = false)
{ {
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$memberDao=\DAO\MemberModel::getInstance(DbNameConst::masterDBConnectName); $memberDao = \DAO\MemberModel::getInstance(DbNameConst::masterDBConnectName);
$order = $orderDao->findByOrderId($orderId); $order = $orderDao->findByOrderId($orderId);
//判断订单目前状态是否允许取消 //判断订单目前状态是否允许取消
$isAllowCancel = $orderDao->isAllowCancel($order); $isAllowCancel = $orderDao->isAllowCancel($order);
if ($isAllowCancel) { if ($isAllowCancel) {
$res=$orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateCancel); $res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateCancel);
if($res){ if ($res) {
if ($memberId) { if ($memberId) {
$orderDao->deleteOrderCache($memberId, $orderId,$order['store_id']); $orderDao->deleteOrderCache($memberId, $orderId, $order['store_id']);
// $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel); // $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel);
} }
} }
return $res; return $res;
...@@ -289,15 +291,15 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -289,15 +291,15 @@ class OrderServiceModel extends \Business\AbstractModel
public function confirmRecieve($orderId, $memberId) public function confirmRecieve($orderId, $memberId)
{ {
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
// $orderDao->deleteOrderCache($memberId, $orderId); // $orderDao->deleteOrderCache($memberId, $orderId);
$order = $orderDao->findByOrderId($orderId); $order = $orderDao->findByOrderId($orderId);
//判断订单目前状态是否允许取消 //判断订单目前状态是否允许取消
$isAllowConfirm = $orderDao->isAllowConfirm($order); $isAllowConfirm = $orderDao->isAllowConfirm($order);
if ($isAllowConfirm) { if ($isAllowConfirm) {
$res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateComplete, TRUE); $res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateComplete, TRUE);
if ($res) { if ($res) {
$orderDao->deleteOrderCache($memberId, $orderId,$order['store_id']); $orderDao->deleteOrderCache($memberId, $orderId, $order['store_id']);
\Our\RedisHelper::memberTotalFromStateToState($memberId,$order['order_state'],ApiConst::orderStateComplete); \Our\RedisHelper::memberTotalFromStateToState($memberId, $order['order_state'], ApiConst::orderStateComplete);
return true; return true;
} else { } else {
ErrorModel::throwException(CodeConfigModel::receiveError); ErrorModel::throwException(CodeConfigModel::receiveError);
...@@ -350,146 +352,154 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -350,146 +352,154 @@ class OrderServiceModel extends \Business\AbstractModel
} }
} }
//推送接单消息到店铺 //推送接单消息到店铺
public function pushRecieveWaitOrder(){ public function pushRecieveWaitOrder()
$baseConfDir=\Our\Common::getConfig('out.config'); {
$savePath=$baseConfDir . \Our\PathConst::orderWaitRecieveTaskAddTime; $baseConfDir = \Our\Common::getConfig('out.config');
$savePath = $baseConfDir . \Our\PathConst::orderWaitRecieveTaskAddTime;
$addTime = file_get_contents($savePath); $addTime = file_get_contents($savePath);
$addTime=$addTime?$addTime:ApiConst::zero; $addTime = $addTime ? $addTime : ApiConst::zero;
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$pageBegin=PageConst::taskPageBegin; $pageBegin = PageConst::taskPageBegin;
$push = Push::getInstance(); $push = Push::getInstance();
do { do {
$orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitConfirm,$addTime,$pageBegin,PageConst::taskPageSize); $orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitConfirm, $addTime, $pageBegin, PageConst::taskPageSize);
foreach ($orders['list'] as $order) { foreach ($orders['list'] as $order) {
$push->recieveWait($order['storeId'],$order['orderId'],$order['orderSn']); $push->recieveWait($order['storeId'], $order['orderId'], $order['orderSn']);
} }
$pageBegin++; $pageBegin++;
}while(!empty($orders['list'])); } while (!empty($orders['list']));
$push->sendTcpMessage(); $push->sendTcpMessage();
file_put_contents($savePath,TIMESTAMP); file_put_contents($savePath, TIMESTAMP);
} }
//推送确认收货消息到用户 //推送确认收货消息到用户
public function pushConfirmOrder(){ public function pushConfirmOrder()
$baseConfDir=\Our\Common::getConfig('out.config'); {
$savePath=$baseConfDir . \Our\PathConst::orderConfirmTaskAddTime; $baseConfDir = \Our\Common::getConfig('out.config');
$savePath = $baseConfDir . \Our\PathConst::orderConfirmTaskAddTime;
$addTime = file_get_contents($savePath); $addTime = file_get_contents($savePath);
$addTime=$addTime?$addTime:ApiConst::zero; $addTime = $addTime ? $addTime : ApiConst::zero;
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$pageBegin=PageConst::taskPageBegin; $pageBegin = PageConst::taskPageBegin;
$push = Push::getInstance(); $push = Push::getInstance();
do { do {
$orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitRecieve,$addTime,$pageBegin,PageConst::taskPageSize,'send_time'); $orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitRecieve, $addTime, $pageBegin, PageConst::taskPageSize, 'send_time');
foreach ($orders['list'] as $order) { foreach ($orders['list'] as $order) {
$push->reacheRemind($order['buyerId'],$order['orderId'],$order['orderSn']); $push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']);
} }
$pageBegin++; $pageBegin++;
}while(!empty($orders['list'])); } while (!empty($orders['list']));
$push->sendTcpMessage(); $push->sendTcpMessage();
file_put_contents($savePath,TIMESTAMP); file_put_contents($savePath, TIMESTAMP);
} }
// public function changeOrderStateCancelUnconditional($orderInfo, $role, $user = '', $msg = '', $if_update_account = true, $if_quque = true) {
// $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); public function changeOrderStateCancelUnconditional($orderInfo, $role, $user = '', $msg = '', $if_update_account = true, $if_quque = true)
// try { {
// $orderId = $orderInfo['orderId']; $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
// //更新订单信息 $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
// $updateData = array('order_state' => ORDER_STATE_CANCEL); //$orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance();
// $update = $orderDao->update($updateData,array('order_id'=>$orderId)); // $orderGoods=$orderGoodsDao->getOrderGoodsByOrderIds($orderInfo['orderId']);
// if (!$update) { try {
// echo '订单:'.json_encode($orderInfo).'关闭失败!!'."\r\n"; $orderId = $orderInfo['orderId'];
// } //更新订单信息
// //添加订单日志 $updateData = array('order_state' => ORDER_STATE_CANCEL,'refund_amount'=>$orderInfo['orderAmount']);
// $data = array(); $update = $orderDao->update($updateData, array('order_id' => $orderId));
// $data['order_id'] = $order_id; if (!$update) {
// $data['log_role'] = $role; echo '订单:' . json_encode($orderInfo) . '关闭失败!!' . "\r\n";
// $data['log_msg'] = '取消了订单';
// $data['log_user'] = $user; }else{
// if ($msg) { $refundSn = $refundReturnDao->getRefundsn($orderInfo['storeId']);
// $data['log_msg'] .= ' ( '.$msg.' )'; //生成退款记录
// } $update['order_id'] = $orderInfo['orderId'];
// $data['log_orderstate'] = ORDER_STATE_CANCEL; $update['order_sn'] = $orderInfo['orderSn'];
// $model_order->addOrderLog($data); $update['refund_sn'] = $refundSn;
// if(!in_array($order_info['payment_type'],array(0,2))){//微信支付 $update['store_id'] = $orderInfo['storeId'];
// $refund_order_sn= Model('refund_return')->getRefundsn($order_info['store_id']); $update['store_name'] = $orderInfo['storeName'];
// //生成退款记录 $update['buyer_id'] = $orderInfo['buyerId'];
// $update['order_id']=$order_info['order_id']; $update['buyer_name'] = $orderInfo['buyerName'];
// $update['order_sn']=$order_info['order_sn']; $update['goods_id'] = ApiConst::zero;
// $update['refund_sn']=$refund_order_sn; $update['goods_name'] = '订单商品全部退款';
// $update['store_id']=$order_info['store_id']; $update['refund_amount'] = $orderInfo['orderAmount'];
// $update['store_name']=$order_info['store_name']; $update['seller_state'] = 2;
// $update['buyer_id']=$order_info['buyer_id']; $update['refund_state'] = 3;
// $update['buyer_name']=$order_info['buyer_name']; $update['goods_state'] = 5;
// $update['goods_id']=0; $update['add_time'] = time();
// $update['goods_name']='订单商品全部退款'; $waitDiff=(ApiConst::orderStateWaitConfirmBeyond/ApiConst::oneMinSecond);
// $update['refund_amount']=$order_info['order_amount']; $update['reason_info'] = '用户付款' . $waitDiff . '分钟内,店铺未接单,自动取消订单';
// $update['seller_state']=2; $update['buyer_message'] = '用户付款' . $waitDiff. '分钟内,店铺未接单,自动取消订单';
// $update['refund_state']=3; $update['is_suc_refund'] = 1;
// $update['goods_state']=5; $res = $refundReturnDao->add($update);
// $update['add_time']=time(); if (!$res) {
// $update['reason_info']='用户付款'.$during.'分钟内,店铺未接单,自动取消订单'; echo '退款记录:' . json_encode($orderInfo) . '写入失败!!' . "\r\n";
// $update['buyer_message']='用户付款'.$during.'分钟内,店铺未接单,自动取消订单'; }else{
// $update['is_suc_refund']=1; $param['refundOrderNo'] = $refundSn;
// $res=BaseModel('refund_return')->add($update); $param['outTradeNo'] = $orderInfo['paySn'];
// if(!$res){ $param['totalFee'] = $orderInfo['orderAmount'];
// throw new Exception('退款记录写入失败'); $param['refundFee'] = $orderInfo['orderAmount'];//全额退款
// } $param['storeId']=$orderInfo['storeId'];
// $param['refund_order_no']=$refund_order_sn; if (intval($orderInfo['paymentType']) == ApiConst::wxAppPayType) {
// require_once(BASE_ROOT_PATH . '/qmmobile/api/payment/wxpay/wxpay.php'); //加载 退款模块
// $param['out_trade_no']=$order_info['pay_sn']; $wxpay = new wxpay();
// $param['total_fee']=$order_info['order_amount']; $refund_return = $wxpay->refund($param);
// $param['refund_fee']=$order_info['order_amount'];//全额退款 Log::record(json_encode($refund_return));
// if(intval($order_info['payment_type'])==1){ if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
// require_once(BASE_ROOT_PATH.'/qmmobile/api/payment/wxpay/wxpay.php'); //加载 退款模块 throw new Exception('微信退款操作执行失败!');
// $wxpay = new wxpay(); }
// $refund_return = $wxpay->refund($param); } else if (intval($orderInfo['paymentType']) == ApiConst::aliPayType) {
// Log::record(json_encode($refund_return)); $aliPay=\Payment\Alipay::getInstance();
// if(!($refund_return['return_code']=='SUCCESS'&&$refund_return['result_code']=='SUCCESS')){ $return = $aliPay->refund($param);
// throw new Exception('微信退款操作执行失败!'); $resultCode = $return->code;
// } if(!empty($resultCode)&&$resultCode == 10000){
// }else if(intval($order_info['payment_type'])==3){ return true;
// $param['store_id']= $order_info['store_id']; } else {
// include(BASE_ROOT_PATH.'/core/payment/alipay/alipay.php'); return false;
// $payment_api = new alipay(); }
// $return = $payment_api->refund($param); $param['store_id'] = $orderInfo['storeId'];
// $resultCode = $return->code; include(BASE_ROOT_PATH . '/core/payment/alipay/alipay.php');
// if(!($resultCode&&$resultCode==10000)){ $payment_api = new alipay();
// throw new Exception('支付宝退款操作执行失败!'); $return = $payment_api->refund($param);
// } $resultCode = $return->code;
// } if (!($resultCode && $resultCode == 10000)) {
// } throw new Exception('支付宝退款操作执行失败!');
// $model_order->commit(); }
// import('function.redisHelper'); }
// excuteYafMethod('\DAO\Order\OrderModel','deleteOrderCache',array($order_info['buyer_id'],$order_id,$order_info['store_id'])); $orderDao->deleteOrderCache($orderInfo['buyerId']);
// Log::record($order_id.':操作成功'); echo $orderId." 退款操作操作成功";
// return callback(true,'操作成功'); }
//
// } catch (Exception $e) { }
// Log::record($order_info['order_id'].':'.$e->getMessage());
// $model_order->rollback();
// return callback(false,'操作失败'); } catch (Exception $e) {
// } throw new \Exception($e->getMessage(),$e->getCode());
// } }
}
public $baseDir; public $baseDir;
//订单任务脚本关闭订单 //订单任务脚本关闭订单
public function changeOrderStatus() public function changeOrderStatus()
{ {
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName); $orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsCommon=\DAO\Order\OrderCommonModel::getInstance(DbNameConst::masterDBConnectName); $orderGoodsCommon = \DAO\Order\OrderCommonModel::getInstance(DbNameConst::masterDBConnectName);
$beginTime=file_get_contents($this->baseDir . \Our\PathConst::orderCloseWaitRecieveOrder, TIMESTAMP); $beginTime = file_get_contents($this->baseDir . \Our\PathConst::orderCloseWaitRecieveOrder, TIMESTAMP);
$beginTime=$beginTime?$beginTime:ApiConst::zero; $beginTime = $beginTime ? $beginTime : ApiConst::zero;
$endTime=TIMESTAMP-ApiConst::orderStateWaitConfirmBeyond; $endTime = TIMESTAMP - ApiConst::orderStateWaitConfirmBeyond;
$orders = $orderDao->getMustCecelRecieveOrders(ApiConst::orderStateWaitConfirm, $beginTime, $endTime, $this->orderMessageField); $orders = $orderDao->getMustCecelRecieveOrders(ApiConst::orderStateWaitConfirm, $beginTime, $endTime, $this->orderMessageField);
if (!empty($orders)) { if (!empty($orders)) {
$orderIds=array_column($orders,'orderId'); $orderIds = array_column($orders, 'orderId');
$orderGoods=$orderGoodsDao->getOrderGoodsByOrderIds($orderIds,$this->getGoodsDetailField()); $orderGoods = $orderGoodsDao->getOrderGoodsByOrderIds($orderIds, $this->getGoodsDetailField());
$orderGoodsCommon->updateGoodsStorage($orderGoods); $orderGoodsCommon->updateGoodsStorage($orderGoods);
//$res = $orderDao->updateNotRecieveOrders(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField); //$res = $orderDao->updateNotRecieveOrders(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField);
foreach ($orders as $order) { foreach ($orders as $order) {
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId'],$order['storeId']); $orderDao->deleteOrderCache($order['buyerId'], $order['orderId'], $order['storeId']);
if($orders['paymentTime']>ApiConst::zero && in_array($orders['paymentType'],ArrayConst::payTypeOnlines)){ if ($orders['paymentTime'] > ApiConst::zero && in_array($orders['paymentType'], ArrayConst::payTypeOnlines)) {
$this->changeOrderStateCancelUnconditional($order); $this->changeOrderStateCancelUnconditional($order);
} }
$orderDao->deleteOrderCache($order['buyerId'],$order['orderId'],$order['storeId']);
} }
$push = Push::getInstance(); $push = Push::getInstance();
$push->pushOrderCloseMessage($orders); $push->pushOrderCloseMessage($orders);
...@@ -515,16 +525,16 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -515,16 +525,16 @@ class OrderServiceModel extends \Business\AbstractModel
if ($order['shippingType'] == ApiConst::bySeller) { if ($order['shippingType'] == ApiConst::bySeller) {
if (isset($qmDeliverymanLogsOrderIds[$order['orderId']])) { if (isset($qmDeliverymanLogsOrderIds[$order['orderId']])) {
array_push($sellerOrderIds, $order['orderId']); array_push($sellerOrderIds, $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId'],$order['storeId']); $orderDao->deleteOrderCache($order['buyerId'], $order['orderId'], $order['storeId']);
} }
} else { } else {
$limitTime = TIMESTAMP - ApiConst::orderWaitRecieveThreeDays; $limitTime = TIMESTAMP - ApiConst::orderWaitRecieveThreeDays;
if ($order['acceptTime'] < $limitTime) { if ($order['acceptTime'] < $limitTime) {
array_push($expressOrderIds, $order['orderId']); array_push($expressOrderIds, $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId'],$order['storeId']); $orderDao->deleteOrderCache($order['buyerId'], $order['orderId'], $order['storeId']);
} }
} }
\Our\RedisHelper::memberTotalFromStateToState($order['buyerId'],$order['orderState'],ApiConst::orderStateComplete); \Our\RedisHelper::memberTotalFromStateToState($order['buyerId'], $order['orderState'], ApiConst::orderStateComplete);
} }
$updateOrderIds = array_merge($sellerOrderIds, $expressOrderIds); $updateOrderIds = array_merge($sellerOrderIds, $expressOrderIds);
echo '更新的订单id为:'; echo '更新的订单id为:';
...@@ -607,7 +617,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -607,7 +617,7 @@ class OrderServiceModel extends \Business\AbstractModel
//获得订单列表 //获得订单列表
$orders = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'getList'), array($where, $this->orderField, $pageIndex, $pageSize, $order = array('add_time' => 'desc')), \Our\ApiConst::oneDaySecond, array($memberId)); $orders = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'getList'), array($where, $this->orderField, $pageIndex, $pageSize, $order = array('add_time' => 'desc')), \Our\ApiConst::oneDaySecond, array($memberId));
$goodsDao=\DAO\GoodsModel::getInstance(); $goodsDao = \DAO\GoodsModel::getInstance();
$orderIds = array_column($orders['list'], 'orderId'); $orderIds = array_column($orders['list'], 'orderId');
$orderCommons = $orderCommonDao->getAllByOrderIdsCache($orderIds, $diliverymanId, $orderCommonDao->orderCommonField); $orderCommons = $orderCommonDao->getAllByOrderIdsCache($orderIds, $diliverymanId, $orderCommonDao->orderCommonField);
...@@ -618,7 +628,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -618,7 +628,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderMerge = Common::intergrateOneToOne($orderMerge, $orderCommons, 'orderId', 'orderId'); $orderMerge = Common::intergrateOneToOne($orderMerge, $orderCommons, 'orderId', 'orderId');
$orderMerge = $orderDao->convertOrderList($orderMerge); $orderMerge = $orderDao->convertOrderList($orderMerge);
$convertResult = array(); $convertResult = array();
$orderGoods=$goodsDao->convert($orderGoods); $orderGoods = $goodsDao->convert($orderGoods);
foreach ($qmDeliveryLogList['list'] as &$value) { foreach ($qmDeliveryLogList['list'] as &$value) {
$delivery = $orderMerge[$value['orderId']]; $delivery = $orderMerge[$value['orderId']];
$delivery['id'] = $value['id']; $delivery['id'] = $value['id'];
...@@ -626,12 +636,12 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -626,12 +636,12 @@ class OrderServiceModel extends \Business\AbstractModel
$delivery['mobPhone'] = $delivery['reciverInfo']['mob_phone']; $delivery['mobPhone'] = $delivery['reciverInfo']['mob_phone'];
$delivery['getTime'] = $value['getTime']; $delivery['getTime'] = $value['getTime'];
$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'] = $orderGoods; $delivery['orderGoods'] = $orderGoods;
$delivery['street'] = $delivery['reciverInfo']['address'] . $delivery['reciverInfo']['street']; $delivery['street'] = $delivery['reciverInfo']['address'] . $delivery['reciverInfo']['street'];
$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;
$delivery['subAddress'] = isset($delivery['reciverInfo']['sub_address']) ? $delivery['reciverInfo']['sub_address'] : ''; $delivery['subAddress'] = isset($delivery['reciverInfo']['sub_address']) ? $delivery['reciverInfo']['sub_address'] : '';
unset($delivery['goodsAmount']); unset($delivery['goodsAmount']);
unset($delivery['orderState']); unset($delivery['orderState']);
...@@ -666,14 +676,14 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -666,14 +676,14 @@ class OrderServiceModel extends \Business\AbstractModel
$qmDeliverymanLog = \DAO\Order\QmDeliverymanLogModel::getInstance(DbNameConst::salveDBConnectName); $qmDeliverymanLog = \DAO\Order\QmDeliverymanLogModel::getInstance(DbNameConst::salveDBConnectName);
$storeDao = \DAO\StoreModel::getInstance(DbNameConst::salveDBConnectName); $storeDao = \DAO\StoreModel::getInstance(DbNameConst::salveDBConnectName);
$delivery = $qmDeliverymanLog->findByIdCache($deliveryId); $delivery = $qmDeliverymanLog->findByIdCache($deliveryId);
if(empty($delivery)){ if (empty($delivery)) {
ErrorModel::throwException(CodeConfigModel::notExsitDeliver); ErrorModel::throwException(CodeConfigModel::notExsitDeliver);
} }
$orderId = $delivery['orderId']; $orderId = $delivery['orderId'];
//订单 //订单
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond); $order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond);
if(empty($order)){ if (empty($order)) {
ErrorModel::throwException(CodeConfigModel::notExsitOrder); ErrorModel::throwException(CodeConfigModel::notExsitOrder);
} }
$fields = $orderDao->getFields(); $fields = $orderDao->getFields();
...@@ -684,15 +694,15 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -684,15 +694,15 @@ class OrderServiceModel extends \Business\AbstractModel
$reciverInfo = unserialize($this->orderCommon['reciverInfo']); $reciverInfo = unserialize($this->orderCommon['reciverInfo']);
//定单商品表 //定单商品表
$this->orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderId, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond); $this->orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderId, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond);
if(empty($this->orderGoodsList)){ if (empty($this->orderGoodsList)) {
ErrorModel::throwException(CodeConfigModel::notExistOrderGoods); ErrorModel::throwException(CodeConfigModel::notExistOrderGoods);
} }
//商店相关信息 //商店相关信息
$this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($this->order['storeId'], $this->storeField), \Our\ApiConst::oneDaySecond); $this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($this->order['storeId'], $this->storeField), \Our\ApiConst::oneDaySecond);
$orderGoods=$goodsDao->convert($this->orderGoodsList); $orderGoods = $goodsDao->convert($this->orderGoodsList);
if(empty($orderGoods)){ if (empty($orderGoods)) {
$orderGoods=array(); $orderGoods = array();
} }
$returnData = array( $returnData = array(
'orderId' => $this->order['orderId'], 'orderId' => $this->order['orderId'],
...@@ -707,11 +717,11 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -707,11 +717,11 @@ class OrderServiceModel extends \Business\AbstractModel
'reciverName' => $this->orderCommon['reciverName'], 'reciverName' => $this->orderCommon['reciverName'],
'mobPhone' => $reciverInfo['mob_phone'], 'mobPhone' => $reciverInfo['mob_phone'],
'street' => $reciverInfo['street'], 'street' => $reciverInfo['street'],
'lng'=>isset($reciverInfo['lng'])?$reciverInfo['lng']:ApiConst::zero, 'lng' => isset($reciverInfo['lng']) ? $reciverInfo['lng'] : ApiConst::zero,
'lat'=>isset($reciverInfo['lat'])?$reciverInfo['lat']:ApiConst::zero, 'lat' => isset($reciverInfo['lat']) ? $reciverInfo['lat'] : ApiConst::zero,
'subAddress' => isset($reciverInfo['sub_address']) ? $reciverInfo['sub_address'] : '', 'subAddress' => isset($reciverInfo['sub_address']) ? $reciverInfo['sub_address'] : '',
'orderGoods' => $orderGoods, 'orderGoods' => $orderGoods,
'shippingFee'=>$this->order['shippingFee'], 'shippingFee' => $this->order['shippingFee'],
); );
return $returnData; return $returnData;
...@@ -727,12 +737,12 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -727,12 +737,12 @@ class OrderServiceModel extends \Business\AbstractModel
if ($qmDeliveryManLog['deliveryState'] == ApiConst::deliveryStateWait && $qmDeliveryManLog['id'] == $id) { if ($qmDeliveryManLog['deliveryState'] == ApiConst::deliveryStateWait && $qmDeliveryManLog['id'] == $id) {
$updateResult = $qmDeliverymanLogDao->updateStatusById($id); $updateResult = $qmDeliverymanLogDao->updateStatusById($id);
$orderDao = \DAO\Order\OrderModel::getInstance(); $orderDao = \DAO\Order\OrderModel::getInstance();
$order=$orderDao->findByOrderId($qmDeliveryManLog['orderId'],$orderDao->getOrderDetailField()); $order = $orderDao->findByOrderId($qmDeliveryManLog['orderId'], $orderDao->getOrderDetailField());
if($updateResult){ if ($updateResult) {
$push=Push::getInstance(); $push = Push::getInstance();
$push->reacheRemind($order['buyerId'],$order['orderId'],$order['orderSn']); $push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']);
} }
$orderDao->deleteOrderCache($memberid, $qmDeliveryManLog['orderId'],$order['storeId']); $orderDao->deleteOrderCache($memberid, $qmDeliveryManLog['orderId'], $order['storeId']);
$qmDeliverymanLogDao->deleteOrderCache($deliverymanId, $id); $qmDeliverymanLogDao->deleteOrderCache($deliverymanId, $id);
return $updateResult; return $updateResult;
} else { } else {
...@@ -873,7 +883,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -873,7 +883,7 @@ class OrderServiceModel extends \Business\AbstractModel
{ {
$this->checkOrderForPay($memberId, $orderId); $this->checkOrderForPay($memberId, $orderId);
$orderConfirmUtil = \Order\OrderConfirmUtil::getInstance(); $orderConfirmUtil = \Order\OrderConfirmUtil::getInstance();
$paySn = $orderConfirmUtil->makeNewPaySnForOrderWithOrderId($orderId,$memberId); $paySn = $orderConfirmUtil->makeNewPaySnForOrderWithOrderId($orderId, $memberId);
return $paySn; return $paySn;
} }
......
...@@ -75,7 +75,7 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -75,7 +75,7 @@ class MemberCenterServiceModel extends \Business\AbstractModel
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitPay,$memberCenter[NameConst::waitPay]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitPay,$memberCenter[NameConst::waitPay]);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitShipments) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitShipments) === false){
$memberCenter[NameConst::waitShipments] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state in('.ApiConst::orderStateWaitConfirm.','.ApiConst::orderStateWaitSend.')',"buyer_id = {$memberId}"),false); $memberCenter[NameConst::waitShipments] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitSend,'buyer_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitShipments,$memberCenter[NameConst::waitShipments]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitShipments,$memberCenter[NameConst::waitShipments]);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitReceiving) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitReceiving) === false){
......
...@@ -85,8 +85,8 @@ class OrderModel extends \DAO\AbstractModel ...@@ -85,8 +85,8 @@ class OrderModel extends \DAO\AbstractModel
{ {
$begin = strtotime(date("Y-m-d"), time()); $begin = strtotime(date("Y-m-d"), time());
$end = TIMESTAMP; $end = TIMESTAMP;
$notInState="{ApiConst::orderStateCancel},{ApiConst::orderStateClose}"; $notInState=ApiConst::orderStateCancel.','.ApiConst::orderStateClose;
$where = Common::format(" store_id={0} and order_state not in {1}", $storeId,$notInState); $where = Common::format(" store_id={0} and order_state not in ({1})", $storeId,$notInState);
$orderTotal = $this->getOrderCounts($where, $this->countField); $orderTotal = $this->getOrderCounts($where, $this->countField);
$where .= Common::format(" and add_time between {0} and {1}", $begin, $end); $where .= Common::format(" and add_time between {0} and {1}", $begin, $end);
$todayTotal = $this->getOrderCounts($where, $this->countField); $todayTotal = $this->getOrderCounts($where, $this->countField);
......
...@@ -359,7 +359,6 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -359,7 +359,6 @@ class RefundReturnModel extends \DAO\AbstractModel {
} }
/** /**
* 类实例 * 类实例
* *
......
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