Commit 926e0b3d authored by zhz's avatar zhz

mall

parent 7dd9c4ae
...@@ -39,25 +39,40 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -39,25 +39,40 @@ class SalespersonServiceModel extends \Business\AbstractModel
$acts = $this->getOrderGoods($acts,$saleGoods,$memberId); $acts = $this->getOrderGoods($acts,$saleGoods,$memberId);
return $acts; return $acts;
} }
/**
* @param $acts
* @param $saleGoods goods_id 或 array('goods_id'=>'sale_act_id')
* @param $memberId
* @return array
* @throws \Exception
* @throws \Our\Exception
*/
protected function getOrderGoods($acts,$saleGoods,$memberId){ protected function getOrderGoods($acts,$saleGoods,$memberId){
if(is_array($acts)) { if(is_array($acts)) {
//多个活动
$tempActs = array_column($acts['list'],'qrcode_path','sale_act_id'); $tempActs = array_column($acts['list'],'qrcode_path','sale_act_id');
if($saleGoods) {
$goodsIds = array_keys($saleGoods);
}else{
$goodsIds = [];
}
}else{ }else{
//单个活动
$saleActArr = array($acts); $saleActArr = array($acts);
$sale = \DAO\SaleModel::getInstance()->getOne(array('sale_act_id'=>$acts,'member_id'=>$memberId,'is_closing'=>0),'qrcode_path'); $sale = \DAO\SaleModel::getInstance()->getOne(array('sale_act_id'=>$acts,'member_id'=>$memberId,'is_closing'=>0),'qrcode_path');
if(!$sale) { if(!$sale) {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saleNotJoin); \Error\ErrorModel::throwException(\Error\CodeConfigModel::saleNotJoin);
} }
$tempActs[$acts] = $sale['qrcode_path']; $tempActs[$acts] = $sale['qrcode_path'];
$goodsIds = array($saleGoods);
$saleGoods = array($saleGoods=>$acts); $saleGoods = array($saleGoods=>$acts);
} }
$saleActArr = array_keys($tempActs); $saleActArr = array_keys($tempActs);
$saleOrderDAO = \DAO\SaleOrderModel::getInstance();
//取得goodsid 防止活动商品表的商品被删除 显示的商品不准确
$saleGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db1\SaleOrderRedisModel::getInstance(),array(&$saleOrderDAO, 'getOrderGoodsList'),array("sale_act_id in(".implode(',',$saleActArr).") AND sale_id = {$memberId}",'DISTINCT goods_id,sale_act_id'),\Our\ApiConst::halfDaySecond,array($memberId));
$saleGoodsList = $saleGoodsList ? array_column($saleGoodsList,'sale_act_id','goods_id') : [];
$saleGoods = $saleGoods +$saleGoodsList;
$goodsIds = $saleGoods ? array_keys($saleGoods) :[];
if($goodsIds) { if($goodsIds) {
$goodsDAO = \DAO\GoodsModel::getInstance(); $goodsDAO = \DAO\GoodsModel::getInstance();
$tempGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$goodsDAO, 'getList'),array('goods_id in('.implode(',',$goodsIds).')','goods_id,goods_commonid,goods_name,goods_image'),\Our\ApiConst::oneMinute); $tempGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$goodsDAO, 'getList'),array('goods_id in('.implode(',',$goodsIds).')','goods_id,goods_commonid,goods_name,goods_image'),\Our\ApiConst::oneMinute);
...@@ -70,7 +85,7 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -70,7 +85,7 @@ class SalespersonServiceModel extends \Business\AbstractModel
$goodsList[$v['goods_id']] = $v; $goodsList[$v['goods_id']] = $v;
} }
} }
$saleOrderDAO = \DAO\SaleOrderModel::getInstance();
$saleActDAO = \DAO\SaleActivityModel::getInstance(); $saleActDAO = \DAO\SaleActivityModel::getInstance();
$actList = $saleActDAO->getActByArr($saleActArr); $actList = $saleActDAO->getActByArr($saleActArr);
......
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