Commit 231a66a7 authored by liuyuzhen's avatar liuyuzhen

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

parents f9d0d5c3 cdb7326d
......@@ -20,7 +20,7 @@ class Common
const endpointPre=SecretKeys::ossEndpointPre;
const buketPre=SecretKeys::ossBucket;
const buketPre=SecretKeys::ossBucketPre;
public static function getOssClientOnline(){
try {
......
......@@ -441,8 +441,9 @@ class RefundServiceModel extends \Business\AbstractModel
//获取订单
$order_id = $refund['order_id'];
$order_info = $orderDao->find( array('order_id'=>$order_id));
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderData['refund_amount']=$refundAmount;
$orderDao->updateByOrderId($orderData,$order_id);
$refund_array = array();
$refund_array['seller_time'] = time();
$refund_array['seller_state'] = $seller_state;//卖家处理状态:1为待审核,2为同意,3为不同意
......@@ -450,7 +451,7 @@ class RefundServiceModel extends \Business\AbstractModel
$refund_array['refund_amount'] = $refundAmount;
$refundReturnDao->db->doTransaction();
if($seller_state!=2){ //拒绝退款
$result= $orderGoodsDao->update(array('rec_id'=>$refund['order_goods_id']), array('is_refund'=>0, 'refund_state_name'=>'卖家拒绝退', 'gmt_update'=>TIMESTAMP));
$result= $orderGoodsDao->update(array('rec_id'=>$refund['order_goods_id']), array('is_refund'=>0, 'refund_state_name'=>'卖家拒绝退', 'gmt_update'=>TIMESTAMP));
if(!$result){
$refundReturnDao->db->doRollback();
......@@ -721,6 +722,8 @@ class RefundServiceModel extends \Business\AbstractModel
$diliveryWhere['order_type']=ApiConst::orderTypeRefund;
$orderWhere['order_id']=array('in',$orderIds);
$orders = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$orderDao, 'getList'), array($orderWhere, $orderDao->getOrderDetailField(), ApiConst::zero, $pageSize), \Our\ApiConst::oneDaySecond, array($storeId));
$orderConvert=$orderDao->convertOrder($orders['list'],'orderId');
$qmDeliveryManLogWhere['order_id']=array('in',$refundIds);
$qmDeliveryManLogWhere['order_type']= ApiConst::orderTypeRefund;
$qmDeliveryManLogs=\Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$qmDeliveryManLogDao, 'getList'), array($qmDeliveryManLogWhere, $qmDeliveryManLogDao->fieldDetail,ApiConst::zero,$pageSize), \Our\ApiConst::oneDaySecond, array($storeId));
......@@ -781,6 +784,7 @@ class RefundServiceModel extends \Business\AbstractModel
}else{
$value['markRefundButton']=ApiConst::zero;;
}
$value['addTime']=$orderConvert[$value['orderId']]['addTime'];
unset($value['goodsSpec']);
// unset($value['picInfo']);
}
......@@ -989,6 +993,7 @@ class RefundServiceModel extends \Business\AbstractModel
$orderGoodses = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$orderGoodsDao, 'getOrderGoodsByOrderIds'), array($orderInfo['orderId'], $this->orderGoodsField), \Our\ApiConst::oneDaySecond);
$orderGoodses = $orderGoodsDao->convertOrderGoods($orderGoodses, 'goodsId');
$goodsIds = $orderGoodsDao->getRefundOrderGoodsIds($orderGoodses);
$alreadyRefundGoodsIds=$goodsIds;
// $this->store=$storeDao->get($this->order['storeId']);
// $this->store=Common::convertUnderline($this->store[0]);
$this->store = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($orderInfo['storeId'], $storeDao->detailField), \Our\ApiConst::sevenDaySecond,array($orderInfo['storeId']));
......@@ -1028,6 +1033,8 @@ class RefundServiceModel extends \Business\AbstractModel
// if($orderInfo['shippingType']==ApiConst::bySelf){
$returnData['needShippingFee']=ApiConst::zero;
// }
//修改后的优惠金额
$discountAmount=$orderInfo['originAmount']- $orderInfo['orderAmount'];
if ($orderInfo['paymentTime']) {
$orderConfirmUtil = \Order\OrderConfirmUtil::getInstance();
......@@ -1041,12 +1048,22 @@ class RefundServiceModel extends \Business\AbstractModel
$refundAmount = $orderInfo['orderAmount'] - $orderInfo['shippingFee'] - ApiConst::zero;;
}
}
} else {
if(!$alreadyRefundGoodsIds){
$refundAmount=$refundAmount-$discountAmount;
}
//$refundAmount = $orderGoods['goodsPrice']*$orderGoods['goodsNum'];
$refundAmount =$orderInfo['orderAmount'];
} else {
$refundAmount = $orderGoods['goodsPrice']*$orderGoods['goodsNum'];
if(!$alreadyRefundGoodsIds){
$refundAmount=$refundAmount-$discountAmount;
}
}
$returnData['refundAmount'] = $refundAmount - $orderInfo['refundAmount'] - $returnData['needShippingFee'] + $shippingFee;
$liveMoney=$orderInfo['orderAmount']-$orderInfo['refundAmount'];
if($refundAmount>$liveMoney){
$refundAmount=$liveMoney;
}
// $returnData['refundAmount'] = $refundAmount - $orderInfo['refundAmount'] - $returnData['needShippingFee'] + $shippingFee;
$returnData['refundAmount'] = $refundAmount - $returnData['needShippingFee'] + $shippingFee;
if((int)$returnData['refundAmount'] <ApiConst::zero){
$returnData['refundAmount']=ApiConst::zero;
}
......@@ -1105,6 +1122,8 @@ class RefundServiceModel extends \Business\AbstractModel
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orderInfo = $orderDao->findByMemberIdAndOrderId($memberId, $refund['orderId'], $this->orderField);
$storeDao=\DAO\StoreModel::getInstance();
$orderDao->setDb(DbNameConst::masterDBConnectName);
$orderDao->db->doTransaction();
if($refund['refundType']==ApiConst::refundTypeGoods){
$refund['refundAmount']-=$orderInfo['needShippingFee'];
}
......@@ -1181,15 +1200,22 @@ class RefundServiceModel extends \Business\AbstractModel
$refundArray['refund_shipping_type']=isset($refund['refundShippingType'])?$refund['refundShippingType']:ApiConst::zero;
$refundArrayUnLine=Common::convertUnderline($refundArray);
$state = $refundReturnDao->addRefundReturn($refundArray,$orderInfo,$orderGoods);
$updateOrderData['refund_amount']= $refundArray['refund_amount'];
$orderDao->deleteOrderCache($memberId,$orderInfo['orderId'],$orderInfo['storeId'],true);
$storeDao->deleteStoreCache($orderInfo['storeId'],$orderInfo['orderId']);
$storeDao->deleteStoreRefundCache($orderInfo['storeId'],$orderInfo['orderId']);
if ($state) {
$orderDao->update(array('order_id'=>$orderInfo['orderId']),$updateOrderData);
$refundStateName=$refundReturnDao->getRefundTextStatus($refundArrayUnLine);
$orderGoodsDao->update(array('rec_id'=>$orderGoods['recId']),array('refund_state_name'=>$refundStateName,'refund_id'=>$state));
$refundReturnDao->deleteRefundCache($memberId);
$storeDao->deleteStoreRefundCache($refundOne['storeId']);
$orderLogDao->addRefundOrderLog($orderInfo['orderId'],$refundArray['refund_type'],DescribeConst::buyer,$orderInfo['buyerName'],$orderInfo['orderState']);
if ($orderInfo['orderState'] == ApiConst::orderStateWaitRecieve) {
$orderDao->editOrderLock($orderInfo['orderId']);
}
$orderDao->db->doCommit();
$push=\Our\Push::getInstance();
$pushData=array('storeId'=>$orderInfo['storeId'],
'type'=>ApiConst::messageRefund,
......@@ -1208,11 +1234,10 @@ class RefundServiceModel extends \Business\AbstractModel
$push->sendTcpMessage();
//\Our\RedisHelper::rpush('client_push',array('storeId'=>$refund['storeId'],'type'=>ApiConst::messageRefundProccessing,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('c'=>'shopkeeper','m'=>'getRefundDetail','refundId'=>$refund['refundId'])));
if ($orderInfo['orderState'] == ApiConst::orderStateWaitRecieve) {
$orderDao->editOrderLock($orderInfo['orderId']);
}
return $state;
} else {
$orderDao->db->doRollback();
ErrorModel::throwException(CodeConfigModel::refundRefuseByStore);
}
}
......
......@@ -328,7 +328,8 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$ordersOrderCommons = Common::intergrateOneToOne($orders, $qmDeliveryManLogs['list'], 'orderId', 'orderId');
$ordersOrderCommons=Common::intergrateOneToOne($ordersOrderCommons, $orderCommons, 'orderId', 'orderId');
$orderMerge = \Our\Common::intergrateOneToMany($ordersOrderCommons, $orderGoods, 'orderId', 'orderId', 'orderGoods');
$orderConvert=$orderDao->convertOrder($orders,'orderId');
foreach ($orderMerge as &$value) {
$value['orderStateName'] = $orderDao->getStatusText($value);
$value['orderText'] = $orderDao->getText($value, ApiConst::orderListDescribe);
......@@ -365,7 +366,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
} else {
unset($value['reciverInfo']);
}
$value['addTime']=$orderConvert[$value['orderId']]['addTime'];
unset($value['couponId']);
unset($value['refundAmount']);
unset($value['distributionFee']);
......@@ -416,7 +417,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
public function getOrders($memberId, $pageIndex, $pageSize, $orderState, $keyword)
{
$order = array('update_time' => 'desc');
$order = array('gmt_update' => 'desc');
$orderDao=\DAO\Order\OrderModel::getInstance();
$storeId = $this->_getStoreByMemberId($memberId);
if (empty($storeId)) {
......@@ -450,7 +451,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
// 'gmt_update'=>'asc'
// );
$order=array(
'update_time'=>'desc'
'gmt_update'=>'desc'
);
// $where .= ' and han_order.shipping_type=' . ApiConst::bySeller;
$where=$orderDao->getWaitDeliveryCondition($storeId);
......@@ -458,7 +459,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
} else {
$order=array(
'add_time'=>'desc'
'gmt_update'=>'desc'
);
if (!empty($orderState)) {
$where .= ' and han_order.order_state=' . $orderState;
......@@ -487,7 +488,11 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
ErrorModel::throwException(CodeConfigModel::emptyStoreId);
}
$diliveryMan = \DAO\Order\DiliverymanModel::getInstance();
return \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$diliveryMan, 'getDeliveryManByStoreId'), array($storeId), \Our\ApiConst::oneHourCache, array($storeId));
$diliveryMans=\Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$diliveryMan, 'getDeliveryManByStoreId'), array($storeId), \Our\ApiConst::oneHourCache, array($storeId));
foreach($diliveryMans as &$dilivery){
$dilivery['memberAvatar']=$memberDao->getMemberAvatar($dilivery['memberId']);
}
return $diliveryMans;
}
public function confirmReceivePayment($memberId,$orderId){
......
......@@ -45,7 +45,7 @@ class OrderModel extends \DAO\AbstractModel
public function getOrderDetailField()
{
return 'order_id as orderId,coupon_id as couponId,refund_amount as refundAmount,order_sn as orderSn,pay_sn as paySn,store_name as storeName,add_time as addTime,store_id as storeId,goods_amount as goodsAmount,shipping_fee as shippingFee,order_amount as orderAmount,shipping_type as shippingType,payment_type as paymentType,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment,payment_time as paymentTime,finnshed_time as finnshedTime,need_shipping_fee as needShippingFee,payment_code as paymentCode,buyer_id as buyerId,buyer_name as buyerName,refund_condition as refundCondition,delay_time as delayTime,gmt_update as gmtUpdate,diliveryman_id as diliverymanId,shipping_arrival_time as shippingArrivalTime,delivery_time as deliveryTime,order_note as orderNote,send_time as sendTime';
return 'order_id as orderId,coupon_id as couponId,refund_amount as refundAmount,origin_amount as originAmount,order_sn as orderSn,pay_sn as paySn,store_name as storeName,add_time as addTime,store_id as storeId,goods_amount as goodsAmount,shipping_fee as shippingFee,order_amount as orderAmount,shipping_type as shippingType,payment_type as paymentType,order_state as orderState,shipping_fee as shippingFee,refund_state as refundState,order_type as orderType,is_receive_payment as isReceivePayment,payment_time as paymentTime,finnshed_time as finnshedTime,need_shipping_fee as needShippingFee,payment_code as paymentCode,buyer_id as buyerId,buyer_name as buyerName,refund_condition as refundCondition,delay_time as delayTime,gmt_update as gmtUpdate,diliveryman_id as diliverymanId,shipping_arrival_time as shippingArrivalTime,delivery_time as deliveryTime,order_note as orderNote,send_time as sendTime';
}
public function getOrderShippingField()
......
......@@ -165,7 +165,8 @@ class OrderGoodsModel extends \DAO\AbstractModel {
// unset($orderGoods[$i]);
}
}
return array_column($newOrderGoods,'goodsId');
$goodsIds=array_column($newOrderGoods,'goodsId');
return $goodsIds;
}
/**
* 根据订单id 获得订单商品记录
......
......@@ -98,7 +98,7 @@ class SaleMemberModel extends \DAO\AbstractModel {
*/
public function isJoinPlatform($memberId){
//$saleDAO = \DAO\SaleMemberModel::getInstance();
$activities = \Our\RedisHelper::cachedFunction(\Redis\Db4\SaleMemberRedisModel::getInstance(),array(&$this, 'getActAndSale'),array(array('han_sale_member.member_id'=>$memberId),'han_sale_activity.sale_act_id,han_sale_activity.sale_start_date,han_sale_activity.sale_end_date,han_sale_member.sale_id'),\Our\ApiConst::tenMinSecond);
$activities = \Our\RedisHelper::cachedFunction(\Redis\Db4\SaleMemberRedisModel::getInstance(),array(&$this, 'getActAndSale'),array(array('han_sale_member.member_id'=>$memberId),'han_sale_activity.sale_act_id,han_sale_activity.sale_start_date,han_sale_activity.sale_end_date,han_sale_member.sale_id'),\Our\ApiConst::twoMinSecond);
$acts = [];
if($activities){
foreach ($activities as $k=>$v){
......
......@@ -303,7 +303,7 @@ class ShopkeeperController extends \Our\Controller_AbstractClient {
ErrorModel::throwException(CodeConfigModel::notExistRefund);
}
$refundService=\Business\Order\RefundServiceModel::getInstance();
$goodsState= intval($this->req['data']['goodsState']);
$goodsState=isset($this->req['data']['goodsState'])?intval($this->req['data']['goodsState']):\Our\ApiConst::goodsStateRecieved;
$res = $refundService->receive($this->storeId, $this->sellerId, $this->sellerName, $refundId, $goodsState);
if($res){
$this->success($res);
......
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