Commit d3165e72 authored by wwccw0591's avatar wwccw0591

pc

parent a4990e18
......@@ -406,6 +406,15 @@ class ApiConst
const reachRemindMessageType = 1;
const waitRecieveOrderType = 15;
const deliveryOrderType = 16;
//pcClient 消息推送消息模板类型常量
const messageWaitReceive=101;
//待配送
const messageWaitSend=102;
const messageWaitGet=103;
//售后待处理
const messageRefundProccessing=104;
//售后待收货
const messageRefundWaitReceive=105;
//消息按钮类型
const messageButtonTypeConfirmButton = 1;//确认收货
const messageButtonTypeReciverButton = 2;//确认接单
......@@ -428,4 +437,7 @@ class ApiConst
const arriveTimeRadius=1800;
}
\ No newline at end of file
......@@ -170,6 +170,9 @@ class NameConst {
const blGoods = '_goodsCommon';
const pcClient='pc-client';
const add='add';
const reduce='reduce';
}
?>
\ No newline at end of file
......@@ -334,7 +334,6 @@ class OrderServiceModel extends \Business\AbstractModel
//确认收货
public function confirmRecieve($orderId, $memberId)
{
error_reporting(E_ALL);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
// $orderDao->deleteOrderCache($memberId, $orderId);
$order = $orderDao->findByOrderId($orderId);
......@@ -344,6 +343,12 @@ class OrderServiceModel extends \Business\AbstractModel
if ($isAllowConfirm) {
$res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateComplete, TRUE);
if ($res) {
if($order['shipping_type']==ApiConst::bySelf){
$type=ApiConst::messageWaitGet;
}else{
$type=ApiConst::messageWaitSend;
}
\Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>$type,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('id'=>$order['orderId'])));
$orderDao->deleteOrderCache($memberId, $orderId, $order['store_id'],true,true);
return true;
} else {
......@@ -435,6 +440,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']));
......
......@@ -249,6 +249,12 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$update_data['order_state'] = ApiConst::orderStateWaitSend;
$update_data['accept_time'] = TIMESTAMP;
$result = $orderDao->update($where, $update_data);
if($order['shipping_type']==ApiConst::bySelf){
$type=ApiConst::messageWaitGet;
}else{
$type=ApiConst::messageWaitSend;
}
\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);
return $result;
......
......@@ -48,21 +48,26 @@ class MemberServiceModel extends \Business\AbstractModel
return $user;
}
public function saveMember($member,$client='member'){
foreach($member as $key =>$value){
if(!$value){
$member[$key]=ApiConst::zero;
}
}
if($client=='member'){
$this->addOrUpdateMbUserToken($member);
$member['sendTime']=TIMESTAMP;
$this->memberDb0Redis->tableHMSet(trim($member['member_id']),$member,ApiConst::tenDaySecond);
$this->memberDb0Redis->tableHDel(trim($member['member_id']),'unread_message_count');
}
if($client=='seller'){
$storeRedisDb0=\Redis\Db0\StoreRedisModel::getInstance();
$this->updataSellerToken($member);
$member['sendTime']=TIMESTAMP;
$storeRedisDb0->tableHMSet(trim($member['store_id']),$member,ApiConst::tenDaySecond);
}
foreach($member as $key =>$value){
if(!$value){
$member[$key]=ApiConst::zero;
}
}
$member['sendTime']=TIMESTAMP;
$this->memberDb0Redis->tableHMSet(trim($member['member_id']),$member,ApiConst::tenDaySecond);
$this->memberDb0Redis->tableHDel(trim($member['member_id']),'unread_message_count');
}
......
<?php
namespace Redis\Db0;
/**
* 用户信息缓存
*/
class StoreRedisModel extends \Redis\Db0\AbstractModel {
/**
* 表名
*
* @var string
*/
protected $_tableName = 'han_store';
/**
* 计算key
*
* @param int $id
* @return string
*/
public function calcKey($id) {
return $this->_tableName . self::DELIMITER . $id;
}
/**
* 根据id查找用户信息
*
* @param int $id
* @return array
*/
public function find($id) {
$result = $this->get($this->calcKey($id));
if ($result) {
return json_decode($result, true);
}
return null;
}
public function tableExists($h){
return $this->exists($this->calcKey($h));
}
/**
* 更新数据
*
* @param int $id
* @param array $data
*/
public function update($id, $data,$expire=\Our\ApiConst::zero) {
return $this->set($this->calcKey($id), json_encode($data),$expire);
}
public function tableHSet($h,$key,$val,$experio=0){
return $this->hset($this->calcKey($h),$key,$val,$experio);
}
public function tableHGet($h,$key){
return $this->hget($this->calcKey($h),$key);
}
public function tableHMSet($h,$keysvalue,$experio=0){
return $this->hmset($this->calcKey($h),$keysvalue,$experio);
}
public function tableHMGet($h,$keyvalues){
return $this->hmget($this->calcKey($h),$keyvalues);
}
public function tableHGAll($h){
return $this->hGetAll($this->calcKey($h));
}
public function tableDel($h){
return $this->del($this->calcKey($h));
}
public function tableExpire($key,$experio=0){
return $this->expire($this->calcKey($key),$experio);
}
public function tableCacheGet($id){
$result = $this->get($this->calcKey($id));
return $result;
}
public function tableCacheSet($id,$data,$experio){
$res=$this->set($this->calcKey($id), $data,$experio);
return $res;
}
public function tableHIncrBy($h,$key,$keysvalue){
return $this->hIncrBy($this->calcKey($h),$key,$keysvalue);
}
public function tableHDel($mid,$key){
$res=$this->hDel($this->calcKey($mid), $key);
return $res;
}
/**
* 类实例
*
* @var \Redis\Db0\UserModel
*/
private static $_instance = null;
/**
* 获取类实例
*
* @return \Redis\Db0\UserModel
*/
public static function getInstance() {
if (!(self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
}
......@@ -8,6 +8,7 @@
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
define("KEY_REDIS_PRE","PHPREDIS_SESSION:");
define("KEY_PRE","qm_:han_member:");
define("KEY_PRE_STORE","qm_:han_store:");
require APPLICATION_PATH . '/scripts/crontab/common.php';
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Method: *');
......@@ -162,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.$memberId,'store_fd', $frame->fd);
$redis->hSet(KEY_PRE_STORE.$memberId,'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();
......
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