Commit a8cf9092 authored by wwccw0591's avatar wwccw0591

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

parents 3f77b161 0bcc5497
...@@ -550,7 +550,7 @@ class CartServiceModel extends \Business\AbstractModel{ ...@@ -550,7 +550,7 @@ class CartServiceModel extends \Business\AbstractModel{
//\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::goodsCollection,$memberId,count($cartList)); //\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::goodsCollection,$memberId,count($cartList));
\Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::goodsCollection); \Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::goodsCollection);
$cartDao->db->doCommit(); $cartDao->db->doCommit();
return false; return true;
} }
/** /**
......
...@@ -249,14 +249,15 @@ class CouponServiceModel extends \Business\AbstractModel{ ...@@ -249,14 +249,15 @@ class CouponServiceModel extends \Business\AbstractModel{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::couponNoUsedTicketNum); \Error\ErrorModel::throwException(\Error\CodeConfigModel::couponNoUsedTicketNum);
} }
$memberCouponDao = \DAO\Coupon\MemberCouponModel::getInstance($dbName); $memberCouponDao = \DAO\Coupon\MemberCouponModel::getInstance($dbName);
/*if($coupon['is_overlay']){//允许领用多张的优惠券是否存在已经领取的未使用有效优惠券 if($coupon['is_overlay']){//允许领用多张的优惠券是否存在已经领取的未使用有效优惠券
$whereSql = ' member_id ='.$memberId.' and coupon_id='.$coupon['id'].' and out_time > '.time(); $whereSql = ' coupon_state = '.\Our\ApiConst::couponUnused.' member_id ='.$memberId.' and coupon_id='.$coupon['id'].' and out_time > '.time();
//$memberCoupons = \Our\RedisHelper::cachedFunction(\Redis\Db13\MemberCouponRedisModel::getInstance(), array(&$memberCouponDao, 'getList'),array($whereSql),\Our\ApiConst::oneHour,array($where['couponId'])); //$memberCoupons = \Our\RedisHelper::cachedFunction(\Redis\Db13\MemberCouponRedisModel::getInstance(), array(&$memberCouponDao, 'getList'),array($whereSql),\Our\ApiConst::oneHour,array($where['couponId']));
$memberCoupons = $memberCouponDao->getList($whereSql); $memberCoupons = $memberCouponDao->getList($whereSql);
if($memberCoupons&&count($memberCoupons)>=$coupon['get_ticket_num']){ if($memberCoupons&&count($memberCoupons)>\Our\ApiConst::zero){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::alreadyGetTheCoupon); \Error\ErrorModel::throwException(\Error\CodeConfigModel::alreadyGetTheCoupon);
} }
}else{//不允许领用多张的优惠券 }
/*else{//不允许领用多张的优惠券
}*/ }*/
$memberCoupons = \Our\RedisHelper::cachedFunction(\Redis\Db13\MemberCouponRedisModel::getInstance(), array(&$memberCouponDao, 'getList'),array(array('coupon_id'=>$where['couponId'],'member_id'=>$memberId)),\Our\ApiConst::oneHour,array($memberId)); $memberCoupons = \Our\RedisHelper::cachedFunction(\Redis\Db13\MemberCouponRedisModel::getInstance(), array(&$memberCouponDao, 'getList'),array(array('coupon_id'=>$where['couponId'],'member_id'=>$memberId)),\Our\ApiConst::oneHour,array($memberId));
...@@ -287,10 +288,22 @@ class CouponServiceModel extends \Business\AbstractModel{ ...@@ -287,10 +288,22 @@ class CouponServiceModel extends \Business\AbstractModel{
public function getStoreCoupons($where,$memberId = null){ public function getStoreCoupons($where,$memberId = null){
$couponDao = \DAO\Coupon\CouponModel::getInstance(); $couponDao = \DAO\Coupon\CouponModel::getInstance();
$couponDao->validStoreCouponParam($where); $couponDao->validStoreCouponParam($where);
$couponList = \Our\RedisHelper::cachedFunction(\Redis\Db13\CouponRedisModel::getInstance(), array(&$this, 'getStoreCouponsById'),array($where['storeId'],$memberId),\Our\ApiConst::oneHour,array($where['storeId']."_".$memberId)); $couponList = \Our\RedisHelper::cachedFunction(\Redis\Db13\CouponRedisModel::getInstance(), array(&$this, 'getStoreCouponsById'),array($where['storeId'],$memberId,\Our\ApiConst::one),\Our\ApiConst::oneHour,array($where['storeId']."_".$memberId));
if($couponList){ //var_dump($couponList);
if($couponList) {
$couponList = array_values($couponList); $couponList = array_values($couponList);
$couponList =$this->sortCouponList($couponList); $tempCouponList = array();
foreach($couponList as $tempCoupon){
if($tempCoupon['startTime']<TIMESTAMP&&$tempCoupon['endTime']>=TIMESTAMP){
unset($tempCoupon['startTime']);
unset($tempCoupon['endTime']);
$tempCouponList[] = $tempCoupon;
}
}
$couponList = $tempCouponList;
if($couponList){
$couponList =$this->sortCouponList($couponList);
}
}else{ }else{
$couponList = array(); $couponList = array();
} }
...@@ -302,28 +315,37 @@ class CouponServiceModel extends \Business\AbstractModel{ ...@@ -302,28 +315,37 @@ class CouponServiceModel extends \Business\AbstractModel{
$couponDao = \DAO\Coupon\CouponModel::getInstance(); $couponDao = \DAO\Coupon\CouponModel::getInstance();
$couponDao->validStoreCouponParam($where); $couponDao->validStoreCouponParam($where);
$couponList = \Our\RedisHelper::cachedFunction(\Redis\Db13\CouponRedisModel::getInstance(), array(&$this, 'getStoreCouponsById'),array($where['storeId'],$memberId,\Our\ApiConst::one),\Our\ApiConst::oneHour,array($where['storeId']."_".$memberId)); $couponList = \Our\RedisHelper::cachedFunction(\Redis\Db13\CouponRedisModel::getInstance(), array(&$this, 'getStoreCouponsById'),array($where['storeId'],$memberId,\Our\ApiConst::one),\Our\ApiConst::oneHour,array($where['storeId']."_".$memberId));
if($couponList){ if(!$couponList){
$couponList = array_values($couponList); return array('couponsTitle'=>array(),'coupons'=>array());
$couponList = $this->sortCouponList($couponList); }
if(count($couponList)>=\Our\ApiConst::defaultCouponTitleLength){ $couponList = array_values($couponList);
$couponTitleArray= array_slice($couponList,0,\Our\ApiConst::defaultCouponTitleLength); $tempCouponList = array();
}else{ foreach($couponList as $tempCoupon){
$couponTitleArray= $couponList; if($tempCoupon['startTime']<TIMESTAMP&&$tempCoupon['endTime']>=TIMESTAMP){
} $tempCouponList[] = $tempCoupon;
$couponTitles = array();
foreach($couponTitleArray as $coupon){
if($coupon['type'] == \Our\ApiConst::noLimitCouponType){
$couponTitles[] = $coupon['title'].\Our\DescribeConst::noLimitGoodsCouponName;
}else if($coupon['type'] == \Our\ApiConst::fullMinusCouponType){
$couponTitles[] = str_replace(\Our\DescribeConst::available,\Our\DescribeConst::minus.$coupon['title'],$coupon['subTitle']);
}else{
$couponTitles[] = $coupon['subTitle'];
}
} }
return array('couponsTitle'=>$couponTitles,'coupons'=>$couponList); }
}else{ $couponList = $tempCouponList;
if(!$couponList){
return array('couponsTitle'=>array(),'coupons'=>array()); return array('couponsTitle'=>array(),'coupons'=>array());
} }
$couponList = $this->sortCouponList($couponList);
if(count($couponList)>=\Our\ApiConst::defaultCouponTitleLength){
$couponTitleArray= array_slice($couponList,0,\Our\ApiConst::defaultCouponTitleLength);
}else{
$couponTitleArray= $couponList;
}
$couponTitles = array();
foreach($couponTitleArray as $coupon){
if($coupon['type'] == \Our\ApiConst::noLimitCouponType){
$couponTitles[] = $coupon['title'].\Our\DescribeConst::noLimitGoodsCouponName;
}else if($coupon['type'] == \Our\ApiConst::fullMinusCouponType){
$couponTitles[] = str_replace(\Our\DescribeConst::available,\Our\DescribeConst::minus.$coupon['title'],$coupon['subTitle']);
}else{
$couponTitles[] = $coupon['subTitle'];
}
}
return array('couponsTitle'=>$couponTitles,'coupons'=>$couponList);
} }
public function validCouponStore($where){ public function validCouponStore($where){
......
...@@ -168,6 +168,7 @@ class CouponModel extends \DAO\AbstractModel { ...@@ -168,6 +168,7 @@ class CouponModel extends \DAO\AbstractModel {
$storeClassIds = array_column($storeClasses,'gc_id'); $storeClassIds = array_column($storeClasses,'gc_id');
} }
$result = array(); $result = array();
$goodsCommonDao = \DAO\GoodsCommonModel::getInstance();
foreach($coupons as $coupon){ foreach($coupons as $coupon){
if(!($coupon['start_time']<=TIMESTAMP&&$coupon['end_time']>TIMESTAMP)){ if(!($coupon['start_time']<=TIMESTAMP&&$coupon['end_time']>TIMESTAMP)){
continue; continue;
...@@ -183,6 +184,22 @@ class CouponModel extends \DAO\AbstractModel { ...@@ -183,6 +184,22 @@ class CouponModel extends \DAO\AbstractModel {
continue; continue;
} }
} }
if($coupon['type']==\Our\ApiConst::goodsCoupon){ //指定商品优惠券,判断商品是否在线,在线才能展示
$goodsCommmonIds = array_filter(explode(',',$coupon['ids']));
if(!$goodsCommmonIds){
continue;
}
$goodsCon = array();
$goodsCon['goods_commonid'] = array('in',$goodsCommmonIds);
$goodsCon['goods_state'] = \Our\ApiConst::onlineGoodsState;
$goodsCon['goods_verify'] = \Our\ApiConst::onlineGoodsVerify;
$goodsCon['is_del'] = \Our\ApiConst::onlineGoodsDel;
//$goodsCommonFlag = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(), array(&$goodsCommonDao, 'getOne'),array($goodsCon,'goods_commonid'),\Our\ApiConst::oneHour);
$goodsCommonFlag = $goodsCommonDao->getOne($goodsCon,'goods_commonid');
if(!$goodsCommonFlag){
continue;
}
}
$temp = array(); $temp = array();
$temp['couponId'] = $coupon['id']; $temp['couponId'] = $coupon['id'];
$orderAmount = intval($coupon['order_amount']); $orderAmount = intval($coupon['order_amount']);
......
...@@ -55,8 +55,8 @@ class FavoritesModel extends \DAO\AbstractModel { ...@@ -55,8 +55,8 @@ class FavoritesModel extends \DAO\AbstractModel {
} }
public function insertOrUpdate($data){ public function insertOrUpdate($data){
$this->setDb(\Our\DbNameConst::masterDBConnectName); $this->setDb(\Our\DbNameConst::masterDBConnectName);
$baseSql = "insert into {$this->_tableName}(member_id,goods_commonid,fav_time) values({0},{1},{2}) ON DUPLICATE KEY UPDATE isdel=0"; $baseSql = "insert into {$this->_tableName}(member_id,goods_commonid,fav_time,update_time) values({0},{1},{2},{3}) ON DUPLICATE KEY UPDATE isdel=0,update_time=".time();
$sql = \Our\Common::format($baseSql, $data['member_id'], $data['goods_commonid'],$data['fav_time']); $sql = \Our\Common::format($baseSql, $data['member_id'], $data['goods_commonid'],$data['fav_time'],time());
return $this->db->insert($this->_tableName)->query($sql); return $this->db->insert($this->_tableName)->query($sql);
} }
...@@ -68,14 +68,14 @@ class FavoritesModel extends \DAO\AbstractModel { ...@@ -68,14 +68,14 @@ class FavoritesModel extends \DAO\AbstractModel {
public function insertAllOrUpdate($datas){ public function insertAllOrUpdate($datas){
$this->setDb(\Our\DbNameConst::masterDBConnectName); $this->setDb(\Our\DbNameConst::masterDBConnectName);
$error = 0; $error = 0;
$baseSql = "insert into {$this->_tableName}(member_id,goods_commonid,fav_time,fav_type) values"; $baseSql = "insert into {$this->_tableName}(member_id,goods_commonid,fav_time,fav_type,update_time) values";
$insertAllSql = $baseSql; $insertAllSql = $baseSql;
for ($i = 0; $i < count($datas); $i++) { for ($i = 0; $i < count($datas); $i++) {
$addSql = \Our\Common::format("({0},{1},{2},{3}),", $datas[$i]['member_id'], $datas[$i]['goods_commonid'], time(),$datas[$i]['fav_type']); $addSql = \Our\Common::format("({0},{1},{2},{3},{4}),", $datas[$i]['member_id'], $datas[$i]['goods_commonid'], time(),$datas[$i]['fav_type'],time());
$insertAllSql .= $addSql; $insertAllSql .= $addSql;
if ($i % 1000 == 0 && $i != 0) { if ($i % 1000 == 0 && $i != 0) {
$insertAllSql = rtrim($insertAllSql, ','); $insertAllSql = rtrim($insertAllSql, ',');
$insertAllSql .= 'ON DUPLICATE KEY UPDATE isdel = 0,fav_time='.time().''; $insertAllSql .= 'ON DUPLICATE KEY UPDATE isdel = 0,update_time='.time().'';
echo $insertAllSql; echo $insertAllSql;
$one = $this->db->insert()->query($insertAllSql); $one = $this->db->insert()->query($insertAllSql);
if ($one === false) { if ($one === false) {
...@@ -86,7 +86,7 @@ class FavoritesModel extends \DAO\AbstractModel { ...@@ -86,7 +86,7 @@ class FavoritesModel extends \DAO\AbstractModel {
} }
if ($insertAllSql != $baseSql) { if ($insertAllSql != $baseSql) {
$insertAllSql = rtrim($insertAllSql, ','); $insertAllSql = rtrim($insertAllSql, ',');
$insertAllSql .= 'ON DUPLICATE KEY UPDATE isdel = 0,fav_time='.time(); $insertAllSql .= 'ON DUPLICATE KEY UPDATE isdel = 0,update_time='.time();
$one = $this->db->insert($this->_tableName)->query($insertAllSql); $one = $this->db->insert($this->_tableName)->query($insertAllSql);
if ($one === false) { if ($one === false) {
$error++; $error++;
......
...@@ -32,8 +32,15 @@ class GoodsCommonModel extends \DAO\AbstractModel { ...@@ -32,8 +32,15 @@ class GoodsCommonModel extends \DAO\AbstractModel {
public function getOne($where,$field = \Our\NameConst::allField){ public function getOne($where,$field = \Our\NameConst::allField){
$this->setDb($this->dbName); $this->setDb($this->dbName);
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne(); if(is_array($where)){
$where = $this->db->getSqlWhereByArray($where);
}
$result = $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
return $result ;
} }
public function getGoodsSaleNumFromCache($goodsCommonId){ public function getGoodsSaleNumFromCache($goodsCommonId){
$goodsCommonRedis = \Redis\Db4\GoodsCommonRedisModel::getInstance(); $goodsCommonRedis = \Redis\Db4\GoodsCommonRedisModel::getInstance();
$onlineGoodsCommonSaleNumKey = \Our\NameConst::onlineGoodsCommonSaleNumPrefix; $onlineGoodsCommonSaleNumKey = \Our\NameConst::onlineGoodsCommonSaleNumPrefix;
......
...@@ -369,3 +369,48 @@ push.user.service.type=7 ...@@ -369,3 +369,48 @@ push.user.service.type=7
elastic.master.host="192.168.1.201" elastic.master.host="192.168.1.201"
elastic.master.port="9200" elastic.master.port="9200"
elastic.master.scheme="http"; elastic.master.scheme="http";
[lyztest : common]
; 数据库配置
resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1"
resources.database.params.port = 3306
resources.database.params.database = "testqmcs"
resources.database.params.username = "root"
resources.database.params.password = "123456"
resources.database.params.charset = "UTF8"
resources.database.params.driver_options.1002 = "SET NAMES utf8"
; 从库配置
resources.database.slave.params.driver = "pdo_mysql"
resources.database.slave.params.hostname = "127.0.0.1"
resources.database.slave.params.port = 3306
resources.database.slave.params.database = "testqmcs"
resources.database.slave.params.username = "root"
resources.database.slave.params.password = "123456"
resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
redis.database.params.host = "127.0.0.1"
redis.database.params.port = "6379"
redis.database.params.prefix = "qm_"
;redis.database.params.password = "23456ertyu"
out.config="/data/config";
;锁文件
out.locks="/data/locks";
; redis配置
;redis.database.params.password = "test"
;推送配置
push.clientHost="ws://192.168.80.134:9502"
push.host="192.168.134.18"
push.port="9503"
push.open=1
push.user.service.id=293
push.user.service.type=7
elastic.master.host="192.168.1.201"
elastic.master.port="9200"
elastic.master.scheme="http";
\ No newline at end of file
...@@ -151,3 +151,20 @@ config.url.convert="/usr/local/bin/wkhtmltoimage"; ...@@ -151,3 +151,20 @@ config.url.convert="/usr/local/bin/wkhtmltoimage";
config.url.indexUrl="/www/local.qm.com/application/library/React" config.url.indexUrl="/www/local.qm.com/application/library/React"
config.url.libary="/www/local.qm.com/application/library" config.url.libary="/www/local.qm.com/application/library"
; 文件目录 ; 文件目录
[lyztest : common]
; url相关配置
config.url.resourcesHost = "http://local.qm.com"
; 用户中心host
config.url.userHost = ""
; oss 域名
config.url.ossHost = "http://qmoss-01.oss-cn-hangzhou.aliyuncs.com"
;推送域名
config.url.pushHost="127.0.0.1:9503";
config.url.convert="/usr/local/bin/wkhtmltoimage";
config.url.indexUrl="/www/local.qm.com/application/library/React"
config.url.libary="/www/local.qm.com/application/library"
\ No newline at end of file
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