Commit b666877d authored by wwccw0591's avatar wwccw0591

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

parents af66d50d 2120fbca
...@@ -40,7 +40,8 @@ class GoodsController extends \Our\Controller_AbstractIndex { ...@@ -40,7 +40,8 @@ class GoodsController extends \Our\Controller_AbstractIndex {
} }
public function testAction(){ public function testAction(){
//$info = $this->goodsService->recommend(); //$info = $this->goodsService->recommend();
\Business\Goods\GoodsCommonServiceModel::getInstance()->saleGoods(); //\Business\Goods\GoodsCommonServiceModel::getInstance()->saleGoods();
\Business\Goods\EvaluationServiceModel::getInstance()->autoEvaluate();
} }
public function getAttrsAction(){ public function getAttrsAction(){
......
...@@ -213,10 +213,17 @@ class ApiConst ...@@ -213,10 +213,17 @@ class ApiConst
//一个小时 //一个小时
const oneHourCache = 1; const oneHourCache = 1;
//forStoreMember
const storeQrcodeMember = 1;//扫描店铺二维码 const storeQrcodeMember = 1;//扫描店铺二维码
const sellerQrcodeMember = 2;//扫描销售员二维码 const sellerQrcodeMember = 2;//扫描销售员二维码
const buyMember = 3;//购买 const buyMember = 3;//购买
//forFavoritesStore
const selfFavor = 1;//主动关注
const buyFavor = 2;//购买关注
const scanFavor = 3;//扫码关注
const messageTypeRegister = 1;//注册类短信 const messageTypeRegister = 1;//注册类短信
const messageTypeLogin = 2; //登录类短信 const messageTypeLogin = 2; //登录类短信
const messageTypeSeller = 3; //销售员登录短信 const messageTypeSeller = 3; //销售员登录短信
......
...@@ -131,6 +131,18 @@ class ImageUtil { ...@@ -131,6 +131,18 @@ class ImageUtil {
} }
return $goodsImg; return $goodsImg;
} }
public function getStoreLabel($storeLabel, $directory = \Our\ImageConst::storeLabel,$width=\Our\ApiConst::zero,$height=\Our\ApiConst::zero){
$storeLableImage = \Our\Common::getStaticFile($storeLabel, $directory);
if($width){
if(!$height){
$height = $width;
}
$storeLableImage .= "?x-oss-process=image/resize,m_fill,h_{$height},w_{$width}";
}
return $storeLableImage;
}
public function getGoodsImgWithUrl($goodsImgUrl,$width=\Our\ImageConst::goodsListImgSize, $height = 0) { public function getGoodsImgWithUrl($goodsImgUrl,$width=\Our\ImageConst::goodsListImgSize, $height = 0) {
$width = $width * \Our\ImageConst::sizeScale; $width = $width * \Our\ImageConst::sizeScale;
$height ? $height = $height * \Our\ImageConst::sizeScale : $height = $width; $height ? $height = $height * \Our\ImageConst::sizeScale : $height = $width;
......
...@@ -53,7 +53,7 @@ class OrderConst { ...@@ -53,7 +53,7 @@ class OrderConst {
const waitBuyerConfirmRecieve='等待用户确认收货'; const waitBuyerConfirmRecieve='等待用户确认收货';
const defaultComment = '好评!'; const defaultComment = '好评!';
const beyondTimeDefaultComment = '此用户没有填写评价';//超期评价
} }
?> ?>
\ No newline at end of file
...@@ -90,6 +90,8 @@ class CouponServiceModel extends \Business\AbstractModel{ ...@@ -90,6 +90,8 @@ class CouponServiceModel extends \Business\AbstractModel{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyCouponId); \Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyCouponId);
} }
$coupon = $couponDao->findById($where['couponId']); $coupon = $couponDao->findById($where['couponId']);
$coupon['cash_money'] = $coupon['cash_money']?($coupon['cash_money']/\Our\ApiConst::hundred):\Our\ApiConst::zero;
$coupon['order_amount'] = $coupon['order_amount']?($coupon['order_amount']/\Our\ApiConst::hundred):\Our\ApiConst::zero;
if(!$coupon || $coupon['is_del'] == 1 || time() > $coupon['end_time'] || time() < $coupon['start_time']){ if(!$coupon || $coupon['is_del'] == 1 || time() > $coupon['end_time'] || time() < $coupon['start_time']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::couponNotExist); \Error\ErrorModel::throwException(\Error\CodeConfigModel::couponNotExist);
} }
......
...@@ -54,41 +54,43 @@ class EvaluationServiceModel extends \Business\AbstractModel { ...@@ -54,41 +54,43 @@ class EvaluationServiceModel extends \Business\AbstractModel {
$memberName = $member['memberName']; $memberName = $member['memberName'];
$memberAvatar = $member['memberAvatar']; $memberAvatar = $member['memberAvatar'];
foreach ($data['goods'] as $k=>$v){ foreach ($data['goods'] as $k=>$v){
$evaluation = array(); if($orderGoods[$v['goodsId']]['goods_commonid'] > 0) {//=0是组合
$evaluation['geval_orderid'] = $order['order_id']; $evaluation = array();
$evaluation['geval_orderno'] = $order['order_sn']; $evaluation['geval_orderid'] = $order['order_id'];
$evaluation['geval_ordergoodsid'] = $orderGoods[$v['goodsId']]['rec_id']; $evaluation['geval_orderno'] = $order['order_sn'];
$evaluation['geval_goodsid'] = $v['goodsId']; $evaluation['geval_ordergoodsid'] = $orderGoods[$v['goodsId']]['rec_id'];
$evaluation['geval_goodsname'] = $orderGoods[$v['goodsId']]['goods_name']; $evaluation['geval_goodsid'] = $v['goodsId'];
$evaluation['geval_goodsprice'] = $orderGoods[$v['goodsId']]['goods_pay_price']; $evaluation['geval_goodsname'] = $orderGoods[$v['goodsId']]['goods_name'];
$evaluation['geval_goodsimage'] = $orderGoods[$v['goodsId']]['goods_image']; $evaluation['geval_goodsprice'] = $orderGoods[$v['goodsId']]['goods_pay_price'];
$evaluation['geval_scores'] = intval($v['scores']); $evaluation['geval_goodsimage'] = $orderGoods[$v['goodsId']]['goods_image'];
$evaluation['geval_content'] = $v['content'] ? trim($v['content']) : \Our\OrderConst::defaultComment; $evaluation['geval_scores'] = intval($v['scores']);
$evaluation['geval_isanonymous'] = intval($data['isanonymous']); $evaluation['geval_content'] = $v['content'] ? trim($v['content']) : \Our\OrderConst::defaultComment;
$evaluation['geval_addtime'] = time(); $evaluation['geval_isanonymous'] = intval($data['isanonymous']);
$evaluation['geval_storeid'] = $order['store_id']; $evaluation['geval_addtime'] = time();
$evaluation['geval_storename'] = $order['store_name']; $evaluation['geval_storeid'] = $order['store_id'];
$evaluation['geval_frommemberid'] = $memberId; $evaluation['geval_storename'] = $order['store_name'];
$evaluation['geval_frommembername'] = $memberName; $evaluation['geval_frommemberid'] = $memberId;
$evaluation['memberAvatar'] = $memberAvatar; $evaluation['geval_frommembername'] = $memberName;
//$images = $this->_upload($v['images']); $evaluation['memberAvatar'] = $memberAvatar;
$images = $v['images']; //$images = $this->_upload($v['images']);
if(!is_array($images)) $images = json_decode($images, true); $images = $v['images'];
if(empty($images)) $images = null; if(!is_array($images)) $images = json_decode($images, true);
$images ? $data['goods'][$k]['haveImg'] = 1 : $data['goods'][$k]['haveImg'] = 0; if(empty($images)) $images = null;
if($data['goods'][$k]['haveImg'] == 1) { $images ? $data['goods'][$k]['haveImg'] = 1 : $data['goods'][$k]['haveImg'] = 0;
foreach ($images as &$image) { if($data['goods'][$k]['haveImg'] == 1) {
if($image) { foreach ($images as &$image) {
$image = pathinfo($image)['basename']; if($image) {
$image = pathinfo($image)['basename'];
}
} }
} }
$evaluation['geval_image'] = serialize($images);
$goodsInstance = \DAO\GoodsModel::getInstance();
$evaluation['geval_goods_commonid'] = $orderGoods[$v['goodsId']]['goods_commonid'];
$evaluation['goods_spec'] = $orderGoods[$v['goodsId']]['goods_spec'];
$data['goods'][$k]['goodsCommonId'] = $evaluation['geval_goods_commonid'];
$evaluations[] = $evaluation;
} }
$evaluation['geval_image'] = serialize($images);
$goodsInstance = \DAO\GoodsModel::getInstance();
$evaluation['geval_goods_commonid'] = $orderGoods[$v['goodsId']]['goods_commonid'];
$evaluation['goods_spec'] = $orderGoods[$v['goodsId']]['goods_spec'];
$data['goods'][$k]['goodsCommonId'] = $evaluation['geval_goods_commonid'];
$evaluations[] = $evaluation;
} }
$result = \DAO\EvaluateGoodsModel::getInstance()->insertAll($evaluations); $result = \DAO\EvaluateGoodsModel::getInstance()->insertAll($evaluations);
if(!$result){ if(!$result){
...@@ -100,18 +102,20 @@ class EvaluationServiceModel extends \Business\AbstractModel { ...@@ -100,18 +102,20 @@ class EvaluationServiceModel extends \Business\AbstractModel {
$insert = array(); $insert = array();
foreach ($data['goods'] as $v){ foreach ($data['goods'] as $v){
//更新商品评分 if($v['goodsCommonId']) {
$statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance(); //更新商品评分
//goods_common $statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance();
$grade = \DAO\GoodsScoreStatisticsModel::getInstance()->getGrade($v['goodsCommonId']); //goods_common
$grade['evaluation_score'] = $grade['evaluation_score']+intval($v['scores']); $grade = \DAO\GoodsScoreStatisticsModel::getInstance()->getGrade($v['goodsCommonId']);
$grade['evaluation_number'] = $grade['evaluation_number'] + 1; $grade['evaluation_score'] = $grade['evaluation_score']+intval($v['scores']);
$v['haveImg'] ? $grade['evaluation_img_number'] += 1 : $grade['evaluation_img_number'] = $grade['evaluation_img_number']; $grade['evaluation_number'] = $grade['evaluation_number'] + 1;
$statisticsDb6Redis->tableHSet('goodsCommon',$v['goodsCommonId'],serialize($grade)); $v['haveImg'] ? $grade['evaluation_img_number'] += 1 : $grade['evaluation_img_number'] = $grade['evaluation_img_number'];
$grade['goods_commonid'] = $v['goodsCommonId']; $statisticsDb6Redis->tableHSet('goodsCommon',$v['goodsCommonId'],serialize($grade));
$insert[] = $grade; $grade['goods_commonid'] = $v['goodsCommonId'];
//删除商品评论列表缓存 $insert[] = $grade;
\Our\RedisHelper::delCachedFunction(\Redis\Db4\EvaluateGoodsRedisModel::getInstance(),array(&$evaluateInstance, 'getList'),array(),array($v['goodsCommonId'])); //删除商品评论列表缓存
\Our\RedisHelper::delCachedFunction(\Redis\Db4\EvaluateGoodsRedisModel::getInstance(),array(&$evaluateInstance, 'getList'),array(),array($v['goodsCommonId']));
}
} }
//批量插入或更新评论总分等 //批量插入或更新评论总分等
\DAO\GoodsScoreStatisticsModel::getInstance()->insertAllOrUpdate($insert); \DAO\GoodsScoreStatisticsModel::getInstance()->insertAllOrUpdate($insert);
...@@ -243,8 +247,102 @@ class EvaluationServiceModel extends \Business\AbstractModel { ...@@ -243,8 +247,102 @@ class EvaluationServiceModel extends \Business\AbstractModel {
return array($param, $order, $orderGoods); return array($param, $order, $orderGoods);
} }
public function autoEvaluate() { public function autoEvaluate() {
$list = \DAO\Order\OrderModel::getInstance()->getList(array('finnshed_time'=>array('elt',time()-(\Our\ApiConst::sevenDaySecond)),'evaluation_state'=>\Our\ApiConst::waitEvaluation),'order_id',0,1000,''); $pageBegin = \Our\PageConst::taskPageBegin;
var_dump($list); $orderDao = \DAO\Order\OrderModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance();
$evaluateInstance = \DAO\EvaluateGoodsModel::getInstance();
do{
$list = $orderDao->getList(array('finnshed_time'=>array('elt',time()-(\Our\ApiConst::sevenDaySecond)),'evaluation_state'=>\Our\ApiConst::waitEvaluation,'order_state'=>\Our\ApiConst::orderStateComplete,'delete_state'=>0,'lock_state'=>0),'order_id,buyer_id,buyer_name,store_name,store_id,order_sn,order_id,diliveryman_id',$pageBegin,\Our\PageConst::taskPageSize,'');
foreach ($list['list'] as $order) {
$orderGoods = $orderGoodsDao->getOrderGoodsList(array('order_id'=>$order['order_id']),'rec_id,goods_id,goods_commonid,goods_name,goods_image,goods_pay_price,goods_num,goods_spec');
foreach ($orderGoods as $k=>$v){
if($v['goods_commonid'] > 0) {
$evaluation = array();
$evaluation['geval_orderid'] = $order['order_id'];
$evaluation['geval_orderno'] = $order['order_sn'];
$evaluation['geval_ordergoodsid'] = $v['rec_id'];
$evaluation['geval_goodsid'] = $v['goods_id'];
$evaluation['geval_goodsname'] = $v['goods_name'];
$evaluation['geval_goodsprice'] = $v['goods_pay_price'];
$evaluation['geval_goodsimage'] = $v['goods_image'];
$evaluation['geval_scores'] = 5;
$evaluation['geval_content'] = \Our\OrderConst::beyondTimeDefaultComment;
$evaluation['geval_isanonymous'] = 1;
$evaluation['geval_addtime'] = time();
$evaluation['geval_storeid'] = $order['store_id'];
$evaluation['geval_storename'] = $order['store_name'];
$evaluation['geval_frommemberid'] = $order['buyer_id'];
$evaluation['geval_frommembername'] = $order['buyer_name'];;
$images = null;
$evaluation['geval_image'] = serialize($images);
$evaluation['geval_goods_commonid'] = $v['goods_commonid'];
$evaluation['goods_spec'] = $v['goods_spec'];
$evaluations[] = $evaluation;
}
}
$result = \DAO\EvaluateGoodsModel::getInstance()->insertAll($evaluations);
if(!$result){
return false;
}
foreach ($orderGoods as $v) {
if($v['goods_commonid'] > 0) {
//更新商品评分
$statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance();
//goods_common
$grade = \DAO\GoodsScoreStatisticsModel::getInstance()->getGrade($v['goods_commonid']);
$grade['evaluation_score'] = $grade['evaluation_score']+5;
$grade['evaluation_number'] = $grade['evaluation_number'] + 1;
$grade['evaluation_img_number'] = $grade['evaluation_img_number'];
$statisticsDb6Redis->tableHSet('goodsCommon',$v['goods_commonid'],serialize($grade));
$grade['goods_commonid'] = $v['goods_commonid'];
$insert[] = $grade;
//删除商品评论列表缓存
\Our\RedisHelper::delCachedFunction(\Redis\Db4\EvaluateGoodsRedisModel::getInstance(),array(&$evaluateInstance, 'getList'),array(),array($v['goods_commonid']));
}
}
//批量插入或更新评论总分等
\DAO\GoodsScoreStatisticsModel::getInstance()->insertAllOrUpdate($insert);
if($order['diliveryman_id']){
$delivery['deval_orderid'] = $order['order_id'];//配送评价表的内容
$delivery['deval_orderno'] = $order['order_sn'];
$delivery['deval_storeid'] = $order['store_id'];
$delivery['diliveryman_id'] = $order['diliveryman_id'];
$delivery['deval_time'] = time();
$delivery['deval_score'] = 5;
$devalId = \DAO\EvaluateDeliverymanModel::getInstance()->insert($delivery);
}
$evaluateStore = array();
$evaluateStore['seval_orderid'] = $order['order_id'];
$evaluateStore['seval_orderno'] = $order['order_sn'];
$evaluateStore['seval_addtime'] = time();
$evaluateStore['seval_storeid'] = $order['store_id'];
$evaluateStore['seval_storename'] = $order['store_name'];
$evaluateStore['seval_memberid'] = $order['buyer_id'];
$evaluateStore['seval_membername'] = $order['buyer_name'];
$evaluateStore['seval_desccredit'] = 5;
$evaluateStore['seval_servicecredit'] = 5;
$evaluateStore['seval_deliverycredit'] = 5;
$resultStore = \DAO\EvaluateStoreModel::getInstance()->insert($evaluateStore);
if($resultStore){
//更新店铺评分
$grade = \DAO\StoreScoreStatisticsModel::getInstance()->getGrade($order['store_id']);
$grade['evaluation_score'] = $grade['evaluation_score']+5+5+5;
$grade['evaluation_number'] = $grade['evaluation_number'] + 1;
$statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance();
$statisticsDb6Redis->tableHSet('store',$order['store_id'],serialize($grade));
//更新店铺评论总分
\DAO\StoreScoreStatisticsModel::getInstance()->insertOrUpdate(array('store_id'=>$order['store_id'],'evaluation_score'=>$grade['evaluation_score'],'evaluation_number'=>$grade['evaluation_number']));
}
\DAO\Goods\StoreTopSaleGoodsModel::getInstance()->pushChangeSaleStore($order['store_id']);
//修改订单状态
$orderDao->update(array('order_id'=>$order['order_id']),array('evaluation_state'=>2));
//删除缓存
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(),array(&$orderDao, 'find'),array(),array($order['order_id']));
$orderDao->deleteOrderCache($order['buyer_id'], $order['order_id'],$order['store_id']);
}
}while(!empty($list['list']));
} }
private static $_instance = null; private static $_instance = null;
/** /**
......
...@@ -539,7 +539,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -539,7 +539,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$commonInstance = \DAO\GoodsCommonModel::getInstance(); $commonInstance = \DAO\GoodsCommonModel::getInstance();
$count = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$commonInstance, 'getCount'),array(array('store_id'=>$storeId)),\Our\ApiConst::oneDaySecond); $count = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$commonInstance, 'getCount'),array(array('store_id'=>$storeId)),\Our\ApiConst::oneDaySecond);
return array('storeId'=>$storeId,'storeName'=>$storeInfo['store_name'],'storeLabel'=>\DAO\StoreModel::getInstance()->getStoreLabelSrc($storeInfo['store_label'],\Our\ImageConst::goodsStoreImg),'goodsTotal'=>$count,'isQuality'=>$storeInfo['store_zhping'],'freeShippingPrice'=>$storeInfo['free_shipping_price'],'shareDesc'=>$storeInfo['store_share_desc']); return array('storeId'=>$storeId,'storeName'=>$storeInfo['store_name'],'storeLabel'=>\DAO\StoreModel::getInstance()->getStoreLabelSrc($storeInfo['store_label'],\Our\ImageConst::goodsStoreImg),'goodsTotal'=>$count,'isQuality'=>$storeInfo['store_zhping'],'freeShippingPrice'=>$storeInfo['free_shipping_price'],'shareDesc'=>$storeInfo['store_share_desc'],'memberId'=>$storeInfo['member_id']);
} }
/** /**
...@@ -932,13 +932,13 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -932,13 +932,13 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$goodsCommonRedis->tableDel('weekSales:' . $storeId); $goodsCommonRedis->tableDel('weekSales:' . $storeId);
$goodsCommonRedis->tableDel('weekSaleGoods:' . $storeId); $goodsCommonRedis->tableDel('weekSaleGoods:' . $storeId);
$goodsCommonRedis->tableDel('recommendGoods:' . $storeId); $goodsCommonRedis->tableDel('recommendGoods:' . $storeId);
$goodsCommonids = $orderDAO->getOrderAndOrderGoods("han_order.store_id={$storeId} AND han_order.payment_time between ".(time()-\Our\ApiConst::sevenDaySecond)." AND ".time(), 'sum(goods_num) as num,goods_commonid', 'goods_commonid', [0, 3], ['num', 'DESC']); $goodsCommonids = $orderDAO->getOrderAndOrderGoods("han_order.store_id={$storeId} AND han_order_goods.goods_commonid > 0 AND han_order.payment_time between ".(time()-\Our\ApiConst::sevenDaySecond)." AND ".time(), 'sum(goods_num) as num,goods_commonid', 'goods_commonid', [0, 3], ['num', 'DESC']);
if ($goodsCommonids) { if ($goodsCommonids) {
foreach ($goodsCommonids as $v) { foreach ($goodsCommonids as $v) {
$goodsCommonRedis->tableSAdd('weekSales:' . $storeId, $v['goods_commonid']); $goodsCommonRedis->tableSAdd('weekSales:' . $storeId, $v['goods_commonid']);
} }
} }
$goodsCommonids = $orderDAO->getOrderAndOrderGoods("han_order.store_id={$storeId} AND han_order.payment_time between ".(time()-\Our\ApiConst::sevenDaySecond)." AND ".time(), 'distinct goods_commonid'); $goodsCommonids = $orderDAO->getOrderAndOrderGoods("han_order.store_id={$storeId} AND han_order_goods.goods_commonid > 0 AND han_order.payment_time between ".(time()-\Our\ApiConst::sevenDaySecond)." AND ".time(), 'distinct goods_commonid');
if ($goodsCommonids) { if ($goodsCommonids) {
foreach ($goodsCommonids as $v) { foreach ($goodsCommonids as $v) {
$goodsCommonRedis->tableSAdd('weekSaleGoods:' . $storeId, $v['goods_commonid']); $goodsCommonRedis->tableSAdd('weekSaleGoods:' . $storeId, $v['goods_commonid']);
......
...@@ -123,7 +123,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -123,7 +123,7 @@ class StoreServiceModel extends \Business\AbstractModel{
$favType = 1; $favType = 1;
} }
} }
return array('storeLabel'=>$storeLabel,'storeName'=>$storeInfo['store_name'],'grade'=>$grade,'fansCount'=>\DAO\FavoritesStoreModel::getInstance()->getFavoritesStoreCountByStoreId($storeId),'favType'=>$favType,'monthlySalesCount'=>$monthlySalesCount,'defaultDeliveryTime'=>$defaultDeliveryTime,'freeShippingPrice'=>$storeInfo['free_shipping_price'],'storeDistance'=>$distince,'storeNotice'=>$storeInfo['store_notice'],'startShippingPrice'=>$storeInfo['start_shipping_price'],'memberId'=>$storeInfo['member_id'],'inStoreService'=>$in_store_service_flag,'adv'=>$adv,'memberId'=>$storeInfo['member_id']); return array('storeLabel'=>$storeLabel,'storeName'=>$storeInfo['store_name'],'grade'=>$grade,'fansCount'=>\DAO\FavoritesStoreModel::getInstance()->getFavoritesStoreCountByStoreId($storeId),'favType'=>$favType,'monthlySalesCount'=>$monthlySalesCount,'defaultDeliveryTime'=>$defaultDeliveryTime,'freeShippingPrice'=>$storeInfo['free_shipping_price'] * 100,'storeDistance'=>$distince,'storeNotice'=>$storeInfo['store_notice'],'startShippingPrice'=>$storeInfo['start_shipping_price'] * 100,'memberId'=>$storeInfo['member_id'],'inStoreService'=>$in_store_service_flag,'adv'=>$adv,'memberId'=>$storeInfo['member_id']);
} }
/** /**
...@@ -718,7 +718,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -718,7 +718,7 @@ class StoreServiceModel extends \Business\AbstractModel{
$store['storeDistance'] = \Our\CommonExtension::getDistance($lat,$lng,$store['store_latitude'],$store['store_longitude']); $store['storeDistance'] = \Our\CommonExtension::getDistance($lat,$lng,$store['store_latitude'],$store['store_longitude']);
unset($store['store_longitude']); unset($store['store_longitude']);
unset($store['store_latitude']); unset($store['store_latitude']);
$store['storeLabel'] = \Our\Common::getStaticFile($store['storeLabel'], \Our\ImageConst::storeLabel); $store['storeLabel'] = \Our\ImageUtil::getStoreLabel($store['storeLabel'], \Our\ImageConst::storeLabel,213);
$storeList[$store['storeId']] = $store; $storeList[$store['storeId']] = $store;
} }
return $storeList; return $storeList;
......
...@@ -261,6 +261,7 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -261,6 +261,7 @@ class MemberServiceModel extends \Business\AbstractModel
$member['member_mobile'] = $where['mobile']; $member['member_mobile'] = $where['mobile'];
$member['member_mobile_bind'] = \Our\ApiConst::one; $member['member_mobile_bind'] = \Our\ApiConst::one;
$member['member_passwd'] = md5($where['password']); $member['member_passwd'] = md5($where['password']);
$member['member_time'] = TIMESTAMP;
$result = $memberDao->addInfo($member); $result = $memberDao->addInfo($member);
return $result; return $result;
} }
...@@ -285,14 +286,20 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -285,14 +286,20 @@ class MemberServiceModel extends \Business\AbstractModel
if($scan_store_ids){ if($scan_store_ids){
$storeMembers = array(); $storeMembers = array();
foreach($scan_store_ids as $storeId){ foreach($scan_store_ids as $storeId){
$storeMember['storeId'] = $storeId; $storeMember = array();
$storeMember['memberId'] = $memberId; $storeMember['store_id'] = $storeId;
$storeMember['type'] = \Our\ApiConst::storeQrcodeMember; $storeMember['member_id'] = $memberId;
$storeMember['fav_from'] = \Our\ApiConst::scanFavor;
$storeMembers[] = $storeMember; $storeMembers[] = $storeMember;
} }
$storeMemberDao = \DAO\StoreMemberModel::getInstance(\Our\DbNameConst::masterDBConnectName); /*$storeMemberDao = \DAO\StoreMemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$result = $storeMemberDao->addBatch($storeMember); $result = $storeMemberDao->addBatch($storeMember);*/
return $result; $favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$result = $favoritesStoreDao->insertAll($storeMembers);
if(!$result){
\Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败');
return false;
}
} }
$scan_sale_ids = $sess->get('scan_sale_ids'); $scan_sale_ids = $sess->get('scan_sale_ids');
if($scan_sale_ids){ if($scan_sale_ids){
......
...@@ -86,6 +86,57 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -86,6 +86,57 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$sql = \Our\Common::format($baseSql, $data['member_id'], $data['store_id'],$data['fav_time']); $sql = \Our\Common::format($baseSql, $data['member_id'], $data['store_id'],$data['fav_time']);
return $this->db->insert($this->_tableName)->query($sql); return $this->db->insert($this->_tableName)->query($sql);
} }
public function insertAll($datas){
$this->setDb(\Our\DbNameConst::masterDBConnectName);
$error = 0;
$baseSql = "insert IGNORE into {$this->_tableName}(member_id,store_id,fav_from,fav_time) values";
$insertAllSql = $baseSql;
for ($i = 0; $i < count($datas); $i++) {
$addSql = \Our\Common::format("('{0}','{1}','{2}','{3}'),", $datas[$i]['member_id'], $datas[$i]['store_id'], $datas[$i]['fav_from'],TIMESTAMP);
$insertAllSql .= $addSql;
if ($i % 1000 == 0 && $i != 0) {
$insertAllSql = rtrim($insertAllSql, ',');
$insertAllSql .= 'ON DUPLICATE KEY UPDATE fav_time=VALUES (fav_time)';
$one = $this->db->insert($this->_tableName)->query($insertAllSql);
if (!$one) {
$error++;
}
$insertAllSql = $baseSql;
}
}
if ($insertAllSql != $baseSql) {
$insertAllSql = rtrim($insertAllSql, ',');
$insertAllSql .= 'ON DUPLICATE KEY UPDATE fav_time=VALUES (fav_time)';
$one = $this->db->insert($this->_tableName)->query($insertAllSql);
if (!$one) {
$error++;
}
}
if ($error > 0) {
return false;
}
return true;
}
/**
* 批量添加
* @param $datas
*/
public function addBatch($datas){
parent::setDb(\Our\DbNameConst::masterDBConnectName);
$sql = "INSERT INTO {$this->_tableName} ( store_id,member_id,fav_from,fav_time) values";
foreach($datas as $key => $data){
$sql .=\Our\Common::format(" (store_id={0} and member_id = {1} and fav_from={2} ),",$data['storeId'],$data['memberId'],$data['type']);
}
$sql = trim($sql,',');
$sql .= ";";
$res = $this->db->insert($this->_tableName)->query($sql);
return $res;
}
public function getFavoritesStoreCountByStoreId($storeId, $num = 0) { public function getFavoritesStoreCountByStoreId($storeId, $num = 0) {
$statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance(); $statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance();
$collectCount = $statisticsDb6Redis->tableCacheGet('storeCollectCount:'.$storeId); $collectCount = $statisticsDb6Redis->tableCacheGet('storeCollectCount:'.$storeId);
......
...@@ -60,7 +60,7 @@ class StoreMemberModel extends \DAO\AbstractModel{ ...@@ -60,7 +60,7 @@ class StoreMemberModel extends \DAO\AbstractModel{
foreach($datas as $key => $data){ foreach($datas as $key => $data){
$sql .=\Our\Common::format(" (store_id={0} and member_id = {1} and type={2} ),",$data['storeId'],$data['memberId'],$data['type']); $sql .=\Our\Common::format(" (store_id={0} and member_id = {1} and type={2} ),",$data['storeId'],$data['memberId'],$data['type']);
} }
$sql = substr($sql,0,strlen($sql)-1); $sql = trim($sql,',');
$sql .= ";"; $sql .= ";";
$res = $this->db->insert($this->_tableName)->query($sql); $res = $this->db->insert($this->_tableName)->query($sql);
return $res; return $res;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/** /**
* 自动评价 * 自动评价
* 执行时间:一小时执行一次 * 执行时间:十分钟执行一次
*/ */
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级 define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
...@@ -39,10 +39,7 @@ class cliOrderEvaluate extends basecli ...@@ -39,10 +39,7 @@ class cliOrderEvaluate extends basecli
} }
} }
protected function autoEvaluate(){ protected function autoEvaluate(){
$orderService=\Business\Order\OrderServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName); \Business\Goods\EvaluationServiceModel::getInstance()->autoEvaluate();
$orderService->changeOrderStatus();
$messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$messageService->addMessageCenterToDb();
} }
protected function _runCli() protected function _runCli()
{ {
...@@ -62,9 +59,9 @@ class cliOrderEvaluate extends basecli ...@@ -62,9 +59,9 @@ class cliOrderEvaluate extends basecli
if( file_exists( $this->lockFileName ) ) if( file_exists( $this->lockFileName ) )
{ {
$stat = stat($this->lockFileName); $stat = stat($this->lockFileName);
if( (TIMESTAMP - $stat['mtime']) > 5400 ) if( (TIMESTAMP - $stat['mtime']) > 1800 )
{ {
echo "文件被锁超过5400秒,被强制删除"; echo "文件被锁超过1800秒,被强制删除";
@unlink($this->lockFileName); @unlink($this->lockFileName);
} }
else else
......
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