Commit 1a6816fc authored by wwccw0591's avatar wwccw0591

message

parents b7ad6684 bae7cba9
...@@ -97,7 +97,7 @@ class MessageController extends \Our\Controller_AbstractApi { ...@@ -97,7 +97,7 @@ class MessageController extends \Our\Controller_AbstractApi {
if($button['type']==\Our\ApiConst::messageButtonTypeConfirmButton){ if($button['type']==\Our\ApiConst::messageButtonTypeConfirmButton){
$orderService= \Business\Order\OrderServiceModel::getInstance(); $orderService= \Business\Order\OrderServiceModel::getInstance();
$this->message=\Our\DescribeConst::confirmOrderSuccess; $this->message=\Our\DescribeConst::confirmOrderSuccess;
return $orderService->confirmRecieve($this->memberId,$button['params']['orderId']); return $orderService->confirmRecieve($button['params']['orderId'],$this->memberId);
} }
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError); \Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
} }
...@@ -117,7 +117,7 @@ class MessageController extends \Our\Controller_AbstractApi { ...@@ -117,7 +117,7 @@ class MessageController extends \Our\Controller_AbstractApi {
} }
$res=$this->getServiceUpdate($res); $res=$this->getServiceUpdate($res);
if($res!==false){ if($res!==false){
$this->success($res,$this->message); $this->success($this->message,$this->message);
}else{ }else{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::receiveError); \Error\ErrorModel::throwException(\Error\CodeConfigModel::receiveError);
} }
...@@ -132,6 +132,7 @@ class MessageController extends \Our\Controller_AbstractApi { ...@@ -132,6 +132,7 @@ class MessageController extends \Our\Controller_AbstractApi {
$pushSet['canPush']=$this->req['data']['canPush']; $pushSet['canPush']=$this->req['data']['canPush'];
$pushSet['sound']=$this->req['data']['sound']; $pushSet['sound']=$this->req['data']['sound'];
$pushSet['vibrate']=$this->req['data']['vibrate']; $pushSet['vibrate']=$this->req['data']['vibrate'];
$pushSet['timeDiff']=$this->req['data']['timeDiff'];
if(isset($pushSet['canPush'])&& isset($pushSet['sound']) && isset($pushSet['vibrate']) ){ if(isset($pushSet['canPush'])&& isset($pushSet['sound']) && isset($pushSet['vibrate']) ){
$res=$messageService->set($this->memberId,$pushSet); $res=$messageService->set($this->memberId,$pushSet);
if($res){ if($res){
......
...@@ -58,7 +58,7 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -58,7 +58,7 @@ class UserController extends \Our\Controller_AbstractIndex {
$this->sess[NameConst::sessionKey]=$this->key; $this->sess[NameConst::sessionKey]=$this->key;
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
$this->memberService->saveMember($member); $this->memberService->saveMember($member);
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'])); $this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id']));
}else{ }else{
ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword); ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword);
} }
...@@ -118,7 +118,7 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -118,7 +118,7 @@ class UserController extends \Our\Controller_AbstractIndex {
$this->sess[NameConst::sessionKey]=$this->key; $this->sess[NameConst::sessionKey]=$this->key;
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
$this->memberService->saveMember($member); $this->memberService->saveMember($member);
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'])); $this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>$member['member_id']));
} }
ErrorModel::throwException(CodeConfigModel::registerMemberFailed); ErrorModel::throwException(CodeConfigModel::registerMemberFailed);
} }
...@@ -141,7 +141,7 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -141,7 +141,7 @@ class UserController extends \Our\Controller_AbstractIndex {
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
$member['login_time']=TIMESTAMP; $member['login_time']=TIMESTAMP;
$this->memberService->saveMember($member); $this->memberService->saveMember($member);
$this->success(array('userFlag'=>\Our\ApiConst::one,'key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'])); $this->success(array('userFlag'=>\Our\ApiConst::one,'key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id']));
}else{ }else{
$this->success(array('userFlag'=>\Our\ApiConst::zero)); $this->success(array('userFlag'=>\Our\ApiConst::zero));
} }
......
...@@ -48,7 +48,7 @@ class ClientPush ...@@ -48,7 +48,7 @@ class ClientPush
return $baseTitle; return $baseTitle;
} }
private function getMessageContent($message){ private function getMessageContent($message){
$messageContent=''; $messageContent='推送消息:';
switch($message['type']){ switch($message['type']){
case ApiConst::reacheCallMessage: case ApiConst::reacheCallMessage:
case ApiConst::refundReturnMessage: case ApiConst::refundReturnMessage:
...@@ -58,24 +58,27 @@ class ClientPush ...@@ -58,24 +58,27 @@ class ClientPush
case ApiConst::orderReceiveMessage: case ApiConst::orderReceiveMessage:
case ApiConst::orderMessageType:$messageContent=$message['content'];break; case ApiConst::orderMessageType:$messageContent=$message['content'];break;
case ApiConst::onePictureMessage:$messageContent=DescribeConst::imageMessage;break; case ApiConst::onePictureMessage:$messageContent=DescribeConst::imageMessage;break;
default:$messageContent=$messageContent.$message['content'];;break;
} }
return $messageContent; return $messageContent;
} }
public function push($pushData) public function push($pushData)
{ {
$title=$this->getMessageType($pushData['fromType']); // echo json_encode($pushData);
$title=$this->getMessageType($pushData['fromType']);
$messageContent=$this->getMessageContent($pushData['message']); $messageContent=$this->getMessageContent($pushData['message']);
// $pushObject=array('id'=>$toId,'memberName'=>'abc');
// $pushData['toId']=249;
try { try {
$response = $this->client->push() $response = $this->client->push()
->setPlatform(array('ios', 'android')) ->setPlatform('all')
// 一般情况下,关于 audience 的设置只需要调用 addAlias、addTag、addTagAnd 或 addRegistrationId // 一般情况下,关于 audience 的设置只需要调用 addAlias、addTag、addTagAnd 或 addRegistrationId
// 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集 // 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集
// 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求 // 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求
// ->addAlias('alias') ->addAlias((string)$pushData['toId'])
// ->addTag(array('tag1', 'tag2')) // ->addTag(array($pushData['toId'], 'tag2'))
->addRegistrationId($pushData['toId']) //->addRegistrationId($pushData['toId'])
->setNotificationAlert($title) ->setNotificationAlert($title)
->iosNotification($messageContent, array( ->iosNotification($messageContent, array(
...@@ -87,14 +90,14 @@ class ClientPush ...@@ -87,14 +90,14 @@ class ClientPush
'extras' => $pushData, 'extras' => $pushData,
)) ))
->androidNotification($messageContent, array( ->androidNotification($messageContent, array(
'title' => $title, 'title' =>$title,
// 'builder_id' => 2, // 'builder_id' => 2,
'extras' => $pushData, 'extras' => $pushData,
)) ))
->message($messageContent, array( ->message($messageContent, array(
'title' => 'hello jpush', 'title' => $title,
'content_type' => $pushData['type'], 'content_type' => $pushData['message']['type'],
'extras' => $pushData, 'extras' => $pushData,
)) ))
->options(array( ->options(array(
// sendno: 表示推送序号,纯粹用来作为 API 调用标识, // sendno: 表示推送序号,纯粹用来作为 API 调用标识,
......
This diff is collapsed.
...@@ -30,7 +30,7 @@ try { ...@@ -30,7 +30,7 @@ try {
// 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集 // 这四个方法中的某一个即可,这里仅作为示例,当然全部调用也可以,多项 audience 调用表示其结果的交集
// 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求 // 即是说一般情况下,下面三个方法和没有列出的 addTagAnd 一共四个,只适用一个便可满足大多数的场景需求
// ->addAlias('alias') ->addAlias('alias')
->addTag(array('tag1', 'tag2')) ->addTag(array('tag1', 'tag2'))
// ->addRegistrationId($registration_id) // ->addRegistrationId($registration_id)
......
...@@ -77,11 +77,13 @@ class ApiConst ...@@ -77,11 +77,13 @@ class ApiConst
const orderMessageType = 2; const orderMessageType = 2;
//快递消息 //快递消息
const deliveryMessageType = 3; const deliveryMessageType = 3;
//客服类型的消息
const serviceMessageType=7;
//店铺消息类型 //店铺消息类型
const storeMessageType = 4; const storeMessageType = 4;
//普通用户消息类型 //普通用户消息类型
const memberMessageType = 5; const memberMessageType = 5;
const ordinaryMessage=0; const ordinaryMessage=0;
const onePictureMessage=21; const onePictureMessage=21;
......
...@@ -448,6 +448,7 @@ class Common ...@@ -448,6 +448,7 @@ class Common
} }
} }
$orders=array_values($list2key); $orders=array_values($list2key);
array_multisort(array_column($orders,'gmtUpdate'),SORT_DESC,$orders);
return $orders; return $orders;
} }
// //合并一对多列表 // //合并一对多列表
......
...@@ -148,8 +148,8 @@ class DescribeConst ...@@ -148,8 +148,8 @@ class DescribeConst
const refundRetund='退货'; const refundRetund='退货';
//用户订单送达消息 //用户订单送达消息
const reacheRemindTitle='您的订单已经送达'; const reacheRemindTitle='你的订单卖家已经送达';
const reacheRemindContent='您有新的订单号为{0}的订单已经送达'; const reacheRemindContent='你有新的订单号为{0}的订单已经已经送达';
//店铺有新订单 //店铺有新订单
const recieveWaitTitle='您有新的订单'; const recieveWaitTitle='您有新的订单';
......
...@@ -240,6 +240,9 @@ class CartServiceModel extends \Business\AbstractModel{ ...@@ -240,6 +240,9 @@ class CartServiceModel extends \Business\AbstractModel{
foreach($validReturnData as $goods){ foreach($validReturnData as $goods){
$newCart = array(); $newCart = array();
$store = $storeDao->get($goods['store_id'],false); $store = $storeDao->get($goods['store_id'],false);
if($store['member_id']==$memberId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongAddCartForSelfStore);
}
if(!($storeIds&&in_array($goods['store_id'],$storeIds))){ if(!($storeIds&&in_array($goods['store_id'],$storeIds))){
$storeIds[]=$goods['store_id']; $storeIds[]=$goods['store_id'];
} }
...@@ -263,6 +266,9 @@ class CartServiceModel extends \Business\AbstractModel{ ...@@ -263,6 +266,9 @@ class CartServiceModel extends \Business\AbstractModel{
}else{ }else{
$goods = $validReturnData; $goods = $validReturnData;
$store = $storeDao->get($goods['store_id'],false); $store = $storeDao->get($goods['store_id'],false);
if($store['member_id']==$memberId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongAddCartForSelfStore);
}
$storeIds[]=$goods['store_id']; $storeIds[]=$goods['store_id'];
$newCart['store_id'] = $goods['store_id']; $newCart['store_id'] = $goods['store_id'];
$newCart['goods_id'] = $goods['goods_id']; $newCart['goods_id'] = $goods['goods_id'];
...@@ -291,6 +297,9 @@ class CartServiceModel extends \Business\AbstractModel{ ...@@ -291,6 +297,9 @@ class CartServiceModel extends \Business\AbstractModel{
public function getPBundlingGoodsCartData($blNum,$memberId,$pBundling){ public function getPBundlingGoodsCartData($blNum,$memberId,$pBundling){
$storeDao = \DAO\StoreModel::getInstance(\Our\DbNameConst::masterDBConnectName); $storeDao = \DAO\StoreModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$store = $storeDao->get($pBundling['store_id'],false); $store = $storeDao->get($pBundling['store_id'],false);
if($store['member_id']==$memberId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongAddCartForSelfStore);
}
$newCart['store_id'] = $pBundling['store_id']; $newCart['store_id'] = $pBundling['store_id'];
$newCart['goods_id'] = $pBundling['blId']; $newCart['goods_id'] = $pBundling['blId'];
$newCart['goods_commonid'] = \Our\ApiConst::zero; $newCart['goods_commonid'] = \Our\ApiConst::zero;
......
...@@ -757,6 +757,9 @@ class GroupSaleServiceModel extends \Business\AbstractModel { ...@@ -757,6 +757,9 @@ class GroupSaleServiceModel extends \Business\AbstractModel {
} }
if(isset($storeCarts)&&count($storeCarts)>\Our\ApiConst::zero){ if(isset($storeCarts)&&count($storeCarts)>\Our\ApiConst::zero){
$store = $storeDao->get($storeId,false); $store = $storeDao->get($storeId,false);
if($store['member_id']==$memberId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::selfGoodsForStoreOrder);
}
$temp['storeName'] = $store['store_name']; $temp['storeName'] = $store['store_name'];
$temp['storeId'] = $storeId; $temp['storeId'] = $storeId;
$temp['storeCarts'] = $storeCarts; $temp['storeCarts'] = $storeCarts;
...@@ -790,6 +793,10 @@ class GroupSaleServiceModel extends \Business\AbstractModel { ...@@ -790,6 +793,10 @@ class GroupSaleServiceModel extends \Business\AbstractModel {
$cartRedis->update($memberStoreCartsKey,$temp,\Our\ApiConst::oneHour);*/ $cartRedis->update($memberStoreCartsKey,$temp,\Our\ApiConst::oneHour);*/
} }
}else{ }else{
$store = $storeDao->get($storeId,false);
if($store['member_id']==$memberId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::selfGoodsForStoreOrder);
}
$result[$storeId]=$returnStoreCartsObj['storeCarts']; $result[$storeId]=$returnStoreCartsObj['storeCarts'];
} }
} }
...@@ -954,6 +961,9 @@ class GroupSaleServiceModel extends \Business\AbstractModel { ...@@ -954,6 +961,9 @@ class GroupSaleServiceModel extends \Business\AbstractModel {
} }
$store = $storeDao->get($storeId,false); $store = $storeDao->get($storeId,false);
if($store['member_id']==$memberId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::selfGoodsForStoreOrder);
}
$tempObj['goodsMid'] = $store['member_id']; $tempObj['goodsMid'] = $store['member_id'];
$storeCarts[] = $tempObj; $storeCarts[] = $tempObj;
$temp['goodsFreight'] = $goodsFreight; $temp['goodsFreight'] = $goodsFreight;
......
...@@ -24,7 +24,7 @@ class MessageServiceModel extends \Business\AbstractModel ...@@ -24,7 +24,7 @@ class MessageServiceModel extends \Business\AbstractModel
private $messageDao; private $messageDao;
public $memberId; public $memberId;
private $memberMessageField = 'message_id,message_title,message_body,message_type,tpl_type,record_id'; private $memberMessageField = 'message_id,message_title,message_body,message_type,tpl_type,record_id';
private $baseRedis;
public function init() public function init()
{ {
...@@ -122,16 +122,16 @@ class MessageServiceModel extends \Business\AbstractModel ...@@ -122,16 +122,16 @@ class MessageServiceModel extends \Business\AbstractModel
public function getAvatar($type, $userid = 0, $db = DbNameConst::masterDBConnectName) public function getAvatar($type, $userid = 0, $db = DbNameConst::masterDBConnectName)
{ {
$avatar = ''; $avatar = '';
if ($type == 1) { if ($type == ApiConst::systemMessageType) {
$avatar = Common::getStaticFile(ImageConst::sysAvatarName, ImageConst::systemAvatar, ImageConst::imageDomain); $avatar = Common::getStaticFile(ImageConst::sysAvatarName, ImageConst::systemAvatar, ImageConst::imageDomain);
} }
if ($type == 2) { if ($type == ApiConst::orderMessageType) {
$avatar = Common::getStaticFile(ImageConst::orderAvatarName, ImageConst::systemAvatar); $avatar = Common::getStaticFile(ImageConst::orderAvatarName, ImageConst::systemAvatar);
} }
if ($type == 3) { if ($type == ApiConst::deliveryMessageType) {
$avatar = Common::getStaticFile(ImageConst::expressAvatarName, ImageConst::systemAvatar, ImageConst::imageDomain); $avatar = Common::getStaticFile(ImageConst::expressAvatarName, ImageConst::systemAvatar, ImageConst::imageDomain);
} }
if ($type == 4) { if ($type == ApiConst::storeMessageType) {
$store = \DAO\StoreModel::getInstance(); $store = \DAO\StoreModel::getInstance();
$storeData=\Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$store, 'getInfoById'), array($userid, $store->detailField), \Our\ApiConst::oneDaySecond); $storeData=\Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$store, 'getInfoById'), array($userid, $store->detailField), \Our\ApiConst::oneDaySecond);
$avatar=$storeData['storeLabel']; $avatar=$storeData['storeLabel'];
...@@ -139,7 +139,7 @@ class MessageServiceModel extends \Business\AbstractModel ...@@ -139,7 +139,7 @@ class MessageServiceModel extends \Business\AbstractModel
$avatar = Common::getStaticFile($avatar, ImageConst::storeLabel, ImageConst::imageDomain); $avatar = Common::getStaticFile($avatar, ImageConst::storeLabel, ImageConst::imageDomain);
} }
if ($type == 5) { if ($type == ApiConst::memberMessageType || $type==ApiConst::serviceMessageType) {
$member = \DAO\MemberModel::getInstance(); $member = \DAO\MemberModel::getInstance();
$memerAvatar = $member->getInfo($userid, 'member_avatar'); $memerAvatar = $member->getInfo($userid, 'member_avatar');
$avatar = $member->getMemberAvatarUrl($userid, $memerAvatar); $avatar = $member->getMemberAvatarUrl($userid, $memerAvatar);
...@@ -170,9 +170,9 @@ class MessageServiceModel extends \Business\AbstractModel ...@@ -170,9 +170,9 @@ class MessageServiceModel extends \Business\AbstractModel
foreach ($messageOneList['list'] as &$val) { foreach ($messageOneList['list'] as &$val) {
$self = $this->getUserByMemberIdAndSelfType($val['fromId'], $val['fromType']); $self = $this->getUserByMemberIdAndSelfType($val['fromId'], $val['fromType']);
$toMember = $this->getUserByMemberIdAndSelfType($val['toId'], $val['toType']); $toMember = $this->getUserByMemberIdAndSelfType($val['toId'], $val['toType']);
$val['toAvatar'] = $self['avatar']; $val['toAvatar'] = $toMember['avatar'];
$val['message'] =$messageHistoryDao->convertMessage($val['message']); $val['message'] =$messageHistoryDao->convertMessage($val['message']);
$val['fromAvatar'] = $toMember['avatar']; $val['fromAvatar'] = $self['avatar'];
// $val['toAvatar']=$this->getAvatar($val['toType'],$val['toId']); // $val['toAvatar']=$this->getAvatar($val['toType'],$val['toId']);
// $val['fromAvatar']=$this->getAvatar($val['fromType'],$val['fromId']); // $val['fromAvatar']=$this->getAvatar($val['fromType'],$val['fromId']);
} }
...@@ -192,7 +192,7 @@ class MessageServiceModel extends \Business\AbstractModel ...@@ -192,7 +192,7 @@ class MessageServiceModel extends \Business\AbstractModel
$member['uid'] = $store['store_id']; $member['uid'] = $store['store_id'];
$member['name'] = $store['store_name']; $member['name'] = $store['store_name'];
} }
if ($type == ApiConst::memberMessageType || $type==ApiConst::memberMessageType) { if ($type == ApiConst::memberMessageType || $type==ApiConst::serviceMessageType) {
$memberDao = \DAO\MemberModel::getInstance(); $memberDao = \DAO\MemberModel::getInstance();
$member = $memberDao->getOneByMemberId($memberId, 'member_id,member_name'); $member = $memberDao->getOneByMemberId($memberId, 'member_id,member_name');
$member['uid'] = $member['member_id']; $member['uid'] = $member['member_id'];
...@@ -371,13 +371,13 @@ class MessageServiceModel extends \Business\AbstractModel ...@@ -371,13 +371,13 @@ class MessageServiceModel extends \Business\AbstractModel
public function addMessageCenterToDb() public function addMessageCenterToDb()
{ {
$conf = \Yaf\Registry::get('config')->get('redis.database.params'); $conf = \Yaf\Registry::get('config')->get('redis.database.params');
$redis = new \Redis(); $this->baseRedis = new \Redis();
$redis->pconnect($conf['host'], $conf['port']); $this->baseRedis->pconnect($conf['host'], $conf['port']);
if (!empty($conf['password'])) { if (!empty($conf['password'])) {
$redis->auth($conf['password']); $this->baseRedis->auth($conf['password']);
} }
while ($center = $redis->lPop('message_center')) { while ($center = $this->baseRedis->lPop('message_center')) {
$redis->rPush('push_center',$center); $this->baseRedis->rPush('push_center',$center);
$addData = unserialize($center); $addData = unserialize($center);
$addData['message'] = unserialize($addData['message']); $addData['message'] = unserialize($addData['message']);
$this->addMessage($addData['fromId'], $addData['fromUserId'], $addData['fromUserName'], $addData['fromType'], $addData['message'], $addData['toId'], $addData['toUserId'], $addData['toUserName'], $addData['toType'], $addData['id']); $this->addMessage($addData['fromId'], $addData['fromUserId'], $addData['fromUserName'], $addData['fromType'], $addData['message'], $addData['toId'], $addData['toUserId'], $addData['toUserName'], $addData['toType'], $addData['id']);
......
...@@ -26,7 +26,7 @@ use Our\RedisHelper; ...@@ -26,7 +26,7 @@ use Our\RedisHelper;
*/ */
class OrderServiceModel extends \Business\AbstractModel class OrderServiceModel extends \Business\AbstractModel
{ {
private $orderField = "order_id as orderId,order_sn as orderSn,store_name as storeName,evaluation_state as evaluationState,add_time as addTime,store_id as storeId,goods_amount as goodsAmount,shipping_fee as shippingFee,order_amount as orderAmount,shipping_type as shippingType,payment_type as paymentType,payment_time as paymentTime,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment"; private $orderField = "order_id as orderId,order_sn as orderSn,store_name as storeName,evaluation_state as evaluationState,add_time as addTime,store_id as storeId,goods_amount as goodsAmount,shipping_fee as shippingFee,order_amount as orderAmount,shipping_type as shippingType,payment_type as paymentType,payment_time as paymentTime,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment,gmt_update as gmtUpdate";
private $orderGoodsField = "order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId"; private $orderGoodsField = "order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId";
private $addressField = " mob_phone as MobPhone,tel_phone as TelPhone,address as address,area_info as areaInfo,lng,lat,address_id as addressId,subaddress as subAddress"; private $addressField = " mob_phone as MobPhone,tel_phone as TelPhone,address as address,area_info as areaInfo,lng,lat,address_id as addressId,subaddress as subAddress";
...@@ -133,7 +133,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -133,7 +133,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderIds = array_column($orders['list'], 'orderId'); $orderIds = array_column($orders['list'], 'orderId');
//获得订单商品列表 //获得订单商品列表
if (!empty($orderIds)) { if (!empty($orderIds)) {
$orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderIds, $this->orderGoodsField), \Our\ApiConst::oneDaySecond, array($memberId)); $orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderIds, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond, array($memberId));
$orderMerge = Common::intergrateOneToMany($orders['list'], $orderGoods, 'orderId', 'orderId', 'orderGoods'); $orderMerge = Common::intergrateOneToMany($orders['list'], $orderGoods, 'orderId', 'orderId', 'orderGoods');
foreach ($orderMerge as &$value) { foreach ($orderMerge as &$value) {
$value['orderStateName'] = $orderDao->getStatusText($value); $value['orderStateName'] = $orderDao->getStatusText($value);
...@@ -447,7 +447,12 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -447,7 +447,12 @@ class OrderServiceModel extends \Business\AbstractModel
do { do {
$orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitRecieve, $addTime, $pageBegin, PageConst::taskPageSize, 'send_time'); $orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitRecieve, $addTime, $pageBegin, PageConst::taskPageSize, 'send_time');
foreach ($orders['list'] as $order) { foreach ($orders['list'] as $order) {
$push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']); if($order['shippingType']==ApiConst::bySelf){
$push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']);
}
if($order['shippingType']==ApiConst::express && $order['shippingOver']==ApiConst::shippingOver){
$push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']);
}
} }
$pageBegin++; $pageBegin++;
} while (!empty($orders['list'])); } while (!empty($orders['list']));
...@@ -758,7 +763,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -758,7 +763,7 @@ class OrderServiceModel extends \Business\AbstractModel
$goodsDao = \DAO\GoodsModel::getInstance(); $goodsDao = \DAO\GoodsModel::getInstance();
$orderIds = array_column($orders['list'], 'orderId'); $orderIds = array_column($orders['list'], 'orderId');
$orderCommons = $orderCommonDao->getAllByOrderIdsCache($orderIds, $diliverymanId, $orderCommonDao->orderCommonField); $orderCommons = $orderCommonDao->getAllByOrderIdsCache($orderIds, $diliverymanId, $orderCommonDao->orderCommonField);
$orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderIds, $this->orderGoodsField), \Our\ApiConst::oneDaySecond, array($diliverymanId.'_')); $orderGoods = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderIds, $this->getGoodsDetailField()), \Our\ApiConst::oneDaySecond, array($diliverymanId.'_'));
$orderMerge = Common::intergrateOneToMany($orders['list'], $orderGoods, 'orderId', 'orderId', 'orderGoods'); $orderMerge = Common::intergrateOneToMany($orders['list'], $orderGoods, 'orderId', 'orderId', 'orderGoods');
$orderMerge = Common::intergrateOneToOne($orderMerge, $orderCommons, 'orderId', 'orderId'); $orderMerge = Common::intergrateOneToOne($orderMerge, $orderCommons, 'orderId', 'orderId');
$orderMerge = $orderDao->convertOrderList($orderMerge); $orderMerge = $orderDao->convertOrderList($orderMerge);
...@@ -881,6 +886,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -881,6 +886,7 @@ class OrderServiceModel extends \Business\AbstractModel
if ($updateResult) { if ($updateResult) {
$push = Push::getInstance(); $push = Push::getInstance();
$push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']); $push->reacheRemind($order['buyerId'], $order['orderId'], $order['orderSn']);
$push->sendTcpMessage();
} }
$orderDao->deleteOrderCache($memberid, $qmDeliveryManLog['orderId'], $order['storeId'],true,true,true,$memberid); $orderDao->deleteOrderCache($memberid, $qmDeliveryManLog['orderId'], $order['storeId'],true,true,true,$memberid);
$qmDeliverymanLogDao->deleteOrderCache($memberid, $id); $qmDeliverymanLogDao->deleteOrderCache($memberid, $id);
...@@ -931,6 +937,14 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -931,6 +937,14 @@ class OrderServiceModel extends \Business\AbstractModel
} }
$orderIds[] = $order['order_id']; $orderIds[] = $order['order_id'];
} }
$waitOnelinePayAmount = \Our\ApiConst::zero;
if($orderState==\Our\ApiConst::zero){
foreach ($orderList as $order) {
if ($order['order_state'] == \Our\ApiConst::orderStateWaitPay) {
$waitOnelinePayAmount += $order['order_amount'];
}
}
}
$return['orderState'] = $orderState; $return['orderState'] = $orderState;
if(isset($data['wxLitePayFlag'])&&$data['wxLitePayFlag']==\Our\ApiConst::one){ if(isset($data['wxLitePayFlag'])&&$data['wxLitePayFlag']==\Our\ApiConst::one){
$return['paySn'] = $data['paySn']; $return['paySn'] = $data['paySn'];
...@@ -943,6 +957,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -943,6 +957,7 @@ class OrderServiceModel extends \Business\AbstractModel
$return['orderNos'] = $orderNos; $return['orderNos'] = $orderNos;
$return['totalOrderAmount'] = $totalOrderAmount; $return['totalOrderAmount'] = $totalOrderAmount;
$return['waitOnlinePayAmount'] = $waitOnelinePayAmount;
$return['orderTips'] = $orderTips; $return['orderTips'] = $orderTips;
$return['orderSubTips'] = $orderSubTips; $return['orderSubTips'] = $orderSubTips;
$return['orderContents'] = $orderContents; $return['orderContents'] = $orderContents;
......
...@@ -338,7 +338,6 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -338,7 +338,6 @@ class RefundServiceModel extends \Business\AbstractModel
*/ */
public function addRefund($memberId, $refund) public function addRefund($memberId, $refund)
{ {
error_reporting(E_ALL);
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName); $refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
$refundReasonDao = \DAO\Order\RefundReasonModel::getInstance(DbNameConst::masterDBConnectName); $refundReasonDao = \DAO\Order\RefundReasonModel::getInstance(DbNameConst::masterDBConnectName);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName); $orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
......
...@@ -62,12 +62,14 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -62,12 +62,14 @@ class MemberCenterServiceModel extends \Business\AbstractModel
'canPush'=>(int)$pushSet['canPush'], 'canPush'=>(int)$pushSet['canPush'],
'sound'=>(int)$pushSet['sound'], 'sound'=>(int)$pushSet['sound'],
'vibrate'=>(int)$pushSet['vibrate'], 'vibrate'=>(int)$pushSet['vibrate'],
'timeDiff'=>$pushSet['timeDiff'],
); );
}else{ }else{
$pushSet=array( $pushSet=array(
'canPush'=>ApiConst::openMessae, 'canPush'=>ApiConst::openMessae,
'sound'=>ApiConst::openMessae, 'sound'=>ApiConst::openMessae,
'vibrate'=>ApiConst::openMessae, 'vibrate'=>ApiConst::openMessae,
'timeDiff'=>'',
); );
} }
return $pushSet; return $pushSet;
......
...@@ -583,9 +583,11 @@ class MemberModel extends \DAO\AbstractModel ...@@ -583,9 +583,11 @@ class MemberModel extends \DAO\AbstractModel
$this->changeNum($memberId, $toState, null, 1); $this->changeNum($memberId, $toState, null, 1);
} }
public function setIsWxsend($memberId,$pushData){ public function setIsWxsend($memberId,$pushData){
foreach($pushData as $val){ foreach($pushData as $key=>$val){
if(!in_array($val,array(ApiConst::closeMessage,ApiConst::openMessae))){ if($key!='timeDiff'){
ErrorModel::throwException(CodeConfigModel::paramsError); if(!in_array($val,array(ApiConst::closeMessage,ApiConst::openMessae))){
ErrorModel::throwException(CodeConfigModel::paramsError);
}
} }
} }
$data['push_set']=serialize($pushData); $data['push_set']=serialize($pushData);
......
...@@ -54,7 +54,7 @@ class MessageHistoryModel extends \DAO\AbstractModel { ...@@ -54,7 +54,7 @@ class MessageHistoryModel extends \DAO\AbstractModel {
public function getOneById($id,$field='*'){ public function getOneById($id,$field='*'){
parent::setDb(); parent::setDb();
$where[$this->_primaryKey]=$id; $where[$this->_primaryKey]=$id;
$memberHistory= $this->db->select($field)->from($this->_tableName)->fetchOne(); $memberHistory= $this->db->select($field)->where($where)->from($this->_tableName)->fetchOne();
return $memberHistory?$memberHistory:array(); return $memberHistory?$memberHistory:array();
} }
public function update($id,$field,$value){ public function update($id,$field,$value){
......
...@@ -80,7 +80,7 @@ class MessageOneModel extends \DAO\AbstractModel { ...@@ -80,7 +80,7 @@ class MessageOneModel extends \DAO\AbstractModel {
} }
parent::setDb(); parent::setDb();
$where=Common::format(" fromId={0} or toId={1}",$memberId,$memberId); $where=Common::format(" fromId={0} or toId={1}",$memberId,$memberId);
$messages=$this->lists($where,'',$field,$pageIndex,$pageSize); $messages=$this->lists($where,array('gmtUpdate'=>'desc'),$field,$pageIndex,$pageSize);
return $messages; return $messages;
} }
public function update($data,$where=array()){ public function update($data,$where=array()){
......
...@@ -21,7 +21,7 @@ class OrderGoodsModel extends \DAO\AbstractModel { ...@@ -21,7 +21,7 @@ class OrderGoodsModel extends \DAO\AbstractModel {
public $sumField="rec_id,store_id as storeId,buyer_id as buyerId,goods_num as goodsNum,goods_price as goodsPrice,gmt_create as gmtCreate,order_id as orderId"; public $sumField="rec_id,store_id as storeId,buyer_id as buyerId,goods_num as goodsNum,goods_price as goodsPrice,gmt_create as gmtCreate,order_id as orderId";
public $groupField=array('buyer_id','store_id'); public $groupField=array('buyer_id','store_id');
public $sumGoodsNum=' store_id as storeId,buyer_id as buyerId,sum(goods_num) as orderGoodsCount'; public $sumGoodsNum=' store_id as storeId,buyer_id as buyerId,sum(goods_num) as orderGoodsCount';
public $orderGoodsField = "order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId"; public $orderGoodsField = "order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId,goods_commonid as goodsCommonId,goods_commonid as goodsCommonid,goods_group as goodsGroup";
/** /**
* 主键 * 主键
* *
......
...@@ -167,6 +167,7 @@ class CodeConfigModel { ...@@ -167,6 +167,7 @@ class CodeConfigModel {
const pBundlingNoStorageForOrder = 50040; const pBundlingNoStorageForOrder = 50040;
const editDelCartFailed = 50041; const editDelCartFailed = 50041;
const editCartUploadCartFailed = 50042; const editCartUploadCartFailed = 50042;
const wrongAddCartForSelfStore = 50043;
//订单相关错误码 //订单相关错误码
...@@ -283,6 +284,8 @@ class CodeConfigModel { ...@@ -283,6 +284,8 @@ class CodeConfigModel {
const noEnoughStorageForBundlingGoods = 30118; const noEnoughStorageForBundlingGoods = 30118;
const noOrderWaitToPay = 30119; const noOrderWaitToPay = 30119;
const wrongEvaluation = 30120; const wrongEvaluation = 30120;
const selfGoodsForStoreOrder = 30121;
//店铺相关错误码 //店铺相关错误码
//商品分类 //商品分类
...@@ -563,6 +566,7 @@ class CodeConfigModel { ...@@ -563,6 +566,7 @@ class CodeConfigModel {
self::pBundlingNoStorageForOrder => '组合销售商品库存不足', self::pBundlingNoStorageForOrder => '组合销售商品库存不足',
self::editDelCartFailed => '编辑购物车时删除数据失败', self::editDelCartFailed => '编辑购物车时删除数据失败',
self::editCartUploadCartFailed => '编辑购物车更新购物车时间失败', self::editCartUploadCartFailed => '编辑购物车更新购物车时间失败',
self::wrongAddCartForSelfStore => '店主不能添加自己店铺的商品到购物车',
self::addressNotExist=>'地址不存在', self::addressNotExist=>'地址不存在',
self::emptyAddressId=>'地址主键参数不能为空', self::emptyAddressId=>'地址主键参数不能为空',
...@@ -760,6 +764,7 @@ class CodeConfigModel { ...@@ -760,6 +764,7 @@ class CodeConfigModel {
self::noEnoughStorageForBundlingGoods =>'组合销售库存紧张,您购买的数量太多啦', self::noEnoughStorageForBundlingGoods =>'组合销售库存紧张,您购买的数量太多啦',
self::noOrderWaitToPay => '您的订单已支付,请勿重复支付', self::noOrderWaitToPay => '您的订单已支付,请勿重复支付',
self::wrongEvaluation => '商品评论应在6-500字之间', self::wrongEvaluation => '商品评论应在6-500字之间',
self::selfGoodsForStoreOrder => '店主不能购买自己的商品',
//销售员 //销售员
self::emptySaleGoodsId=>'商品id不能为空', self::emptySaleGoodsId=>'商品id不能为空',
self::emptySaleGoods=>'销售商品不存在', self::emptySaleGoods=>'销售商品不存在',
......
<?php <?php
/** /**
* 推送接单消息到店铺
* 推送确认收货消息到用户 * 推送确认收货消息到用户
* 执行时间:每分钟执行一次 * 执行时间:每分钟执行一次
* *
......
...@@ -44,12 +44,17 @@ class cliOrderClose extends basecli ...@@ -44,12 +44,17 @@ class cliOrderClose extends basecli
$conf = \Yaf\Registry::get('config')->get('redis.database.params'); $conf = \Yaf\Registry::get('config')->get('redis.database.params');
$redis = new \Redis(); $redis = new \Redis();
$redis->pconnect($conf['host'], $conf['port']); $redis->pconnect($conf['host'], $conf['port']);
if (!empty($conf['password'])) {
$redis->auth($conf['password']);
}
$clientPush=\JPush\ClientPush::getInstance(); $clientPush=\JPush\ClientPush::getInstance();
$messageService=\DAO\MessageHistoryModel::getInstance();
while($pushData=$redis->lPop('push_center')){ while($pushData=$redis->lPop('push_center')){
$addData = unserialize($pushData); $addData = unserialize($pushData);
$addData['message'] = unserialize($addData['message']); $addData['message'] = unserialize($addData['message']);
$clientPush->push($addData); $clientPush->push($addData);
} }
$redis->close();
} }
protected function _runCli() protected function _runCli()
{ {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
*/ */
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级 define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
define("KEY_REDIS_PRE","PHPREDIS_SESSION:"); define("KEY_REDIS_PRE","PHPREDIS_SESSION:");
define("KEY_PRE","qm_:han_member_im:"); define("KEY_PRE","qm_:han_member:");
require APPLICATION_PATH . '/scripts/crontab/common.php'; require APPLICATION_PATH . '/scripts/crontab/common.php';
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Method: *'); header('Access-Control-Allow-Method: *');
...@@ -115,10 +115,12 @@ $serv->on('Message', function($server, $frame) use($conf){ ...@@ -115,10 +115,12 @@ $serv->on('Message', function($server, $frame) use($conf){
$redis->hSet(KEY_PRE.$memberId,'sendTime', time()); $redis->hSet(KEY_PRE.$memberId,'sendTime', time());
$server->push($frame->fd, responseJson(1,"sendMsg","success", $sendMessage)); $server->push($frame->fd, responseJson(1,"sendMsg","success", $sendMessage));
$messageService->addMessage($sendMessage['fromId'],$sendMessage['fromUserId'],$sendMessage['fromUserName'],$sendMessage['fromType'],$sendMessage['message'],$sendMessage['toId'],$sendMessage['toUserId'],$sendMessage['toUserName'],$sendMessage['toType'],$sendMessage['id']); $messageService->addMessage($sendMessage['fromId'],$sendMessage['fromUserId'],$sendMessage['fromUserName'],$sendMessage['fromType'],$sendMessage['message'],$sendMessage['toId'],$sendMessage['toUserId'],$sendMessage['toUserName'],$sendMessage['toType'],$sendMessage['id']);
$sendMessage['message']=serialize($sendMessage['message']);
$redis->rPush('push_center',serialize($sendMessage));
} }
$redis->close();
$messageService->unsetDb(); $messageService->unsetDb();
unset($messageService); unset($messageService);
unset($redis);
}else{ }else{
$realKey = KEY_REDIS_PRE.$key; $realKey = KEY_REDIS_PRE.$key;
$sessData=$redis->get($realKey); $sessData=$redis->get($realKey);
......
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