Commit 98d8cf61 authored by zhz's avatar zhz

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

parents 345fdceb 1cd0288c
...@@ -798,7 +798,7 @@ class OrderConfirmUtil { ...@@ -798,7 +798,7 @@ class OrderConfirmUtil {
/** /**
* 更新商品对应库存(更新数据库库存同时更新redis缓存) * 更新商品对应库存(更新数据库库存同时更新redis缓存)
* * updateSaleNumFlag 是否需要增减销量
* @param $storeCarts * @param $storeCarts
*/ */
public function updateGoodsStorage($storeCartsList,$op = \Our\ApiConst::minus,$updateSaleNumFlag= true ){ public function updateGoodsStorage($storeCartsList,$op = \Our\ApiConst::minus,$updateSaleNumFlag= true ){
...@@ -880,12 +880,14 @@ class OrderConfirmUtil { ...@@ -880,12 +880,14 @@ class OrderConfirmUtil {
$goodsDao = \DAO\GoodsModel::getInstance($dbName); $goodsDao = \DAO\GoodsModel::getInstance($dbName);
$goodsCommonDao = \DAO\GoodsCommonModel::getInstance($dbName); $goodsCommonDao = \DAO\GoodsCommonModel::getInstance($dbName);
$resultGoodsCommon = $goodsCommonDao->updateGoodsStorage($goodsCommons,$op,$updateSaleNumFlag); $resultGoodsCommon = $goodsCommonDao->updateGoodsStorage($goodsCommons,$op,$updateSaleNumFlag);
$resultGoods = $goodsDao->updateGoodsStorage($goodsNewList,$op); $resultGoods = $goodsDao->updateGoodsStorage($goodsNewList,$op);
if(!($resultGoodsCommon&&$resultGoods)){ if(!($resultGoodsCommon&&$resultGoods)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::goodsStorageToDBFailedForOrder); \Error\ErrorModel::throwException(\Error\CodeConfigModel::goodsStorageToDBFailedForOrder);
} }
} }
if($blGoodsList){ if($blGoodsList){
foreach($blGoodsList as $key=>$blGoods){ foreach($blGoodsList as $key=>$blGoods){
$pBundlingCacheResult = $pBundlingDao->opBlGoodsStorage($key,$blGoods['blStorage']);//组合销售库存删减 $pBundlingCacheResult = $pBundlingDao->opBlGoodsStorage($key,$blGoods['blStorage']);//组合销售库存删减
......
...@@ -24,7 +24,7 @@ class ApiConst ...@@ -24,7 +24,7 @@ class ApiConst
const halfHour = 1800; const halfHour = 1800;
//预警时间 //预警时间
const storageAlarmHour = 60; const storageAlarmHour = 30;
const twoMinSecond = 120; const twoMinSecond = 120;
...@@ -192,7 +192,7 @@ class ApiConst ...@@ -192,7 +192,7 @@ class ApiConst
const goodsStateWaitRecieve = 2; const goodsStateWaitRecieve = 2;
const goodsStateUnRecieve = 3; const goodsStateUnRecieve = 3;
const goodsStateRecieved = 4; const goodsStateRecieved = 4;
const refundStateProccess = 1;
const refundStateComplete = 3; const refundStateComplete = 3;
//是否退款成功 //是否退款成功
const refundSuccess = 1; const refundSuccess = 1;
......
...@@ -136,7 +136,7 @@ class ImageUtil { ...@@ -136,7 +136,7 @@ class ImageUtil {
return $goodsImg; return $goodsImg;
} }
public function getStoreLabel($storeLabel, $directory = \Our\ImageConst::storeLabel,$width=\Our\ApiConst::zero,$height=\Our\ApiConst::zero){ public static function getStoreLabel($storeLabel, $directory = \Our\ImageConst::storeLabel,$width=\Our\ApiConst::zero,$height=\Our\ApiConst::zero){
$storeLableImage = \Our\Common::getStaticFile($storeLabel, $directory); $storeLableImage = \Our\Common::getStaticFile($storeLabel, $directory);
if($width){ if($width){
if(!$height){ if(!$height){
......
...@@ -25,6 +25,9 @@ class OrderConst { ...@@ -25,6 +25,9 @@ class OrderConst {
const express='快递配送'; const express='快递配送';
const complete="已完成"; const complete="已完成";
const close="已关闭"; const close="已关闭";
const platformStateVerify='待审核';
const platformStateAgree='同意';
const platformStateRefuse='拒绝';
const platformAudit="平台审核"; const platformAudit="平台审核";
const platFormAgree="平台同意"; const platFormAgree="平台同意";
...@@ -50,7 +53,14 @@ class OrderConst { ...@@ -50,7 +53,14 @@ class OrderConst {
//详情 //详情
const unpayDetailMessage="10分钟后交易自动关闭"; const unpayDetailMessage="10分钟后交易自动关闭";
const payCancelDetailMessage="10分钟可取消订单"; const payCancelDetailMessage="10分钟可取消订单";
//商家售后状态
const sellerStateVerify='待审核';
const sellerStateAgree='同意';
const sellerStateRefuse='不同意';
//商家售后状态
const platStateVerify='待审核';
const platStateAgree='同意';
const platStateRefuse='不同意';
//店铺详细文案 //店铺详细文案
const storeWaiteConfirm='请尽快确认订单'; const storeWaiteConfirm='请尽快确认订单';
const storeWaiteSend='请尽快发货'; const storeWaiteSend='请尽快发货';
......
...@@ -267,7 +267,7 @@ class CouponServiceModel extends \Business\AbstractModel{ ...@@ -267,7 +267,7 @@ class CouponServiceModel extends \Business\AbstractModel{
} }
$memberCouponDao = \DAO\Coupon\MemberCouponModel::getInstance($dbName); $memberCouponDao = \DAO\Coupon\MemberCouponModel::getInstance($dbName);
if($coupon['is_overlay']){//允许领用多张的优惠券是否存在已经领取的未使用有效优惠券 if($coupon['is_overlay']){//允许领用多张的优惠券是否存在已经领取的未使用有效优惠券
$whereSql = ' coupon_state = '.\Our\ApiConst::couponUnused.' member_id ='.$memberId.' and coupon_id='.$coupon['id'].' and out_time > '.time(); $whereSql = ' coupon_state = '.\Our\ApiConst::couponUnused.' and member_id ='.$memberId.' and coupon_id='.$coupon['id'].' and out_time > '.time();
//$memberCoupons = \Our\RedisHelper::cachedFunction(\Redis\Db13\MemberCouponRedisModel::getInstance(), array(&$memberCouponDao, 'getList'),array($whereSql),\Our\ApiConst::oneHour,array($where['couponId'])); //$memberCoupons = \Our\RedisHelper::cachedFunction(\Redis\Db13\MemberCouponRedisModel::getInstance(), array(&$memberCouponDao, 'getList'),array($whereSql),\Our\ApiConst::oneHour,array($where['couponId']));
$memberCoupons = $memberCouponDao->getList($whereSql); $memberCoupons = $memberCouponDao->getList($whereSql);
if($memberCoupons&&count($memberCoupons)>\Our\ApiConst::zero){ if($memberCoupons&&count($memberCoupons)>\Our\ApiConst::zero){
......
...@@ -186,7 +186,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -186,7 +186,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$lat = $where['lat']; $lat = $where['lat'];
$lng = $where['lng']; $lng = $where['lng'];
$cityCode = $where['cityCode']; $cityCode = $where['cityCode'];
$storeDao = \DAO\StoreModel::getInstance(); $storeDao = \DAO\StoreModel::getInstance();
$signStoreClasses = $this->getSignClassesByCityCode($cityCode); $signStoreClasses = $this->getSignClassesByCityCode($cityCode);
//var_dump($signStoreClasses); //var_dump($signStoreClasses);
...@@ -196,7 +195,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -196,7 +195,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$storeList = array(); $storeList = array();
if($tempStoreList){ if($tempStoreList){
foreach($tempStoreList as $tempStore){ foreach($tempStoreList as $tempStore){
$storeList[$tempStore['store_id']] = $tempStore; $storeList[$tempStore['storeId']] = $tempStore;
} }
} }
$returnClass = array(); $returnClass = array();
......
...@@ -954,6 +954,10 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -954,6 +954,10 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
} }
$stores = $nearbyStoresArray['stores'] ; $stores = $nearbyStoresArray['stores'] ;
if(!$stores){
$storesService = \Business\Store\StoreServiceModel::getInstance();
$stores = $storesService->getNearbyStores($position,true,true);
}
$storeIds = array_keys($stores); $storeIds = array_keys($stores);
if($storeIds) { if($storeIds) {
$saleTopSaleGoodsModel = \DAO\Goods\StoreTopSaleGoodsModel::getInstance(); $saleTopSaleGoodsModel = \DAO\Goods\StoreTopSaleGoodsModel::getInstance();
...@@ -1003,7 +1007,6 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -1003,7 +1007,6 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$otherGoodsList = $goodsList; $otherGoodsList = $goodsList;
} }
} }
if(count($otherGoodsList)<=\Our\ApiConst::defaultIndexGoodsCount){ if(count($otherGoodsList)<=\Our\ApiConst::defaultIndexGoodsCount){
$newNineGoodsIds = array_keys($otherGoodsList); $newNineGoodsIds = array_keys($otherGoodsList);
$nineGoodsList = $otherGoodsList; $nineGoodsList = $otherGoodsList;
......
...@@ -776,7 +776,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -776,7 +776,7 @@ class OrderServiceModel extends \Business\AbstractModel
} }
file_put_contents($this->baseDir . \Our\PathConst::orderCloseWaitRecieveOrder, $endTime); file_put_contents($this->baseDir . \Our\PathConst::orderCloseWaitRecieveOrder, $endTime);
} }
public function updateDateGoodsStoregeByOrderGoods($orderGoods,$type=ApiConst::plus){ public function updateDateGoodsStoregeByOrderGoods($orderGoods,$type=ApiConst::plus,$updateSaleNumFlag=true){
$orderConfirmUtilDao=OrderConfirmUtil::getInstance(DbNameConst::masterDBConnectName); $orderConfirmUtilDao=OrderConfirmUtil::getInstance(DbNameConst::masterDBConnectName);
$storeCartsList=array(); $storeCartsList=array();
$storeCarts=array(); $storeCarts=array();
...@@ -792,7 +792,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -792,7 +792,7 @@ class OrderServiceModel extends \Business\AbstractModel
} }
// $orderDao->updateNotRecieveOrders(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField); // $orderDao->updateNotRecieveOrders(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField);
try{ try{
$orderConfirmUtilDao->updateGoodsStorage($storeCartsList,$type); $orderConfirmUtilDao->updateGoodsStorage($storeCartsList,$type,$updateSaleNumFlag);
return true; return true;
}catch(\Exception $ex){ }catch(\Exception $ex){
$orderGoodsIds=array_column($orderGoods,'goodsId'); $orderGoodsIds=array_column($orderGoods,'goodsId');
...@@ -829,7 +829,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -829,7 +829,7 @@ class OrderServiceModel extends \Business\AbstractModel
foreach($goodses as &$goods){ foreach($goodses as &$goods){
$goods['goodsNum']=$num; $goods['goodsNum']=$num;
} }
if($this->updateDateGoodsStoregeByOrderGoods($goodses,$type)){ if($this->updateDateGoodsStoregeByOrderGoods($goodses,$type,false)){
return true; return true;
} }
} }
......
...@@ -234,7 +234,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -234,7 +234,7 @@ class RefundServiceModel extends \Business\AbstractModel
} }
$orderDao->setDb(DbNameConst::masterDBConnectName); $orderDao->setDb(DbNameConst::masterDBConnectName);
$orderDao->db->doTransaction(); $orderDao->db->doTransaction();
$order_info=$orderDao->findByOrderId($return['order_id'],$orderDao->getOrderDetailField()); $order_info=$orderDao->findByOrderId($return['order_id']);
$refund_array = array(); $refund_array = array();
$refund_array['seller_time'] = TIMESTAMP; $refund_array['seller_time'] = TIMESTAMP;
$refund_array['seller_state'] =$sellerState;//卖家处理状态:1为待审核,2为同意,3为不同意 $refund_array['seller_state'] =$sellerState;//卖家处理状态:1为待审核,2为同意,3为不同意
...@@ -259,7 +259,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -259,7 +259,7 @@ class RefundServiceModel extends \Business\AbstractModel
ErrorModel::throwException(CodeConfigModel::updateIsRefundFail); ErrorModel::throwException(CodeConfigModel::updateIsRefundFail);
} }
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$order_info['storeId'], $pushData=array('storeId'=>$order_info['store_id'],
'type'=>ApiConst::messageRefund, 'type'=>ApiConst::messageRefund,
'waitReceiveCount'=>ApiConst::zero, 'waitReceiveCount'=>ApiConst::zero,
'waitDeliveryCount'=>ApiConst::zero, 'waitDeliveryCount'=>ApiConst::zero,
...@@ -276,7 +276,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -276,7 +276,7 @@ class RefundServiceModel extends \Business\AbstractModel
$push->sendTcpMessage(); $push->sendTcpMessage();
} }
if ($refund_array['seller_state'] == ApiConst::refundSellerAgree){ if ($sellerState == ApiConst::refundSellerAgree){
$orderGoodsUpdateData['refund_state_name']=DescribeConst::sellerAgreeReturn; $orderGoodsUpdateData['refund_state_name']=DescribeConst::sellerAgreeReturn;
$orderGoodsUpdateData['gmt_update']=TIMESTAMP; $orderGoodsUpdateData['gmt_update']=TIMESTAMP;
$orderGoodsWhere['rec_id']=$return['order_goods_id']; $orderGoodsWhere['rec_id']=$return['order_goods_id'];
...@@ -292,11 +292,45 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -292,11 +292,45 @@ class RefundServiceModel extends \Business\AbstractModel
$refund_array['goods_state']=2; $refund_array['goods_state']=2;
} elseif ($refund_array['seller_state'] == '3') { } elseif ($refund_array['seller_state'] == '3') {
$refund_array['refund_state'] = '3';//状态:1为处理中,2为待管理员处理,3为已完成 $refund_array['refund_state'] = ApiConst::refundStateComplete;//状态:1为处理中,2为待管理员处理,3为已完成
} else { } else {
$refund_array['seller_state'] = '2'; $refund_array['seller_state'] = '2';
$refund_array['refund_state'] = '2'; $refund_array['refund_state'] = ApiConst::refundStateComplete;
$refund_array['return_type'] = '1';//选择弃货 $refund_array['return_type'] = '1';//选择弃货
$storeDao=\DAO\StoreModel::getInstance();
$is_direct_refund = $storeDao->getInfoById($storeId, 'is_direct_refund', 'is_direct_refund');
if($is_direct_refund==ApiConst::one){
$payment_type = $order_info['payment_type'];
if(!in_array($payment_type,array(0,2))){
$state = $refundReturnDao->storeRefund(array_merge($order_info, array('refund_order_no'=>$order_info['order_sn'], 'refund_amount'=> $refundAmount)));
if (!$state) {
//throw new Exception('更新订单信息失败');
$orderDao->db->doRollback();
return false;
}
if($payment_type==1) { //微信支付
$updateData = array('is_suc_refund'=>1,'gmt_update'=>TIMESTAMP,'seller_state'=>$refund_array['seller_state'],'refund_state'=>$refund_array['refund_state']);
} else {
$updateData = array('is_suc_refund'=>1,'gmt_update'=>TIMESTAMP);
}
$res=$refundReturnDao->update(array('refund_id'=>$returnDetail['refund_id']), $updateData);
if(!$res){
$refundReturnDao->db->doRollback();
// showDialog('退款成功,退款表写入失败,请联系工作人员!',$reload,'error');
return false;
}
$result= $orderGoodsDao->update(array('rec_id'=>$returnDetail['order_goods_id']), array('is_refund'=>1,'gmt_update'=>TIMESTAMP));
if(!$result){
$refundReturnDao->db->doRollback();
// showDialog('refund_state_name',$reload,'error');
return false;
}
}else{
if(!in_array($payment_type,array(0,2))){
$refund_array['refund_state']=ApiConst::refundStateProccess;
}
}
}
} }
$refund_array['refund_amount']=$refundAmount; $refund_array['refund_amount']=$refundAmount;
$state = $refundReturnDao->update($condition, $refund_array); $state = $refundReturnDao->update($condition, $refund_array);
...@@ -305,7 +339,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -305,7 +339,7 @@ class RefundServiceModel extends \Business\AbstractModel
$sellerLogDao->record('退货处理,退货编号:'.$return['refund_sn']); $sellerLogDao->record('退货处理,退货编号:'.$return['refund_sn']);
$orderDao->db->doCommit(); $orderDao->db->doCommit();
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$order_info['storeId'], $pushData=array('storeId'=>$order_info['store_id'],
'type'=>ApiConst::messageRefund, 'type'=>ApiConst::messageRefund,
'waitReceiveCount'=>ApiConst::zero, 'waitReceiveCount'=>ApiConst::zero,
'waitDeliveryCount'=>ApiConst::zero, 'waitDeliveryCount'=>ApiConst::zero,
...@@ -405,7 +439,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -405,7 +439,7 @@ class RefundServiceModel extends \Business\AbstractModel
} }
} }
$refund_array['refund_state'] = '3'; //状态:1为处理中,2为待管理员处理,3为已完成 $refund_array['refund_state'] = ApiConst::refundStateComplete; //状态:1为处理中,2为待管理员处理,3为已完成
$state = $refundReturnDao->editRefundReturn($whereRefund, $refund_array); $state = $refundReturnDao->editRefundReturn($whereRefund, $refund_array);
if(!$state){ if(!$state){
$refundReturnDao->db->doRollback(); $refundReturnDao->db->doRollback();
...@@ -458,7 +492,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -458,7 +492,7 @@ class RefundServiceModel extends \Business\AbstractModel
ErrorModel::throwException(CodeConfigModel::refundAddPointsLogError); ErrorModel::throwException(CodeConfigModel::refundAddPointsLogError);
} }
} }
$refund_array['refund_state'] = '3'; //状态:1为处理中,2为待管理员处理,3为已完成 $refund_array['refund_state'] = ApiConst::platProccess; //状态:1为处理中,2为待管理员处理,3为已完成
$state = $refundReturnDao->editRefundReturn($whereRefund, $refund_array); $state = $refundReturnDao->editRefundReturn($whereRefund, $refund_array);
if($state){ //退款记录成功 if($state){ //退款记录成功
...@@ -473,6 +507,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -473,6 +507,7 @@ class RefundServiceModel extends \Business\AbstractModel
$is_direct_refund = $storeDAO->getInfoById($storeId, 'is_direct_refund', 'is_direct_refund'); $is_direct_refund = $storeDAO->getInfoById($storeId, 'is_direct_refund', 'is_direct_refund');
$orderGoodsDao->update(array('rec_id'=>$refund['order_goods_id']), array('refund_state_name'=>'卖家同意退款')); $orderGoodsDao->update(array('rec_id'=>$refund['order_goods_id']), array('refund_state_name'=>'卖家同意退款'));
if($is_direct_refund==1){ //支持直接退款 if($is_direct_refund==1){ //支持直接退款
$refund_array['refund_state']=ApiConst::refundStateComplete;
//退款 检测该订单是否为线上支付 //退款 检测该订单是否为线上支付
$updateData = array('is_suc_refund'=>1,'gmt_update'=>TIMESTAMP); $updateData = array('is_suc_refund'=>1,'gmt_update'=>TIMESTAMP);
if($refund_array['refund_amount']>0){ if($refund_array['refund_amount']>0){
...@@ -667,6 +702,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -667,6 +702,7 @@ class RefundServiceModel extends \Business\AbstractModel
$orderCommons = $orderCommonDao->getAllByOrderIds($orderIds, $orderCommonDao->orderCommonField); $orderCommons = $orderCommonDao->getAllByOrderIds($orderIds, $orderCommonDao->orderCommonField);
$orderCommons=$orderDao->convertOrder($orderCommons,'orderId'); $orderCommons=$orderDao->convertOrder($orderCommons,'orderId');
foreach ($refundMerge as &$value) { foreach ($refundMerge as &$value) {
$value['sellerStateName']=$refundReturnDao->getSellerStateName($value['sellerState']);
$value['stateName'] = $refundReturnDao->getRefundTextStatus($value,true); $value['stateName'] = $refundReturnDao->getRefundTextStatus($value,true);
/*$value['blId'] = isset($value['blId']) ? (!is_null($value['blId']) ? $value['blId'] : ApiConst::zero) : ApiConst::zero; /*$value['blId'] = isset($value['blId']) ? (!is_null($value['blId']) ? $value['blId'] : ApiConst::zero) : ApiConst::zero;
$value['canPlatformIn'] = $refundReturnDao->isPlatformIn($value) ? ApiConst::one : ApiConst::zero; $value['canPlatformIn'] = $refundReturnDao->isPlatformIn($value) ? ApiConst::one : ApiConst::zero;
...@@ -690,7 +726,14 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -690,7 +726,14 @@ class RefundServiceModel extends \Business\AbstractModel
}else{ }else{
$value['deliveryman']=new \stdClass(); $value['deliveryman']=new \stdClass();
} }
$value['goodsGroup']=!empty($goodGroup)?$goodGroup:[]; if(!empty($goodGroup)){
$value['goodsGroup']=$goodGroup;
$value['goodsOriginPrice']=$goodsDao->getOriginPriceByGoodsGroup($value['goodsGroup']);
}else{
$value['goodsGroup']=[];
}
if ($value['refundType'] == ApiConst::refundTypeGoods) { if ($value['refundType'] == ApiConst::refundTypeGoods) {
if($value['refundShippingType']==ApiConst::bySeller){ if($value['refundShippingType']==ApiConst::bySeller){
$value['reciverInfo']=$orderCommonDao->getReciverInfo($value['reciverInfo']); $value['reciverInfo']=$orderCommonDao->getReciverInfo($value['reciverInfo']);
...@@ -931,6 +974,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -931,6 +974,7 @@ class RefundServiceModel extends \Business\AbstractModel
$shippingFee == ApiConst::zero; $shippingFee == ApiConst::zero;
} }
$orderGoodsConvert = $orderGoodsDao->getRefundOrderGoods($orderGoods); $orderGoodsConvert = $orderGoodsDao->getRefundOrderGoods($orderGoods);
$returnData = array( $returnData = array(
'orderId' => (int)$orderId, 'orderId' => (int)$orderId,
'orderSn'=>$orderInfo['orderSn'], 'orderSn'=>$orderInfo['orderSn'],
...@@ -948,7 +992,9 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -948,7 +992,9 @@ class RefundServiceModel extends \Business\AbstractModel
); );
$refundCondition = $orderInfo['refundCondition'] ? unserialize($orderInfo['refundCondition']) : array(); $refundCondition = $orderInfo['refundCondition'] ? unserialize($orderInfo['refundCondition']) : array();
$returnData['needShippingFee'] = $orderInfo['needShippingFee']; $returnData['needShippingFee'] = $orderInfo['needShippingFee'];
if($orderInfo['shippingType']==ApiConst::bySelf){
$returnData['needShippingFee']=ApiConst::zero;
}
if ($orderInfo['paymentTime']) { if ($orderInfo['paymentTime']) {
$orderConfirmUtil = \Order\OrderConfirmUtil::getInstance(); $orderConfirmUtil = \Order\OrderConfirmUtil::getInstance();
...@@ -1168,7 +1214,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1168,7 +1214,7 @@ class RefundServiceModel extends \Business\AbstractModel
// $value['orderAmount'] = $value['orderAmount']; // $value['orderAmount'] = $value['orderAmount'];
$refundReturn['reciverInfo'] = unserialize($this->orderCommon['reciverInfo']); $refundReturn['reciverInfo'] = unserialize($this->orderCommon['reciverInfo']);
if ($refundReturn['refundType'] == ApiConst::refundTypeGoods) { if ($refundReturn['refundType'] == ApiConst::refundTypeGoods) {
if($refundReturn['refundShippingType']==ApiConst::bySeller){ if($refundReturn['refundShippingType']==ApiConst::bySeller || $refundReturn['refundShippingType']==ApiConst::bySelf){
$refundReturn['reciverInfo']=$orderCommonDao->getReciverInfo($refundReturn['reciverInfo']); $refundReturn['reciverInfo']=$orderCommonDao->getReciverInfo($refundReturn['reciverInfo']);
} }
} else { } else {
...@@ -1181,25 +1227,25 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -1181,25 +1227,25 @@ class RefundServiceModel extends \Business\AbstractModel
$refundReturn['refundText'] = $refundReturnDao->getRefundTextStatus($refundReturn); $refundReturn['refundText'] = $refundReturnDao->getRefundTextStatus($refundReturn);
$refundReturn['stateName']=$refundReturn['refundText']; $refundReturn['stateName']=$refundReturn['refundText'];
$refundReturn['goodsImage'] = ImageUtil::getGoodsImgUrl($refundReturn['goodsImage'], ApiConst::goodsSmallSize); $refundReturn['goodsImage'] = ImageUtil::getGoodsImgUrl($refundReturn['goodsImage'], ApiConst::goodsSmallSize);
//$addressDao = \DAO\Order\DAddressModel::getInstance(); $addressDao = \DAO\Order\DAddressModel::getInstance();
$info = $refundReturn; $info = $refundReturn;
// if ($refundReturn['refundType'] == ApiConst::refundTypeGoods) { if ($refundReturn['refundType'] == ApiConst::refundTypeGoods) {
// if ($refundReturn['addressId']) { if ($refundReturn['addressId']) {
// $address = $addressDao->getAddressByAddressId($refundReturn['addressId'], $this->daddressField); $address = $addressDao->getAddressByAddressId($refundReturn['addressId'], $this->daddressField);
// } else { } else {
// $address = $addressDao->getAddressByStoreId($refundReturn['storeId'], $this->daddressField); $address = $addressDao->getAddressByStoreId($refundReturn['storeId'], $this->daddressField);
// } }
// if(!empty($address)){ if(!empty($address)){
// $address['isDefault'] = (int)$address['isDefault']; $address['isDefault'] = (int)$address['isDefault'];
// $address['company']=isset( $address['company'])? $address['company']:''; $address['company']=isset( $address['company'])? $address['company']:'';
// $info['dAddressInfo'] = $address; $info['dAddressInfo'] = $address;
// }else{ }else{
// $info['dAddressInfo'] =new \stdClass(); $info['dAddressInfo'] =new \stdClass();
// } }
//
// } else { } else {
// $info['dAddressInfo'] = new \stdClass(); $info['dAddressInfo'] = new \stdClass();
// } }
$info['canPlatformIn'] = $refundReturnDao->isPlatformIn($info) ? ApiConst::one : ApiConst::zero; $info['canPlatformIn'] = $refundReturnDao->isPlatformIn($info) ? ApiConst::one : ApiConst::zero;
$info['canSendShippingType'] = $refundReturnDao->checkIsAddReturnShipping($info) ? ApiConst::one : ApiConst::zero; $info['canSendShippingType'] = $refundReturnDao->checkIsAddReturnShipping($info) ? ApiConst::one : ApiConst::zero;
if($info['refundShippingType']==ApiConst::bySeller){ if($info['refundShippingType']==ApiConst::bySeller){
......
...@@ -28,7 +28,6 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -28,7 +28,6 @@ class StoreServiceModel extends \Business\AbstractModel{
$beginTime = file_get_contents($this->baseDir . \Our\PathConst::storeStatTime, TIMESTAMP); $beginTime = file_get_contents($this->baseDir . \Our\PathConst::storeStatTime, TIMESTAMP);
$beginTime = $beginTime ? $beginTime : ApiConst::zero; $beginTime = $beginTime ? $beginTime : ApiConst::zero;
$endTime = TIMESTAMP; $endTime = TIMESTAMP;
$result = true; $result = true;
$storeDao = \DAO\StoreModel::getInstance(); $storeDao = \DAO\StoreModel::getInstance();
$statDao = \DAO\StatStoreModel::getInstance(DbNameConst::masterDBConnectName); $statDao = \DAO\StatStoreModel::getInstance(DbNameConst::masterDBConnectName);
...@@ -632,7 +631,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -632,7 +631,7 @@ class StoreServiceModel extends \Business\AbstractModel{
* 获取附近的店铺 * 获取附近的店铺
* @param $data * @param $data
*/ */
public function getNearbyStores($where){ public function getNearbyStores($where,$nearByFlag=false,$returnStoreListFlag=false){
$addressDao = \DAO\AddressModel::getInstance(); $addressDao = \DAO\AddressModel::getInstance();
$validFlag = $addressDao->getValidAddress($where); $validFlag = $addressDao->getValidAddress($where);
if(!$validFlag){ if(!$validFlag){
...@@ -644,6 +643,10 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -644,6 +643,10 @@ class StoreServiceModel extends \Business\AbstractModel{
ksort($position); ksort($position);
$readisSuffix = crc32(serialize($position)); $readisSuffix = crc32(serialize($position));
$nearbyStoreIds = $this->getNearbyStoreIds($position); $nearbyStoreIds = $this->getNearbyStoreIds($position);
if($nearByFlag&&!$nearbyStoreIds){ //如果是换一批调用当前方法 ,没有从缓存得到福建的店铺 ,则直接再次获取
$signStoreInfo = \Business\Goods\GoodsClassServiceModel::getInstance()->getSignStoreInfo($where);
$nearbyStoreIds = $signStoreInfo['signStoreIds'];//当前位置签约店铺ID
}
//没有得到任何附近的店铺 //没有得到任何附近的店铺
if(!$nearbyStoreIds){ if(!$nearbyStoreIds){
return array('totalCount'=>0); return array('totalCount'=>0);
...@@ -665,6 +668,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -665,6 +668,7 @@ class StoreServiceModel extends \Business\AbstractModel{
$stores[$store['storeId']] = $store; $stores[$store['storeId']] = $store;
} }
$returnData['totalCount'] = count($stores); $returnData['totalCount'] = count($stores);
if($returnData['totalCount']<=\Our\ApiConst::defaultIndexStoreCount){//附近的店铺总数小于等于3家则全部返回,大于三家则随机取三家 if($returnData['totalCount']<=\Our\ApiConst::defaultIndexStoreCount){//附近的店铺总数小于等于3家则全部返回,大于三家则随机取三家
$threeStoreIds = array_keys($stores); $threeStoreIds = array_keys($stores);
...@@ -685,6 +689,9 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -685,6 +689,9 @@ class StoreServiceModel extends \Business\AbstractModel{
$nearbyStoreKey = \Our\NameConst::nearbyStoreKeyPrefix . $readisSuffix; $nearbyStoreKey = \Our\NameConst::nearbyStoreKeyPrefix . $readisSuffix;
$storeRedis->update($nearbyStoreKey , $nearbyStoresArray,\Our\ApiConst::oneHour); $storeRedis->update($nearbyStoreKey , $nearbyStoresArray,\Our\ApiConst::oneHour);
$threeStores = array_values($threeStores); $threeStores = array_values($threeStores);
if($returnStoreListFlag){
return $stores;
}
return array('totalCount'=>count($stores),'stores'=>$threeStores); return array('totalCount'=>count($stores),'stores'=>$threeStores);
} }
...@@ -710,7 +717,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -710,7 +717,7 @@ class StoreServiceModel extends \Business\AbstractModel{
}/*else if(is_array($serviceStoreIds)){ }/*else if(is_array($serviceStoreIds)){
$nearbyStoreIds = $serviceStoreIds; $nearbyStoreIds = $serviceStoreIds;
}*/ }*/
if($nearbyStoreIds&&is_array($nearbyStoreIds)){ if(isset($nearbyStoreIds)&&is_array($nearbyStoreIds)){
return $nearbyStoreIds; return $nearbyStoreIds;
} }
return false; return false;
...@@ -765,8 +772,9 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -765,8 +772,9 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeRedis->update($nearbyStoreKey , $nearbyStoresArray,\Our\ApiConst::oneHour); $storeRedis->update($nearbyStoreKey , $nearbyStoresArray,\Our\ApiConst::oneHour);
$threeStores = array_values($threeStores); $threeStores = array_values($threeStores);
return array('totalCount'=>count($stores),'stores'=>$threeStores); return array('totalCount'=>count($stores),'stores'=>$threeStores);
}else{
return $this->getNearbyStores($where,true);
} }
return array('totalCount'=>\Our\ApiConst::zero);
} }
/** /**
* 根据一级分类获取所有二级分类对应推荐店铺 * 根据一级分类获取所有二级分类对应推荐店铺
...@@ -788,7 +796,6 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -788,7 +796,6 @@ class StoreServiceModel extends \Business\AbstractModel{
foreach($allStores as &$store){ foreach($allStores as &$store){
$store['isPurchased'] = \Our\ApiConst::zero; $store['isPurchased'] = \Our\ApiConst::zero;
} }
$memberStores = null; $memberStores = null;
if($memberId){ if($memberId){
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
...@@ -805,7 +812,6 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -805,7 +812,6 @@ class StoreServiceModel extends \Business\AbstractModel{
//$storeGoodsClassDao = \DAO\StoreGoodsClassModel::getInstance(); //$storeGoodsClassDao = \DAO\StoreGoodsClassModel::getInstance();
//签约分类对应店铺 //签约分类对应店铺
$signStores = $this->getSignClassStores($gcId,$condition); $signStores = $this->getSignClassStores($gcId,$condition);
//服务分类对应店铺 //服务分类对应店铺
$serviceStores = $this->getServiceClassStores($gcId,$condition); $serviceStores = $this->getServiceClassStores($gcId,$condition);
//获取签约分类对应店铺 //获取签约分类对应店铺
......
...@@ -474,6 +474,14 @@ class GoodsModel extends \DAO\AbstractModel { ...@@ -474,6 +474,14 @@ class GoodsModel extends \DAO\AbstractModel {
} }
return $orderGoodses; return $orderGoodses;
} }
public function getOriginPriceByGoodsGroup($goodsGroup){
$goodsOriginPrice=ApiConst::zero;
foreach( $goodsGroup as $goodsG){
$goodsOriginPrice+= $goodsG['num']*$goodsG['goodsPrice'];
}
return $goodsOriginPrice;
}
//ccw //ccw
public function convert($goodses,$extentField=false,$refundOrders=false){ public function convert($goodses,$extentField=false,$refundOrders=false){
if($refundOrders){ if($refundOrders){
...@@ -505,8 +513,15 @@ class GoodsModel extends \DAO\AbstractModel { ...@@ -505,8 +513,15 @@ class GoodsModel extends \DAO\AbstractModel {
if(isset($goods['goodsGroup'])&&!empty($goods['goodsGroup'])){ if(isset($goods['goodsGroup'])&&!empty($goods['goodsGroup'])){
$goods['goodsGroup']=$this->getGoodsGroup($goods['goodsGroup']); $goods['goodsGroup']=$this->getGoodsGroup($goods['goodsGroup']);
$goods['goodsDiscountPrice']=array_sum($goods['goodsGroup'],'discountPrice'); $goodsOriginPrice=ApiConst::zero;
$goods['goodsReduceAmount']=$goods['goodsPayPrice']-$goods['goodsDiscountPrice']; foreach( $goods['goodsGroup'] as $goodsG){
$goodsOriginPrice+= $goodsG['num']*$goodsG['goodsPrice'];
}
$goods['goodsOriginPrice']= $goodsOriginPrice;
// $goods['goodsDiscountPrice']=array_sum($goods['goodsGroup'],'discountPrice');
// $goods['goodsReduceAmount']=$goods['goodsPayPrice']-$goods['goodsDiscountPrice'];
}else{ }else{
$goods['goodsGroup']=array(); $goods['goodsGroup']=array();
} }
......
...@@ -255,9 +255,13 @@ class GoodsCommonModel extends \DAO\AbstractModel { ...@@ -255,9 +255,13 @@ class GoodsCommonModel extends \DAO\AbstractModel {
$baseSql = "UPDATE {$this->_tableName} set "; $baseSql = "UPDATE {$this->_tableName} set ";
$updateAllSql = $baseSql; $updateAllSql = $baseSql;
$dataIds = array(); $dataIds = array();
if($updateSaleNumFlag&&$op!=\Our\ApiConst::set){ if($op!=\Our\ApiConst::set){
$updateSaleNumOp = $op==\Our\ApiConst::minus?'+':'-'; $updateSaleNumOp = $op==\Our\ApiConst::minus?'+':'-';
}else{
$updateSaleNumOp = '=';
$updateSaleNumFlag= false;
} }
$goodsCommonSql = ' goods_storage = case goods_commonid '; $goodsCommonSql = ' goods_storage = case goods_commonid ';
$goodsEdittimeSql = ' goods_edittime = case goods_commonid '; $goodsEdittimeSql = ' goods_edittime = case goods_commonid ';
if($updateSaleNumFlag){ if($updateSaleNumFlag){
......
...@@ -14,7 +14,8 @@ use Our\ImageUtil; ...@@ -14,7 +14,8 @@ use Our\ImageUtil;
use Our\OrderConst; use Our\OrderConst;
use Payment\Alipay; use Payment\Alipay;
class RefundReturnModel extends \DAO\AbstractModel { class RefundReturnModel extends \DAO\AbstractModel
{
public $errorCode; public $errorCode;
/** /**
...@@ -23,56 +24,65 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -23,56 +24,65 @@ class RefundReturnModel extends \DAO\AbstractModel {
* @var string * @var string
*/ */
protected $_tableName = 'han_refund_return'; protected $_tableName = 'han_refund_return';
public $refundDetailField='is_platform_in as isPlatformIn,seller_state as sellerState,platform_state as platformState,refund_id as refundId,order_id as orderId,store_id as storeId,order_goods_id as orderGoodsId'; public $refundDetailField = 'is_platform_in as isPlatformIn,seller_state as sellerState,platform_state as platformState,refund_id as refundId,order_id as orderId,store_id as storeId,order_goods_id as orderGoodsId';
public $refundReturnField="seller_state,refund_state,is_platform_in,platform_state"; public $refundReturnField = "seller_state,refund_state,is_platform_in,platform_state";
private $sumField="order_id as orderId,buyer_id as buyerId,store_id as storeId,goods_num as goodsNum,refund_amount as refundAmount,is_suc_refund as isSucRefund,gmt_update as gmtUpdate"; private $sumField = "order_id as orderId,buyer_id as buyerId,store_id as storeId,goods_num as goodsNum,refund_amount as refundAmount,is_suc_refund as isSucRefund,gmt_update as gmtUpdate";
private $sumRefundAmount=" sum(refund_amount) as sumRefundAmont"; private $sumRefundAmount = " sum(refund_amount) as sumRefundAmont";
/** /**
* 主键 * 主键
* *
* @var string * @var string
*/ */
protected $_primaryKey = 'refund_id'; protected $_primaryKey = 'refund_id';
public $errorMessage=''; public $errorMessage = '';
public function init(){
public function init()
{
} }
public function getCount($where){
public function getCount($where)
{
$this->setDb(); $this->setDb();
return $this->db->from($this->_tableName)->where($where)->fetchNum(); return $this->db->from($this->_tableName)->where($where)->fetchNum();
} }
public function getAll($where,$field,$db=DbNameConst::salveDBConnectName){ public function getAll($where, $field, $db = DbNameConst::salveDBConnectName)
{
$this->setDb($db); $this->setDb($db);
$list = $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll(); $list = $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll();
return $list; return $list;
} }
public function getRefundSuccessMoneyByStoreId($storeId,$beginTime=false,$endTime=false){ public function getRefundSuccessMoneyByStoreId($storeId, $beginTime = false, $endTime = false)
{
$this->setDb($this->dbName); $this->setDb($this->dbName);
if($beginTime){ if ($beginTime) {
$where=\Our\Common::format(" store_id={0} and is_suc_refund={1} and gmt_update between {2} and {3}",$storeId,ApiConst::refundSuccess,$beginTime,$endTime); $where = \Our\Common::format(" store_id={0} and is_suc_refund={1} and gmt_update between {2} and {3}", $storeId, ApiConst::refundSuccess, $beginTime, $endTime);
}else{ } else {
$where=\Our\Common::format(" store_id={0} and is_suc_refund={1}",$storeId,ApiConst::refundSuccess); $where = \Our\Common::format(" store_id={0} and is_suc_refund={1}", $storeId, ApiConst::refundSuccess);
} }
$res=$this->db->from($this->_tableName)->select($this->sumRefundAmount)->where($where)->fetchValue(); $res = $this->db->from($this->_tableName)->select($this->sumRefundAmount)->where($where)->fetchValue();
return !empty($res)?$res:ApiConst::zero; return !empty($res) ? $res : ApiConst::zero;
} }
public function getRefundSuccessMoneyByStoreIdAndMemberId($storeId,$buyerId){
public function getRefundSuccessMoneyByStoreIdAndMemberId($storeId, $buyerId)
{
$this->setDb($this->dbName); $this->setDb($this->dbName);
if(is_array($storeId)){ if (is_array($storeId)) {
$storeId=implode(',',$storeId); $storeId = implode(',', $storeId);
} }
if(is_array($buyerId)){ if (is_array($buyerId)) {
$buyerId=implode(',',$buyerId); $buyerId = implode(',', $buyerId);
} }
$where=\Our\Common::format(" store_id in({0}) and buyer_id in({1}) and is_suc_refund={2}",$storeId,$buyerId,ApiConst::refundSuccess); $where = \Our\Common::format(" store_id in({0}) and buyer_id in({1}) and is_suc_refund={2}", $storeId, $buyerId, ApiConst::refundSuccess);
$res=$this->db->from($this->_tableName)->where($where)->select(" buyer_id as buyerId,store_id as storeId,(SUM(refund_amount)) AS refundTotal")->group('buyer_id')->group('store_id')->fetchAll(); $res = $this->db->from($this->_tableName)->where($where)->select(" buyer_id as buyerId,store_id as storeId,(SUM(refund_amount)) AS refundTotal")->group('buyer_id')->group('store_id')->fetchAll();
return !empty($res)?$res:[]; return !empty($res) ? $res : [];
} }
/** /**
* 更新数据 * 更新数据
* @param $data * @param $data
...@@ -84,175 +94,215 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -84,175 +94,215 @@ class RefundReturnModel extends \DAO\AbstractModel {
$this->setDb(\Our\DbNameConst::masterDBConnectName); $this->setDb(\Our\DbNameConst::masterDBConnectName);
return $this->db->update($this->_tableName)->where($where)->rows($data)->execute(); return $this->db->update($this->_tableName)->where($where)->rows($data)->execute();
} }
//更新退货物流信息 //更新退货物流信息
public function updateReturnShippingByRefundId($refundId,$data){ public function updateReturnShippingByRefundId($refundId, $data)
$where[$this->_primaryKey]=$refundId; {
$updateData['express_id']=$data['expressId']; $where[$this->_primaryKey] = $refundId;
$updateData['invoice_no']=$data['invoiceNo']; $updateData['express_id'] = $data['expressId'];
$updateData['address_id']=$data['addressId']; $updateData['invoice_no'] = $data['invoiceNo'];
$updateData['goods_state']=ApiConst::goodsStateWaitRecieve; $updateData['address_id'] = $data['addressId'];
$updateData['ship_time']=TIMESTAMP; $updateData['goods_state'] = ApiConst::goodsStateWaitRecieve;
return $this->update($where,$updateData); $updateData['ship_time'] = TIMESTAMP;
return $this->update($where, $updateData);
} }
//检查是否可以添加退货物流信息 //检查是否可以添加退货物流信息
public function checkIsAddReturnShipping($refundReturn){ public function checkIsAddReturnShipping($refundReturn)
$isReturn=TRUE; {
if($refundReturn['sellerState']!=ApiConst::refundSellerAgree){ $isReturn = TRUE;
$this->errorCode=CodeConfigModel::notReturnAgree; if ($refundReturn['sellerState'] != ApiConst::refundSellerAgree) {
$isReturn=FALSE; $this->errorCode = CodeConfigModel::notReturnAgree;
$isReturn = FALSE;
} }
if($refundReturn['refundType']!=ApiConst::refundTypeGoods){ if ($refundReturn['refundType'] != ApiConst::refundTypeGoods) {
$this->errorCode=CodeConfigModel::isNotReturn; $this->errorCode = CodeConfigModel::isNotReturn;
$isReturn=FALSE; $isReturn = FALSE;
} }
if($refundReturn['refundShippingType']!=ApiConst::express){ if ($refundReturn['refundShippingType'] != ApiConst::express) {
$this->errorCode=CodeConfigModel::isNotExpressType; $this->errorCode = CodeConfigModel::isNotExpressType;
$isReturn=FALSE; $isReturn = FALSE;
} }
if($refundReturn['expressId']>ApiConst::zero){ if ($refundReturn['expressId'] > ApiConst::zero) {
$this->errorCode=CodeConfigModel::isNotExpressType; $this->errorCode = CodeConfigModel::isNotExpressType;
$isReturn=FALSE; $isReturn = FALSE;
} }
return $isReturn; return $isReturn;
} }
/** /**
* 申请平台介入 * 申请平台介入
* @param $data * @param $data
* @param $where * @param $where
* @return mixed * @return mixed
*/ */
public function updateStatusByBuyerIdAndRefundId($buyerId,$refundId,$applyMessage) public function updateStatusByBuyerIdAndRefundId($buyerId, $refundId, $applyMessage)
{ {
$where['refund_id'] = $refundId; $where['refund_id'] = $refundId;
$where['buyer_id'] = $buyerId; $where['buyer_id'] = $buyerId;
$data['is_platform_in']=ApiConst::platIn; $data['is_platform_in'] = ApiConst::platIn;
$data['refund_state']=ApiConst::platProccess; $data['refund_state'] = ApiConst::platProccess;
$data['platform_in_reason']=$applyMessage; $data['platform_in_reason'] = $applyMessage;
return $this->update($where, $data); return $this->update($where, $data);
} }
/** /**
* 获取单条数据 * 获取单条数据
* @param $where * @param $where
* @return array * @return array
*/ */
public function find($where,$field='*') public function find($where, $field = '*')
{ {
$this->setDb($this->dbName); $this->setDb($this->dbName);
$data = $this->db->from($this->_tableName)->select($field)->where($where)->fetchOne(); $data = $this->db->from($this->_tableName)->select($field)->where($where)->fetchOne();
return $data; return $data;
} }
public function findByRefundId($refundId,$field='*') public function findByRefundId($refundId, $field = '*')
{ {
$where['refund_id'] = $refundId; $where['refund_id'] = $refundId;
return $this->find($where,$field); return $this->find($where, $field);
} }
public function findByMemberIdAndRefundId($memberId,$refundId,$field='*'){ public function findByMemberIdAndRefundId($memberId, $refundId, $field = '*')
$where['buyer_id']=$memberId; {
$where['refund_id']=$refundId; $where['buyer_id'] = $memberId;
return $this->find($where,$field); $where['refund_id'] = $refundId;
return $this->find($where, $field);
} }
public function getAllByOrderIds($orderIds,$field='*'){ public function getAllByOrderIds($orderIds, $field = '*')
if(is_array($orderIds)){ {
$where=Common::format(" order_id in {0}",implode(',',$orderIds)); if (is_array($orderIds)) {
}else{ $where = Common::format(" order_id in {0}", implode(',', $orderIds));
$where['order_id']=$orderIds; } else {
$where['order_id'] = $orderIds;
} }
return $this->getAll($where,$field); return $this->getAll($where, $field);
} }
public function getStatusExtent($returnRefund,$isSeller=false){ public function getStatusExtent($returnRefund, $isSeller = false)
{
// if($returnRefund['refundState']!=ApiConst::refundCompleted){ // if($returnRefund['refundState']!=ApiConst::refundCompleted){
if($returnRefund['sellerState']==ApiConst::refundSellerAgree){ if ($returnRefund['sellerState'] == ApiConst::refundSellerAgree) {
if($returnRefund['isSucRefund']==ApiConst::refundSuccess){ if ($returnRefund['isSucRefund'] == ApiConst::refundSuccess) {
return OrderConst::alreadyReufndMoney; return OrderConst::alreadyReufndMoney;
} }
if($returnRefund['refundType']==ApiConst::refundTypeMoney){ if ($returnRefund['refundType'] == ApiConst::refundTypeMoney) {
return OrderConst::sellerAgree; return OrderConst::sellerAgree;
} }
if($returnRefund['refundType']==ApiConst::refundTypeGoods){ if ($returnRefund['refundType'] == ApiConst::refundTypeGoods) {
if($returnRefund['isSucRefund']==ApiConst::refundSuccess){ if ($returnRefund['isSucRefund'] == ApiConst::refundSuccess) {
return OrderConst::alreadyReufndMoney; return OrderConst::alreadyReufndMoney;
} }
if($returnRefund['goodsState']==ApiConst::goodsStateUnRecieve){ if ($returnRefund['goodsState'] == ApiConst::goodsStateUnRecieve) {
return OrderConst::goodsStateUnRecieve; return OrderConst::goodsStateUnRecieve;
} }
if($returnRefund['goodsState']==ApiConst::goodsStateRecieved){ if ($returnRefund['goodsState'] == ApiConst::goodsStateRecieved) {
return OrderConst::goodsStateRecieved; return OrderConst::goodsStateRecieved;
} }
if($returnRefund['returnType']==ApiConst::returnTypeNotReturn){ if ($returnRefund['returnType'] == ApiConst::returnTypeNotReturn) {
return OrderConst::sellerAgreeReturn; return OrderConst::sellerAgreeReturn;
} }
if($returnRefund['returnType']==ApiConst::returnTypeMustReturn){ if ($returnRefund['returnType'] == ApiConst::returnTypeMustReturn) {
return OrderConst::waitSellerRecieve; return OrderConst::waitSellerRecieve;
} }
} }
} }
if($returnRefund['sellerState']==ApiConst::refundSellerRefuse){ if ($returnRefund['sellerState'] == ApiConst::refundSellerRefuse) {
if($returnRefund['isSucRefund']==ApiConst::refundSuccess){ if ($returnRefund['isSucRefund'] == ApiConst::refundSuccess) {
return OrderConst::alreadyReufndMoney; return OrderConst::alreadyReufndMoney;
} }
if($returnRefund['platformState']==ApiConst::platAgree){ if ($returnRefund['platformState'] == ApiConst::platAgree) {
return OrderConst::platFormAgree; return OrderConst::platFormAgree;
} }
if($returnRefund['platformState']==ApiConst::platRefuse){ if ($returnRefund['platformState'] == ApiConst::platRefuse) {
return OrderConst::platFormRefuse; return OrderConst::platFormRefuse;
} }
if($returnRefund['isPlatformIn']==ApiConst::platIn){ if ($returnRefund['isPlatformIn'] == ApiConst::platIn) {
return OrderConst::platFromProccess; return OrderConst::platFromProccess;
} }
if($returnRefund['refundType']==ApiConst::refundTypeMoney){ if ($returnRefund['refundType'] == ApiConst::refundTypeMoney) {
return OrderConst::sellerRefuse; return OrderConst::sellerRefuse;
} }
if($returnRefund['refundType']==ApiConst::refundTypeGoods){ if ($returnRefund['refundType'] == ApiConst::refundTypeGoods) {
return OrderConst::sellerRefuseGoods; return OrderConst::sellerRefuseGoods;
} }
} }
// }else{
// return OrderConst::refoundSuccess;
// }
return ''; return '';
} }
public function getRefundTextStatus($refundReturn,$isSeller=false){ public function getSellerStateName($sellerState)
$refundText=''; {
switch($refundReturn['sellerState']){ $sellerStateName = OrderConst::sellerStateVerify;
case ApiConst::refundSellerVerify:$refundText=OrderConst::waitVerify;break; if ($sellerState == ApiConst::refundSellerAgree) {
default: $refundText=$this->getStatusExtent($refundReturn,$isSeller);break; $sellerStateName = OrderConst::sellerStateAgree;
}
if($sellerState==ApiConst::refundSellerRefuse){
$sellerStateName = OrderConst::sellerStateRefuse;
}
return $sellerStateName;
}
public function getPlatformStateName($platState)
{
$platStateName = OrderConst::platformStateVerify;
if ($platState == ApiConst::refundPlatformAgree) {
$platStateName = OrderConst::platformStateAgree;
}
if($platState==ApiConst::refundPlatformRefuse){
$platStateName = OrderConst::platformStateRefuse;
}
return $platStateName;
}
public function getRefundTextStatus($refundReturn, $isSeller = false)
{
$refundText = '';
switch ($refundReturn['sellerState']) {
case ApiConst::refundSellerVerify:
$refundText = OrderConst::waitVerify;
break;
default:
$refundText = $this->getStatusExtent($refundReturn, $isSeller);
break;
} }
return $refundText; return $refundText;
} }
public function getStatusText($orderId){
$where['order_id']=$orderId; public function getStatusText($orderId)
$refundReturn= $this->db->from($this->_tableName)->select($this->refundReturnField)->where($where)->fetchOne(); {
$where['order_id'] = $orderId;
$refundReturn = $this->db->from($this->_tableName)->select($this->refundReturnField)->where($where)->fetchOne();
return $this->getRefundTextStatus($refundReturn); return $this->getRefundTextStatus($refundReturn);
} }
/** /**
* 根据退货退款订单详情获取是否可申请平台介入 * 根据退货退款订单详情获取是否可申请平台介入
* *
* @param * @param
* @return array * @return array
*/ */
public function isPlatformIn($refundInfo){ public function isPlatformIn($refundInfo)
{
if(($refundInfo['isPlatformIn']==ApiConst::platNotIn && ($refundInfo['sellerState']==ApiConst::refundSellerRefuse) || $refundInfo['buyerRefundAmount']>$refundInfo['refundAmount'])){ if (($refundInfo['isPlatformIn'] == ApiConst::platNotIn && ($refundInfo['sellerState'] == ApiConst::refundSellerRefuse) || $refundInfo['buyerRefundAmount'] > $refundInfo['refundAmount'])) {
return TRUE; return TRUE;
}else{ } else {
return FALSE; return FALSE;
} }
} }
/** /**
* 根据订单状态判断是否可以退款退货 * 根据订单状态判断是否可以退款退货
* *
* @param * @param
* @return array * @return array
*/ */
public function isReturn($order) { public function isReturn($order)
{
$refund = FALSE;//默认不允许退款退货 $refund = FALSE;//默认不允许退款退货
$orderState = $order['orderState'];//订单状态 $orderState = $order['orderState'];//订单状态
ApiConst::orderStateWaitRecieve;//30:已发货 ApiConst::orderStateWaitRecieve;//30:已发货
...@@ -263,26 +313,26 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -263,26 +313,26 @@ class RefundReturnModel extends \DAO\AbstractModel {
$payment_code = $order['paymentCode'];//支付方式 $payment_code = $order['paymentCode'];//支付方式
if ($payment_code != 'offline') {//货到付款订单在没确认收货前不能退款退货 if ($payment_code != 'offline') {//货到付款订单在没确认收货前不能退款退货
$refund = TRUE; $refund = TRUE;
}else{ } else {
ErrorModel::throwException(CodeConfigModel::returnErrorAfterPay); ErrorModel::throwException(CodeConfigModel::returnErrorAfterPay);
} }
break; break;
//已收货 //已收货
case ApiConst::orderStateComplete: case ApiConst::orderStateComplete:
if($order['shippingType']==ApiConst::express){ if ($order['shippingType'] == ApiConst::express) {
$order_refund=ApiConst::canRefundDay; $order_refund = ApiConst::canRefundDay;
}else{ } else {
$order_refund=ApiConst::byselfRfundDay; $order_refund = ApiConst::byselfRfundDay;
} }
if($order['delayTime']>ApiConst::zero){ if ($order['delayTime'] > ApiConst::zero) {
$delay_time = $order['delayTime']+60*60*24*$order_refund; $delay_time = $order['delayTime'] + 60 * 60 * 24 * $order_refund;
}else{ } else {
$delay_time = $order['gmtUpdate']+60*60*24*$order_refund; $delay_time = $order['gmtUpdate'] + 60 * 60 * 24 * $order_refund;
} }
if ($delay_time > TIMESTAMP) { if ($delay_time > TIMESTAMP) {
$refund = TRUE; $refund = TRUE;
}else{ } else {
ErrorModel::throwException(CodeConfigModel::returnBeyondTimeError); ErrorModel::throwException(CodeConfigModel::returnBeyondTimeError);
} }
...@@ -294,28 +344,32 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -294,28 +344,32 @@ class RefundReturnModel extends \DAO\AbstractModel {
return $refund; return $refund;
} }
/** /**
* 退款退货申请编号 * 退款退货申请编号
* *
* @param * @param
* @return array * @return array
*/ */
public function getRefundsn($store_id) { public function getRefundsn($store_id)
$result = mt_rand(100,999).substr(100+$store_id,-3).date('ymdHis'); {
$result = mt_rand(100, 999) . substr(100 + $store_id, -3) . date('ymdHis');
return $result; return $result;
} }
/** /**
* 退款退货申请编号 * 退款退货申请编号
* *
* @param * @param
* @return array * @return array
*/ */
public function getRefundPics($pics){ public function getRefundPics($pics)
$picsRes=array(); {
if($pics){ $picsRes = array();
foreach($pics as $pic){ if ($pics) {
$readFile=\Our\Common::getStaticFile($pic,ImageConst::refund); foreach ($pics as $pic) {
array_push($picsRes,$readFile); $readFile = \Our\Common::getStaticFile($pic, ImageConst::refund);
array_push($picsRes, $readFile);
} }
} }
return $picsRes; return $picsRes;
...@@ -326,7 +380,8 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -326,7 +380,8 @@ class RefundReturnModel extends \DAO\AbstractModel {
* 店铺退款 * 店铺退款
* @param $orderInfo 订单信息 * @param $orderInfo 订单信息
*/ */
public function storeRefund($orderInfo){ public function storeRefund($orderInfo)
{
$param['refundOrderNo'] = !empty($orderInfo['refund_order_no']) ? $orderInfo['refund_order_no'] : $this->getRefundsn($orderInfo['store_id']); $param['refundOrderNo'] = !empty($orderInfo['refund_order_no']) ? $orderInfo['refund_order_no'] : $this->getRefundsn($orderInfo['store_id']);
//这个有可能多次退款的时候要变 //这个有可能多次退款的时候要变
$param['outTradeNo'] = $orderInfo['pay_sn']; $param['outTradeNo'] = $orderInfo['pay_sn'];
...@@ -334,9 +389,9 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -334,9 +389,9 @@ class RefundReturnModel extends \DAO\AbstractModel {
$param['refundFee'] = $orderInfo['refund_amount'];//退款金额 $param['refundFee'] = $orderInfo['refund_amount'];//退款金额
$param['storeId'] = $orderInfo['store_id']; $param['storeId'] = $orderInfo['store_id'];
$param['buyerId'] = $orderInfo['buyer_id']; $param['buyerId'] = $orderInfo['buyer_id'];
if(CURRENTVERSION==\Our\NameConst::versionOne&&in_array(intval($orderInfo['payment_type']),array(ApiConst::wxAppPayType,ApiConst::wxProgram))){ if (CURRENTVERSION == \Our\NameConst::versionOne && in_array(intval($orderInfo['payment_type']), array(ApiConst::wxAppPayType, ApiConst::wxProgram))) {
$mchIdArray = \DAO\StoreModel::getInstance()->getStoreWxMchId($param['storeId']); $mchIdArray = \DAO\StoreModel::getInstance()->getStoreWxMchId($param['storeId']);
if($mchIdArray['errorCode']>0){ if ($mchIdArray['errorCode'] > 0) {
$this->errorMessage = '微信支付商户错误或者签名错误'; $this->errorMessage = '微信支付商户错误或者签名错误';
return false; return false;
} }
...@@ -346,9 +401,9 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -346,9 +401,9 @@ class RefundReturnModel extends \DAO\AbstractModel {
$wxpay = \Payment\WxPay::getInstance(); $wxpay = \Payment\WxPay::getInstance();
unset($param['subMchId']); unset($param['subMchId']);
$refund_return = $wxpay->refund($param); $refund_return = $wxpay->refund($param);
$this->errorMessage= "微信返回:".json_encode($refund_return); $this->errorMessage = "微信返回:" . json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) { if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['order_id']."\r\n"; $this->errorMessage = date('Y-m-d') . '微信退款操作执行失败!' . $orderInfo['order_id'] . "\r\n";
return false; return false;
} }
} else if (intval($orderInfo['payment_type']) == ApiConst::alipay) { } else if (intval($orderInfo['payment_type']) == ApiConst::alipay) {
...@@ -362,12 +417,12 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -362,12 +417,12 @@ class RefundReturnModel extends \DAO\AbstractModel {
$this->errorMessage = date('Y-m-d') . '支付宝退款操作执行失败:' . $orderInfo['order_id'] . "\r\n"; $this->errorMessage = date('Y-m-d') . '支付宝退款操作执行失败:' . $orderInfo['order_id'] . "\r\n";
return false; return false;
} }
}else if(intval($orderInfo['payment_type']) == ApiConst::wxProgram){ } else if (intval($orderInfo['payment_type']) == ApiConst::wxProgram) {
$wxpay = \Payment\WxPay::getInstance(); $wxpay = \Payment\WxPay::getInstance();
$refund_return = $wxpay->refund($param); $refund_return = $wxpay->refund($param);
$this->errorMessage= "微信小程序返回:".json_encode($refund_return); $this->errorMessage = "微信小程序返回:" . json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) { if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['order_id']."\r\n"; $this->errorMessage = date('Y-m-d') . '微信退款操作执行失败!' . $orderInfo['order_id'] . "\r\n";
return false; return false;
} }
} }
...@@ -379,18 +434,19 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -379,18 +434,19 @@ class RefundReturnModel extends \DAO\AbstractModel {
* @param $orderInfo * @param $orderInfo
* @return bool * @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']);
//这个有可能多次退款的时候要变 //这个有可能多次退款的时候要变
$param['outTradeNo'] = $orderInfo['paySn']; $param['outTradeNo'] = $orderInfo['paySn'];
$param['totalFee'] = $orderInfo['orderAmount']; $param['totalFee'] = $orderInfo['orderAmount'];
$param['refundFee'] = $orderInfo['orderAmount'];//全额退款 $param['refundFee'] = $orderInfo['orderAmount'];//全额退款
$param['storeId']=$orderInfo['storeId']; $param['storeId'] = $orderInfo['storeId'];
$param['buyerId']=$orderInfo['buyerId']; $param['buyerId'] = $orderInfo['buyerId'];
if(CURRENTVERSION==\Our\NameConst::versionOne&&in_array(intval($orderInfo['paymentType']),array(\Our\ApiConst::wxAppPayType,\Our\ApiConst::wxProgram))){ if (CURRENTVERSION == \Our\NameConst::versionOne && in_array(intval($orderInfo['paymentType']), array(\Our\ApiConst::wxAppPayType, \Our\ApiConst::wxProgram))) {
$mchIdArray = \DAO\StoreModel::getInstance()->getStoreWxMchId($param['storeId']); $mchIdArray = \DAO\StoreModel::getInstance()->getStoreWxMchId($param['storeId']);
if($mchIdArray['errorCode']>0){ if ($mchIdArray['errorCode'] > 0) {
$this->errorMessage = '微信支付商户错误或者签名错误'; $this->errorMessage = '微信支付商户错误或者签名错误';
return false; return false;
} }
...@@ -400,9 +456,9 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -400,9 +456,9 @@ class RefundReturnModel extends \DAO\AbstractModel {
$wxpay = \Payment\WxPay::getInstance(); $wxpay = \Payment\WxPay::getInstance();
unset($param['subMchId']); unset($param['subMchId']);
$refund_return = $wxpay->refund($param); $refund_return = $wxpay->refund($param);
$this->errorMessage= "微信返回:".json_encode($refund_return); $this->errorMessage = "微信返回:" . json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) { if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['orderId']."\r\n"; $this->errorMessage = date('Y-m-d') . '微信退款操作执行失败!' . $orderInfo['orderId'] . "\r\n";
return false; return false;
} }
} else if (intval($orderInfo['paymentType']) == ApiConst::alipay) { } else if (intval($orderInfo['paymentType']) == ApiConst::alipay) {
...@@ -416,12 +472,12 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -416,12 +472,12 @@ class RefundReturnModel extends \DAO\AbstractModel {
$this->errorMessage = date('Y-m-d') . '支付宝退款操作执行失败:' . $orderInfo['orderId'] . "\r\n"; $this->errorMessage = date('Y-m-d') . '支付宝退款操作执行失败:' . $orderInfo['orderId'] . "\r\n";
return false; return false;
} }
}else if(intval($orderInfo['paymentType']) == ApiConst::wxProgram){ } else if (intval($orderInfo['paymentType']) == ApiConst::wxProgram) {
$wxpay = \Payment\WxLitePay::getInstance(); $wxpay = \Payment\WxLitePay::getInstance();
$refund_return = $wxpay->refund($param); $refund_return = $wxpay->refund($param);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) { if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['orderId']."\r\n"; $this->errorMessage = date('Y-m-d') . '微信退款操作执行失败!' . $orderInfo['orderId'] . "\r\n";
return false; return false;
} }
} }
...@@ -435,7 +491,8 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -435,7 +491,8 @@ class RefundReturnModel extends \DAO\AbstractModel {
* @param $data * @param $data
* @return bool * @return bool
*/ */
public function editRefundReturn($condition, $data) { public function editRefundReturn($condition, $data)
{
if (empty($condition)) { if (empty($condition)) {
return false; return false;
} }
...@@ -447,13 +504,15 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -447,13 +504,15 @@ class RefundReturnModel extends \DAO\AbstractModel {
return false; return false;
} }
} }
/** /**
* 增加退款退货 * 增加退款退货
* *
* @param * @param
* @return int * @return int
*/ */
public function addRefundReturn($refund_array, $order = array(), $goods = array()) { public function addRefundReturn($refund_array, $order = array(), $goods = array())
{
$this->setDb($this->dbName); $this->setDb($this->dbName);
if (!empty($order) && is_array($order)) { if (!empty($order) && is_array($order)) {
$refund_array['order_id'] = $order['orderId']; $refund_array['order_id'] = $order['orderId'];
...@@ -471,10 +530,10 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -471,10 +530,10 @@ 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){ if ($refund_array['goods_id'] == ApiConst::zero) {
ErrorModel::throwException(CodeConfigModel::commonError); 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']);
} }
$refund_id = $this->db->insert($this->_tableName)->rows($refund_array)->execute(); $refund_id = $this->db->insert($this->_tableName)->rows($refund_array)->execute();
...@@ -496,10 +555,11 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -496,10 +555,11 @@ class RefundReturnModel extends \DAO\AbstractModel {
return $refund_id; return $refund_id;
} }
//删除订单详情缓存 //删除订单详情缓存
public function deleteFindByOrderIdCache($refundId) public function deleteFindByOrderIdCache($refundId)
{ {
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'findByRefundId'), array(),array($refundId)); return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'findByRefundId'), array(), array($refundId));
} }
//删除订单列表缓存 //删除订单列表缓存
...@@ -509,12 +569,12 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -509,12 +569,12 @@ class RefundReturnModel extends \DAO\AbstractModel {
} }
//删除订单缓存 //删除订单缓存
public function deleteRefundCache($memberId, $refundId=false) public function deleteRefundCache($memberId, $refundId = false)
{ {
if(!empty($memberId)){ if (!empty($memberId)) {
$this->deleteGetListByMemberId($memberId); $this->deleteGetListByMemberId($memberId);
} }
if(!empty($refundId)){ if (!empty($refundId)) {
$this->deleteFindByOrderIdCache($refundId); $this->deleteFindByOrderIdCache($refundId);
} }
} }
...@@ -538,50 +598,53 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -538,50 +598,53 @@ class RefundReturnModel extends \DAO\AbstractModel {
* *
* @var \DAO\getList * @var \DAO\getList
*/ */
public function getList($where, $field, $pageIndex=ApiConst::zero, $pageSize=ApiConst::pageSize, $order = array('add_time' => 'desc')) public function getList($where, $field, $pageIndex = ApiConst::zero, $pageSize = ApiConst::pageSize, $order = array('add_time' => 'desc'))
{ {
$this->setDb($this->dbName); $this->setDb($this->dbName);
if(is_array($where)){ if (is_array($where)) {
$where = $this->db->getSqlWhereByArray($where); $where = $this->db->getSqlWhereByArray($where);
} }
$refunds = $this->lists($where, $order, $field, $pageIndex, $pageSize); $refunds = $this->lists($where, $order, $field, $pageIndex, $pageSize);
return $refunds ? $refunds : array(); return $refunds ? $refunds : array();
} }
//根据传过来的退款类型获取退款类型 //根据传过来的退款类型获取退款类型
public function getRefundTypeByType($refundType){ public function getRefundTypeByType($refundType)
$returnType=ApiConst::refundTypeGoods; {
if ($refundType!= ApiConst::refundTypeGoods) { $returnType = ApiConst::refundTypeGoods;
if ($refundType != ApiConst::refundTypeGoods) {
$returnType = ApiConst::refundTypeMoney; $returnType = ApiConst::refundTypeMoney;
} }
return $returnType; return $returnType;
} }
public function getRefundOperateState($operate,$refund_info,$order_info = null) { public function getRefundOperateState($operate, $refund_info, $order_info = null)
{
if (!is_array($refund_info) || empty($refund_info)) return false; if (!is_array($refund_info) || empty($refund_info)) return false;
switch ($operate){ switch ($operate) {
//选择配送员 //选择配送员
case 'select_deliveryman': case 'select_deliveryman':
$state = ($refund_info['refund_shipping_type'] == 1 && $refund_info['return_type'] == 2 && $refund_info['goods_state'] == 2 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1)); $state = ($refund_info['refund_shipping_type'] == 1 && $refund_info['return_type'] == 2 && $refund_info['goods_state'] == 2 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1));
break; break;
//收货 //收货
case 'take_delivery': case 'take_delivery':
$state = ($refund_info['return_type'] == 2 && $refund_info['goods_state'] == 2 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1)); $state = ($refund_info['return_type'] == 2 && $refund_info['goods_state'] == 2 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1));
//修改退款金额/处理 //修改退款金额/处理
break; break;
case 'change_refund': case 'change_refund':
$state = ($refund_info['seller_state']==1); $state = ($refund_info['seller_state'] == 1);
break; break;
//退货 //退货
case 'return_goods': case 'return_goods':
$state = ($refund_info['seller_state']==1 && $refund_info['refund_type']==2); $state = ($refund_info['seller_state'] == 1 && $refund_info['refund_type'] == 2);
break; break;
//退款 //退款
case 'return_money': case 'return_money':
$state = ($refund_info['seller_state']==1 && $refund_info['refund_type']==1); $state = ($refund_info['seller_state'] == 1 && $refund_info['refund_type'] == 1);
break; break;
//修改收货时间 //修改收货时间
case 'change_time': case 'change_time':
$state = (!$refund_info['receive_time'] && $refund_info['refund_shipping_type'] == 1 && $refund_info['return_type'] == 2 && $refund_info['goods_state'] == 2 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1)); $state = (!$refund_info['receive_time'] && $refund_info['refund_shipping_type'] == 1 && $refund_info['return_type'] == 2 && $refund_info['goods_state'] == 2 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1));
break; break;
//原路退回 //原路退回
case 'return_origin': case 'return_origin':
...@@ -589,23 +652,27 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -589,23 +652,27 @@ class RefundReturnModel extends \DAO\AbstractModel {
break; break;
//标记为已退款 //标记为已退款
case 'mark': case 'mark':
$state = ($refund_info['refund_type'] == 1 || ($refund_info['refund_type'] == 2 && $refund_info['goods_state'] == 4)) && $refund_info['is_suc_refund'] == 0 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1) && ($order_info && ($order_info['payment_type'] == 0 ||$order_info['payment_type'] == 2)) ; $state = ($refund_info['refund_type'] == 1 || ($refund_info['refund_type'] == 2 && $refund_info['goods_state'] == 4)) && $refund_info['is_suc_refund'] == 0 && ($refund_info['seller_state'] == 2 || $refund_info['platform_state'] == 1) && ($order_info && ($order_info['payment_type'] == 0 || $order_info['payment_type'] == 2));
break; break;
} }
return $state; return $state;
} }
public function getMemberStoreStaticsByGmtUpdate($gmtUpdate,$pageIndex,$pageSize){
public function getMemberStoreStaticsByGmtUpdate($gmtUpdate, $pageIndex, $pageSize)
{
$this->setDb($this->dbName); $this->setDb($this->dbName);
$where =\Our\Common::format(' gmt_update>={0} and gmt_update<{1} and refund_state={2}',$gmtUpdate,TIMESTAMP,ApiConst::refundStateComplete); $where = \Our\Common::format(' gmt_update>={0} and gmt_update<{1} and refund_state={2}', $gmtUpdate, TIMESTAMP, ApiConst::refundStateComplete);
$res=$this->lists($where,array('gmt_update'=>'asc'),$this->sumField,$pageIndex,$pageSize); $res = $this->lists($where, array('gmt_update' => 'asc'), $this->sumField, $pageIndex, $pageSize);
return $res['list']?$res:false; return $res['list'] ? $res : false;
} }
/** /**
*获得退货退款列表 *获得退货退款列表
* *
* @var \DAO\getList * @var \DAO\getList
*/ */
public function updateRefundShipping(){ public function updateRefundShipping()
{
} }
...@@ -621,7 +688,7 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -621,7 +688,7 @@ class RefundReturnModel extends \DAO\AbstractModel {
* 单例模式获取类实例 * 单例模式获取类实例
* *
*/ */
public static function getInstance($dbName=DbNameConst::salveDBConnectName) public static function getInstance($dbName = DbNameConst::salveDBConnectName)
{ {
if (!(self::$_instance instanceof self)) { if (!(self::$_instance instanceof self)) {
self::$_instance = new self($dbName); self::$_instance = new self($dbName);
...@@ -631,40 +698,45 @@ class RefundReturnModel extends \DAO\AbstractModel { ...@@ -631,40 +698,45 @@ class RefundReturnModel extends \DAO\AbstractModel {
} }
/** /**
* @param $storeId * @param $storeId
* @param $orderState * @param $orderState
* @return mixed 待处理 * @return mixed 待处理
*/ */
public function getCountByRefundState($storeId){ public function getCountByRefundState($storeId)
$where=$this->getProccessOrderBySeller($storeId); {
$count=$this->getCountByWhere($where); $where = $this->getProccessOrderBySeller($storeId);
$count = $this->getCountByWhere($where);
return $count; return $count;
} }
//获得售后待处理订单条件 //获得售后待处理订单条件
public function getProccessOrderBySeller($id){ public function getProccessOrderBySeller($id)
$where['store_id']=$id; {
$where['seller_state']=ApiConst::refundSellerVerify; $where['store_id'] = $id;
$where['seller_state'] = ApiConst::refundSellerVerify;
return $where; return $where;
} }
//获得售后待收货订单条件 //获得售后待收货订单条件
public function getReturnWaitReceive($id){ public function getReturnWaitReceive($id)
$where['store_id']=$id; {
$where['refund_type']=ApiConst::refundTypeGoods; $where['store_id'] = $id;
$where['return_type']=ApiConst::returnTypeMustReturn; $where['refund_type'] = ApiConst::refundTypeGoods;
$where['goods_state']=ApiConst::goodsStateWaitRecieve; $where['return_type'] = ApiConst::returnTypeMustReturn;
$where['goods_state'] = ApiConst::goodsStateWaitRecieve;
return $where; return $where;
} }
/** /**
* @param $storeId * @param $storeId
* @param $orderState * @param $orderState
* @return mixed 待收货 * @return mixed 待收货
*/ */
public function getCountByRefundType($storeId){ public function getCountByRefundType($storeId)
$where=$this->getReturnWaitReceive($storeId); {
$count=$this->getCountByWhere($where); $where = $this->getReturnWaitReceive($storeId);
$count = $this->getCountByWhere($where);
return $count; return $count;
} }
......
...@@ -84,7 +84,7 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -84,7 +84,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'],'storeLabel'=>$storeOne['storeLabel'])); $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'=>$storeOne['storeLabel'],'storeName'=>$storeOne['storeName']));
}else{ }else{
ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword); ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword);
} }
......
...@@ -399,12 +399,12 @@ elastic.master.host="192.168.1.201" ...@@ -399,12 +399,12 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200" elastic.master.port="9200"
elastic.master.scheme="http"; elastic.master.scheme="http";
[lyz : common] [lyztest : common]
; 数据库配置 ; 数据库配置
resources.database.params.driver = "pdo_mysql" resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1" resources.database.params.hostname = "127.0.0.1"
resources.database.params.port = 3306 resources.database.params.port = 3306
resources.database.params.database = "testqmcs" resources.database.params.database = "qmcs"
resources.database.params.username = "root" resources.database.params.username = "root"
resources.database.params.password = "123456" resources.database.params.password = "123456"
resources.database.params.charset = "UTF8" resources.database.params.charset = "UTF8"
...@@ -414,7 +414,7 @@ resources.database.params.driver_options.1002 = "SET NAMES utf8" ...@@ -414,7 +414,7 @@ resources.database.params.driver_options.1002 = "SET NAMES utf8"
resources.database.slave.params.driver = "pdo_mysql" resources.database.slave.params.driver = "pdo_mysql"
resources.database.slave.params.hostname = "127.0.0.1" resources.database.slave.params.hostname = "127.0.0.1"
resources.database.slave.params.port = 3306 resources.database.slave.params.port = 3306
resources.database.slave.params.database = "testqmcs" resources.database.slave.params.database = "qmcs"
resources.database.slave.params.username = "root" resources.database.slave.params.username = "root"
resources.database.slave.params.password = "123456" resources.database.slave.params.password = "123456"
resources.database.slave.params.charset = "UTF8" resources.database.slave.params.charset = "UTF8"
...@@ -446,7 +446,7 @@ elastic.master.host="192.168.1.201" ...@@ -446,7 +446,7 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200" elastic.master.port="9200"
elastic.master.scheme="http"; elastic.master.scheme="http";
[lyztest : common] [lyz : common]
; 数据库配置 ; 数据库配置
resources.database.params.driver = "pdo_mysql" resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "106.14.14.233" resources.database.params.hostname = "106.14.14.233"
......
...@@ -91,7 +91,7 @@ config.url.resourcesHost = "http://test.qm.com" ...@@ -91,7 +91,7 @@ config.url.resourcesHost = "http://test.qm.com"
config.url.userHost = "" config.url.userHost = ""
; oss 域名 ; oss 域名
config.url.ossHost = "http://qmoss-01.oss-cn-hangzhou.aliyuncs.com" config.url.ossHost = "https://img.shenbd.com"
;推送域名 ;推送域名
config.url.pushHost="127.0.0.1:9503"; config.url.pushHost="127.0.0.1:9503";
......
...@@ -87,13 +87,13 @@ class cliOrderClose extends basecli ...@@ -87,13 +87,13 @@ class cliOrderClose extends basecli
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$store['storeId'], $pushData=array('storeId'=>$store['storeId'],
'type'=>\Our\ApiConst::messageGoodsAlert, 'type'=>\Our\ApiConst::messageGoodsAlert,
'waitReceiveCount'=>ApiConst::zero, 'waitReceiveCount'=>\Our\ApiConst::zero,
'waitDeliveryCount'=>0, 'waitDeliveryCount'=>0,
'waitGetCount'=>0, 'waitGetCount'=>0,
'orderCount'=>ApiConst::zero, 'orderCount'=>\Our\ApiConst::zero,
'waitRefundProccessCount'=>ApiConst::zero, 'waitRefundProccessCount'=>\Our\ApiConst::zero,
'waitRefundReceiveCount'=>ApiConst::zero, 'waitRefundReceiveCount'=>\Our\ApiConst::zero,
'refundCount'=>ApiConst::zero, 'refundCount'=>\Our\ApiConst::zero,
'alertCount'=>$store['count'], 'alertCount'=>$store['count'],
'params'=>array('c'=>'shopkeeper', 'params'=>array('c'=>'shopkeeper',
'm'=>'orderDetail', 'm'=>'orderDetail',
...@@ -138,8 +138,8 @@ class cliOrderClose extends basecli ...@@ -138,8 +138,8 @@ class cliOrderClose extends basecli
if(APP_ENV =='pre' || APP_ENV=='product'){ if(APP_ENV =='pre' || APP_ENV=='product'){
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(); $this->autoPushClient();
echo date('Y-m-d H:i:s',TIMESTAMP).'客户端消息推送成功'."\r\n"; echo date('Y-m-d H:i:s',TIMESTAMP).'客户端消息推送成功'."\r\n";
......
...@@ -68,7 +68,7 @@ class cliStoreStat extends basecli ...@@ -68,7 +68,7 @@ class cliStoreStat extends basecli
echo "*** Debug mode ***\n"; echo "*** Debug mode ***\n";
} }
// Step: 02 检查是否已有相同CLI在运行中 // Step: 02 检查是否已有相同CLI在运行中
$lockDir=$this->_getBaseFileName('goods'); $lockDir=$this->_getBaseFileName('store');
if(!$this->mkdirs($lockDir)){ if(!$this->mkdirs($lockDir)){
echo '****create dir fail ****'; echo '****create dir fail ****';
exit; exit;
......
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