Commit 72ba8ea5 authored by zhz's avatar zhz

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

parents 5eeffc80 5e17f6e5
......@@ -121,7 +121,7 @@ class CartController extends \Our\Controller_AbstractApi{
$storeCartData = $cartService->getDeliveryTypeForCart($address,$storeCartData);
$data = $cartService->getFormatCartListForOrder($storeCartData,$address);
$this->success($data);
}
/**
......
......@@ -24,7 +24,7 @@ class Pay {
$this->channel = $data['channel'];
$this->paySn = $data['paySn'];
$this->requestData = $data;
$this->member = \DAO\MemberModel::getInstance()->find($this->memberId);
$this->member = \DAO\MemberModel::getInstance()->getInfo($this->memberId);
$return = array();
$orderInfo = $this->getOrder();
if($data['channel'] == \Our\NameConst::wxAppChannel){
......
......@@ -35,10 +35,9 @@ class CartServiceModel extends \Business\AbstractModel{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::addCartFailed);
}
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis->tableDel($memberCartKey);
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
foreach($cartArray['storeIds'] as $storeId){
$memberStoreCartsKey = \Our\NameConst::memberStoreCartsPrefix.$memberId.\Our\NameConst::underline.$storeId;
$cartRedis->tableDel($memberStoreCartsKey);
......@@ -56,13 +55,18 @@ class CartServiceModel extends \Business\AbstractModel{
*/
public function editCart($data,$cart,$memberId,$pBundlind=null){
$validReturnData = $this->validEditCart($data,$cart,$memberId,$pBundlind);
$cartDao = \DAO\Cart\CartModel::getInstance(\Our\DbNameConst::masterDBConnectName);
if(isset($validReturnData['existCartFlag'])&&$validReturnData['existCartFlag']==\Our\ApiConst::one){
return $this->editDelCart($cart,$memberId);
}
$cartArray = $this->getFormattedCartDataForEdit($data,$cart,$memberId,$pBundlind,$validReturnData);
$cartDao = \DAO\Cart\CartModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$result = $cartDao->update($cartArray['newCarts'][0],array('cart_id'=>$data['cartId']));
if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::editCartFailed);
}
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis->tableDel($memberCartKey);
foreach($cartArray['storeIds'] as $storeId){
$memberStoreCartsKey = \Our\NameConst::memberStoreCartsPrefix.$memberId.\Our\NameConst::underline.$storeId;
$cartRedis->tableDel($memberStoreCartsKey);
......@@ -73,6 +77,32 @@ class CartServiceModel extends \Business\AbstractModel{
return $result;
}
/**
* 编辑规格时出现当前规格已经在购物车时,删除当前购物车
* @param $cart
* @param $memberId
* @return mixed
* @throws \Error\OurExceptionModel
* @throws \Exception
*/
public function editDelCart($cart,$memberId){
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$cartDao = \DAO\Cart\CartModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$result = $cartDao->del(array('cart_id'=>$cart['cart_id']));
if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::editDelCartFailed);
}
$updateResult = $cartDao->update(array('gmt_update'=>TIMESTAMP),array('goods_id'=>$cart['goods_id'],'buyer_id'=>$memberId));
if($updateResult===false){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::editCartUploadCartFailed);
}
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis->tableDel($memberCartKey);
$memberStoreCartsKey = \Our\NameConst::memberStoreCartsPrefix.$memberId.\Our\NameConst::underline.$cart['store_id'];
$cartRedis->tableDel($memberStoreCartsKey);
return $result;
}
/**
* 批量删除购物车
* @param $data
......@@ -93,13 +123,11 @@ class CartServiceModel extends \Business\AbstractModel{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::editCartFailed);
}
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis->tableDel($memberCartKey);
foreach($cartList as $cart){
$memberStoreCartsKey = \Our\NameConst::memberStoreCartsPrefix.$memberId.\Our\NameConst::underline.$cart['store_id'];
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$cartRedis->tableDel($memberStoreCartsKey);
}
return $result;
......@@ -140,7 +168,6 @@ class CartServiceModel extends \Business\AbstractModel{
$cartRedis->tableDel($memberStoreCartsKey);
$memberCartKey = \Our\NameConst::memberCartStorePrefix.$memberId;
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$cartRedis->tableDel($memberCartKey);
return $result;
}
......@@ -358,6 +385,11 @@ class CartServiceModel extends \Business\AbstractModel{
if(!(isset($data['goodsNum'])&&intval($data['goodsNum'])>\Our\ApiConst::zero)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyCartGoodsNum);
}
$cartDao = \DAO\Cart\CartModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$existCart = $cartDao->find(array('goods_id'=>$data['goodsId'],'buyer_id'=>$memberId,'cart_id'=>array('neq',$cart['cart_id'])));
if($existCart){
return array('existCartFlag'=>\Our\ApiConst::one);
}
$goodsDao = \DAO\GoodsModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$goodsValidStatus = $goodsDao->validEditCartGoods($data,$cart);
if(!$goodsValidStatus){
......@@ -501,7 +533,6 @@ class CartServiceModel extends \Business\AbstractModel{
$FavoritesInstance = \DAO\FavoritesModel::getInstance();
foreach($cartList as $cart){
$memberStoreCartsKey = \Our\NameConst::memberStoreCartsPrefix.$memberId.\Our\NameConst::underline.$cart['store_id'];
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$cartRedis->tableDel($memberStoreCartsKey);
\Our\RedisHelper::delCachedFunction(\Redis\Db4\FavoritesRedisModel::getInstance(),array(&$FavoritesInstance, 'getOne'),array('*',array('member_id'=>$memberId,'goods_commonid'=>$cart['goods_commonid'])),array($memberId));
}
......
......@@ -189,16 +189,36 @@ class GroupSaleServiceModel extends \Business\AbstractModel {
}
$tempObj['goodsAttr'] = $goodsDao->getFormatGoodsAttr($tempCart['goods_spec']);
$tempObj['goodsMid'] = $tempCart['goods_mid'];
$storeCarts[] = $tempObj;
array_push($storeCarts,$tempObj);
}
}
if(isset($storeCarts)&&count($storeCarts)>\Our\ApiConst::zero){
$offlineCarts = array();
$newstoreCarts= array();
foreach ($storeCarts as $row){
if($row['goodsState']==\Our\ApiConst::cartGoodsOnline){
array_push($newstoreCarts,$row);
}else{
$offlineCarts[] = $row;
}
}
if($offlineCarts){
foreach($offlineCarts as $key=>$cartObj){
$goodsState[$key] = $cartObj['goodsState'];
}
array_multisort($goodsState, SORT_DESC, $offlineCarts);
foreach($offlineCarts as $tempCartObj){
array_push($newstoreCarts,$tempCartObj);
}
}
$storeCarts = $newstoreCarts;
$store = $storeDao->get($storeId,false);
$temp = array();
$temp['storeName'] = $store['store_name'];
$temp['storeId'] = $storeId;
$temp['storeCarts'] = $storeCarts;
$temp['inAreaFlag'] = $storeDao->checkAddressInServiceArea($address,$store);
$result[]=$temp;
$result[$storeId]=$temp;
$memberStoreCartsKey = \Our\NameConst::memberStoreCartsPrefix.$memberId.\Our\NameConst::underline.$storeId;
$cartRedis->update($memberStoreCartsKey,$temp,\Our\ApiConst::oneHour);
}
......@@ -209,11 +229,17 @@ class GroupSaleServiceModel extends \Business\AbstractModel {
unset($tempReturnStoreCartsObj['goodsCommonPrices']);
unset($tempReturnStoreCartsObj['is_transport']);
unset($tempReturnStoreCartsObj['transport_id']);
$result[]=$tempReturnStoreCartsObj;
$result[$storeId]=$tempReturnStoreCartsObj;
}
}
if($result){
return array('totalCount'=>count($storeCartList),'list'=>$result);
$storeIds = $cartListData['storeIds'];
$newResult = array();
foreach($storeIds as $key){
$newResult[] = $result[$key];
}
return array('totalCount'=>count($storeCartList),'list'=>$newResult);
}
return array('totalCount'=>\Our\ApiConst::zero,'list'=>array());
}
......
......@@ -567,12 +567,12 @@ class MemberServiceModel extends \Business\AbstractModel
return false;
}
$memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$existMember = $memberDao->find($memberMapping['member_id']);
$existMember = $memberDao->getInfo($memberMapping['member_id']);
if(!$existMember){
$memberMappingDao->del(array('id'=>$memberMapping['id']));
return false;
}
if($existMember['member_mobile']&&$existMember['member_mobile_bind']){
if($existMember['memberMobile']&&$existMember['memberMobileBind']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::registerMemberInfoFailed);
}
$member['member_mobile'] = $where['mobile'];
......
......@@ -40,6 +40,9 @@ class CartModel extends \DAO\AbstractModel{
*/
public function find($where,$field= \Our\NameConst::allField){
$this->setDb($this->dbName);
if(is_array($where)){
$where = $this->db->getSqlWhereByArray($where);
}
$data = $this->db->from($this->_tableName)->select($field)->where($where)->fetchOne();
return $data;
}
......@@ -210,7 +213,8 @@ class CartModel extends \DAO\AbstractModel{
'goodsIds'=>$goodsIds,
'goodsCommonIds'=>$goodsCommonIds,
'blIds'=>$blIds,
'cartList'=>$storeCartList
'cartList'=>$storeCartList,
'storeIds'=>$storeIds
);
}
......
......@@ -26,30 +26,6 @@ class MemberModel extends \DAO\AbstractModel
$this->memberMysql = \Mysql\MemberModel::getInstance();
}
/**
* 根据用户编号查找数据
*
* @param int $userId
* @return array
*/
public function find($userId)
{
$redis = \Redis\Db0\MemberRedisModel::getInstance();
$user = $redis->find($userId);
if (!$user) {
$this->setDb($this->dbName);
$user = $this->db->select(\Our\NameConst::allField)->from($this->_tableName)->where(array('member_id' => $userId))->fetchOne();
//$mysql = \Mysql\MemberModel::getInstance();
//$user = $mysql->find($userId);
if ($user) {
$memberAvatarUrl = $this->getMemberAvatarUrl($user['member_id'], $user['member_avatar']);
$user['memberAvatarUrl'] = $memberAvatarUrl;
$redis->update($userId, $user);
}
}
return $user;
}
/**
* 获取会员头像
......
......@@ -163,6 +163,8 @@ class CodeConfigModel {
const emptyPBundlingdForOrder = 50038;
const pBundlingOfflineForOrder = 50039;
const pBundlingNoStorageForOrder = 50040;
const editDelCartFailed = 50041;
const editCartUploadCartFailed = 50042;
//订单相关错误码
......@@ -553,6 +555,8 @@ class CodeConfigModel {
self::emptyPBundlingdForOrder => '组合销售商品不存在',
self::pBundlingOfflineForOrder => '组合销售商品已经下架',
self::pBundlingNoStorageForOrder => '组合销售商品库存不足',
self::editDelCartFailed => '编辑购物车时删除数据失败',
self::editCartUploadCartFailed => '编辑购物车更新购物车时间失败',
self::addressNotExist=>'地址不存在',
self::emptyAddressId=>'地址主键参数不能为空',
......
......@@ -12,7 +12,47 @@ application.dispatcher.catchException = true
; Admin模块用于后台管理
application.modules = Index,Api,Admin
[productone : common]
; 数据库配置
resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "172.16.142.15"
resources.database.params.port = 3306
resources.database.params.database = "qmcs"
resources.database.params.username = "root"
resources.database.params.password = "!@#$%12345werty"
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 = "172.16.142.15"
resources.database.slave.params.port = 3306
resources.database.slave.params.database = "qmcs"
resources.database.slave.params.username = "root"
resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
;
redis.database.params.host = "172.16.142.15"
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="wss://api.shenbd.com/wss"
push.host="172.16.142.15"
push.port="9503"
push.open=1
;
elastic.master.host="172.16.142.15"
elastic.master.port="9200"
elastic.master.scheme="http";
//生产环境
......
[common]
; 通用配置
[productone : common]
; 测试环境配置
;
; ; url相关配置
; ; 开发环境配置
config.url.convert=/usr/local/bin/wkhtmltoimage
; ; url相关配置
config.url.resourcesHost = "http://api.shenbd.com"
; ; 用户中心host
config.url.userHost = ""
;
; ; oss 域名
config.url.ossHost = "https://qmoss-01.oss-cn-hangzhou.aliyuncs.com"
;
; ;推送域名
config.url.pushHost="172.16.142.15:9503";
config.url.indexUrl="/alidata/www/api.shenbd.com/application/library/React"
config.url.libary="/alidata/www/api.shenbd.com/application/library"
[product : common]
; 测试环境配置
......
<?php
echo unserialize('a:5:{i:1064;a:3:{s:4:\"gcId\";i:1064;s:6:\"gcName\";s:6:\"\xe5\x9b\xbe\xe4\xb9\xa6\";s:7:\"gcImage\";s:79:\"https://qmoss-01.oss-cn-hangzhou.aliyuncs.com/mall/common/category-pic-1064.jpg\";}i:1153;a:3:{s:4:\"gcId\";i:1153;s:6:\"gcName\";s:6:\"\xe6\x9c\x8d\xe8\xa3\x85\";s:7:\"gcImage\";s:79:\"https://qmoss-01.oss-cn-hangzhou.aliyuncs.com/mall/common/category-pic-1153.jpg\";}i:1212;a:3:{s:4:\"gcId\";i:1212;s:6:\"gcName\";s:6:\"\xe7\x94\x9f\xe9\xb2\x9c\";s:7:\"gcImage\";s:79:\"https://qmoss-01.oss-cn-hangzhou.aliyuncs.com/mall/common/category-pic-1212.jpg\";}i:1233;a:3:{s:4:\"gcId\";i:1233;s:6:\"gcName\";s:6:\"\xe7\xae\xb1\xe5\x8c\x85\";s:7:\"gcImage\";s:79:\"https://qmoss-01.oss-cn-hangzhou.aliyuncs.com/mall/common/category-pic-1233.jpg\";}i:1244;a:3:{s:4:\"gcId\";i:1244;s:6:\"gcName\";s:12:\"\xe7\xbe\x8e\xe5\xa6\x86\xe7\xbe\x8e\xe6\x8a\xa4\";s:7:\"gcImage\";s:79:\"https://qmoss-01.oss-cn-hangzhou.aliyuncs.com/mall/common/category-pic-1244.jpg\";}}');exit;
echo 24234;exit;
echo 1;exit;
$redis =new Redis();
$redis->connect('127.0.0.1','6379');
$redis->rPush('test',0);
......
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