Commit fdaef8ed authored by wwccw0591's avatar wwccw0591

pc

parents 674a9084 03b8eaa8
...@@ -234,9 +234,9 @@ class OrderConfirmUtil { ...@@ -234,9 +234,9 @@ class OrderConfirmUtil {
$deliveryFee = $temp['shippingFee']; $deliveryFee = $temp['shippingFee'];
} }
if($deliveryFee!=$requestData['deliveryFee']){ // if($deliveryFee!=$requestData['deliveryFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongStoreDeliveryFeeForOrder); // \Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongStoreDeliveryFeeForOrder);
} // }
$delivery['deliveryFee'] = $deliveryFee; $delivery['deliveryFee'] = $deliveryFee;
$delivery['deliveryType'] = $requestData['deliveryType']; $delivery['deliveryType'] = $requestData['deliveryType'];
$delivery['deliveryTime'] = isset($deliveryTime)?$deliveryTime:\Our\ApiConst::zero; $delivery['deliveryTime'] = isset($deliveryTime)?$deliveryTime:\Our\ApiConst::zero;
...@@ -253,9 +253,9 @@ class OrderConfirmUtil { ...@@ -253,9 +253,9 @@ class OrderConfirmUtil {
if($orderAmount<=\Our\ApiConst::zero){ if($orderAmount<=\Our\ApiConst::zero){
$orderAmount = \Our\ApiConst::zero; $orderAmount = \Our\ApiConst::zero;
} }
if($orderAmount!=$requestData['totalFee']){ // if($orderAmount!=$requestData['totalFee']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongTotalFeeForOrder); // \Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongTotalFeeForOrder);
} // }
$storeCartData['cartList'][$storeId]['orderAmount'] = $orderAmount; $storeCartData['cartList'][$storeId]['orderAmount'] = $orderAmount;
} }
return $storeCartData; return $storeCartData;
......
...@@ -417,6 +417,8 @@ class ApiConst ...@@ -417,6 +417,8 @@ class ApiConst
const messageRefundProccessing=104; const messageRefundProccessing=104;
//售后待收货 //售后待收货
const messageRefundWaitReceive=105; const messageRefundWaitReceive=105;
//用户被其它用户登录请退出
const messageOtherLogin=106;
//消息按钮类型 //消息按钮类型
const messageButtonTypeConfirmButton = 1;//确认收货 const messageButtonTypeConfirmButton = 1;//确认收货
const messageButtonTypeReciverButton = 2;//确认接单 const messageButtonTypeReciverButton = 2;//确认接单
......
...@@ -173,6 +173,8 @@ class NameConst { ...@@ -173,6 +173,8 @@ class NameConst {
const add='add'; const add='add';
const reduce='reduce'; const reduce='reduce';
const logOut='logOut';
} }
?> ?>
\ No newline at end of file
...@@ -62,6 +62,10 @@ class Push ...@@ -62,6 +62,10 @@ class Push
$this->toUserType = $data['toType']; $this->toUserType = $data['toType'];
$this->data[] = $data; $this->data[] = $data;
} }
public function addOneToClient($data)
{
$this->data[] = $data;
}
public function addList($dataList) public function addList($dataList)
{ {
......
...@@ -15,6 +15,16 @@ class SettingServiceModel extends \Business\AbstractModel{ ...@@ -15,6 +15,16 @@ class SettingServiceModel extends \Business\AbstractModel{
return array('version'=>$version['ios_version']); 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(){ public function getServicePhone(){
$settingDAO = \DAO\SettingModel::getInstance(); $settingDAO = \DAO\SettingModel::getInstance();
$phone = $settingDAO->getListCache(array('qm_service_phone'))['qm_service_phone']; $phone = $settingDAO->getListCache(array('qm_service_phone'))['qm_service_phone'];
......
...@@ -123,15 +123,15 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -123,15 +123,15 @@ class OrderServiceModel extends \Business\AbstractModel
if($orderState==ApiConst::orderStateComplete){ if($orderState==ApiConst::orderStateComplete){
$where['evaluation_state']=ApiConst::waitEvaluation; $where['evaluation_state']=ApiConst::waitEvaluation;
} }
if($orderState==ApiConst::orderStateWaitRecieve){ // if($orderState==ApiConst::orderStateWaitRecieve){
$where['shipping_type']=array('eq',ApiConst::bySeller); // $where['shipping_type']=array('eq',ApiConst::bySeller);
$where['order_state'] =array('in',array(ApiConst::orderStateWaitSend,ApiConst::orderStateWaitRecieve)); // $where['order_state'] =array('in',array(ApiConst::orderStateWaitSend,ApiConst::orderStateWaitRecieve));
} // }
if($orderState==ApiConst::orderStateWaitSend){ // if($orderState==ApiConst::orderStateWaitSend){
$where['shipping_type']=array('eq',ApiConst::bySelf); // $where['shipping_type']=array('eq',ApiConst::bySelf);
$where['order_state']=array('eq',ApiConst::orderStateWaitRecieve); // $where['order_state']=array('eq',ApiConst::orderStateWaitRecieve);
} // }
// $where['order_state'] = array('in', explode(',', $orderState)); $where['order_state'] = array('in', explode(',', $orderState));
} }
} }
...@@ -327,6 +327,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -327,6 +327,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderGoodsDao->update($where,$orderGoodsUpdateData); $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) { if ($memberId) {
$orderDao->deleteOrderCache($memberId, $orderId, $order['storeId'],true); $orderDao->deleteOrderCache($memberId, $orderId, $order['storeId'],true);
// $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel); // $memberDao->fromOrderStateToOrderState($memberId,$order['order_state'],ApiConst::orderStateCancel);
...@@ -430,6 +431,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -430,6 +431,7 @@ class OrderServiceModel extends \Business\AbstractModel
public function pushRecieveOrder($order){ public function pushRecieveOrder($order){
$push = Push::getInstance(); $push = Push::getInstance();
$push->recieveWait($order['storeId'], $order['orderId'], $order['orderSn']); $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(); $push->sendTcpMessage();
$messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName); $messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$messageService->addMessageCenterToDb(); $messageService->addMessageCenterToDb();
...@@ -448,7 +450,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -448,7 +450,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitConfirm, $addTime, $pageBegin, PageConst::taskPageSize); $orders = $orderDao->getRecieveOrders(ApiConst::orderStateWaitConfirm, $addTime, $pageBegin, PageConst::taskPageSize);
foreach ($orders['list'] as $order) { foreach ($orders['list'] as $order) {
$push->recieveWait($order['storeId'], $order['orderId'], $order['orderSn']); $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++; $pageBegin++;
} while (!empty($orders['list'])); } while (!empty($orders['list']));
...@@ -783,7 +785,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -783,7 +785,7 @@ class OrderServiceModel extends \Business\AbstractModel
//获得订单列表 //获得订单列表
// $orders=$orderDao->getList($where, $this->orderField, $pageIndex, $pageSize, $order = array('add_time' => 'desc')); // $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(); $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);
...@@ -807,6 +809,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -807,6 +809,7 @@ class OrderServiceModel extends \Business\AbstractModel
$delivery['lng'] = $delivery['reciverInfo']['lng'] ? $delivery['reciverInfo']['lng'] : 0.0; $delivery['lng'] = $delivery['reciverInfo']['lng'] ? $delivery['reciverInfo']['lng'] : 0.0;
$delivery['lat'] = $delivery['reciverInfo']['lat'] ? $delivery['reciverInfo']['lat'] : 0.0; $delivery['lat'] = $delivery['reciverInfo']['lat'] ? $delivery['reciverInfo']['lat'] : 0.0;
$delivery['subAddress'] = isset($delivery['reciverInfo']['sub_address']) ? $delivery['reciverInfo']['sub_address'] : ''; $delivery['subAddress'] = isset($delivery['reciverInfo']['sub_address']) ? $delivery['reciverInfo']['sub_address'] : '';
$delivery['distributionFee']=$value['distributionFee'];
unset($delivery['goodsAmount']); unset($delivery['goodsAmount']);
// unset($delivery['orderState']); // unset($delivery['orderState']);
unset($delivery['refundState']); unset($delivery['refundState']);
...@@ -891,6 +894,8 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -891,6 +894,8 @@ class OrderServiceModel extends \Business\AbstractModel
'subAddress' => isset($reciverInfo['sub_address'])?$reciverInfo['sub_address']:'', 'subAddress' => isset($reciverInfo['sub_address'])?$reciverInfo['sub_address']:'',
'orderGoods' => $orderGoods, 'orderGoods' => $orderGoods,
'shippingFee' => $this->order['shippingFee'], 'shippingFee' => $this->order['shippingFee'],
'distributionFee'=>$delivery['distributionFee'],
'isReceivePayment'=>$this->order['isReceivePayment']
); );
return $returnData; return $returnData;
......
...@@ -254,6 +254,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel ...@@ -254,6 +254,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
}else{ }else{
$type=ApiConst::messageWaitSend; $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']))); \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); $orderDao->deleteOrderCache($order['buyer_id'], $orderId, $order['store_id'], true);
// \Our\RedisHelper::memberTotalFromStateToState($order['buyer_id'], $order['order_state'], ApiConst::orderStateWaitSend); // \Our\RedisHelper::memberTotalFromStateToState($order['buyer_id'], $order['order_state'], ApiConst::orderStateWaitSend);
...@@ -280,7 +281,6 @@ class ShopkeeperServiceModel extends \Business\AbstractModel ...@@ -280,7 +281,6 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$orderDao = \DAO\Order\OrderModel::getInstance(); $orderDao = \DAO\Order\OrderModel::getInstance();
$goodsDao = \DAO\GoodsModel::getInstance(); $goodsDao = \DAO\GoodsModel::getInstance();
$orderCommonDao = \DAO\Order\OrderCommonModel::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 = \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); //$returnData = $orderDao->getOrders($where, $this->orderListField, $pageIndex, $pageSize);
$orders = $returnData['list']; $orders = $returnData['list'];
......
...@@ -11,49 +11,34 @@ class FeedBackServiceModel extends \Business\AbstractModel ...@@ -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']); $feedbackDescribe = trim($param['feedbackDescribe']);
$feedbackTelepone = trim($param['feedbackTelepone']); $feedbackTelephone = $storeDAO->getInfoById($storeId, 'store_phone', true);
$feedbackTelephone = trim($param['feedbackTelephone']);
$telephone = $feedbackTelepone ? $feedbackTelepone : $feedbackTelephone;
$type = (int)$param['type'];
if(!$feedbackDescribe){ if(!$feedbackDescribe){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyFeedbackDescribe); \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 = array();
$insert['feedback_image'] = serialize($imgArr); $insert['feedback_type'] = 1; //店铺意见反馈
$insert['feedback_describe'] = $feedbackDescribe; $insert['feedback_describe'] = $feedbackDescribe;
$insert['feedback_time'] = time(); $insert['feedback_time'] = TIMESTAMP;
$insert['feedback_telephone'] = $telephone; $insert['feedback_telephone'] = $feedbackTelephone;
$insert['member_id'] = $memberId; $insert['member_id'] = $memberId;
$return = \DAO\FeedBackModel::getInstance()->insert($insert); $return = \DAO\FeedBackModel::getInstance()->insert($insert);
if(!$return){ if(!$return){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saveFeedbackError); \Error\ErrorModel::throwException(\Error\CodeConfigModel::saveFeedbackError);
} }
return true;
} }
private static $_instance = null; private static $_instance = null;
......
...@@ -255,7 +255,7 @@ class MemberModel extends \DAO\AbstractModel ...@@ -255,7 +255,7 @@ class MemberModel extends \DAO\AbstractModel
$return[$key] = ApiConst::zero; $return[$key] = ApiConst::zero;
} }
} }
$memberDb0Redis->tableHMSet($memberId, $member); $memberDb0Redis->tableHMSet($memberId, $member,ApiConst::tenDaySecond);
} }
return $return; 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 ...@@ -268,6 +268,9 @@ class OrderModel extends \DAO\AbstractModel
$where['order_id'] = $orderIds; $where['order_id'] = $orderIds;
} }
$where = $this->db->getSqlWhereByArray($where); $where = $this->db->getSqlWhereByArray($where);
if($status==ApiConst::orderStateComplete){
$data['is_receive_payment']=ApiConst::receivePayment;
}
$data['order_state'] = $status; $data['order_state'] = $status;
$data['finnshed_time']=TIMESTAMP; $data['finnshed_time']=TIMESTAMP;
if ($isConfirm) { if ($isConfirm) {
......
...@@ -16,8 +16,8 @@ use Our\ImageConst; ...@@ -16,8 +16,8 @@ use Our\ImageConst;
class QmDeliverymanLogModel extends \DAO\AbstractModel class QmDeliverymanLogModel extends \DAO\AbstractModel
{ {
public $fieldList = 'id,finish_time finishTime,get_time as getTime,order_id as orderId'; 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'; 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 { ...@@ -311,6 +311,55 @@ class RefundReturnModel extends \DAO\AbstractModel {
return $picsRes; 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){ public function refundMoney($orderInfo){
$param['refundOrderNo'] = !empty($orderInfo['refundOrderNo'])?$orderInfo['refundOrderNo']:$this->getRefundsn($orderInfo['storeId']); $param['refundOrderNo'] = !empty($orderInfo['refundOrderNo'])?$orderInfo['refundOrderNo']:$this->getRefundsn($orderInfo['storeId']);
...@@ -350,6 +399,26 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -350,6 +399,26 @@ class RefundReturnModel extends \DAO\AbstractModel {
} }
return true; 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 ...@@ -297,6 +297,7 @@ class CodeConfigModel
const wrongEvaluation = 30120; const wrongEvaluation = 30120;
const selfGoodsForStoreOrder = 30121; const selfGoodsForStoreOrder = 30121;
const refundAddPointsLogError = 30122;
//店铺相关错误码 //店铺相关错误码
//商品分类 //商品分类
...@@ -519,6 +520,7 @@ class CodeConfigModel ...@@ -519,6 +520,7 @@ class CodeConfigModel
self::refundRefuseByStore => '商家不同意退款,如有疑问请联系客服', self::refundRefuseByStore => '商家不同意退款,如有疑问请联系客服',
self::returnErrorAfterPay => '货到付款订单在没确认收货前不能退款退货', self::returnErrorAfterPay => '货到付款订单在没确认收货前不能退款退货',
self::returnBeyondTimeError => '收货超时订单不能退款', self::returnBeyondTimeError => '收货超时订单不能退款',
self::refundAddPointsLogError => '退货退款积分更新写入失败',
//店铺相关错误 //店铺相关错误
self::illegalFavStore => '不能关注自己的店铺', self::illegalFavStore => '不能关注自己的店铺',
......
...@@ -7,10 +7,7 @@ class FeedbackController extends \Our\Controller_AbstractApi { ...@@ -7,10 +7,7 @@ class FeedbackController extends \Our\Controller_AbstractApi {
} }
public function saveFeedbackAction(){ public function saveFeedbackAction(){
$msg = \Business\User\FeedBackServiceModel::getInstance()->saveFeedback($this->req[\Our\NameConst::data],$this->memberId); $msg = \Business\User\FeedBackServiceModel::getInstance()->saveFeedback($this->req[\Our\NameConst::data], $this->storeId,$this->memberId);
unset($this->req[\Our\NameConst::data]['imageA']);
unset($this->req[\Our\NameConst::data]['imageB']);
unset($this->req[\Our\NameConst::data]['imageC']);
$this->success(''); $this->success('');
} }
} }
\ No newline at end of file
<?php <?php
use Error\ErrorModel; use Error\ErrorModel;
...@@ -178,18 +176,6 @@ class ShopkeeperController extends \Our\Controller_AbstractClient { ...@@ -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 { ...@@ -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(){ 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 { ...@@ -68,6 +68,10 @@ class UserController extends \Our\Controller_AbstractIndex {
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
$member['store_id']=$seller['storeId']; $member['store_id']=$seller['storeId'];
$member['seller_id']=$seller['sellerId']; $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->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'])); $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{ }else{
......
This diff is collapsed.
...@@ -72,6 +72,21 @@ class cliOrderClose extends basecli ...@@ -72,6 +72,21 @@ class cliOrderClose extends basecli
} }
$redis->close(); $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() protected function _runCli()
{ {
...@@ -105,8 +120,11 @@ class cliOrderClose extends basecli ...@@ -105,8 +120,11 @@ class cliOrderClose extends basecli
file_put_contents($this->lockFileName ,"running" ); // CLI 独占锁 file_put_contents($this->lockFileName ,"running" ); // CLI 独占锁
} }
$this->autoPushMessage(); $this->autoPushMessage();
echo date('Y-m-d H:i:s',TIMESTAMP).'消息推送成功'."\r\n"; 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){ ...@@ -163,7 +163,7 @@ $serv->on('Message', function($server, $frame) use($conf){
echo 'set:'.KEY_PRE.$memberId,'fd:'.$frame->fd."\r\n"; echo 'set:'.KEY_PRE.$memberId,'fd:'.$frame->fd."\r\n";
$redis->hSet(KEY_PRE.$memberId,'fd', $frame->fd); $redis->hSet(KEY_PRE.$memberId,'fd', $frame->fd);
if($storeId){ 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'])); $server->push($frame->fd,responseJson($async_login_data['status'],$async_login_data['method'],$async_login_data['message'], $async_login_data['data']));
$redis->close(); $redis->close();
...@@ -240,18 +240,25 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) { ...@@ -240,18 +240,25 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
$serv->close($fd); $serv->close($fd);
if(!isset($data['uid']) || empty($data['uid'])){ if(!isset($data['uid']) || empty($data['uid'])){
foreach($data['data'] as $value){ foreach($data['data'] as $value){
$async_data = $redis->rPush("message_center", serialize($value)); if(isset($value['type'])&&$value['type']>100){
if($async_data){ echo json_encode($value);
$value['message']=unserialize($value['message']); $sendStoreFd=$redis->hGet(KEY_PRE_STORE.$value['storeId'],'fd');
$sendFd=$redis->hGet(KEY_PRE.$value['toId'],'fd'); if(!empty($sendStoreFd)){
$redis->hIncrBy(KEY_PRE.$value['toId'],'unread_message_count',\Our\ApiConst::one); $serv->push($sendStoreFd, responseJson(1,"fromMsg","success", $value));
if(!empty($sendFd)){ }
$serv->push($sendFd, responseJson(1,"fromMsg","success", $value)); }else{
$redis->hSet(KEY_PRE.$value['fromId'],'sendTime', time()); $async_data = $redis->rPush("message_center", serialize($value));
if($async_data){
$value['message']=unserialize($value['message']);
$sendFd=$redis->hGet(KEY_PRE.$value['toId'],'fd');
$redis->hIncrBy(KEY_PRE.$value['toId'],'unread_message_count',\Our\ApiConst::one);
if(!empty($sendFd)){
$serv->push($sendFd, responseJson(1,"fromMsg","success", $value));
$redis->hSet(KEY_PRE.$value['fromId'],'sendTime', time());
}
} }
} }
} }
}else{ }else{
$async_data = $redis->rPush("message_center",serialize($data['data'])); $async_data = $redis->rPush("message_center",serialize($data['data']));
......
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