Commit fdaef8ed authored by wwccw0591's avatar wwccw0591

pc

parents 674a9084 03b8eaa8
......@@ -234,9 +234,9 @@ class OrderConfirmUtil {
$deliveryFee = $temp['shippingFee'];
}
if($deliveryFee!=$requestData['deliveryFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongStoreDeliveryFeeForOrder);
}
// if($deliveryFee!=$requestData['deliveryFee']){
// \Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongStoreDeliveryFeeForOrder);
// }
$delivery['deliveryFee'] = $deliveryFee;
$delivery['deliveryType'] = $requestData['deliveryType'];
$delivery['deliveryTime'] = isset($deliveryTime)?$deliveryTime:\Our\ApiConst::zero;
......@@ -253,9 +253,9 @@ class OrderConfirmUtil {
if($orderAmount<=\Our\ApiConst::zero){
$orderAmount = \Our\ApiConst::zero;
}
if($orderAmount!=$requestData['totalFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongTotalFeeForOrder);
}
// if($orderAmount!=$requestData['totalFee']){
// \Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongTotalFeeForOrder);
// }
$storeCartData['cartList'][$storeId]['orderAmount'] = $orderAmount;
}
return $storeCartData;
......
......@@ -417,6 +417,8 @@ class ApiConst
const messageRefundProccessing=104;
//售后待收货
const messageRefundWaitReceive=105;
//用户被其它用户登录请退出
const messageOtherLogin=106;
//消息按钮类型
const messageButtonTypeConfirmButton = 1;//确认收货
const messageButtonTypeReciverButton = 2;//确认接单
......
......@@ -173,6 +173,8 @@ class NameConst {
const add='add';
const reduce='reduce';
const logOut='logOut';
}
?>
\ No newline at end of file
......@@ -62,6 +62,10 @@ class Push
$this->toUserType = $data['toType'];
$this->data[] = $data;
}
public function addOneToClient($data)
{
$this->data[] = $data;
}
public function addList($dataList)
{
......
......@@ -15,6 +15,16 @@ class SettingServiceModel extends \Business\AbstractModel{
return array('version'=>$version['ios_version']);
}
/**
* 获取应用版本
* @return array 版本信息
*/
public function getAppVersion(){
$settingDAO = \DAO\SettingModel::getInstance();
$version = $settingDAO->getListCache(array('app_version'));
return array('version'=>$version['app_version']);
}
public function getServicePhone(){
$settingDAO = \DAO\SettingModel::getInstance();
$phone = $settingDAO->getListCache(array('qm_service_phone'))['qm_service_phone'];
......
......@@ -123,15 +123,15 @@ class OrderServiceModel extends \Business\AbstractModel
if($orderState==ApiConst::orderStateComplete){
$where['evaluation_state']=ApiConst::waitEvaluation;
}
if($orderState==ApiConst::orderStateWaitRecieve){
$where['shipping_type']=array('eq',ApiConst::bySeller);
$where['order_state'] =array('in',array(ApiConst::orderStateWaitSend,ApiConst::orderStateWaitRecieve));
}
if($orderState==ApiConst::orderStateWaitSend){
$where['shipping_type']=array('eq',ApiConst::bySelf);
$where['order_state']=array('eq',ApiConst::orderStateWaitRecieve);
}
// $where['order_state'] = array('in', explode(',', $orderState));
// if($orderState==ApiConst::orderStateWaitRecieve){
// $where['shipping_type']=array('eq',ApiConst::bySeller);
// $where['order_state'] =array('in',array(ApiConst::orderStateWaitSend,ApiConst::orderStateWaitRecieve));
// }
// if($orderState==ApiConst::orderStateWaitSend){
// $where['shipping_type']=array('eq',ApiConst::bySelf);
// $where['order_state']=array('eq',ApiConst::orderStateWaitRecieve);
// }
$where['order_state'] = array('in', explode(',', $orderState));
}
}
......@@ -327,6 +327,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderGoodsDao->update($where,$orderGoodsUpdateData);
}
}
\Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>ApiConst::messageWaitReceive,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('id'=>$order['orderId'])));
if ($memberId) {
$orderDao->deleteOrderCache($memberId, $orderId, $order['storeId'],true);
// $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel);
......@@ -430,6 +431,7 @@ class OrderServiceModel extends \Business\AbstractModel
public function pushRecieveOrder($order){
$push = Push::getInstance();
$push->recieveWait($order['storeId'], $order['orderId'], $order['orderSn']);
\Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>ApiConst::messageWaitReceive,'op'=>NameConst::add,'num'=>ApiConst::one,'params'=>array('id'=>$order['orderId'])));
$push->sendTcpMessage();
$messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$messageService->addMessageCenterToDb();
......@@ -448,7 +450,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitConfirm, $addTime, $pageBegin, PageConst::taskPageSize);
foreach ($orders['list'] as $order) {
$push->recieveWait($order['storeId'], $order['orderId'], $order['orderSn']);
\Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>ApiConst::messageWaitReceive,'op'=>NameConst::add,'num'=>ApiConst::one,'params'=>array('id'=>$order['orderId'])));
}
$pageBegin++;
} while (!empty($orders['list']));
......@@ -783,7 +785,7 @@ class OrderServiceModel extends \Business\AbstractModel
//获得订单列表
// $orders=$orderDao->getList($where, $this->orderField, $pageIndex, $pageSize, $order = array('add_time' => 'desc'));
$orders = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'getList'), array($where, $this->orderField, $pageIndex, $pageSize, $order = array('add_time' => 'desc')), \Our\ApiConst::oneDaySecond, array($diliverymanId));
$orders = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'getList'), array($where, $this->orderField, ApiConst::zero, $pageSize, $order = array('add_time' => 'desc')), \Our\ApiConst::oneDaySecond, array($diliverymanId));
$goodsDao = \DAO\GoodsModel::getInstance();
$orderIds = array_column($orders['list'], 'orderId');
$orderCommons = $orderCommonDao->getAllByOrderIdsCache($orderIds, $diliverymanId, $orderCommonDao->orderCommonField);
......@@ -807,6 +809,7 @@ class OrderServiceModel extends \Business\AbstractModel
$delivery['lng'] = $delivery['reciverInfo']['lng'] ? $delivery['reciverInfo']['lng'] : 0.0;
$delivery['lat'] = $delivery['reciverInfo']['lat'] ? $delivery['reciverInfo']['lat'] : 0.0;
$delivery['subAddress'] = isset($delivery['reciverInfo']['sub_address']) ? $delivery['reciverInfo']['sub_address'] : '';
$delivery['distributionFee']=$value['distributionFee'];
unset($delivery['goodsAmount']);
// unset($delivery['orderState']);
unset($delivery['refundState']);
......@@ -891,6 +894,8 @@ class OrderServiceModel extends \Business\AbstractModel
'subAddress' => isset($reciverInfo['sub_address'])?$reciverInfo['sub_address']:'',
'orderGoods' => $orderGoods,
'shippingFee' => $this->order['shippingFee'],
'distributionFee'=>$delivery['distributionFee'],
'isReceivePayment'=>$this->order['isReceivePayment']
);
return $returnData;
......
......@@ -254,6 +254,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
}else{
$type=ApiConst::messageWaitSend;
}
\Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>ApiConst::messageWaitReceive,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('id'=>$order['orderId'])));
\Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>$type,'op'=>NameConst::add,'num'=>ApiConst::one,'params'=>array('id'=>$order['orderId'])));
$orderDao->deleteOrderCache($order['buyer_id'], $orderId, $order['store_id'], true);
// \Our\RedisHelper::memberTotalFromStateToState($order['buyer_id'], $order['order_state'], ApiConst::orderStateWaitSend);
......@@ -280,7 +281,6 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$orderDao = \DAO\Order\OrderModel::getInstance();
$goodsDao = \DAO\GoodsModel::getInstance();
$orderCommonDao = \DAO\Order\OrderCommonModel::getInstance();
$returnData = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'getList'), array($where, $orderDao->getOrderDetailField(), $pageIndex, $pageSize, $order, \Our\ApiConst::oneDaySecond, array($storeId)));
//$returnData = $orderDao->getOrders($where, $this->orderListField, $pageIndex, $pageSize);
$orders = $returnData['list'];
......
......@@ -11,49 +11,34 @@ class FeedBackServiceModel extends \Business\AbstractModel
}
public function saveFeedback($param,$memberId){
/**
* 店铺意见反馈
* @param $param
* @param $storeId
* @param $memberId
* @return bool
* @throws \Exception
*/
public function saveFeedback($param, $storeId, $memberId) {
$storeDAO = \DAO\StoreModel::getInstance();
$feedbackDescribe = trim($param['feedbackDescribe']);
$feedbackTelepone = trim($param['feedbackTelepone']);
$feedbackTelephone = trim($param['feedbackTelephone']);
$telephone = $feedbackTelepone ? $feedbackTelepone : $feedbackTelephone;
$type = (int)$param['type'];
$feedbackTelephone = $storeDAO->getInfoById($storeId, 'store_phone', true);
if(!$feedbackDescribe){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyFeedbackDescribe);
}
if(!$telephone){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyFeedbackDescribe);
}
$return = \Our\Common::checkMobilePhone($telephone);
if($return === false){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::feedbackTelError);
}
$imgArr = array();
for ($i = 0 ; $i < 2 ; $i++){
$number = str_replace(array(0,1,2),array('A','B','C'),$i);
$image = $param['image'.$number];
if($image && $type == 0){
$time = date('YmdHis_');
$file_name = $time.\Our\Validate::getNumberString();
$result = \Our\ImageUtil::uploadBase64Image($image,\Our\ImageConst::feedback,$file_name);
if($result){
$result = \Our\Common::getStaticFile($file_name,\Our\ImageConst::feedback);
$imgArr[] = pathinfo($result)['basename'];
}
}else{
$imgArr[] = pathinfo($image)['basename'];
}
}
$insert = array();
$insert['feedback_image'] = serialize($imgArr);
$insert['feedback_type'] = 1; //店铺意见反馈
$insert['feedback_describe'] = $feedbackDescribe;
$insert['feedback_time'] = time();
$insert['feedback_telephone'] = $telephone;
$insert['feedback_time'] = TIMESTAMP;
$insert['feedback_telephone'] = $feedbackTelephone;
$insert['member_id'] = $memberId;
$return = \DAO\FeedBackModel::getInstance()->insert($insert);
if(!$return){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saveFeedbackError);
}
return true;
}
private static $_instance = null;
......
......@@ -255,7 +255,7 @@ class MemberModel extends \DAO\AbstractModel
$return[$key] = ApiConst::zero;
}
}
$memberDb0Redis->tableHMSet($memberId, $member);
$memberDb0Redis->tableHMSet($memberId, $member,ApiConst::tenDaySecond);
}
return $return;
}
......
<?php
namespace DAO\Member;
use Our\ApiConst;
use Our\ArrayConst;
use Our\Common;
use Our\DbNameConst;
use Our\DescribeConst;
use Our\NameConst;
use Our\OrderConst;
/**
* 积分相关
* @date 2018-5-14
* @author csw
*/
class PointsLogModel extends \DAO\AbstractModel
{
/**
* 表名
*
* @var string
*/
protected $_tableName = 'han_points_log';
/**
* 主键
*
* @var string
*/
protected $_primaryKey = 'pl_id';
public function init()
{
//$this->setDb();
}
/**
* 新增记录
* @param $data
* @return mixed
*/
public function addLog($data){
$this->setDb($this->dbName);
$logId = $this->db->insert($this->_tableName)->rows($data)->execute();
return $logId;
}
/**
* 类实例
*
* @var \DAO\UserModel
*/
private static $_instance = null;
/**
* 单例模式获取类实例
*
*/
public static function getInstance($dbName=DbNameConst::salveDBConnectName)
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self($dbName);
}
return self::$_instance;
}
}
<?php
namespace DAO\Member;
use Our\ApiConst;
use Our\ArrayConst;
use Our\Common;
use Our\DbNameConst;
use Our\DescribeConst;
use Our\NameConst;
use Our\OrderConst;
/**
* 会员积分相关
* @date 2018-5-14
* @author csw
*/
class QmMemberPointsModel extends \DAO\AbstractModel
{
/**
* 表名
*
* @var string
*/
protected $_tableName = 'han_qm_member_points';
/**
* 主键
*
* @var string
*/
protected $_primaryKey = 'id';
public function init()
{
//$this->setDb();
}
/**
* 新增记录
* @param $data
* @return mixed
*/
public function addLog($data){
$this->setDb($this->dbName);
$logId = $this->db->insert($this->_tableName)->rows($data)->execute();
return $logId;
}
/**
* 更新会员积分
* @param $param
* @param $where
* @return mixed
*/
public function update($param, $where){
$this->setDb(\Our\DbNameConst::masterDBConnectName);
return $this->db->update($this->_tableName)->rows($param)->where($where)->execute();
}
/**
* 类实例
*
* @var \DAO\UserModel
*/
private static $_instance = null;
/**
* 单例模式获取类实例
*
*/
public static function getInstance($dbName=DbNameConst::salveDBConnectName)
{
if (!(self::$_instance instanceof self)) {
self::$_instance = new self($dbName);
}
return self::$_instance;
}
}
......@@ -268,6 +268,9 @@ class OrderModel extends \DAO\AbstractModel
$where['order_id'] = $orderIds;
}
$where = $this->db->getSqlWhereByArray($where);
if($status==ApiConst::orderStateComplete){
$data['is_receive_payment']=ApiConst::receivePayment;
}
$data['order_state'] = $status;
$data['finnshed_time']=TIMESTAMP;
if ($isConfirm) {
......
......@@ -16,8 +16,8 @@ use Our\ImageConst;
class QmDeliverymanLogModel extends \DAO\AbstractModel
{
public $fieldList = 'id,finish_time finishTime,get_time as getTime,order_id as orderId';
public $fieldDetail = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,delivery_state as deliveryState,order_type as orderType';
public $fieldList = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,distribution_fee as distributionFee';
public $fieldDetail = 'id,finish_time finishTime,get_time as getTime,order_id as orderId,delivery_state as deliveryState,order_type as orderType,distribution_fee as distributionFee';
/**
* 表名
......
......@@ -311,6 +311,55 @@ class RefundReturnModel extends \DAO\AbstractModel {
return $picsRes;
}
/**
* 店铺退款
* @param $orderInfo 订单信息
*/
public function storeRefund($orderInfo){
$param['refundOrderNo'] = !empty($orderInfo['refund_order_no']) ? $orderInfo['refund_order_no'] : $this->getRefundsn($orderInfo['store_id']);
//这个有可能多次退款的时候要变
$param['outTradeNo'] = $orderInfo['pay_sn'];
$param['totalFee'] = $orderInfo['order_amount'];
$param['refundFee'] = $orderInfo['refund_amount'];//退款金额
$param['storeId'] = $orderInfo['store_id'];
$param['buyerId'] = $orderInfo['buyer_id'];
if (intval($orderInfo['payment_type']) == ApiConst::wxAppPayType) {
$wxpay = \Payment\WxPay::getInstance();
$refund_return = $wxpay->refund($param);
$this->errorMessage= "微信返回:".json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['order_id']."\r\n";
return false;
}
} else if (intval($orderInfo['payment_type']) == ApiConst::alipay) {
$aliPay = \Payment\Alipay::getInstance();
$return = $aliPay->refund($param);
$this->errorMessage = "支付宝返回:" . json_encode($return);
$resultCode = $return->code;
if (!empty($resultCode) && $resultCode == ApiConst::alipayRefundSuccess) {
return true;
} else {
$this->errorMessage = date('Y-m-d') . '支付宝退款操作执行失败:' . $orderInfo['order_id'] . "\r\n";
return false;
}
}else if(intval($orderInfo['payment_type']) == ApiConst::wxProgram){
$wxpay = \Payment\WxPay::getInstance();
$refund_return = $wxpay->refund($param);
$this->errorMessage= "微信小程序返回:".json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['order_id']."\r\n";
return false;
}
}
return true;
}
/**
* 退款
* @param $orderInfo
* @return bool
*/
public function refundMoney($orderInfo){
$param['refundOrderNo'] = !empty($orderInfo['refundOrderNo'])?$orderInfo['refundOrderNo']:$this->getRefundsn($orderInfo['storeId']);
......@@ -350,6 +399,26 @@ class RefundReturnModel extends \DAO\AbstractModel {
}
return true;
}
/**
* 修改记录
*
* @param $condition
* @param $data
* @return bool
*/
public function editRefundReturn($condition, $data) {
if (empty($condition)) {
return false;
}
$this->setDb($this->dbName);
if (is_array($data)) {
$result = $this->db->update($this->_tableName)->rows($data)->where($where)->execute();
return $result;
} else {
return false;
}
}
/**
* 增加退款退货
*
......
......@@ -297,6 +297,7 @@ class CodeConfigModel
const wrongEvaluation = 30120;
const selfGoodsForStoreOrder = 30121;
const refundAddPointsLogError = 30122;
//店铺相关错误码
//商品分类
......@@ -519,6 +520,7 @@ class CodeConfigModel
self::refundRefuseByStore => '商家不同意退款,如有疑问请联系客服',
self::returnErrorAfterPay => '货到付款订单在没确认收货前不能退款退货',
self::returnBeyondTimeError => '收货超时订单不能退款',
self::refundAddPointsLogError => '退货退款积分更新写入失败',
//店铺相关错误
self::illegalFavStore => '不能关注自己的店铺',
......
......@@ -7,10 +7,7 @@ class FeedbackController extends \Our\Controller_AbstractApi {
}
public function saveFeedbackAction(){
$msg = \Business\User\FeedBackServiceModel::getInstance()->saveFeedback($this->req[\Our\NameConst::data],$this->memberId);
unset($this->req[\Our\NameConst::data]['imageA']);
unset($this->req[\Our\NameConst::data]['imageB']);
unset($this->req[\Our\NameConst::data]['imageC']);
$msg = \Business\User\FeedBackServiceModel::getInstance()->saveFeedback($this->req[\Our\NameConst::data], $this->storeId,$this->memberId);
$this->success('');
}
}
\ No newline at end of file
<?php
use Error\ErrorModel;
......@@ -178,18 +176,6 @@ class ShopkeeperController extends \Our\Controller_AbstractClient {
}
}
/**
* 获得售后列表
*/
public function getRefunds(){
$type = intval($this->req['data']['type']);
$refundService=\Business\Order\RefundServiceModel::getInstance();
$pageIndex=$this->getPageIndex();
$pageSize=$this->getPageSize();
$res=$refundService->getStoreRefundList($this->storeId, $type, $pageIndex, $pageSize);
$this->success($res);
}
/**
* 获得订单数量
*/
......@@ -249,11 +235,83 @@ class ShopkeeperController extends \Our\Controller_AbstractClient {
}
/**
* 添加库存
* @author king
* 获得售后列表
*/
public function getRefundsAction(){
$type = intval($this->req['data']['type']);
$refundService=\Business\Order\RefundServiceModel::getInstance();
$pageIndex=$this->getPageIndex();
$pageSize=$this->getPageSize();
$res=$refundService->getStoreRefundList($this->storeId, $type, $pageIndex, $pageSize);
$this->success($res);
}
/**
* 同意退款
*/
public function agreeAction(){
$refundId= intval($this->req['data']['refundId']);
if(!$refundId) {
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
$refundService=\Business\Order\RefundServiceModel::getInstance();
$refundAmount = floatval($this->req['data']['refundAmount']);
$text = trim($this->req['data']['text']);
$res = $refundService->refund($this->storeId, $refundId,$refundAmount, $text);
$this->success($res);
}
/**
* 拒绝退款
*/
public function refuseAction(){
$refundId= intval($this->req['data']['refundId']);
if(!$refundId) {
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
$refundService=\Business\Order\RefundServiceModel::getInstance();
$text = trim($this->req['data']['text']);
$res = $refundService->refund($this->storeId, $refundId,0, $text, 3);
$this->success($res);
}
/**
* 确认收货
* @throws Exception
*/
public function confirmReceiveAction(){
$refundId= intval($this->req['data']['refundId']);
if(!$refundId) {
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
$refundService=\Business\Order\RefundServiceModel::getInstance();
$goodsState= intval($this->req['data']['goodsState']);
$res = $refundService->receive($this->storeId, $refundId, $goodsState);
$this->success($res);
}
/**
* 获取应用版本
*/
public function getVersionAction(){
$version = \Business\Common\SettingServiceModel::getInstance()->getAppVersion();
$this->success($version);
}
/**
* 设置收货时间
* @throws Exception
*/
public function setReceiveTimeAction(){
$refundId= intval($this->req['data']['refundId']);
if(!$refundId) {
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
$refundService=\Business\Order\RefundServiceModel::getInstance();
$receiveTime = trim($this->req['data']['receiveTime']);
$res = $refundService->setReceiveTime($this->storeId, $refundId, $receiveTime);
$this->success($res);
}
}
......
......@@ -68,6 +68,10 @@ class UserController extends \Our\Controller_AbstractIndex {
$member[NameConst::sessionKey]=$this->key;
$member['store_id']=$seller['storeId'];
$member['seller_id']=$seller['sellerId'];
//通知退出
$push=\Our\Push::getInstance();
$push->addOneToClient(array('storeId'=>$member['store_id'],'type'=>\Our\ApiConst::messageOtherLogin,'op'=>NameConst::logOut,'params'=>array('c'=>'member','m'=>'logOut')));
$push->sendTcpMessage();
$this->memberService->saveMember($member,'seller');
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberMobile'=>$member['member_mobile'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id'],'storeId'=>(int)$seller['storeId']));
}else{
......
This diff is collapsed.
......@@ -72,6 +72,21 @@ class cliOrderClose extends basecli
}
$redis->close();
}
protected function autoPushClient(){
$conf = \Yaf\Registry::get('config')->get('redis.database.params');
$redis = new \Redis();
$redis->pconnect($conf['host'], $conf['port']);
if (!empty($conf['password'])) {
$redis->auth($conf['password']);
}
$push=\Our\Push::getInstance();
while($pushData=$redis->lPop('client_push')){
$addData = unserialize($pushData);
$push->addOneToClient($addData);
}
$push->sendTcpMessage();
$redis->close();
}
protected function _runCli()
{
......@@ -105,8 +120,11 @@ class cliOrderClose extends basecli
file_put_contents($this->lockFileName ,"running" ); // CLI 独占锁
}
$this->autoPushMessage();
echo date('Y-m-d H:i:s',TIMESTAMP).'消息推送成功'."\r\n";
$this->autoPushClient();
echo date('Y-m-d H:i:s',TIMESTAMP).'客户端消息推送成功'."\r\n";
}
}
......
......@@ -163,7 +163,7 @@ $serv->on('Message', function($server, $frame) use($conf){
echo 'set:'.KEY_PRE.$memberId,'fd:'.$frame->fd."\r\n";
$redis->hSet(KEY_PRE.$memberId,'fd', $frame->fd);
if($storeId){
$redis->hSet(KEY_PRE_STORE.$memberId,'fd', $frame->fd);
$redis->hSet(KEY_PRE_STORE.$storeId,'fd', $frame->fd);
}
$server->push($frame->fd,responseJson($async_login_data['status'],$async_login_data['method'],$async_login_data['message'], $async_login_data['data']));
$redis->close();
......@@ -240,6 +240,13 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
$serv->close($fd);
if(!isset($data['uid']) || empty($data['uid'])){
foreach($data['data'] as $value){
if(isset($value['type'])&&$value['type']>100){
echo json_encode($value);
$sendStoreFd=$redis->hGet(KEY_PRE_STORE.$value['storeId'],'fd');
if(!empty($sendStoreFd)){
$serv->push($sendStoreFd, responseJson(1,"fromMsg","success", $value));
}
}else{
$async_data = $redis->rPush("message_center", serialize($value));
if($async_data){
$value['message']=unserialize($value['message']);
......@@ -250,7 +257,7 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
$redis->hSet(KEY_PRE.$value['fromId'],'sendTime', time());
}
}
}
}
}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