Commit 9c8220ac authored by liuyuzhen's avatar liuyuzhen

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

parents 68051e1a 9d5172cd
...@@ -421,6 +421,7 @@ class ApiConst ...@@ -421,6 +421,7 @@ class ApiConst
const reachRemindMessageType = 1; const reachRemindMessageType = 1;
const waitRecieveOrderType = 15; const waitRecieveOrderType = 15;
const deliveryOrderType = 16; const deliveryOrderType = 16;
const reicieveOrderType = 17;
//pcClient 消息推送消息模板类型常量 //pcClient 消息推送消息模板类型常量
const messageWaitReceive=101; const messageWaitReceive=101;
//售后 //售后
......
...@@ -164,6 +164,9 @@ class DescribeConst ...@@ -164,6 +164,9 @@ class DescribeConst
//店铺有新订单 //店铺有新订单
const recieveWaitTitle='您有新的订单'; const recieveWaitTitle='您有新的订单';
const recieveWaitContent='您有新的订单号为{0}的订单,是否需要接单'; const recieveWaitContent='您有新的订单号为{0}的订单,是否需要接单';
//用户订单被接单
const recieveOrderTitle='您的订单已被接单';
const recieveOrderContent='您有订单号为{0}的订单,已被接单';
//消息按钮成功提示信息 //消息按钮成功提示信息
const recieveOrderSuccess='接单成功'; const recieveOrderSuccess='接单成功';
......
...@@ -234,6 +234,42 @@ class Push ...@@ -234,6 +234,42 @@ class Push
return $messageContent; return $messageContent;
} }
//用户被接单消息
public function updateOrderAmount($storeId,$orderId,$orderSn)
{
$storeDao=\DAO\StoreModel::getInstance();
$condition['store_id'] = $storeId;
$store = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$storeDao, 'getInfo'), array($condition), ApiConst::oneDaySecond, array($storeId));
//$store = $storeDao->getInfo(array('store_id'=>$storeId));
$orderService=\Business\Order\OrderServiceModel::getInstance();
$orderDetail=$orderService->getOrderDetail($orderId);
$toUserId=$orderDetail['buyerId'];
$messageContent=$this->getOrderMessageContent($orderDetail);
$fromAvatar=Common::getStaticFile(ImageConst::orderAvatarName, ImageConst::systemAvatar);
$href=Common::format(PathConst::orderId,$orderId);
// $buttons=$this->getComfirmRecieveButtons($orderId);
$message=$this->getMessageTemplate(ApiConst::reicieveOrderType,DescribeConst::recieveOrderTitle,$messageContent,'','',$href,ApiConst::zero);
$id = time() . (string)$this->orderIdStr.$orderId;
$this->pushMessage($id,$this->orderId,$orderDetail['buyerId'],$this->orderId,$toUserId,$this->orderName,$store['store_name'],ApiConst::orderMessageType,ApiConst::memberMessageType,$fromAvatar,$message);
}
//用户被接单消息
public function recievedOrder($storeId,$orderId,$orderSn)
{
$storeDao=\DAO\StoreModel::getInstance();
$condition['store_id'] = $storeId;
$store = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$storeDao, 'getInfo'), array($condition), ApiConst::oneDaySecond, array($storeId));
//$store = $storeDao->getInfo(array('store_id'=>$storeId));
$orderService=\Business\Order\OrderServiceModel::getInstance();
$orderDetail=$orderService->getOrderDetail($orderId);
$toUserId=$orderDetail['buyerId'];
$messageContent=$this->getOrderMessageContent($orderDetail);
$fromAvatar=Common::getStaticFile(ImageConst::orderAvatarName, ImageConst::systemAvatar);
$href=Common::format(PathConst::orderId,$orderId);
// $buttons=$this->getComfirmRecieveButtons($orderId);
$message=$this->getMessageTemplate(ApiConst::reicieveOrderType,DescribeConst::recieveOrderTitle,$messageContent,'','',$href,ApiConst::zero);
$id = time() . (string)$this->orderIdStr.$orderId;
$this->pushMessage($id,$this->orderId,$orderDetail['buyerId'],$this->orderId,$toUserId,$this->orderName,$store['store_name'],ApiConst::orderMessageType,ApiConst::memberMessageType,$fromAvatar,$message);
}
//店铺接单 //店铺接单
public function recieveWait($storeId,$orderId,$orderSn) public function recieveWait($storeId,$orderId,$orderSn)
{ {
......
...@@ -493,7 +493,6 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -493,7 +493,6 @@ 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']);
$push=\Our\Push::getInstance();
$pushData=array('storeId'=>$order['storeId'], $pushData=array('storeId'=>$order['storeId'],
'type'=>ApiConst::messageWaitReceive, 'type'=>ApiConst::messageWaitReceive,
'waitReceiveCount'=>ApiConst::one, 'waitReceiveCount'=>ApiConst::one,
...@@ -508,7 +507,6 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -508,7 +507,6 @@ class OrderServiceModel extends \Business\AbstractModel
'm'=>'orderDetail', 'm'=>'orderDetail',
'orderId'=>$order['orderId'])); 'orderId'=>$order['orderId']));
$push->addOneToClient($pushData); $push->addOneToClient($pushData);
$push->sendTcpMessage();
// \Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>ApiConst::messageWaitReceive,'op'=>NameConst::add,'num'=>ApiConst::one,'params'=>array('c'=>'shopkeeper','m'=>'orderDetail','orderId'=>$order['orderId']))); // \Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>ApiConst::messageWaitReceive,'op'=>NameConst::add,'num'=>ApiConst::one,'params'=>array('c'=>'shopkeeper','m'=>'orderDetail','orderId'=>$order['orderId'])));
$push->sendTcpMessage(); $push->sendTcpMessage();
$messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName); $messageService=\Business\Message\MessageServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
...@@ -985,6 +983,9 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -985,6 +983,9 @@ class OrderServiceModel extends \Business\AbstractModel
} }
$data['order_amount']=$newOrderAmount; $data['order_amount']=$newOrderAmount;
$res=$orderDao->updateByOrderId($data,$orderId); $res=$orderDao->updateByOrderId($data,$orderId);
$push=\Our\Push::getInstance();
$push->recievedOrder($orderDetail['storeId'], $orderDetail['orderId'], $orderDetail['orderSn']);
$push->sendTcpMessage();
$orderDao->deleteOrderCache($orderDetail['memberId'], $orderId, $storeId, true); $orderDao->deleteOrderCache($orderDetail['memberId'], $orderId, $storeId, true);
$storeDao->deleteStoreCache($storeId,$orderId); $storeDao->deleteStoreCache($storeId,$orderId);
$orderLogDao->add($orderDetail['orderId'],ArrayConst::logMsgType[ApiConst::sellerUpdateOrderAmount],DescribeConst::sellerLog,$memberName,$orderDetail['orderState']); $orderLogDao->add($orderDetail['orderId'],ArrayConst::logMsgType[ApiConst::sellerUpdateOrderAmount],DescribeConst::sellerLog,$memberName,$orderDetail['orderState']);
......
...@@ -956,9 +956,11 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -956,9 +956,11 @@ class RefundServiceModel extends \Business\AbstractModel
} }
} }
} else { } else {
$refundAmount = $orderGoods['goodsPrice']*$orderGoods['goodsNum']; $refundAmount = $orderGoods['goodsPrice']*$orderGoods['goodsNum'];
} }
$returnData['refundAmount'] = $refundAmount - $orderInfo['refundAmount'] - $returnData['needShippingFee'] + $shippingFee; $returnData['refundAmount'] = $refundAmount - $orderInfo['refundAmount'] - $returnData['needShippingFee'] + $shippingFee;
$returnData['refundAmount']= $returnData['refundAmount']<ApiConst::zero?ApiConst::zero:$refundAmount['refundAmount'];
// if($orderGoods['goodsType']==ApiConst::goodsTypeFour){ // if($orderGoods['goodsType']==ApiConst::goodsTypeFour){
// //已经退款过的金额 // //已经退款过的金额
// $alreadyRefundMoney=$orderGoodsDao->getIsRefundMoney($orderGoodses,$orderGoods['promotionsId']); // $alreadyRefundMoney=$orderGoodsDao->getIsRefundMoney($orderGoodses,$orderGoods['promotionsId']);
......
...@@ -260,6 +260,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel ...@@ -260,6 +260,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$type=ApiConst::messageWaitSend; $type=ApiConst::messageWaitSend;
} }
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$push->recievedOrder($order['store_id'], $order['order_id'], $order['orderSn']);
$pushData=array('storeId'=>$order['store_id'], $pushData=array('storeId'=>$order['store_id'],
'type'=>ApiConst::messageWaitReceive, 'type'=>ApiConst::messageWaitReceive,
'waitReceiveCount'=>ApiConst::reduceOne, 'waitReceiveCount'=>ApiConst::reduceOne,
......
...@@ -111,6 +111,13 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -111,6 +111,13 @@ class MemberServiceModel extends \Business\AbstractModel
return $member ? $member : false; return $member ? $member : false;
} }
public function getOneByStoreId($storeId){
$memberDao=\DAO\MemberModel::getInstance();
$member=$memberDao->getOneByStoreId($storeId);
return $member;
}
/** /**
* 登录业务 * 登录业务
* *
......
...@@ -27,6 +27,8 @@ class MemberModel extends \DAO\AbstractModel ...@@ -27,6 +27,8 @@ class MemberModel extends \DAO\AbstractModel
//有效用户返回数据 //有效用户返回数据
private $memberColumn = array('member_id', 'member_name','member_truename', 'member_avatar', 'member_sex', 'member_birthday', 'member_mobile', 'member_mobile_bind', 'member_qq', 'member_qqopenid', 'member_qqinfo', 'member_wxinfo', 'member_wxopenid', 'member_sinaopenid', 'member_sinainfo', 'member_points', 'member_state', 'member_quicklink', 'member_exppoints', 'store_id', 'iswx', 'agree_flag', 'seller_id', 'diliveryman_id', 'member_tag_ids', 'member_group_ids', 'is_teacher', 'member_email', 'member_email_bind','is_wxsend','member_state'); private $memberColumn = array('member_id', 'member_name','member_truename', 'member_avatar', 'member_sex', 'member_birthday', 'member_mobile', 'member_mobile_bind', 'member_qq', 'member_qqopenid', 'member_qqinfo', 'member_wxinfo', 'member_wxopenid', 'member_sinaopenid', 'member_sinainfo', 'member_points', 'member_state', 'member_quicklink', 'member_exppoints', 'store_id', 'iswx', 'agree_flag', 'seller_id', 'diliveryman_id', 'member_tag_ids', 'member_group_ids', 'is_teacher', 'member_email', 'member_email_bind','is_wxsend','member_state');
public $memberDetail='member_id as memberId';
public function init() public function init()
{ {
...@@ -297,6 +299,12 @@ class MemberModel extends \DAO\AbstractModel ...@@ -297,6 +299,12 @@ class MemberModel extends \DAO\AbstractModel
return $member; return $member;
} }
public function getOneByStoreId($storeId){
$this->setDb($this->dbName);
$where['store_id'] = $storeId;
$member = $this->getOneByWhereWithField($where,$this->memberDetail);;
return $member;
}
/** /**
* 获取类实例 * 获取类实例
* *
......
...@@ -471,6 +471,9 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -471,6 +471,9 @@ class RefundReturnModel extends \DAO\AbstractModel {
$refund_array['commis_rate'] = $goods['commisRate']; $refund_array['commis_rate'] = $goods['commisRate'];
$refund_array['goods_image'] = $goods['goodsImage']; $refund_array['goods_image'] = $goods['goodsImage'];
} }
if($refund_array['goods_id']==ApiConst::zero){
ErrorModel::throwException(CodeConfigModel::commonError);
}
if(!isset($refund_array['refund_sn'])|| !$refund_array['refund_sn']){ if(!isset($refund_array['refund_sn'])|| !$refund_array['refund_sn']){
$refund_array['refund_sn'] = $this->getRefundsn($order['storeId']); $refund_array['refund_sn'] = $this->getRefundsn($order['storeId']);
} }
......
...@@ -133,7 +133,7 @@ class CodeConfigModel ...@@ -133,7 +133,7 @@ class CodeConfigModel
const saveScanStoreInfoFailed = 40012; const saveScanStoreInfoFailed = 40012;
const storeNotOpen = 40013; const storeNotOpen = 40013;
const storeNotExistOrClose1 = 40014; const storeNotExistOrClose1 = 40014;
const storeIsRefuse = 40015;
//购物车 //购物车
const wrongCartType = 50001; const wrongCartType = 50001;
const emptyAddCartMemberId = 50002; const emptyAddCartMemberId = 50002;
...@@ -556,6 +556,7 @@ class CodeConfigModel ...@@ -556,6 +556,7 @@ class CodeConfigModel
self::emptyScanStoreInfo => '扫码关注店铺不存在', self::emptyScanStoreInfo => '扫码关注店铺不存在',
self::saveScanStoreInfoFailed => '扫码店铺保存失败', self::saveScanStoreInfoFailed => '扫码店铺保存失败',
self::storeNotOpen => '店铺还未配置开启', self::storeNotOpen => '店铺还未配置开启',
self::storeIsRefuse=>'您的店铺已被禁用',
self::storeNotExistOrClose1 => '店铺不存在或者已关闭', self::storeNotExistOrClose1 => '店铺不存在或者已关闭',
//购物车相关 //购物车相关
......
...@@ -33,8 +33,15 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -33,8 +33,15 @@ class UserController extends \Our\Controller_AbstractIndex {
$password=$data[NameConst::password]; $password=$data[NameConst::password];
$shopKeeperServvice=\Business\Store\ShopkeeperServiceModel::getInstance(); $shopKeeperServvice=\Business\Store\ShopkeeperServiceModel::getInstance();
$seller=$shopKeeperServvice->sellerLogin($sellerName); $seller=$shopKeeperServvice->sellerLogin($sellerName);
$storeService =\Business\Store\StoreServiceModel::getInstance();
if(!empty($seller)){ if(!empty($seller)){
$mobile=$seller['memberMobile']; $mobile=$seller['memberMobile'];
$isStore=$this->memberService->getOneByStoreId($seller['storeId']);
if(empty($isStore)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::storeIsRefuse);
}
}else{ }else{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::errorUsernameOrPassword); \Error\ErrorModel::throwException(\Error\CodeConfigModel::errorUsernameOrPassword);
} }
...@@ -75,7 +82,7 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -75,7 +82,7 @@ class UserController extends \Our\Controller_AbstractIndex {
//通知退出 //通知退出
$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'],'storeLabel'=>$member['memberAvatarUrl']));
}else{ }else{
ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword); ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword);
} }
......
<span style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">1:关于退货退款要显示的按钮</span>
<br>
return_type
<table class=""> <table class="">
<tbody> <tbody><tr>
<tr> <td> refundShippingType</td>
<td> type</td> <td> sellerState</td>
<td> shippingOver</td>
<td> 订单管理(orderCount)</td> <td> returnType</td>
<td> 售后管理(refundCount)</td> <td> 要显示的按钮</td>
<td> 待处理(waitRefundProccessCount)</td>
<td> 待收货(waitRefundReceiveCount)</td>
<td> 待接单(waitReceiveCount)</td>
<td> 待配送(waitDeliveryCount)</td>
<td> 待自提(waitGetCount)</td>
<td> 库存管理(alertCount)</td>
<td> 当前活动菜单</td>
<td> 是否根据params参数请求接口</td>
</tr> </tr>
<tr> <tr>
<td> 101 </td> <td> 1</td>
<td> 2</td>
<td>1/-1/0</td>
<td> 0</td>
<td> 0</td> <td> 0</td>
<td> 0</td> <td> 2</td>
<td> 修改收货时间,选择配送员,确认收货</td>
<td>1/-1<br></td>
<td> 1/-1</td>
<td> 1/-1</td>
<td> 0</td>
<td> 全部订单/待付款</td>
<td> 如过列表中存在 orderId=params[orderId]
请求接口 c/m 参数orderId=params[orderId]
用返回的数据更新 列表orderId=params[orderId]那条数据</td>
</tr>
<tr>
<td> 102</td>
<td> </td>
<td>1/-1<br></td>
<td> 1/-1</td>
<td> 1/-1</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> 全部售后订单</td>
<td> 如过列表中存在 refundId=params[<span style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">refundId</span>]
请求接口 c/m 参数<span style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">refundId</span>=params[<span style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">refundId</span>]
用返回的数据更新 列表<span style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">refundId</span>=params[<span style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">refundId</span>]那条数据</td>
</tr> </tr>
<tr> <tr>
<td> 106</td> <td> 1</td>
<td> 2</td>
<td> </td> <td> 0</td>
<td> </td> <td> 1</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td> <td> </td>
<td>=alertCount</td>
<td> 库存管理</td>
<td>重新请求库存预警列表接口</td>
</tr> </tr>
<tr>
<td> 107</td>
<td> 当前账号在其他地方登陆请求退出登陆接口</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr> <tr>
<td> </td> <td> 任意</td>
<td> </td> <td> 1</td>
<td> </td> <td> 0</td>
<td> </td> <td> 任意</td>
<td> </td> <td> 同意,不同意</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr> </tr>
<tr> <tr>
<td> </td> <td> 0</td>
<td> </td> <td> 2</td>
<td> </td> <td> 0</td>
<td> </td> <td> 任意</td>
<td> </td> <td> 确认收货</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr> </tr>
</tbody> </tbody>
</table><p><br></p> </table><br><p>2:修改收货时间</p><p>修改收货时间用的是receiveTime字段</p><p><br></p><p style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">3 商品属性显示方式</p>
\ No newline at end of file <p style="color: rgb(51, 51, 51); font-family: " helvetica="" neue",="" helvetica,="" "pingfang="" sc",="" "hiragino="" sans="" gb",="" "microsoft="" yahei",="" "noto="" cjk="" "wenquanyi="" micro="" hei",="" arial,="" sans-serif;="" font-size:="" 14px;"="">goodsAttr-&gt;attrName:goodsAttr-&gt;attrValue goodsAttr-&gt;attrName:goodsAttr-&gt;attrValue</p>
<p><br><br></p><p><br></p><p><br></p><p><br></p>
\ No newline at end of file
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