Commit 1de03588 authored by zhz's avatar zhz

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

parents bfd6759f ab962316
......@@ -11,8 +11,8 @@ class ApiConst
const randLengh = 8;
//10天数秒
// const tenDaySecond = 864000;
const tenDaySecond = 300;
const tenDaySecond = 86400;
//const tenDaySecond = 300;
//一天
const oneDaySecond = 86400;
//半天
......
......@@ -153,6 +153,9 @@ class NameConst {
const elasticName='elastic.master';
const shopkeeper='shopkeeper';
const cancelUnPayedOrderTimePrefix = 'cancelUnPayedOrderTime';
const cancelUnReceivedOrderTimePrefix = 'cancelUnReceivedOrderTime';
}
?>
\ No newline at end of file
......@@ -394,7 +394,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName);
$res = file_get_contents($this->baseDir .PathConst::orderPaymentTimeConf);
$this->lastOrderId = !empty($res) ? $res : ApiConst::zero;
$where['payment_time'] =Common::format(" payment_time > {0} and payment_time <={1}",$this->lastOrderId,TIMESTAMP);
$where=Common::format(" add_time > {0} and add_time <={1}",$this->lastOrderId,TIMESTAMP);
$res = $orderDao->getAllByWhere($where, $orderDao->getOrderDetailField());
$results = array();
if (!empty($res)) {
......@@ -417,7 +417,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$res = file_get_contents($this->baseDir . PathConst::favoritesStoreFavTimeConf);
$this->lastFavId = !empty($res) ? $res : ApiConst::zero;
$where['fav_time'] =Common::format("fav_time >={0} and fav_time <{1}",$this->lastFavId,TIMESTAMP);
$where =Common::format("fav_time >={0} and fav_time <{1}",$this->lastFavId,TIMESTAMP);
$res = $favoritesStoreDao->getAllByWhere($where, $favoritesStoreDao->favoriteMemberCountField);
$results = array();
if (!empty($res)) {
......@@ -468,12 +468,33 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
}while($storeMemberStatisticData);
file_put_contents($this->baseDir . PathConst::orderGoodsCreateTime, TIMESTAMP);
}
public function reduceRefundModel($storeMemberDatas){
$convertStoreMember=array();
if($storeMemberDatas){
foreach($storeMemberDatas as $order){
if(isset($convertStoreMember[$order['storeId']])){
$convertStoreMember[$order['storeId']]['orderCount']= $convertStoreMember[$order['storeId']]['orderCount']-ApiConst::one;
$convertStoreMember[$order['storeId']]['orderTotal']= $convertStoreMember[$order['storeId']]['orderTotal']+$order['refundAmount'];
}else{
$convertStoreMember[$order['storeId']]['orderCount']=ApiConst::one;
$convertStoreMember[$order['storeId']]['orderTotal']=$order['refundAmount'];
$convertStoreMember[$order['storeId']]['gmtCreate']=isset($order['gmtUpdate'])?date($order['gmtUpdate']):date('Y-m-d',TIMESTAMP);
}
}
$convertStoreMember=array_values($convertStoreMember);
$storeStatisticDayDao=\DAO\Store\StoreStatisticsDayModel::getInstance(DbNameConst::masterDBConnectName);
$storeStatisticDayDao->addAllReduce($convertStoreMember);
}
}
//任务脚本
public function reduceStoreMemberStatics()
{
$refundReturnDao=\DAO\Order\RefundReturnModel::getInstance(DbNameConst::salveDBConnectName);
$storeMemberStatisticDao=\DAO\StoreMemberStatisticsModel::getInstance(DbNameConst::masterDBConnectName);
$gmtUpdate = file_get_contents($this->baseDir . PathConst::refundRetrunGmtUpdate);
$gmtUpdate = $gmtUpdate?$gmtUpdate:ApiConst::zero;
$this->taskIndex=PageConst::taskPageBegin;
......@@ -501,6 +522,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
}
$addDatas=array_values($addDatas);
$storeMemberStatisticDao->addAllReduce($addDatas);
$this->reduceRefundModel($storeMemberStatisticData);
}while($storeMemberStatisticData);
file_put_contents($this->baseDir . PathConst::refundRetrunGmtUpdate, TIMESTAMP);
......@@ -508,7 +530,6 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
//店铺订单统计任务脚本
public function storeStatictisTask()
{
$orderTotals = $this->getOrderTotal();
$memberTotals = $this->getMemberTotal();
$storeStatisticsDayDao = \DAO\Store\StoreStatisticsDayModel::getInstance(DbNameConst::masterDBConnectName);
......
......@@ -335,8 +335,6 @@ class MemberModel extends \DAO\AbstractModel
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongMobileFormat);
}
$member = $this->getOneByWhereWithField(array('member_mobile' => $mobile), 'member_id');
\Our\Log::getInstance()->write($this->db->getLastSql());
\Our\Log::getInstance()->write(json_encode($member,true));
if ($member) {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::registerMobileExist);
}
......
......@@ -710,6 +710,7 @@ class OrderModel extends \DAO\AbstractModel
$this->deleteFindByOrderIdCache($orderId);
$orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsDao->deleteOrderGoodsCache($memberId,$orderId);
\DAO\MemberModel::getInstance()->deleteTotalCache($memberId);
}
}
......@@ -835,6 +836,24 @@ class OrderModel extends \DAO\AbstractModel
}
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll();
}
public function updateCancelUnpayedOrderTimeCache($time){
\Redis\Db5\OrderRedisModel::getInstance()->update(\Our\NameConst::cancelUnPayedOrderTimePrefix,$time);
}
public function getCancelUnpayedOrderTimeCache(){
\Redis\Db5\OrderRedisModel::getInstance()->tableCacheGet(\Our\NameConst::cancelUnPayedOrderTimePrefix);
}
public function updateCancelUnReceivedOrderTimeCache($time){
\Redis\Db5\OrderRedisModel::getInstance()->update(\Our\NameConst::cancelUnReceivedOrderTimePrefix,$time);
}
public function getCancelUnReceivedOrderTimeCache(){
\Redis\Db5\OrderRedisModel::getInstance()->tableCacheGet(\Our\NameConst::cancelUnReceivedOrderTimePrefix);
}
/**
* 类实例
*
......
......@@ -113,6 +113,40 @@ class StoreStatisticsDayModel extends \DAO\AbstractModel {
}
}
//插入数据大量
public function addAllReduce($datas)
{
$this->setDb(DbNameConst::masterDBConnectName);
$error = 0;
$baseSql = "insert into {$this->_tableName}(store_id,order_count,order_total,gmt_create) values";
$extentSql=" ON DUPLICATE KEY UPDATE order_count=order_goods_count-values(order_goods_count),order_total=order_total-values(order_total)";
$insertAllSql = $baseSql;
for ($i = 0; $i < count($datas); $i++) {
$addSql = \Our\Common::format("({0},{1},{2},{3}),", $datas[$i]['storeId'], $datas[$i]['orderCount'], $datas[$i]['orderTotal'],datas[$i]['gmtCreate']);
$insertAllSql .= $addSql;
if ($i % 1000 == 0 && $i != 0) {
$insertAllSql = rtrim($insertAllSql, ',');
$insertSql=$insertAllSql.$extentSql;
$one = $this->db->insert($this->_tableName)->query($insertSql);
if (!$one) {
$error++;
}
$insertAllSql = $baseSql;
}
}
if ($insertAllSql != $baseSql) {
$insertAllSql = rtrim($insertAllSql, ',');
$insertSql=$insertAllSql.$extentSql;
$one = $this->db->insert($this->_tableName)->query($insertSql);
if (!$one) {
$error++;
}
}
if ($error > 0) {
$dataJson=json_encode($datas);
throw new Exception('插入han_store_member_statistics失败,'.$dataJson, 4);
}
}
//插入数据大量
public function addAll($datas)
{
$this->setDb(DbNameConst::masterDBConnectName);
......
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