yingzi 2 gadi atpakaļ
vecāks
revīzija
7791562af7

+ 47 - 19
Model/Order/MOrder.Class.php

@@ -78,6 +78,8 @@ use Util\WeiXin\Pay;
 use Util\AliPay\Pay as aliPay;
 use Util\ByteDance\Pay as bytePay;
 
+//use Util\Common\PartnerTools;
+
 class MOrder extends MBaseModel
 {
     /**
@@ -783,7 +785,7 @@ class MOrder extends MBaseModel
                 $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
                 $result = $objMSystemPushMessage->sendWeiXinPushMessage(1, $customerData['openId'], $sendMessageData, '/pagesT/order/orderDetail?id='.array_pop($orderIds));
                 if(!$result->isSuccess()){
-                    file_put_contents('/apps/logs/phperstar.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
+                    file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/phperstar.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
                 }
             }
         }
@@ -980,7 +982,7 @@ class MOrder extends MBaseModel
                             $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
                             $result = $objMSystemPushMessage->sendWeiXinPushMessage(3, $customerData['openId'], $sendMessageData);
                             if (!$result->isSuccess()) {
-                                file_put_contents('/apps/logs/systemPushMessage.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
+                                file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/systemPushMessage.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
                             }
                         }
                     }
@@ -1125,7 +1127,7 @@ class MOrder extends MBaseModel
                             $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
                             $result = $objMSystemPushMessage->sendWeiXinPushMessage(3, $customerData['openId'], $sendMessageData);
                             if (!$result->isSuccess()) {
-                                file_put_contents('/apps/logs/systemPushMessage.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
+                                file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/systemPushMessage.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
                             }
                         }
                     }
@@ -2581,7 +2583,14 @@ class MOrder extends MBaseModel
             case 1: // 单据编号 order
                 if(strpos($keyword,StatusCode::$noPrefix[1]) !== false){
                     $orderNo = explode('-',$keyword);
-                    $orderNo = $orderNo[1].'-'.$orderNo[2];
+                    if(count($orderNo)==3){
+                        $orderNo = $orderNo[1].'-'.$orderNo[2];
+                    }elseif(count($orderNo)==2){
+                        $orderNo = $orderNo[1];
+                    }else{
+                        $orderNo = $keyword;
+                    }
+                    
                     $whereSql .= ' and o.no = "'.$orderNo.'"';
                 }else{
                     $whereSql .= ' and o.no = "'.$keyword.'"';
@@ -3104,7 +3113,7 @@ class MOrder extends MBaseModel
                     $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
                     $result = $objMSystemPushMessage->sendWeiXinPushMessage(4, $customerData['openId'], $sendMessageData);
                     if(!$result->isSuccess()){
-                        file_put_contents('/apps/logs/wexinPushMessage.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
+                        file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/wexinPushMessage.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
                     }
             }
         }
@@ -3179,7 +3188,7 @@ class MOrder extends MBaseModel
             $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
             $result = $objMSystemPushMessage->sendWeiXinPushMessage(6, $customerData['openId'], $sendMessageData);
             if(!$result->isSuccess()){
-                file_put_contents('/apps/logs/shenhe.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
+                file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/shenhe.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
             }
         }
         
@@ -3545,7 +3554,7 @@ class MOrder extends MBaseModel
         $this->objDOrderIndex->beginTransaction();
 
 
-
+        $selectParams['cancelbeforeOrderStatus'] = $orderData["orderStatus"];
         // 更新订单表
         $orderData['extends'] = json_decode($orderData['extends'], true);
         if( !empty($selectParams['cancelReason']) ){
@@ -3599,6 +3608,7 @@ class MOrder extends MBaseModel
                     'sourceNo'    => getArrayItem($orderData,'no',''),
                     'refundTime'  => time(),
                     'createTime'  => time(),
+                    'updateTime'  => time(),
                     'unitId'      => getArrayItem($orderData,'customerId',0),
                     'unitName'      => getArrayItem($orderData,'customerName',0),
                     'currentAccountName' => getArrayItem($orderData,'customerName',''),
@@ -3618,7 +3628,7 @@ class MOrder extends MBaseModel
                 // 根据订单支付方式规划退款账户
                 $objMAccount = new MAccount($this->onlineEnterpriseId,$this->onlineUserId);
 
-                $extends = json_decode($orderData['extends'], true);
+                $extends = is_array($orderData['extends'])?$orderData['extends']: json_decode($orderData['extends'], true);
                 if(isset($extends['admixPayData'])){ // 组合支付
                     foreach ($extends['admixPayData'] as $key => $value){
                         $financeAccountData = $objMAccount->getDefaultAccount($value['payType']);
@@ -3688,7 +3698,7 @@ class MOrder extends MBaseModel
                 $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
                 $result = $objMSystemPushMessage->sendWeiXinPushMessage(5, $customerData['openId'], $sendMessageData);
                 if(!$result->isSuccess()){
-                    file_put_contents('/apps/logs/quxiao.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
+                    file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/quxiao.log',date('Y-m-d H:i:s').'bb'.var_export($result->getData(),true).PHP_EOL,FILE_APPEND);
                 }
             }
         }
@@ -3750,6 +3760,17 @@ class MOrder extends MBaseModel
             if(!$updateMerchantSettlement->isSuccess()){
                 return ResultWrapper::fail($updateMerchantSettlement->getData(), $updateMerchantSettlement->getErrorCode());
             }
+            
+            
+            //只有小程序微信支付订单才可以计算分佣
+            if(!empty($orderData) && $orderData["payAmount"]>0 && $orderData["payType"]==1 && $orderData["source"]==3){
+                $checkData = [
+                    "parentPath"=>$customerData["parentPath"],
+                    "payAmount"=>$orderData["payAmount"],
+                ];
+//                PartnerTools::addTask($orderData["id"], $this->onlineEnterpriseId,$checkData);
+            }
+            
         }
 
 
@@ -3798,7 +3819,8 @@ class MOrder extends MBaseModel
         $objMInventory = new MInventory($this->onlineEnterpriseId, $this->onlineUserId);
         $unlockResult = $objMInventory->unlockInventory([$id], StatusCode::$orderType['saleOrder'], $params['createTime']);
         if (!$unlockResult->isSuccess()) {
-            return ResultWrapper::fail($unlockResult->getData(), ErrorCode::$dberror);
+            //暂时关闭,没发现有锁定的地方
+//            return ResultWrapper::fail($unlockResult->getData(), ErrorCode::$dberror);
         }
 
         self::noticeStatistics([
@@ -4141,7 +4163,7 @@ class MOrder extends MBaseModel
                 $objMSystemPushMessage = new MSystemPushMessage($this->onlineUserId, $this->onlineEnterpriseId);
                 $result = $objMSystemPushMessage->sendWeiXinPushMessage(3, $customer['openId'], $sendMessageData);
                 if (!$result->isSuccess()) {
-                    file_put_contents('/apps/logs/systemPushMessage.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
+                    file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/systemPushMessage.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
                 }
             }
         }
@@ -4874,8 +4896,10 @@ class MOrder extends MBaseModel
                     if($value['extends']){
                         $admixPayData = json_decode($value['extends'],true);
                         $payTypeMsg = '组合支付(';
-                        foreach ($admixPayData['admixPayData'] as $admixKey => $admixValue){
-                            $payTypeMsg .= $admixValue['title'].'支付'.$admixValue['payMoney'].',';
+                        if(!empty($admixPayData)){
+                            foreach ($admixPayData['admixPayData'] as $admixKey => $admixValue){
+                                $payTypeMsg .= $admixValue['title'].'支付'.$admixValue['payMoney'].',';
+                            }
                         }
                         $payTypeMsg .= ")";
                     }
@@ -5002,7 +5026,7 @@ class MOrder extends MBaseModel
      */
     public function payOrder($params, $ip)
     {
-//        file_put_contents('/apps/logs/pay_params.log', date('Y-m-d H:i:s') . '再次支付订单数据:' . var_export($params, true) . PHP_EOL, FILE_APPEND);
+//        file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/pay_params.log', date('Y-m-d H:i:s') . '再次支付订单数据:' . var_export($params, true) . PHP_EOL, FILE_APPEND);
         //order表切表
         $fix = 1;
         $this->objDOrder->setTable('qianniao_order_'.$this->onlineEnterpriseId.'_'.$fix);
@@ -5687,7 +5711,7 @@ class MOrder extends MBaseModel
             $orderId = $this->objDOrderIndex->insert($orderIndexData);
             if ($orderId === false) {
                 $this->objDOrder->rollBack();
-                return ResultWrapper::fail($$this->objDOrderIndex->error(), ErrorCode::$dberror);
+                return ResultWrapper::fail($this->objDOrderIndex->error(), ErrorCode::$dberror);
             }
             //3。上门自提订单,生成核销码
             $verifyCode = self::createVerifyCode($orderId);
@@ -5696,7 +5720,7 @@ class MOrder extends MBaseModel
             $updateRes = $this->objDOrderIndex->update(['verifyCode' => $verifyCode], ['id' => $orderId]);
             if ($updateRes === false) {
                 $this->objDOrder->rollBack();
-                return ResultWrapper::fail($$this->objDOrderIndex->error(), ErrorCode::$dberror);
+                return ResultWrapper::fail($this->objDOrderIndex->error(), ErrorCode::$dberror);
             }
 
             //订单数据
@@ -5784,6 +5808,10 @@ class MOrder extends MBaseModel
                     'categoryName' => isset($v['categoryName']) ? $v['categoryName'] : '',
                     'brandName'    => isset($v['brandName']) ? $v['brandName'] : '',
                     'expressMoney' => isset($v['expressMoney']) ? $v['expressMoney'] : 0,
+                    'outNum'       => 0,//已出库数量
+                    'outOfNum'     => getArrayItem($v, 'buyNum', 0),//未出库数量
+                    'isEq'         => getArrayItem($v,'isEq',StatusCode::$delete),
+                    'extends'      => json_encode(getArrayItem($v, 'extends', null)),
                 ];
                 $lockInventoryData[] = [
                     'warehouseId'  => $shopData[$v['shopId']]['warehouseId'],
@@ -5852,7 +5880,7 @@ class MOrder extends MBaseModel
 
         //锁定库存商品数量
         $objMInventory = new MInventory($this->onlineEnterpriseId, $this->onlineUserId);
-        $lockInventoryResult = $objMInventory->updateLockInventory($lockInventoryData);
+        $lockInventoryResult = $objMInventory->updateLockInventory($shopId,$lockInventoryData);
         if (!$lockInventoryResult->isSuccess()) {
             $this->objDOrder->rollBack();
             return ResultWrapper::fail($lockInventoryResult->getData(), $lockInventoryResult->getErrorCode());
@@ -5867,7 +5895,7 @@ class MOrder extends MBaseModel
                 }
             }
         }
