Commit d882cfc3 authored by wwccw0591's avatar wwccw0591

pc

parent a79066d1
...@@ -42,6 +42,8 @@ class PathConst { ...@@ -42,6 +42,8 @@ class PathConst {
const authInfoOtherLogin="/authInfo/otherLogin"; const authInfoOtherLogin="/authInfo/otherLogin";
const orderCloseWaitRecieveOrder="/orderCloseWaitRecieveOrder.conf";
//const favoritesStoreFavTimeConf="favoritesStoreFavTime.conf"; //const favoritesStoreFavTimeConf="favoritesStoreFavTime.conf";
......
...@@ -388,21 +388,111 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -388,21 +388,111 @@ class OrderServiceModel extends \Business\AbstractModel
$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);
// try {
// $orderId = $orderInfo['orderId'];
// //更新订单信息
// $updateData = array('order_state' => ORDER_STATE_CANCEL);
// $update = $orderDao->update($updateData,array('order_id'=>$orderId));
// if (!$update) {
// echo '订单:'.json_encode($orderInfo).'关闭失败!!'."\r\n";
// }
// //添加订单日志
// $data = array();
// $data['order_id'] = $order_id;
// $data['log_role'] = $role;
// $data['log_msg'] = '取消了订单';
// $data['log_user'] = $user;
// if ($msg) {
// $data['log_msg'] .= ' ( '.$msg.' )';
// }
// $data['log_orderstate'] = ORDER_STATE_CANCEL;
// $model_order->addOrderLog($data);
// if(!in_array($order_info['payment_type'],array(0,2))){//微信支付
// $refund_order_sn= Model('refund_return')->getRefundsn($order_info['store_id']);
// //生成退款记录
// $update['order_id']=$order_info['order_id'];
// $update['order_sn']=$order_info['order_sn'];
// $update['refund_sn']=$refund_order_sn;
// $update['store_id']=$order_info['store_id'];
// $update['store_name']=$order_info['store_name'];
// $update['buyer_id']=$order_info['buyer_id'];
// $update['buyer_name']=$order_info['buyer_name'];
// $update['goods_id']=0;
// $update['goods_name']='订单商品全部退款';
// $update['refund_amount']=$order_info['order_amount'];
// $update['seller_state']=2;
// $update['refund_state']=3;
// $update['goods_state']=5;
// $update['add_time']=time();
// $update['reason_info']='用户付款'.$during.'分钟内,店铺未接单,自动取消订单';
// $update['buyer_message']='用户付款'.$during.'分钟内,店铺未接单,自动取消订单';
// $update['is_suc_refund']=1;
// $res=BaseModel('refund_return')->add($update);
// if(!$res){
// throw new Exception('退款记录写入失败');
// }
// $param['refund_order_no']=$refund_order_sn;
//
// $param['out_trade_no']=$order_info['pay_sn'];
// $param['total_fee']=$order_info['order_amount'];
// $param['refund_fee']=$order_info['order_amount'];//全额退款
// if(intval($order_info['payment_type'])==1){
// require_once(BASE_ROOT_PATH.'/qmmobile/api/payment/wxpay/wxpay.php'); //加载 退款模块
// $wxpay = new wxpay();
// $refund_return = $wxpay->refund($param);
// Log::record(json_encode($refund_return));
// if(!($refund_return['return_code']=='SUCCESS'&&$refund_return['result_code']=='SUCCESS')){
// throw new Exception('微信退款操作执行失败!');
// }
// }else if(intval($order_info['payment_type'])==3){
// $param['store_id']= $order_info['store_id'];
// include(BASE_ROOT_PATH.'/core/payment/alipay/alipay.php');
// $payment_api = new alipay();
// $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']));
// Log::record($order_id.':操作成功');
// return callback(true,'操作成功');
//
// } catch (Exception $e) {
// Log::record($order_info['order_id'].':'.$e->getMessage());
// $model_order->rollback();
// return callback(false,'操作失败');
// }
// }
public $baseDir;
//订单任务脚本关闭订单 //订单任务脚本关闭订单
public function changeOrderStatus() public function changeOrderStatus()
{ {
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orders = $orderDao->getOrdersByOrderState(ApiConst::orderStateWaitConfirm, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField); $orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsCommon=\DAO\Order\OrderCommonModel::getInstance(DbNameConst::masterDBConnectName);
$beginTime=file_get_contents($this->baseDir . \Our\PathConst::orderCloseWaitRecieveOrder, TIMESTAMP);
$beginTime=$beginTime?$beginTime:ApiConst::zero;
$endTime=TIMESTAMP-ApiConst::orderStateWaitConfirmBeyond;
$orders = $orderDao->getMustCecelRecieveOrders(ApiConst::orderStateWaitConfirm, $beginTime, $endTime, $this->orderMessageField);
if (!empty($orders)) { if (!empty($orders)) {
$orderIds=array_column($orders,'orderId');
$orderGoods=$orderGoodsDao->getOrderGoodsByOrderIds($orderIds,$this->getGoodsDetailField());
$orderGoodsCommon->updateGoodsStorage($orderGoods);
//$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']);
\Our\RedisHelper::memberTotalFromStateToState($order['buyerId'],$order['orderState'],ApiConst::orderStateClose); if($orders['paymentTime']>ApiConst::zero && in_array($orders['paymentType'],ArrayConst::payTypeOnlines)){
} $this->changeOrderStateCancelUnconditional($order);
$res = $orderDao->updateOrdersByorderState(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField); }
if ($res) {
$push = Push::getInstance();
$push->pushOrderCloseMessage($orders);
} }
$push = Push::getInstance();
$push->pushOrderCloseMessage($orders);
} }
} }
......
...@@ -49,7 +49,7 @@ class ShareServiceModel extends \Business\AbstractModel ...@@ -49,7 +49,7 @@ class ShareServiceModel extends \Business\AbstractModel
return $res; return $res;
} }
//二进制转图片image/png //二进制转图片image/png
public function data_uri($contents, $mime) public function dataUri($contents, $mime)
{ {
$base64 = base64_encode($contents); $base64 = base64_encode($contents);
return ('data:' . $mime . ';base64,' . $base64); return ('data:' . $mime . ';base64,' . $base64);
......
...@@ -5,6 +5,7 @@ namespace DAO\Order; ...@@ -5,6 +5,7 @@ namespace DAO\Order;
use Error\CodeConfigModel; use Error\CodeConfigModel;
use Error\ErrorModel; use Error\ErrorModel;
use Our\ApiConst; use Our\ApiConst;
use Our\ArrayConst;
use Our\Common; use Our\Common;
use Our\DbNameConst; use Our\DbNameConst;
use Our\DescribeConst; use Our\DescribeConst;
...@@ -84,7 +85,8 @@ class OrderModel extends \DAO\AbstractModel ...@@ -84,7 +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;
$where = Common::format(" store_id={0}", $storeId); $notInState="{ApiConst::orderStateCancel},{ApiConst::orderStateClose}";
$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);
...@@ -810,6 +812,21 @@ class OrderModel extends \DAO\AbstractModel ...@@ -810,6 +812,21 @@ class OrderModel extends \DAO\AbstractModel
$list = $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll(); $list = $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll();
return $list; return $list;
} }
//任务脚本方法
public function getMustCecelRecieveOrders($beginTime=ApiConst::zero, $endTime, $field = '*')
{
$this->setDb($this->dbName);
$where=Common::format(" payment_time between {0} and {1} and order_state={2}",$beginTime,$endTime,ApiConst::orderStateWaitConfirm);
$list = $this->db->select($field)->from($this->_tableName)->where($where)->order('payment_time','desc')->fetchAll();
return $list;
}
//任务脚本方法
public function updateNotRecieveOrders($beginTime=ApiConst::zero, $endTime, $field = '*')
{
$this->setDb($this->dbName);
$where=Common::format(" payment_time between {0} and {1} and order_state={2}",$beginTime,$endTime,ApiConst::orderStateWaitConfirm);
return $this->db->update($this->_tableName)->where($where)->rows(array('order_state' => ApiConst::orderStateClose))->execute();
}
//任务脚本方法 //任务脚本方法
public function getRecieveOrders($orderState, $addTime, $pageIndex, $pageSize, $timeField = 'add_time') public function getRecieveOrders($orderState, $addTime, $pageIndex, $pageSize, $timeField = 'add_time')
......
...@@ -42,6 +42,7 @@ class cliOrderClose extends basecli ...@@ -42,6 +42,7 @@ class cliOrderClose extends basecli
} }
protected function autoCloseOrder(){ protected function autoCloseOrder(){
$orderService=\Business\Order\OrderServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName); $orderService=\Business\Order\OrderServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$orderService->baseDir= \Our\Common::getConfig('out.config');
$orderService->changeOrderStatus(); $orderService->changeOrderStatus();
$messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName); $messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$messageService->addMessageCenterToDb(); $messageService->addMessageCenterToDb();
......
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