Commit 63ac8793 authored by liuyuzhen's avatar liuyuzhen

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

parents 0ff61a7c 62de98c6
<?php
namespace Our;
use OSS\Common;
/**
* 控制器抽象类
......
......@@ -28,6 +28,8 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
*/
public function setGoodsStorage($storeId, $goodsId, $num = 0, $type='add') {
$orderService=\Business\Order\OrderServiceModel::getInstance();
$goodsDao=\DAO\GoodsModel::getInstance(DbNameConst::masterDBConnectName);
$commonDao = \DAO\GoodsCommonModel::getInstance();
if($goodsId === 0){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
}
......@@ -36,6 +38,21 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
}else{
$type=ApiConst::set;
$where = array();
$where['store_id'] = $storeId;
$where['goods_id'] = $goodsId;
$data = $goodsDao->find($where, 'goods_id, goods_commonid');
$goodsDao->setDb($goodsDao->dbName);
$goodsDao->db->doTransaction();
$ret1 = $goodsDao->updateStorage($goodsId, $num, ApiConst::zero);
$ret2 = $commonDao->updateStorage($data['goods_commonid'],ApiConst::zero);
if(!$ret1 || !$ret2) {
$goodsDao->db->doRollback();
\Error\ErrorModel::throwException(\Error\CodeConfigModel::updateGoodsStorageForOrder);
}
$goodsDao->db->doCommit();
return true;
}
$res=$orderService->updateGoodsStoregeByGoodsIds($storeId,$goodsId,$num,$type);
return $res;
......
......@@ -27,7 +27,7 @@ use Our\RedisHelper;
class OrderServiceModel extends \Business\AbstractModel
{
private $orderField = "order_id as orderId,order_sn as orderSn,store_name as storeName,evaluation_state as evaluationState,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,payment_time as paymentTime,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment,gmt_update as gmtUpdate";
private $orderGoodsField = "order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId";
private $orderGoodsField = "order_id as orderId,rec_id as recId,store_id as storeId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId";
private $addressField = " mob_phone as MobPhone,tel_phone as TelPhone,address as address,area_info as areaInfo,lng,lat,address_id as addressId,subaddress as subAddress";
......@@ -291,12 +291,15 @@ class OrderServiceModel extends \Business\AbstractModel
$returnData['diliverymanId'] = ApiConst::zero;
$returnData['deliveryman'] = new \stdClass();
}
if(!in_array($this->order['paymentType'],ArrayConst::payTypeOnlines)){
$returnData['offlinePayway']=$storeDao->convertOfflinePayway($this->store['offlinePayway']);
if(CURRENTVERSION!=NameConst::versionDefault){
if(!in_array($this->order['paymentType'],ArrayConst::payTypeOnlines)){
$returnData['offlinePayway']=$storeDao->convertOfflinePayway($this->store['offlinePayway']);
}else{
$returnData['offlinePayway']=new \stdClass();
}
}else{
$returnData['offlinePayway']=new \stdClass();
}
if(CURRENTVERSION!=NameConst::versionOne){
$returnData['offlinePayway']='';
}
......@@ -780,16 +783,20 @@ class OrderServiceModel extends \Business\AbstractModel
$orderConfirmUtilDao=OrderConfirmUtil::getInstance(DbNameConst::masterDBConnectName);
$storeCartsList=array();
$storeCarts=array();
$convertGoods=array();
$storeCartses=array();
$storeCarts['storeCarts']=array();
foreach($orderGoods as $orderGood){
$orderGood['type']=!empty($orderGood['goodsGroup'])? \Our\ApiConst::addBundingToCart:\Our\ApiConst::addGoodsToCart;
$orderGood['goodsNum']=$orderGood['goodsNum'];
$orderGood['goodsList']=\Our\Common::isSerialized($orderGood['goodsGroup'])?unserialize($orderGood['goodsGroup']):array();
array_push($storeCarts['storeCarts'],$orderGood);
$storeCartses[$orderGood['storeId']]=$storeCarts;
}
if(!empty($storeCarts['storeCarts'])){
array_push($storeCartsList,$storeCarts);
}
// if(!empty($storeCartses)){
// array_push($storeCartsList,$storeCartses);
// }
$storeCartsList=$storeCartses;
// $orderDao->updateNotRecieveOrders(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField);
try{
$orderConfirmUtilDao->updateGoodsStorage($storeCartsList,$type,$updateSaleNumFlag);
......
......@@ -649,8 +649,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
}
return $results;
}
//任务脚本原来的方法是下面那个
//任务脚本原来的方法是下面那个
public function insertStoreMemberStatics()
{
$orderGoodDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
......@@ -696,6 +695,52 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
file_put_contents($this->baseDir . PathConst::orderGoodsCreateTime, TIMESTAMP);
}
//任务脚本原来的方法是下面那个
// public function insertStoreMemberStatics()
// {
// $orderGoodDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
// $orderDao = \DAO\Order\OrderModel::getInstance();
// $storeMemberStatisticDao = \DAO\StoreMemberStatisticsModel::getInstance(DbNameConst::masterDBConnectName);
// $reufndReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
// $gmtCreate = file_get_contents($this->baseDir . PathConst::orderGoodsCreateTime);
// $gmtCreate = $gmtCreate ? $gmtCreate : ApiConst::zero;
// $beginTime = $gmtCreate;
// $this->taskIndex = PageConst::taskPageBegin;
// $this->taskSize = PageConst::taskPageSize;
// do {
// $storeMemberStatisticData = $orderGoodDao->getMemberStoreStaticsByCreateTime($beginTime, $this->taskIndex, $this->taskSize);
// $storeMemberStatisticData = isset($storeMemberStatisticData['list']) ? $storeMemberStatisticData['list'] : false;
// if ($storeMemberStatisticData) {
// $this->taskIndex++;
// $storeId = array_column($storeMemberStatisticData, 'storeId');
// $memberId = array_column($storeMemberStatisticData, 'buyerId');
// $storeIds = array_unique($storeId);
// $memberIds = array_unique($memberId);
// $goodsNumCount = $orderGoodDao->getMemberStoreOrderGoodsCount($storeIds, $memberIds);
// $ordersCount = $orderDao->getSumAmountCountByMemberAndStoreId($storeIds, $memberIds);
// $refundLists = $reufndReturnDao->getRefundSuccessMoneyByStoreIdAndMemberId($storeIds, $memberIds);
// if (!empty($ordersCount) && !empty($refundLists)) {
// foreach ($ordersCount as &$order) {
// foreach ($refundLists as $refund) {
// if ($order['buyerId'] == $refund['buyerId'] && $order['storeId'] == $refund['storeId']) {
// $order['orderTotal'] = $order['orderTotal'] - $refund['refundTotal'];
// }
// }
// }
// }
// if (!empty($goodsNumCount)) {
// $storeMemberStatisticDao->addAll($goodsNumCount, 'orderGoodsCount');
// }
// if (!empty($ordersCount)) {
// $storeMemberStatisticDao->addAll($ordersCount, 'orderTotal');
// }
// }
//
//
// } while ($storeMemberStatisticData);
// file_put_contents($this->baseDir . PathConst::orderGoodsCreateTime, TIMESTAMP);
//
// }
//任务脚本
// public function insertStoreMemberStatics()
// {
......
......@@ -419,7 +419,12 @@ class OrderModel extends \DAO\AbstractModel
return [];
}
}
public function getMemberStoreStaticsByCreateTime($gmtCreate,$pageIndex,$pageSize){
$this->setDb($this->dbName);
$where =\Our\Common::format(' gmt_update>={0} and gmt_update<{1} and order_state={2}',$gmtCreate,TIMESTAMP,ApiConst::orderStateWaitRecieve);
$res=$this->lists($where,array('gmt_update'=>'asc'),$this->sumField,$pageIndex,$pageSize);
return $res['list']?$res:false;
}
public function getSumAmountCountByMemberAndStoreId($storeIds,$memberIds)
{
$this->setDb($this->dbName);
......
......@@ -389,7 +389,7 @@ class RefundReturnModel extends \DAO\AbstractModel
$param['refundFee'] = $orderInfo['refund_amount'];//退款金额
$param['storeId'] = $orderInfo['store_id'];
$param['buyerId'] = $orderInfo['buyer_id'];
if (CURRENTVERSION == \Our\NameConst::versionOne && in_array(intval($orderInfo['payment_type']), array(ApiConst::wxAppPayType, ApiConst::wxProgram))) {
if (CURRENTVERSION != \Our\NameConst::versionDefault && in_array(intval($orderInfo['payment_type']), array(ApiConst::wxAppPayType, ApiConst::wxProgram))) {
$mchIdArray = \DAO\StoreModel::getInstance()->getStoreWxMchId($param['storeId']);
if ($mchIdArray['errorCode'] > 0) {
$this->errorMessage = '微信支付商户错误或者签名错误';
......@@ -444,7 +444,7 @@ class RefundReturnModel extends \DAO\AbstractModel
$param['refundFee'] = $orderInfo['orderAmount'];//全额退款
$param['storeId'] = $orderInfo['storeId'];
$param['buyerId'] = $orderInfo['buyerId'];
if (CURRENTVERSION == \Our\NameConst::versionOne && in_array(intval($orderInfo['paymentType']), array(\Our\ApiConst::wxAppPayType, \Our\ApiConst::wxProgram))) {
if (CURRENTVERSION != \Our\NameConst::versionDefault && in_array(intval($orderInfo['paymentType']), array(\Our\ApiConst::wxAppPayType, \Our\ApiConst::wxProgram))) {
$mchIdArray = \DAO\StoreModel::getInstance()->getStoreWxMchId($param['storeId']);
if ($mchIdArray['errorCode'] > 0) {
$this->errorMessage = '微信支付商户错误或者签名错误';
......
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