-        //file_put_contents('/apps/logs/MSaleOrder_error.log', date('Y-m-d H:i:s') . '数据:' . var_export($mapDetails, true) . PHP_EOL, FILE_APPEND);
+        //file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/MSaleOrder_error.log', date('Y-m-d H:i:s') . '数据:' . var_export($mapDetails, true) . PHP_EOL, FILE_APPEND);
         $this->objSaleOrder->setGoodsDetails($mapDetails);
         //统计订单信息
         self::noticeStatistics([
@@ -6971,7 +6999,7 @@ class MOrder extends MBaseModel
                 }
             }
         }
-        //file_put_contents('/apps/logs/MSaleOrder_error.log', date('Y-m-d H:i:s') . '数据:' . var_export($mapDetails, true) . PHP_EOL, FILE_APPEND);
+        //file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/MSaleOrder_error.log', date('Y-m-d H:i:s') . '数据:' . var_export($mapDetails, true) . PHP_EOL, FILE_APPEND);
         $this->objSaleOrder->setGoodsDetails($mapDetails);
         //统计订单信息
         self::noticeStatistics([

+ 11 - 3
Model/Order/MOrderStatistics.Class.php

@@ -95,6 +95,7 @@ class MOrderStatistics extends MBaseModel
      */
     public function getAllOrderData($selectParams, $type, $export = 0)
     {
+
         $limit = $selectParams['limit'];
         unset($selectParams['limit']);
         $offset = $selectParams['offset'];
@@ -147,7 +148,14 @@ class MOrderStatistics extends MBaseModel
             return ResultWrapper::success($return);
         }
 
-        $sql = "SELECT outStatus,customerId,customerName,salesManId,salesManName,goodsBasicId,goodsId,goodsCode,goodsName,skuId,unitName,shopId,shopName,SUM(detailsBuyNum) AS num,SUM(detailsTotalMoney) AS totalMoney,originPrice,SUM(outCostPrice * detailsBuyNum) AS totalCost, SUM(outCostPrice * detailsBuyNum) / SUM(detailsBuyNum) AS costPrice,SUM(detailsTotalMoney - (outCostPrice * detailsBuyNum)) AS totalProfit, SUM(detailsTotalMoney - (outCostPrice * detailsBuyNum)) / SUM(detailsBuyNum) AS profit, SUM(otherNum) AS otherNum FROM " . $this->orderStatisticsTableName . '_' . $this->enterPriseId . ' WHERE deleteStatus = ' . StatusCode::$standard . ' AND detailsDeleteStatus = ' . StatusCode::$standard . ' AND outStatus = ' . StatusCode::$standard . $whereSql . ' ' . $returnWhere . $groupBySql . ' ORDER BY detailsCreateTime DESC LIMIT ' . $offset . ',' . $limit;
+        $sql = "SELECT outStatus,customerId,customerName,salesManId,salesManName,goodsBasicId,goodsId,goodsCode,goodsName,skuId,unitName,shopId,shopName,SUM(detailsBuyNum) AS num,SUM(detailsTotalMoney) AS totalMoney,originPrice,SUM(outCostPrice * detailsBuyNum) AS totalCost, SUM(outCostPrice * detailsBuyNum) / SUM(detailsBuyNum) AS costPrice,SUM(detailsTotalMoney - (outCostPrice * detailsBuyNum)) AS totalProfit, SUM(detailsTotalMoney - (outCostPrice * detailsBuyNum)) / SUM(detailsBuyNum) AS profit, SUM(otherNum) AS otherNum "
+                . "FROM " . $this->orderStatisticsTableName . '_' . $this->enterPriseId . ' '
+                . 'WHERE deleteStatus = ' . StatusCode::$standard . ' AND detailsDeleteStatus = ' . StatusCode::$standard . ' AND outStatus = ' . StatusCode::$standard 
+                . $whereSql . ' ' 
+                . $returnWhere 
+                . $groupBySql . ' '
+                . 'ORDER BY detailsCreateTime DESC '
+                . 'LIMIT ' . $offset . ',' . $limit;
         //判断视图是否存在
         $databaseName = Factory::config()->get('db')['default']['dbname'];
 
@@ -159,7 +167,7 @@ class MOrderStatistics extends MBaseModel
         }
         $existsView = array_shift($dbResult);
         unset($dbResult);
-        if (empty($existsView['table_name'])) {
+        if (empty($existsView['TABLE_NAME'])) {
             $modelResult = self::setOrderView();
             if (!$modelResult->isSuccess()) {
                 return ResultWrapper::fail($modelResult->getData(), $modelResult->getErrorCode());
@@ -180,7 +188,7 @@ class MOrderStatistics extends MBaseModel
             exit;
         }
         $dbResult = $this->objDOrderGoods->query($sql);
-
+        
         if ($dbResult === false) {
             return ResultWrapper::fail($this->objDOrderGoods->error(), ErrorCode::$dberror);
         }

+ 41 - 5
Model/Purchase/MPurchase.Class.php

@@ -36,9 +36,17 @@ use JinDouYun\Model\Finance\MRefund;
 use JinDouYun\Dao\Purchase\DPurchase;
 use JinDouYun\Dao\Purchase\DPurchaseGoods;
 use JinDouYun\Dao\Stock\DInventory;
+
+use JinDouYun\Dao\Shop\DShop;
+
 use Mall\Framework\Factory;
 use const Grpc\STATUS_ABORTED;
 
+
+//use Util\Common\AgentTools;
+
+
+
 class MPurchase extends MBaseModel
 {
     private $objDPurchase;
@@ -56,7 +64,10 @@ class MPurchase extends MBaseModel
     private $objStock;
 
     private $cutTable = 200000;
-
+    
+    
+    private $objDShop;
+    
 
     /**
      * MOrder constructor.
@@ -83,6 +94,10 @@ class MPurchase extends MBaseModel
         $this->objDPurchaseGoods->setSearchIndex('purchase_details_search')->setType('purchase_details');
 
         $this->objStock = new Stock($this->onlineEnterpriseId);
+        
+        $this->objDShop = new DShop();
+        $this->objDShop->setTable('qianniao_shop_1');
+        
     }
 
     /**
@@ -357,7 +372,10 @@ class MPurchase extends MBaseModel
         }
         $returnData = $dbResult;
         unset($dbResult);
-
+        if($updateData['inStatus']==5){
+//            $xxx=AgentTools::addTaskNew($where['id'], $this->onlineEnterpriseId);
+        }
+        
         return ResultWrapper::success($returnData);
     }
 
@@ -718,6 +736,7 @@ class MPurchase extends MBaseModel
      */
     public function getAllPurchaseByFields($selectParams, $type ,$export = 0)
     {
+        $defaultDbName = Factory::config()->get('db.default.dbname');
         $limit = $selectParams['limit'];
         unset($selectParams['limit']);
         $offset = $selectParams['offset'];
@@ -735,7 +754,9 @@ class MPurchase extends MBaseModel
             $groupBySql = ' GROUP BY p.supplierId,g.basicGoodsId';
         } elseif ($type == 3) {//采购人员
             $groupBySql = ' GROUP BY p.buyerId,g.basicGoodsId';
-        } else {
+        } elseif($type  == 4){
+            $groupBySql = ' GROUP BY p.shopId,g.basicGoodsId';
+        }else {
             return ResultWrapper::fail('type参数错误', ErrorCode::$paramError);
         }
 
@@ -768,11 +789,21 @@ class MPurchase extends MBaseModel
             $where = empty($whereSql) ? ' WHERE ' : ' AND ';
             $whereSql .= $where . ' p.buyerId = ' . $selectParams['buyerId'];
         }
+        if (isset($selectParams['shopId']) && !empty($selectParams['shopId'])) {
+            $where = empty($whereSql) ? ' WHERE ' : ' AND ';
+            $whereSql .= $where . ' p.shopId = ' . $selectParams['shopId'];
+        }
+        
 
         //统计已审核 未删除主单据 未删除详情 的采购订单
         $where = empty($whereSql) ? ' WHERE ' : ' AND ';
         $whereSql .= $where . ' p.auditStatus = ' . StatusCode::$auditStatus['auditPass'] . ' AND p.deleteStatus = ' . StatusCode::$standard . ' AND g.deleteStatus = ' . StatusCode::$standard;
-        $sql = 'SELECT p.warehouseId,p.warehouseName,p.id,p.`no`,p.buyerId,p.buyerName,p.supplierId,p.supplierName,p.operatorId,p.operatorName,p.inStatus,g.skuId,g.categoryId,g.categoryName,g.basicGoodsId AS materielId,g.goodsName AS materielName,g.goodsCode AS materielCode,SUM(g.buyerNum) AS allNum,SUM(g.subtotalPrice) AS total,(SUM(g.subtotalPrice) / SUM(g.buyerNum)) AS costPrice, SUM(g.otherNum) AS otherNum FROM ' . $this->objDPurchase->get_Table() . ' p LEFT JOIN ' . $this->objDPurchaseGoods->get_Table() . ' g ON p.id = g.purchaseId ' . $whereSql . ' ' . $groupBySql . ' ORDER BY p.createTime DESC LIMIT ' . $offset . ' , ' . $limit;
+        $sql = 'SELECT p.warehouseId,p.warehouseName,p.id,p.`no`,p.buyerId,p.buyerName,p.supplierId,p.supplierName,p.operatorId,p.operatorName,p.inStatus,s.name as shopName,g.skuId,g.categoryId,g.categoryName,g.basicGoodsId AS materielId,g.goodsName AS materielName,g.goodsCode AS materielCode,SUM(g.buyerNum) AS allNum,SUM(g.subtotalPrice) AS total,(SUM(g.subtotalPrice) / SUM(g.buyerNum)) AS costPrice, SUM(g.otherNum) AS otherNum '
+                . 'FROM ' . $this->objDPurchase->get_Table() . ' p '
+                . 'LEFT JOIN `'.$defaultDbName.'`.'.$this->objDShop->get_Table().' s ON s.id = p.shopId '
+                . 'LEFT JOIN ' . $this->objDPurchaseGoods->get_Table() . ' g ON p.id = g.purchaseId '
+                . $whereSql . ' ' . $groupBySql . ' '
+                . 'ORDER BY p.createTime DESC LIMIT ' . $offset . ' , ' . $limit;
 
         $dbResult = $this->objDPurchase->query($sql);
         if ($dbResult === false) {
@@ -780,7 +811,9 @@ class MPurchase extends MBaseModel
         }
         $selectData = $dbResult;
         unset($dbResult);
-        $totalSql = 'SELECT COUNT(id) AS total FROM (SELECT p.id FROM ' . $this->objDPurchase->get_Table() . ' p LEFT JOIN ' . $this->objDPurchaseGoods->get_Table() . ' g ON p.id = g.purchaseId ' . $whereSql . ' ' . $groupBySql . ') AS selectData';
+        $totalSql = 'SELECT COUNT(id) AS total FROM (SELECT p.id FROM ' . $this->objDPurchase->get_Table() . ' p '
+                . 'LEFT JOIN `'.$defaultDbName.'`.'.$this->objDShop->get_Table().' s ON s.id = p.shopId '
+                . 'LEFT JOIN ' . $this->objDPurchaseGoods->get_Table() . ' g ON p.id = g.purchaseId ' . $whereSql . ' ' . $groupBySql . ') AS selectData';
         $dbResult = $this->objDPurchase->query($totalSql);
         if ($dbResult === false) {
             return ResultWrapper::fail($this->objDPurchase->error(), ErrorCode::$dberror);
@@ -973,6 +1006,9 @@ class MPurchase extends MBaseModel
         if(!empty($selectParams['merchantId'])){
             $whereSql .= ' and p.merchantId = '.$selectParams['merchantId'];
         }
+        if(!empty($selectParams['shopId'])){
+            $whereSql .= ' and p.shopId = '.$selectParams['shopId'];
+        }
         if(!empty($selectParams['categoryId'])){
             $whereSql .= ' and g.categoryId = '.$selectParams['categoryId'];
         }

+ 1 - 1
Model/Shop/MShop.Class.php

@@ -784,7 +784,7 @@ class MShop extends MBaseModel
         $dsl = array_merge($defaultDSL, $dsl);
         $result = $this->objDShop->getSearchQueryDsl($dsl);
         if (isset($result['status']) && $result['status'] == 400) {
-            file_put_contents('/apps/logs/elasticsearch.log',date('Y-m-d H:i:s').'获取商铺失败,错误原因'.var_export($result,true).PHP_EOL,FILE_APPEND);
+            file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/elasticsearch.log',date('Y-m-d H:i:s').'获取商铺失败,错误原因'.var_export($result,true).PHP_EOL,FILE_APPEND);
             if ($result['error']['reason'] == 'all shards failed') {
                 return ResultWrapper::success([]);
             }

+ 22 - 1
Model/Shop/MShopCardOrder.Class.php

@@ -15,6 +15,7 @@ use Exception;
 
 use JinDouYun\Cache\SystemCache;
 use JinDouYun\Dao\BaseDao;
+use JinDouYun\Dao\Customer\DCustomer;
 use JinDouYun\Dao\Customer\DCustomerCard;
 use JinDouYun\Dao\Customer\DCustomerCardNum;
 use JinDouYun\Dao\Shop\DShopCard;
@@ -30,6 +31,7 @@ use Mall\Framework\Core\ResultWrapper;
 use JinDouYun\Model\MBaseModel;
 use Monolog\Handler\IFTTTHandler;
 use Util\WeiXin\Pay;
+//use Util\Common\PartnerTools;
 
 
 class MShopCardOrder extends MBaseModel
@@ -41,6 +43,7 @@ class MShopCardOrder extends MBaseModel
     private $userCenterId;
     private $DCardBind;
     private $DCard;
+    private $objDCustomer;
 
     public function __construct($enterpriseId, $userCenterId = '')
     {
@@ -52,6 +55,8 @@ class MShopCardOrder extends MBaseModel
         $this->DCard = new DShopCard('default');
         $this->DCustomerCard = new DCustomerCard('default');
         $this->DCustomerCardNum = new DCustomerCardNum('default');
+        $this->objDCustomer = new DCustomer();
+        $this->objDCustomer->setTable('qianniao_customer_' . $this->onlineEnterpriseId);
 
     }
 
@@ -87,7 +92,10 @@ class MShopCardOrder extends MBaseModel
             $wherein[]  = ['a.createTime', '>=', strtotime($where['time'][0])];
             $wherein[]  = ['a.createTime', '<=', strtotime($where['time'][1])];
         }
-
+        
+        if(isset($where["customer_id"])){
+            $wherein[] = ['customer_id' , '=', $where["customer_id"]];
+        }
 
 
         $dbResult = $this->obj->select($wherein, 'a.*,b.name as user_name,c.name as card_name,c.image', 'id DESC', $limit, $offset, array(), true, false,$join);
@@ -355,6 +363,19 @@ class MShopCardOrder extends MBaseModel
         }
         if ($res){
             $this->obj->commit();
+            
+            //服务优惠卡分销插入任务
+            //只有小程序微信支付订单才可以计算分佣
+            $customerData = $this->objDCustomer->get($data["customer_id"]);
+            if(!empty($customerData) && !empty($data) && $data["pay_price"]>0 && $data["payType"]==2){
+                $checkData = [
+                    "parentPath"=>$customerData["parentPath"],
+                    "payAmount"=>$data["pay_price"],
+                    "type"=>"shopCardOrder",
+                ];
+//                PartnerTools::addTask($data["id"], $data["enterprise_id"],$checkData);
+            }
+            
             return true;
         }else{
             $this->obj->rollBack();

+ 3 - 3
Model/Stock/MInventory.Class.php

@@ -766,7 +766,7 @@ class MInventory extends MBaseModel
      */
     protected static function backOutCostPrise($data, $className)
     {
-        file_put_contents('/apps/logs/66666666.log', date('Y-m-d H:i:s') . '出库成本回写数据' . var_export($data, true) . PHP_EOL, FILE_APPEND);
+        file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/66666666.log', date('Y-m-d H:i:s') . '出库成本回写数据' . var_export($data, true) . PHP_EOL, FILE_APPEND);
         $i = 1;
         do {
             $postData = [
@@ -1774,7 +1774,7 @@ class MInventory extends MBaseModel
 
         $objMMerchantSettlement = new MMerchantSettlement($this->enterpriseId, $this->onLineUserCenterId);
         $modelResult = $objMMerchantSettlement->addMerchantSettlement($merchantParams);
-        file_put_contents('/apps/logs/9999999.log', date('Y-m-d H:i:s') . '回调数据' . var_export($modelResult->getData(), true) . PHP_EOL, FILE_APPEND);
+        file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/9999999.log', date('Y-m-d H:i:s') . '回调数据' . var_export($modelResult->getData(), true) . PHP_EOL, FILE_APPEND);
         //如果是销售出库 需要把回写成本
         if($params['type'] == StatusCode::$orderType['saleOut']){
             self::backOutCostPrise($outBatchData, 'MOrder');
@@ -2861,7 +2861,7 @@ class MInventory extends MBaseModel
             return ResultWrapper::fail($this->objDInventoryLocking->error(), ErrorCode::$dberror);
         }
         if(empty($dbResult)) {
-            return ResultWrapper::fail('锁定数据为空', ErrorCode::$paramError);
+            return ResultWrapper::fail('锁定数据为空01', ErrorCode::$paramError);
         }
 
         $lockData = $dbResult;

+ 2 - 2
Model/Stock/MInventoryOut.Class.php

@@ -492,7 +492,7 @@ class MInventoryOut extends MBaseModel
                     $objMSystemPushMessage = new MSystemPushMessage($this->userCenterId, $this->enterpriseId);
                     $result = $objMSystemPushMessage->sendWeiXinPushMessage(8,$customerData['openId'],$sendMessageData, '/pagesT/order/orderDetail?id='.$order['id']);
                     if (!$result->isSuccess()) {
-                        file_put_contents('/apps/logs/deliverGoods.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
+                        file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/deliverGoods.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
                     }
                 }
             }else{
@@ -508,7 +508,7 @@ class MInventoryOut extends MBaseModel
                     $objMSystemPushMessage = new MSystemPushMessage($this->userCenterId, $this->enterpriseId);
                     $result = $objMSystemPushMessage->sendWeiXinPushMessage(2,$customerData['openId'],$sendMessageData, '/pagesT/order/orderDetail?id='.$order['id']);
                     if (!$result->isSuccess()) {
-                        file_put_contents('/apps/logs/deliverGoods.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
+                        file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/deliverGoods.log', date('Y-m-d H:i:s') . 'bb' . var_export($result->getData(), true) . PHP_EOL, FILE_APPEND);
                     }
                 }
             }

+ 3 - 0
Model/Stock/MWarehouse.Class.php

@@ -204,6 +204,9 @@ class MWarehouse
             }
             $shopData = $result->getData();
             $warehouseId = $shopData['warehouseId'];
+            if(!is_numeric($warehouseId)){
+                $warehouseId = explode(",", $warehouseId);
+            }
             $dbResult = $this->objDWarehouse->select(['id'=>$warehouseId,'deleteStatus' => StatusCode::$standard], '*', 'createTime desc', $limit, $offset);
             if ($dbResult === false) {
                 return ResultWrapper::fail($this->objDWarehouse->error(), ErrorCode::$dberror);

+ 1 - 1
Model/SysAreaChina/MSysAreaChina.Class.php

@@ -168,7 +168,7 @@ class MSysAreaChina
         foreach($data as $key => $value){
             $sonSql = !empty($sql) ? "(".$sql.")" : $sql;
             $sql = "select code from ".$this->objDSysAreaChina->get_Table()." where `name` = '".$value."' and pcode = ".$sonSql;
-            //file_put_contents('/apps/logs/MSysAreaChina_error.log', date('Y-m-d H:i:s') . '错误信息|sql错误 :' . $sql . PHP_EOL, FILE_APPEND);
+            //file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/MSysAreaChina_error.log', date('Y-m-d H:i:s') . '错误信息|sql错误 :' . $sql . PHP_EOL, FILE_APPEND);
             $dbResult = $this->objDSysAreaChina->query($sql);
             if($dbResult === false){
                 return ResultWrapper::fail($this->objDSysAreaChina->error(), ErrorCode::$paramError);

+ 1 - 1
Model/System/MReceipt.Class.php

@@ -60,7 +60,7 @@ class MReceipt
         //3.调用打印服务
         $result = $this->objCloudPrint->sendMsg($pattern,$this->onlineEnterpriseId);
         if (!$result->isSuccess()){
-            file_put_contents('/apps/logs/MReceipt_error.log', date('Y-m-d H:i:s') . '错误原因: ' . $result->getData(). PHP_EOL, FILE_APPEND);
+            file_put_contents('/www/wwwroot/logs/apiqnys.liuniukj.com/MReceipt_error.log', date('Y-m-d H:i:s') . '错误原因: ' . $result->getData(). PHP_EOL, FILE_APPEND);
             return ResultWrapper::fail('打印失败,'.$result->getData(),ErrorCode::$paramError);
         }
         return ResultWrapper::success("操作成功");

+ 2 - 1
Model/System/MReceiptTemplate.Class.php

@@ -325,7 +325,8 @@ class MReceiptTemplate extends MBaseModel
         if ($result === false){
             return ResultWrapper::fail($this->objDReceiptTemplate->error(),ErrorCode::$dberror);
         }
-        $result['describe'] = htmlspecialchars_decode($result['describe'],ENT_QUOTES);
+        $result['describe'] = empty($result['describe'])?"": htmlspecialchars_decode($result['describe'],ENT_QUOTES);
+        
         if (empty($result['fieldsData'])){
             $result['fieldsData'] = [];
         }else{