Commit 5c07e2c0 authored by zhz's avatar zhz

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

parents 23c4306a 61881115
......@@ -169,7 +169,7 @@ class EvaluationServiceModel extends \Business\AbstractModel {
//删除缓存
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(),array(&$orderInstance, 'find'),array(),array($order['order_id']));
//\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::waitEvaluate,$memberId,-1);
$orderInstance->deleteOrderCache($memberId, $order['order_id']);
$orderInstance->deleteOrderCache($memberId, $order['order_id'],$order['store_id']);
}
/**
......
......@@ -274,7 +274,7 @@ class OrderServiceModel extends \Business\AbstractModel
$res=$orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateCancel);
if($res){
if ($memberId) {
$orderDao->deleteOrderCache($memberId, $orderId);
$orderDao->deleteOrderCache($memberId, $orderId,$order['store_id']);
// $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel);
}
}
......@@ -296,7 +296,7 @@ class OrderServiceModel extends \Business\AbstractModel
if ($isAllowConfirm) {
$res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateComplete, TRUE);
if ($res) {
$orderDao->deleteOrderCache($memberId, $orderId);
$orderDao->deleteOrderCache($memberId, $orderId,$order['store_id']);
\Our\RedisHelper::memberTotalFromStateToState($memberId,$order['order_state'],ApiConst::orderStateComplete);
return true;
} else {
......@@ -395,7 +395,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orders = $orderDao->getOrdersByOrderState(ApiConst::orderStateWaitConfirm, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField);
if (!empty($orders)) {
foreach ($orders as $order) {
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId'],$order['storeId']);
\Our\RedisHelper::memberTotalFromStateToState($order['buyerId'],$order['orderState'],ApiConst::orderStateClose);
}
$res = $orderDao->updateOrdersByorderState(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField);
......@@ -425,13 +425,13 @@ class OrderServiceModel extends \Business\AbstractModel
if ($order['shippingType'] == ApiConst::bySeller) {
if (isset($qmDeliverymanLogsOrderIds[$order['orderId']])) {
array_push($sellerOrderIds, $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId'],$order['storeId']);
}
} else {
$limitTime = TIMESTAMP - ApiConst::orderWaitRecieveThreeDays;
if ($order['acceptTime'] < $limitTime) {
array_push($expressOrderIds, $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId']);
$orderDao->deleteOrderCache($order['buyerId'], $order['orderId'],$order['storeId']);
}
}
\Our\RedisHelper::memberTotalFromStateToState($order['buyerId'],$order['orderState'],ApiConst::orderStateComplete);
......@@ -642,7 +642,7 @@ class OrderServiceModel extends \Business\AbstractModel
$push=Push::getInstance();
$push->reacheRemind($order['buyerId'],$order['orderId'],$order['orderSn']);
}
$orderDao->deleteOrderCache($memberid, $qmDeliveryManLog['orderId']);
$orderDao->deleteOrderCache($memberid, $qmDeliveryManLog['orderId'],$order['storeId']);
$qmDeliverymanLogDao->deleteOrderCache($deliverymanId, $id);
return $updateResult;
} else {
......
......@@ -46,27 +46,31 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
//获得统计数据
public function getStatistics($memberId)
{
$storeId = $this->_getStoreByMemberId($memberId);
$storeStatisticsDayDao = \DAO\Store\StoreStatisticsDayModel::getInstance();
$storeStatisticsDao = \DAO\StoreStatisticsModel::getInstance();
$memberDao=\DAO\MemberModel::getInstance();
$storeId=$memberDao->getInfo($memberId,'store_id');
//$storeId = $this->_getStoreByMemberId($memberId);
// $storeStatisticsDayDao = \DAO\Store\StoreStatisticsDayModel::getInstance();
// $storeStatisticsDao = \DAO\StoreStatisticsModel::getInstance();
$orderDao=\DAO\Order\OrderModel::getInstance();
$favoritesStoreDao=\DAO\FavoritesStoreModel::getInstance();
$condition['store_id'] = $storeId;
//获取店铺信息
$store = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this->storeDao, 'getInfo'), array($condition), ApiConst::tenDaySecond, array($storeId));
//获取店铺数据统计
$storeStats = $storeStatisticsDao->find($condition);
//$storeStats = $storeStatisticsDao->find($condition);
//获取店铺今日销售额和订单量
$today = date('Y-m-d', TIMESTAMP);
$storeTodayStats = $storeStatisticsDayDao->getByStoreIdAndGmtCreate($storeId, $today);
$storeStats = $orderDao->getShopKeeperCountByStoreIdCache($storeId);
$storeFavariteCount=$favoritesStoreDao->getFavoritesCountByStoreIdCache($storeId);
$data['storeId'] = $store['store_id'];
$data['storeName'] = $store['store_name'];
$data['storeLabel'] = $store['store_label'];
$data['goodsCount'] = isset($storeStats['goodsCount']) ? $storeStats['goodsCount'] : ApiConst::zero;
$data['orderCount'] = isset($storeStats['orderCount']) ? $storeStats['orderCount'] : ApiConst::zero;
$data['orderTotal'] = isset($storeStats['orderTotal']) ? $storeStats['orderTotal'] : ApiConst::zero;
$data['favCount'] = isset($storeStats['favCount']) ? $storeStats['favCount'] : ApiConst::zero;
$data['todayOrderCount'] = isset($storeTodayStats['orderCount']) ? $storeTodayStats['orderCount'] : ApiConst::zero;
$data['todayOrderTotal'] = isset($storeTodayStats['orderTotal']) ? $storeTodayStats['orderTotal'] : ApiConst::zero;
$data['tadayFavCount'] = isset($storeTodayStats['favCount']) ? $storeTodayStats['favCount'] : ApiConst::zero;
$data['goodsCount'] = ApiConst::zero;
$data['orderCount'] =$storeStats['orderCount'];
$data['orderTotal'] = $storeStats['orderTotal'];
$data['favCount'] = $storeFavariteCount['favCount'];
$data['todayOrderCount'] = $storeStats['todayOrderCount'];
$data['todayOrderTotal'] = $storeStats['todayOrderTotal'];
$data['tadayFavCount'] = $storeFavariteCount['todayFavCount'];
return $data;
}
......@@ -233,7 +237,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
} else {
$update_data['order_state'] = ApiConst::orderStateWaitSend;
$result = $orderDao->update($where, $update_data);
$orderDao->deleteOrderCache($order['buyer_id'], $orderId);
$orderDao->deleteOrderCache($order['buyer_id'], $orderId,$order['store_id']);
\Our\RedisHelper::memberTotalFromStateToState($order['buyer_id'], $order['order_state'], ApiConst::orderStateWaitSend);
return $result;
}
......
......@@ -3,6 +3,9 @@
namespace DAO;
use OSS\Common;
use Our\ApiConst;
class FavoritesStoreModel extends \DAO\AbstractModel {
......@@ -58,6 +61,25 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$this->setDb($this->dbName);
return $this->db->from($this->_tableName)->where($where)->fetchNum();
}
public function getFavoritesCountByStoreId($storeId){
$where=\Our\Common::format(" store_id={0}",$storeId);
$total['favCount']=$this->getFavoritesStoreCount($where);
$todayBegin=strtotime(date('Y-m-d',TIMESTAMP));
$todayEnd=TIMESTAMP;
$where.=\Our\Common::format( " and fav_time between {0} and {1}",$todayBegin,$todayEnd);
$total['todayFavCount']=$this->getFavoritesStoreCount($where);
return $total?$total:array();
}
//删除订单列表缓存
public function deleteGetFavoritesCountByStoreId($storeId)
{
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'getFavoritesCountByStoreId'), array(), array($storeId));
}
public function getFavoritesCountByStoreIdCache($storeId){
return \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'getFavoritesCountByStoreId'), array($storeId), \Our\ApiConst::oneDaySecond,array($storeId));
}
public function insertOrUpdate($data){
$this->setDb(\Our\DbNameConst::masterDBConnectName);
$baseSql = "insert into {$this->_tableName}(member_id,store_id,fav_type,fav_time) values({0},{1},1,{2}) ON DUPLICATE KEY UPDATE fav_type=1,fav_time=VALUES (fav_time)";
......
......@@ -27,6 +27,8 @@ class OrderModel extends \DAO\AbstractModel
* @var string
*/
protected $_tableName = 'han_order';
private $countField='(sum(order_amount)-sum(refund_amount)) as orderTotal,count(*) as orderCount';
/**
* 主键
*
......@@ -67,6 +69,30 @@ class OrderModel extends \DAO\AbstractModel
$this->setDb();
return $this->db->select($field)->from($this->_tableName)->where($where)->group($group)->fetchAll();
}
public function getOrderCounts($where, $field)
{
$this->setDb();
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
}
public function getShopKeeperCountByStoreId($storeId){
$begin=strtotime(date("Y-m-d"),time());
$end=TIMESTAMP;
$where=Common::format(" store_id={0}",$storeId);
$orderTotal=$this->getOrderCounts($where,$this->countField);
$where.=Common::format(" and add_time between {0} and {1}",$begin,$end);
$todayTotal=$this->getOrderCounts($where,$this->countField);
$total['todayOrderTotal']=isset($todayTotal['orderTotal'])?$todayTotal['orderTotal']:ApiConst::zero;
$total['todayOrderCount']=isset($todayTotal['orderCount'])?$todayTotal['orderCount']:ApiConst::zero;
$total['orderTotal']=isset($orderTotal['orderTotal'])?(int)$orderTotal['orderTotal']:ApiConst::zero;
$total['orderCount']=isset($orderTotal['orderCount'])?$orderTotal['orderCount']:ApiConst::zero;
return $total;
}
public function getShopKeeperCountByStoreIdCache($storeId){
return \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'getShopKeeperCountByStoreId'), array($storeId), \Our\ApiConst::oneDaySecond,array($storeId));
}
/**
* 获取单条数据
......@@ -693,7 +719,11 @@ class OrderModel extends \DAO\AbstractModel
{
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'findByOrderId'), array($orderId));
}
//删除订单列表缓存
public function deleteGetShopKeeperCountByStoreId($storeId)
{
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'getShopKeeperCountByStoreId'), array(), array($storeId));
}
//删除订单列表缓存
public function deleteGetListByMemberId($memberId)
{
......@@ -701,7 +731,7 @@ class OrderModel extends \DAO\AbstractModel
}
//删除订单缓存
public function deleteOrderCache($memberId, $orderId=false)
public function deleteOrderCache($memberId, $orderId=false,$stroeId=false,$deleteGetShopKeeperCountByStoreId=false,$deleteGetFavoritesCountByStoreId=false)
{
if(!empty($memberId)){
$this->deleteGetListByMemberId($memberId);
......@@ -712,6 +742,15 @@ class OrderModel extends \DAO\AbstractModel
$orderGoodsDao->deleteOrderGoodsCache($memberId,$orderId);
\DAO\MemberModel::getInstance()->deleteTotalCache($memberId);
}
if(!empty($stroeId)){
if($deleteGetShopKeeperCountByStoreId){
$this->deleteGetShopKeeperCountByStoreId($stroeId);
}
if($deleteGetFavoritesCountByStoreId){
$favoritesStoreDao=\DAO\FavoritesStoreModel::getInstance();
$favoritesStoreDao->deleteGetFavoritesCountByStoreId($stroeId);
}
}
}
//任务脚本方法
......
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