Commit da65973d authored by zhz's avatar zhz

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

parents 791a90fe f1669566
......@@ -138,6 +138,7 @@ class CartController extends \Our\Controller_AbstractApi{
$gcIds = isset($cartList['gcIds'])?$cartList['gcIds']:array();
$storeCartData = array('cartList'=>$cartList['list'],'storeIds'=>array_keys($cartList['list']),'goodsIds'=>$cartList['goodsIds'],'goodsCommonIds'=>$cartList['goodsCommonIds'],'blIds'=>$cartList['blIds'],'gcIds'=>$gcIds);
$storeCartData = $cartService->checkCouponForCart($storeCartData,$this->memberId);
//$this->success($storeCartData);
$storeCartData = $cartService->getDeliveryTypeForCart($address,$storeCartData);
$data = $cartService->getFormatCartListForOrder($storeCartData,$address);
$this->success($data);
......
......@@ -122,7 +122,11 @@ class MessageController extends \Our\Controller_AbstractApi {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::receiveError);
}
}
public function getUnreadCountAction(){
$messageService = \Business\Message\MessageServiceModel::getInstance();
$unreadCount=$messageService->getUnreadCountByMemberIdAndType($this->memberId);
$this->success(array('unreadCount'=>$unreadCount));
}
public function setAction(){
$messageService = \Business\Message\MessageServiceModel::getInstance();
$type=$this->req['data']['type'];
......
......@@ -42,7 +42,7 @@ class ImageConst{
//商品、商家头像等默认图片路径
const defaultPath = 'mall/common/';
const storeClassAdvImagePrefix = 'mall/store/goods/classify';
const storeClassAdvImagePrefix = 'mall/store/goods/classify/';
const defaultMemberAvatarName = 'default_member_avatar.jpg';
......
......@@ -597,21 +597,29 @@ class CartServiceModel extends \Business\AbstractModel{
$deliverySetting['buyerDistribution'] = $store['buyer_distribution'];
$deliverySetting['sellerDistribution'] = $store['seller_distribution'];
if($deliverySetting['sellerDistribution']&&$address){
$str = str_replace('\"','"',$store['store_sales_scope']);
$store_sales_scope = json_decode($str,true);
$result = \Our\CommonExtension::isPointInPolygon($store_sales_scope, array('lng'=>$address['lng'],'lat'=>$address['lat']));
$storeDistance = \Our\CommonExtension::getDistance($address['lat'],$address['lng'],$store['store_latitude'],$store['store_longitude'],\Our\ApiConst::one);
if($result){
$deliverTimeList = $deliveryFormulaDao->getDeliveryFormulaForCart($store,$storeDistance,$storeCarts['deliveryFreeFlag']);
if($deliverTimeList){
$deliverySetting['deliverTimeList'] =$deliverTimeList;
$storeCartData['cartList'][$storeId]['storeDistance'] = $storeDistance;
if((isset($store['start_shipping_price'])&&$store['start_shipping_price']>\Our\ApiConst::zero)&&$storeCarts['storeTotalPrice']<$store['start_shipping_price']){
$deliverySetting['sellerDistribution'] = \Our\ApiConst::zero;
}else{
$deliveryFreeFlag = $storeCarts['deliveryFreeFlag'];
if((isset($store['free_shipping_price'])&&$store['free_shipping_price']>\Our\ApiConst::zero)&&$storeCarts['storeTotalPrice']>=$store['free_shipping_price']){
$deliveryFreeFlag = \Our\ApiConst::one;
}
$str = str_replace('\"','"',$store['store_sales_scope']);
$store_sales_scope = json_decode($str,true);
$result = \Our\CommonExtension::isPointInPolygon($store_sales_scope, array('lng'=>$address['lng'],'lat'=>$address['lat']));
$storeDistance = \Our\CommonExtension::getDistance($address['lat'],$address['lng'],$store['store_latitude'],$store['store_longitude'],\Our\ApiConst::one);
if($result){
$deliverTimeList = $deliveryFormulaDao->getDeliveryFormulaForCart($store,$storeDistance,$deliveryFreeFlag);
if($deliverTimeList){
$deliverySetting['deliverTimeList'] =$deliverTimeList;
$storeCartData['cartList'][$storeId]['storeDistance'] = $storeDistance;
}else{
$deliverySetting['sellerDistribution'] = \Our\ApiConst::zero;
}
}else{
$deliverySetting['sellerDistribution'] = \Our\ApiConst::zero;
}
}else{
$deliverySetting['sellerDistribution'] = \Our\ApiConst::zero;
}
}else{
$deliverySetting['sellerDistribution'] = \Our\ApiConst::zero;
......
......@@ -315,12 +315,16 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$childrenClasses = array();
if(isset($treeGcIds[$secondGcId][\Our\ApiConst::zero])&&$newPlatThirdGcList){
foreach($treeGcIds[$secondGcId][\Our\ApiConst::zero] as $tempPaltThirdGcId){
$childrenClasses[] = $newPlatThirdGcList[$tempPaltThirdGcId];
$tempPlatClass = $newPlatThirdGcList[$tempPaltThirdGcId];
$tempPlatClass['storeFlag'] = \Our\ApiConst::zero;
$childrenClasses[] = $tempPlatClass;
}
}
if(isset($treeGcIds[$secondGcId][\Our\ApiConst::one])&&$storeThirdGcList){
foreach($treeGcIds[$secondGcId][\Our\ApiConst::one] as $tempStoreThirdGcId){
$childrenClasses[] = $storeThirdGcList[$tempStoreThirdGcId];
$tempStoreClass = $storeThirdGcList[$tempStoreThirdGcId] ;
$tempStoreClass['storeFlag'] = \Our\ApiConst::one;
$childrenClasses[] = $tempStoreClass;
}
}
$returnTemp['childClasses'] = $childrenClasses;
......
......@@ -950,7 +950,7 @@ class GroupSaleServiceModel extends \Business\AbstractModel {
$tempObj['goodsAttr'] = $goodsDao->getFormatGoodsAttr($goods['goods_spec']);
}
$store = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$storeDao, 'getInfoById'),array($storeId,\Our\NameConst::allField,false,\Our\DbNameConst::salveDBConnectName),\Our\ApiConst::oneHour);
$store = $storeDao->get($storeId,false);
$tempObj['goodsMid'] = $store['member_id'];
$storeCarts[] = $tempObj;
$temp['goodsFreight'] = $goodsFreight;
......
......@@ -88,7 +88,11 @@ class MessageServiceModel extends \Business\AbstractModel
}
public function getUnreadCountByMemberIdAndType($toId){
$messageHistoryDao=\DAO\MessageHistoryModel::getInstance();
$count=$messageHistoryDao->getUnreadCountByToIdAndToType($toId);
return $count;
}
/**
* 根据消息类型获得一条消息,已经未读消息数量
*
......@@ -238,17 +242,17 @@ class MessageServiceModel extends \Business\AbstractModel
$memberHistory = $memageHistoryDao->getOneById($messageHistoryId);
$isSuccess = false;
if ($memberHistory['fromId'] == $memberId) {
if ($memberHistory['status'] == ApiConst::recieveRemove) {
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'status', ApiConst::remove);
if ($memberHistory['isDel'] == ApiConst::recieveRemove) {
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'isDel', ApiConst::remove);
} else {
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'status', ApiConst::sendRemove);
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'isDel', ApiConst::sendRemove);
}
}
if ($memberHistory['toId'] == $memberId) {
if ($memberHistory['status'] == ApiConst::sendRemove) {
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'status', ApiConst::remove);
if ($memberHistory['isDel'] == ApiConst::sendRemove) {
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'isDel', ApiConst::remove);
} else {
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'status', ApiConst::recieveRemove);
$isSuccess = $memageHistoryDao->update($messageHistoryId, 'isDel', ApiConst::recieveRemove);
}
}
return $isSuccess;
......
......@@ -254,7 +254,9 @@ class OrderServiceModel extends \Business\AbstractModel
$this->orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderId, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond, array($orderId));
//商店相关信息
$this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($this->order['storeId'], $this->storeField), \Our\ApiConst::oneDaySecond);
$this->store=$storeDao->get($this->order['storeId']);
$this->store=Common::convertUnderline($this->store[0]);
// $this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($this->order['storeId'], $this->storeField), \Our\ApiConst::oneDaySecond,array($this->order['storeId']));
$returnData = $this->order;
//配送员信息
$this->diliveryman = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$diliverymanDao, 'findById'), array($returnData['diliverymanId']), \Our\ApiConst::oneDaySecond);
......@@ -277,7 +279,7 @@ class OrderServiceModel extends \Business\AbstractModel
$returnData['diliverymanId'] = ApiConst::zero;
$returnData['deliveryman'] = new \stdClass();
}
$returnData['storeMemberId']=$this->store['memberId'];
$returnData['totalGoodsNum'] = $orderGoodsDao->getGoodsCount($this->orderGoodsList);
$returnData['offlinePayway'] = $this->store['offlinePayway'] ? $this->store['offlinePayway'] : '';
$returnData['reciverInfo'] = $this->address;
......
......@@ -217,6 +217,7 @@ class RefundServiceModel extends \Business\AbstractModel
//退款原因列表
$refundReasonDao = \DAO\Order\RefundReasonModel::getInstance();
$storeDao = \DAO\StoreModel::getInstance();
$refundReasonList = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$refundReasonDao, 'getAll'), array($this->refunReasonField), \Our\ApiConst::oneDaySecond);
$shippingTypes = array_values(ArrayConst::refundShippingType);
$refundTypes = array_values(ArrayConst::refundTypes);
......@@ -228,11 +229,14 @@ class RefundServiceModel extends \Business\AbstractModel
if (empty($orderInfo)) {
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
//获得订单商品
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance();
$orderGoodses = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderInfo['orderId'], $this->orderGoodsField), \Our\ApiConst::oneDaySecond);
$orderGoodses = $orderGoodsDao->convertOrderGoods($orderGoodses, 'goodsId');
$goodsIds = $orderGoodsDao->getRefundOrderGoodsIds($orderGoodses);
$this->store=$storeDao->get($this->order['storeId']);
$this->store=Common::convertUnderline($this->store[0]);
if(!empty($orderGoodses[$goodsId])){
$orderGoods = $orderGoodses[$goodsId];
}
......@@ -261,6 +265,7 @@ class RefundServiceModel extends \Business\AbstractModel
'storeName'=>$orderInfo['storeName'],
'storeId'=>$orderInfo['storeId'],
'refundSeletedId'=>$orderDao->selectedTypeId($orderInfo),
'storeMemberId'=>$this->store['memberId']
);
$refundCondition = $orderInfo['refundCondition'] ? unserialize($orderInfo['refundCondition']) : array();
$returnData['needShippingFee'] = $orderInfo['needShippingFee'];
......@@ -430,6 +435,7 @@ class RefundServiceModel extends \Business\AbstractModel
{
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance();
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance();
$storeDao = \DAO\StoreModel::getInstance(DbNameConst::salveDBConnectName);
$goodsDao = \DAO\GoodsModel::getInstance();
$refundReturn = $refundReturnDao->findByRefundId($returnId, $this->refundReturnField);
$diliveryManDao=\DAO\Order\DiliverymanModel::getInstance(DbNameConst::salveDBConnectName);
......@@ -437,6 +443,8 @@ class RefundServiceModel extends \Business\AbstractModel
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
$orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$orderGoodsDao, 'findByRecId'), array($refundReturn['orderGoodsId'], $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond);
$this->store=$storeDao->get($refundReturn['storeId']);
$this->store=Common::convertUnderline($this->store[0]);
$refundReturn['goodsGroup'] = $goodsDao->getGoodsGroup($orderGoods['goodsGroup']);
$refundReturn['goodsAttr'] = $goodsDao->getFormatGoodsAttr($orderGoods['goodsSpec']);
$refundReturn['sellerStateName'] = ArrayConst::sellerState[$refundReturn['sellerState']];
......@@ -447,8 +455,9 @@ class RefundServiceModel extends \Business\AbstractModel
$refundReturn['picInfo'] = $refundReturnDao->getRefundPics($refundReturn['picInfo']['buyer']);
}
//平台操作类型
$refundReturn['storeMemberId']=$this->store['memberId'];
$refundReturn['platformStateName'] = ArrayConst::platformState[$refundReturn['platformState']];
$refundReturn['refundShippingTypeName'] = ArrayConst::refundShippingType[$refundReturn['refundShippingType']]['name'];
$refundReturn['refundShippingTypeName'] = ArrayConst::refundShippingType[$refundReturn['refundShippingType']]['name'];
$refundReturn['refundText'] = $refundReturnDao->getRefundTextStatus($refundReturn);
$refundReturn['goodsImage'] = ImageUtil::getGoodsImgUrl($refundReturn['goodsImage'], ApiConst::goodsSmallSize);
$addressDao = \DAO\Order\DAddressModel::getInstance();
......
......@@ -34,7 +34,7 @@ class GoodsClassThirdModel extends \DAO\AbstractModel{
public function getListByIdsFromCache($ids){
$field = $this->thirdStoreClassField;
$returnList = \Our\RedisHelper::cachedFunction(\Redis\Db3\GoodsClassThirdModelRedisModel::getInstance(),array(&$this, 'getListByIds'),array($ids,$field),\Our\ApiConst::oneDaySecond);
$returnList = \Our\RedisHelper::cachedFunction(\Redis\Db3\GoodsClassThirdRedisModel::getInstance(),array(&$this, 'getListByIds'),array($ids,$field),\Our\ApiConst::oneDaySecond);
return $returnList;
}
......@@ -51,7 +51,7 @@ class GoodsClassThirdModel extends \DAO\AbstractModel{
$whereSql = $this->db->getSqlWhereByArray($where);
$this->db->select($field)->from($this->_tableName)->where($whereSql);
foreach($order as $key=>$val){
$this->db->order($val,$key);
$this->db->order($key,$val);
}
$list =$this->db->fetchAll();
$returnList = array();
......
......@@ -38,12 +38,19 @@ class MessageHistoryModel extends \DAO\AbstractModel {
*
*/
public function getListByMemberIdAndToIdAndToType($memberId,$selfType,$toId,$toType,$field='*',$pageIndex=0,$pageSize=20){
$where=Common::format(" ((fromId={0} and toId={1} and toType={2} and fromType={3} and status<>2) or (fromId={4} and toId={5} and fromType={6} and toType={7} and status<>3)) and status<>-1",$memberId,$toId,$toType,$selfType,$toId,$memberId,$toType,$selfType);
$where=Common::format(" ((fromId={0} and toId={1} and toType={2} and fromType={3} and isDel not in(-1,2)) or (fromId={4} and toId={5} and fromType={6} and toType={7} and isDel not in(-1,3)))",$memberId,$toId,$toType,$selfType,$toId,$memberId,$toType,$selfType);
parent::setDb();
$messages=$this->lists($where,array('gmtCreate'=>'desc'),$field,$pageIndex,$pageSize);
return $messages;
}
public function getUnreadCountByToIdAndToType($toId,$toType){
$this->setDb($this->dbName);
$where=Common::format(" (toId={0} and status ={2})",$toId,$toType,ApiConst::unread);
$num=$this->db->from($this->_tableName)->select("count(*) as count")->where($where)->fetchNum();
return $num?$num:ApiConst::zero;
}
public function getOneById($id,$field='*'){
parent::setDb();
$where[$this->_primaryKey]=$id;
......@@ -65,7 +72,7 @@ class MessageHistoryModel extends \DAO\AbstractModel {
}
public function updateByFromIdAndSelfTypeAndToIdAndToType($fromId,$fromType,$toId,$toType){
$where=Common::format(" (((fromId={0} and toId={1} and toType={2} and fromType={3}) or (toId={2} and fromId={3} and fromType={0} and toType={1})) and status=0)",$toId,$fromId,$fromType,$toType);
$where=Common::format(" (((fromId={0} and toId={1} and toType={2} and fromType={3}) and status=0))",$toId,$fromId,$fromType,$toType);
$data['status']=ApiConst::read;
return $this->updateByWhere($where,$data);
}
......
......@@ -846,6 +846,7 @@ class OrderModel extends \DAO\AbstractModel
$favoritesStoreDao->deleteGetFavoritesCountByStoreId($stroeId);
}
$this->deleteGetListByMemberId($stroeId);
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsDao->deleteOrderGoodsCache($memberId, $orderId,$stroeId);
}
......
......@@ -6,7 +6,7 @@ namespace Redis\Db3;
* Time: 17:54
* Description:
*/
class GoodsClassThirdModelRedisModel extends \Redis\Db3\AbstractModel{
class GoodsClassThirdRedisModel extends \Redis\Db3\AbstractModel{
/**
* 表名
*
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得已发送消息的用户列表和(系统消息,订单消息,快递用户消息最后一条消息)</title>
<style>
</style>
</head>
<body>
<form action="/message/getUnreadCount" method="post">
用户登录状态key:<input name="data[key]" value="fd4b739c4815297044191451eabf0eb5"/><br />
<input type="submit" value="提交">
</form>
</body>
</html>
\ No newline at end of file
......@@ -12,7 +12,7 @@
用户登录状态key:<input name="data[key]" value="ceb72deab920ac0edb7272b2ed9dfa1e"/><br />
订单状态id:<input name="data[orderState]" value=""/><br />
订单号:<input name="data[keyword]" value="400"/><br />
keyword:<input name="data[keyword]" value="400"/><br />
<p id="img_area"></p>
<input type="submit" value="提交">
</form>
......
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