Commit 7bd22dbf authored by wwccw0591's avatar wwccw0591

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

parents 87bdc766 5fb7ebba
File mode changed from 100755 to 100644
......@@ -111,6 +111,9 @@ class OrderController extends \Our\Controller_AbstractApi {
*/
public function applyPlatformAction(){
$refundService =\Business\Order\RefundServiceModel::getInstance();
if(empty($this->req[\Our\NameConst::data]['refundId'])){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::paramsError);
}
$res=$refundService->platformIn($this->memberId,$this->req[\Our\NameConst::data]['refundId']);
if($res){
$this->success(array(),\Our\DescribeConst::applySuccess);
......
......@@ -261,7 +261,7 @@ class OrderConfirmUtil {
$orderDao = \DAO\Order\OrderModel::getInstance($dbName);
$newPaySn = $this->makePaySn($memberId);
$orderDao->db->doTransaction();
$orderPay['pay_sn'] = $paySn;
$orderPay['pay_sn'] = $newPaySn;
$orderPay['buyer_id'] = $memberId;
$orderPay['api_pay_state'] = \Our\ApiConst::zero;
$orderPayModel = \DAO\Order\OrderPayModel::getInstance($dbName);
......@@ -912,7 +912,7 @@ class OrderConfirmUtil {
$updateOrder['is_receive_payment'] = \Our\ApiConst::one;
$updateOrder['payment_time'] = (isset($data['payment_time'])? strtotime($data['payment_time']) : TIMESTAMP);
$updateOrder['payment_type'] = $this->getOrderPaymentType($data['pay_type']);
$orderUpdateResult = $orderModel->update($orderCon,$updateOrder);
$orderUpdateResult = $orderModel->update($orderCon,$updateOrder);
if(!$orderUpdateResult){
$orderModel->db->doRollback();
$errorCode = \Error\CodeConfigModel::updateOrderPayedStatusFailed;
......
......@@ -303,6 +303,7 @@ class ApiConst
const onlineGoodsState = 1;//正常商品状态
const onlineGoodsVerify = 1; //商品已通过审核
const onlineGoodsDel = 0; //商品未删除
const cartGoodsOnline = 1;//购物车商品正常
const cartGoodsOffline = 2; //购物车商品下架
......
......@@ -160,5 +160,7 @@ class DescribeConst
const confirmButton='确认收货';
const cancelOrderMessage='十分钟未支付,自动取消订单';
const anonymity = '匿名用户';
}
?>
\ No newline at end of file
......@@ -151,8 +151,6 @@ class TencentPay {
//运行curl
$data = curl_exec($ch);
curl_close($ch);
\Our\Log::getInstance()->write(json_encode($data));
\Our\Log::getInstance()->write($data);
//返回结果
if($data)
{ //var_dump($data);die('||');
......@@ -307,7 +305,7 @@ class TencentPay {
$verify = true;
$this->setReturnParameter("return_code","SUCCESS");//设置返回码
}
$returnXml = $this->returnXml();
$returnXml = $this->returnXml();;
if($verify) {
return array(
'out_trade_no' => $this->data['out_trade_no'],
......
......@@ -90,6 +90,32 @@ class WxPay extends \Payment\TencentPay
$this->checkSign($values);
return $values;
}
public function refundWxProgram($param)
{
$total_fee = intval($param['totalFee']);
$refund_fee = intval($param['refundFee']);
if(APP_ENV == 'develop'||APP_ENV == 'test'||APP_ENV == 'pre' || APP_ENV=='ccwdevelop'){
$this->parameters['total_fee'] = 1;
$this->parameters['refund_fee'] = 1;
} else {
$this->parameters['total_fee'] = $total_fee;
$this->parameters['refund_fee'] = $refund_fee;
}
$this->parameters['out_refund_no'] = $param['refundOrderNo'];
$this->parameters['out_trade_no'] = $param['outTradeNo'];
$this->parameters['op_user_id'] = $this->mch_id;
$this->parameters['nonce_str'] = $this->createNoncestr(32);
$this->parameters['appid'] = \Our\PayConst::wxLiteAppId;
$this->parameters['mch_id'] = \Our\PayConst::wxPayMchId;
$xml = $this->createXml();
$response = $this->postXmlSSLCurl($xml, $this->refundUrl, 6);
$values = $this->xmlToArray($response);
if ($values['return_code'] != 'SUCCESS') {
return $values;
}
$this->checkSign($values);
return $values;
}
/**
* 类实例
......
......@@ -246,7 +246,7 @@ class CouponServiceModel extends \Business\AbstractModel{
}
$memberCouponDao = \DAO\Coupon\MemberCouponModel::getInstance($dbName);
if($coupon['is_overlay']){//允许领用多张的优惠券是否存在已经领取的未使用有效优惠券
$whereSql = ' coupon_state ='.\Our\ApiConst::couponUnused.' and member_id ='.$memberId.' 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 = $memberCouponDao->getList($whereSql);
}else{//不允许领用多张的优惠券
......
......@@ -74,6 +74,7 @@ class EvaluationServiceModel extends \Business\AbstractModel {
//$images = $this->_upload($v['images']);
$images = $v['images'];
if(!is_array($images)) $images = json_decode($images, true);
if(empty($images)) $images = null;
$images ? $data['goods'][$k]['haveImg'] = 1 : $data['goods'][$k]['haveImg'] = 0;
if($data['goods'][$k]['haveImg'] == 1) {
foreach ($images as &$image) {
......
......@@ -293,7 +293,6 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$attrs = $this->getAttr($goodsCommonId,$memberId);
$commonInfo = $attrs['commonInfo'];
$commonInfo['goods_image'] = \Our\ImageUtil::getGoodsImgUrl($commonInfo['goods_image']);
//所在地
$area = '';
if($commonInfo['areaid_1'] && $commonInfo['areaid_2']){
......@@ -334,6 +333,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$productData = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsAttributeRedisModel::getInstance(),array(&$attrbuteDAO, 'option'),array('attribute,attribute_value',array('goods_commonid'=>$goodsCommonId)),\Our\ApiConst::oneDaySecond,array($goodsCommonId));
$html = array('width'=>750,'height'=>$commonInfo['goods_height'],'url'=>\Our\Common::getBaseUrl().'/index/goodsDetail?goodsCommonId='.$goodsCommonId);
if($commonInfo['is_del'] == 1) $commonInfo['goods_state'] == 0;
unset($attrs['commonInfo']);
return array_merge(array('storeId'=>$commonInfo['store_id'],'goodsId'=>$commonInfo['goodsId'],'goodsName'=>$commonInfo['goods_name'],'goodsVerify'=>$commonInfo['goods_verify'],'goodsState'=>$commonInfo['goods_state'],'saleCount'=>$commonInfo['sale_num'],'collectionState'=>$collectionState,'isOwn'=>$isOwn,'isHot'=>$commonInfo['goods_hot'],'isRecoment'=>$commonInfo['goods_commend'],'isFree'=>$commonInfo['goods_free'],'isVirtual'=>$commonInfo['is_virtual'],'goodsMostLimit'=>$commonInfo['goods_most_limit'],'goodsLeastLimit'=>$commonInfo['goods_least_limit'],'goodsTotalLimit'=>$commonInfo['goods_total_limit'],'address'=>$area,'range'=>$rangePrice,'productData'=>$productData,'htmlContent'=>$html,'videoUrl'=>$commonInfo['goods_youku_url']),$attrs);
}
......@@ -346,7 +346,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$activities = \DAO\SaleMemberModel::getInstance()->isJoinStore($commonInfo['store_id'],$memberId);
//商品表
$goodsInstance = \DAO\GoodsModel::getInstance();
$goods = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsRedisModel::getInstance(),array(&$goodsInstance, 'getListAndSetStorage'),array($goodsCommonId,'goods_id,goods_price,goods_marketprice,goods_image,goods_storage,goods_spec,goods_state,goods_verify'),\Our\ApiConst::oneDaySecond,array($goodsCommonId));
$goods = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsRedisModel::getInstance(),array(&$goodsInstance, 'getListAndSetStorage'),array($goodsCommonId,'goods_id,goods_price,goods_marketprice,goods_image,goods_storage,goods_spec,goods_state,goods_verify,is_del'),\Our\ApiConst::oneDaySecond,array($goodsCommonId));
//商品图片表
$goodsImagesInstance = \DAO\GoodsImagesModel::getInstance();
$image = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsImagesRedisModel::getInstance(),array(&$goodsImagesInstance, 'getListByCommonId'),array($goodsCommonId,'attr_name,attr_value,goods_image'),\Our\ApiConst::oneDaySecond,array($goodsCommonId));
......@@ -561,12 +561,19 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$evaluation = \Our\RedisHelper::cachedFunction(\Redis\Db4\EvaluateGoodsRedisModel::getInstance(),array(&$evaluateInstance, 'getList'),array(array('geval_goods_commonid'=>$goodsCommonId,'geval_state'=>0),'geval_frommemberid,geval_frommembername AS memberName,geval_content AS gevalContent,geval_addtime AS gevalTime,geval_image,geval_explain AS gevalExplain,geval_isanonymous AS isAnonymous,goods_spec,member_avatar AS memberAvatar',array('geval_addtime','DESC'),1,1),\Our\ApiConst::oneDaySecond,array($goodsCommonId));
if($evaluation){
$evaluation = $evaluation[0];
$member= \DAO\MemberModel::getInstance()->getInfo($evaluation['geval_frommemberid']);
$evaluation['memberAvatar'] = $member['memberAvatarUrl'];
if($evaluation['isAnonymous'] == 1) {
$evaluation['memberAvatar'] = \DAO\MemberModel::getInstance()->getMemberAvatarUrl(0);
$evaluation['memberName'] = \Our\DescribeConst::anonymity;
}else{
$member= \DAO\MemberModel::getInstance()->getInfo($evaluation['geval_frommemberid']);
$evaluation['memberAvatar'] = $member['memberAvatarUrl'];
}
$gevalImage = [];
if(unserialize($evaluation['geval_image'])){
foreach (unserialize($evaluation['geval_image']) as $v){
$gevalImage[] = \Our\Common::getStaticFile($v,\Our\ImageConst::goodsEvaluation);;
if($v) {
$gevalImage[] = \Our\Common::getStaticFile($v,\Our\ImageConst::goodsEvaluation)."?x-oss-process=image/resize,m_fill,h_222,w_222";
}
}
}
//规格
......@@ -637,12 +644,12 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
}
$pageIndex=$pageIndex+\Our\ApiConst::one;
isset($param['commentType'])?$commentType = intval($param['commentType']):$commentType = 0;
isset($param['commentType'])?$commentType = intval($param['commentType']):$commentType = 1;
$evaluateInstance = \DAO\EvaluateGoodsModel::getInstance();
$where = array('geval_goods_commonid'=>$goodsCommonId,'geval_state'=>0);
$args = array(array('geval_goods_commonid'=>$goodsCommonId,'geval_state'=>0),'geval_frommemberid,geval_frommembername AS memberName,geval_content AS gevalContent,geval_addtime AS addTime,geval_image,geval_explain AS gevalExplain,geval_isanonymous AS isAnonymous,goods_spec,member_avatar AS memberAvatar',array('geval_addtime','DESC'),$pageIndex,$pageSize);
if($commentType === 1){
if($commentType === 2){
$args[] = true;
}
$evaluations = \Our\RedisHelper::cachedFunction(\Redis\Db4\EvaluateGoodsRedisModel::getInstance(),array(&$evaluateInstance, 'getList'),$args,\Our\ApiConst::oneDaySecond,array($goodsCommonId));
......@@ -651,12 +658,19 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$data = [];
if(is_array($evaluations) && !empty($evaluations)){
foreach ($evaluations as $evaluation){
$member= \DAO\MemberModel::getInstance()->getInfo($evaluation['geval_frommemberid']);
$evaluation['memberAvatar'] = $member['memberAvatarUrl'];
if($evaluation['isAnonymous'] == 1) {
$evaluation['memberAvatar'] = \DAO\MemberModel::getInstance()->getMemberAvatarUrl(0);
$evaluation['memberName'] = \Our\DescribeConst::anonymity;
}else{
$member= \DAO\MemberModel::getInstance()->getInfo($evaluation['geval_frommemberid']);
$evaluation['memberAvatar'] = $member['memberAvatarUrl'];
}
$gevalImage = [];
if($evaluation['geval_image']){
foreach (unserialize($evaluation['geval_image']) as $v){
$gevalImage[] = \Our\Common::getStaticFile($v,\Our\ImageConst::goodsEvaluation);;
if($v) {
$gevalImage[] = \Our\Common::getStaticFile($v,\Our\ImageConst::goodsEvaluation)."?x-oss-process=image/resize,m_fill,h_222,w_222";
}
}
}
//规格
......@@ -1056,7 +1070,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$goodsList = [];
foreach ($commonIds as $commonId){
if($goodsCommon = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsCommonRedisModel::getInstance(),array(&$commonDAO, 'getOneById'),array($commonId),0,array($commonId))){
if($goodsCommon['goods_verify'] == 1 && $goodsCommon['goods_state'] == 1) {
if($goodsCommon['goods_verify'] == 1 && $goodsCommon['goods_state'] == 1 && $goodsCommon['is_del'] == 0) {
$goodsList[] = $goodsCommon;
}
}
......
......@@ -153,10 +153,16 @@ class OrderServiceModel extends \Business\AbstractModel
$returnData['totalCount'] = $orders['totalCount'];
return $returnData;
} else {
return new \stdClass();
return Array(
'orders'=>[],
'totalCount'=>ApiConst::zero,
);
}
} else {
return new \stdClass();
return Array(
'orders'=>[],
'totalCount'=>ApiConst::zero,
);
}
......@@ -207,6 +213,7 @@ class OrderServiceModel extends \Business\AbstractModel
*/
public function getOrderDetail($orderId)
{
// error_reporting(E_ALL);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName);
$addressDao = \DAO\AddressModel::getInstance(DbNameConst::salveDBConnectName);
$orderCommonDao = \DAO\Order\OrderCommonModel::getInstance(DbNameConst::salveDBConnectName);
......@@ -220,7 +227,7 @@ class OrderServiceModel extends \Business\AbstractModel
$this->order = $orderDao->getConvertOrder($order, $fields);
//收货人地址
//收货人信息
$this->orderCommon = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderCommonDao, 'findByOrderId'), array($orderId, $orderCommonDao->orderCommonField), \Our\ApiConst::oneDaySecond);
$this->orderCommon = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderCommonDao, 'findByOrderId'), array($orderId, $orderCommonDao->orderCommonField), \Our\ApiConst::oneDaySecond,array($orderId));
//$this->orderCommon = $orderCommonDao->findByOrderId($orderId, $this->orderCommonField);
$reciverInfo = $this->orderCommon['reciverInfo'];
$reciverInfo = unserialize($reciverInfo);
......@@ -254,13 +261,19 @@ class OrderServiceModel extends \Business\AbstractModel
$returnData['shippingTime'] = $this->orderCommon['shippingTime'];
if ($returnData['diliverymanId']) {
$returnData['deliveryman'] = $diliverymanDao->convert($this->diliveryman, $this->getDeliveryManFields());
if(empty($returnData['deliveryman']['qrcodePath'])){
$returnData['deliveryman']['qrcodePath']='';
}
} else {
$returnData['diliverymanId'] = ApiConst::zero;
$returnData['deliveryman'] = new \stdClass();
}
$returnData['totalGoodsNum'] = $orderGoodsDao->getGoodsCount($this->orderGoodsList);
$returnData['offlinePayway'] = $this->store['offlinePayway'] ? $this->store['offlinePayway'] : '';
$returnData['reciverInfo'] = $this->address;
$returnData['reciverInfo']['lng']=!empty($returnData['reciverInfo']['lng'])?$returnData['reciverInfo']['lng']:ApiConst::zero;
$returnData['reciverInfo']['lat']=!empty($returnData['reciverInfo']['lat'])?$returnData['reciverInfo']['lat']:ApiConst::zero;
$refundStateName = $orderDao->getRefundText($this->order);
$returnData['orderGoods'] = $goodsDao->convert($this->orderGoodsList, $refundStateName);
return $returnData;
......@@ -307,15 +320,17 @@ class OrderServiceModel extends \Business\AbstractModel
//确认收货
public function confirmRecieve($orderId, $memberId)
{
error_reporting(E_ALL);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
// $orderDao->deleteOrderCache($memberId, $orderId);
$order = $orderDao->findByOrderId($orderId);
//$orderDao->deleteOrderCache($memberId, $orderId, $order['store_id'],true,true);
//判断订单目前状态是否允许取消
$isAllowConfirm = $orderDao->isAllowConfirm($order);
if ($isAllowConfirm) {
$res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateComplete, TRUE);
if ($res) {
$orderDao->deleteOrderCache($memberId, $orderId, $order['store_id'],true);
$orderDao->deleteOrderCache($memberId, $orderId, $order['store_id'],true,true);
return true;
} else {
ErrorModel::throwException(CodeConfigModel::receiveError);
......@@ -497,7 +512,6 @@ class OrderServiceModel extends \Business\AbstractModel
public $baseDir;
//订单任务脚本关闭订单
//订单任务脚本关闭订单
public function cancelOrderTask()
{
......@@ -784,7 +798,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderId = $delivery['orderId'];
//订单
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond);
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond,array($orderId));
if (empty($order)) {
ErrorModel::throwException(CodeConfigModel::notExsitOrder);
}
......@@ -882,7 +896,7 @@ class OrderServiceModel extends \Business\AbstractModel
$orderSubTips = \Our\DescribeConst::payFailedSubTips;
$orderState = \Our\ApiConst::zero;
break;
} else if ($order['payment_type'] != \Our\ApiConst::payOnline && $order['order_state'] == \Our\ApiConst::orderStateWaitConfirm) {//已下单的待线上支付订单
} else if (($order['payment_type'] == \Our\ApiConst::payOffline||$order['payment_type'] == \Our\ApiConst::payAog) && $order['order_state'] == \Our\ApiConst::orderStateWaitConfirm) {//已下单的待线上支付订单
$orderTips = \Our\DescribeConst::addOrderSuccessTips;
$store = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$storeDao, 'getInfoById'), array($order['store_id']), \Our\ApiConst::oneHour);
$orderContent['storeName'] = $store['store_name'];
......@@ -1002,7 +1016,7 @@ class OrderServiceModel extends \Business\AbstractModel
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyOrderIdForPay);
}
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond);
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond,array($orderId));
if (!$order) {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyOrderForPay);
}
......
File mode changed from 100755 to 100644
......@@ -12,6 +12,8 @@ use Our\DbNameConst;
use Our\DescribeConst;
use Our\ImageConst;
use Our\ImageUtil;
use Our\NameConst;
use Our\OrderConst;
/**
* 店铺service
......@@ -333,6 +335,13 @@ class RefundServiceModel extends \Business\AbstractModel
$refundReasonDao = \DAO\Order\RefundReasonModel::getInstance(DbNameConst::masterDBConnectName);
$orderDao = \DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orderInfo = $orderDao->findByMemberIdAndOrderId($memberId, $refund['orderId'], $this->orderField);
$whereRefund['goods_id']=$refund['goodsId'];
$whereRefund['buyer_id']=$memberId;
$whereRefund['order_id']=$orderInfo['orderId'];
$refundOne=$refundReturnDao->find($whereRefund);
if(!empty($refundOne)){
ErrorModel::throwException(CodeConfigModel::alreadyExsitRefundGoods);
}
$refundReasonList = \Our\RedisHelper::cachedFunction(\Redis\Db5\RefundReasonRedisModel::getInstance(), array(&$refundReasonDao, 'getAll'), array($this->refunReasonField), \Our\ApiConst::oneDaySecond);
$refundReasonList = $refundReasonDao->convertToKey($refundReasonList);
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
......@@ -495,9 +504,21 @@ class RefundServiceModel extends \Business\AbstractModel
public function platformIn($buyerId, $refundId, $platFormMessage = DescribeConst::unagreeSellerProccess)
{
$refundReturnDao = \DAO\Order\RefundReturnModel::getInstance(DbNameConst::masterDBConnectName);
$res = $refundReturnDao->updateStatusByBuyerIdAndRefundId($buyerId, $refundId, $platFormMessage);
if ($res) {
$orderDao=\DAO\Order\OrderModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsDao=\DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$where['buyer_id']=$buyerId;
$where['refund_id']=$refundId;
$res= $refundReturnDao->find($where,$refundReturnDao->refundDetailField);
if(isset($res['isPlatformIn']) && !empty($res['isPlatformIn'])){
ErrorModel::throwException(CodeConfigModel::platFormAreadyIn);
}
$re= $refundReturnDao->updateStatusByBuyerIdAndRefundId($buyerId, $refundId, $platFormMessage);
if ($re) {
$whereOrderGoods['rec_id']=$res['orderGoodsId'];
$updateData['refund_state_name']=OrderConst::platFromProccess;
$orderGoodsDao->update($whereOrderGoods,$updateData);
$refundReturnDao->deleteRefundCache($buyerId,$refundId);
$orderDao->deleteOrderCache($buyerId,$res['orderId'],$res['storeId']);
return true;
} else {
return false;
......
......@@ -359,7 +359,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$storeDao = \DAO\StoreModel::getInstance(DbNameConst::salveDBConnectName);
$goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName);
//订单
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond);
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond,array($orderId));
if ($order['store_id'] != $storeId) {
ErrorModel::throwException(CodeConfigModel::orderError);
}
......
......@@ -14,21 +14,6 @@ class StoreServiceModel extends \Business\AbstractModel{
public function init() {
}
// public function get($storeId,$label = true){
// $storeInstance = \DAO\StoreModel::getInstance();
// $storeInfo = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$storeInstance, 'getInfoById'),array($storeId));
// if(!$storeInfo){
// \Error\ErrorModel::throwException(\Error\CodeConfigModel::storeNotExistOrClose);
// }
//
// if($label){
// //店铺头像
// $storeLabel = $storeInstance->getStoreLabelSrc($storeInfo['store_label']);
//
// return array($storeInfo,$storeLabel);
// }
// return $storeInfo;
// }
/**
* 获取店铺首页渲染信息
......@@ -62,12 +47,6 @@ class StoreServiceModel extends \Business\AbstractModel{
\DAO\SaleMemberModel::getInstance()->insertOrUpdate(array('sale_id'=>$sale['member_id'],'sale_act_id'=>$sale['sale_act_id'],'member_id'=>$memberId,'store_id'=>$storeId));
}
}
// $storeMember['storeId'] = $storeId;
// $storeMember['memberId'] = $memberId;
// $storeMember['type'] = \Our\ApiConst::storeQrcodeMember;
// $storeMembers[] = $storeMember;
// $storeMemberDao = \DAO\StoreMemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
// $result = $storeMemberDao->addBatch($storeMembers);
}else{
$sess=\Yaf\Session::getInstance();
$scan_store_ids = $sess->get('scan_store_ids');
......
......@@ -224,34 +224,6 @@ class MemberCenterServiceModel extends \Business\AbstractModel
$list = \Our\RedisHelper::cachedFunction(\Redis\Db4\FavoritesRedisModel::getInstance(),array(&$favoritesInstance, 'getList'),array($where,$field,$pageIndex,$pageSize,$memberId),\Our\ApiConst::oneDaySecond,array($memberId));
$goods = array();
if(is_array($list) && !empty($list)){
// $storeIds = array_column($list,'store_id');
// $storeIds = array_unique($storeIds);
// foreach ($storeIds as $storeId) {
// $tempStores = [];
// $queryStores = [];
// $storeDAO = \DAO\StoreModel::getInstance();
// $exist = \Our\RedisHelper::cachedFunctionExist(\Redis\Db6\StoreRedisModel::getInstance(),array(&$storeDAO, 'getInfoById'),array($storeId),array($storeId));
// if($exist) {
// $storeInfo = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$storeDAO, 'getInfoById'),array($storeId),\Our\ApiConst::sevenDaySecond,array($storeId));
// $tempStores[] = $storeInfo;
// }elseif ($exist === false) {
// $queryStores[] = $storeId;
// }
// }
// if($queryStores) {
// var_dump($queryStores);
// $storeList = $storeDAO->getList('store_id in('.implode(',',$queryStores).')',\Our\ApiConst::zero,$pageSize);
// if($storeList) {
// foreach ($storeList as $store) {
// \Our\RedisHelper::setCachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$storeDAO, 'getInfoById'),$store,array($storeId),\Our\ApiConst::sevenDaySecond,array($storeId));
// $tempStores[] = $store;
// }
// }
// }
// $stores = [];
// foreach ($tempStores as $store) {
// $stores[$store['store_id']] = [$store['store_state'],$store['open_flag']];
// }
foreach ($list as $v){
//if($stores['store_id'] && $stores['store_id']['open_flag'] == 1 && $stores['store_id']['store_state'] == 1) {
$goods[] = array('favid'=>$v['favid'],'goodsCommonId'=>$v['goods_commonid'],'goodsImage'=>\Our\ImageUtil::getGoodsImgUrl($v['goods_image'],\Our\ImageConst::goodsCollectionImgSize),'goodsName'=>$v['goods_name'],'goodsPrice'=>$v['goods_price'],'goodsId'=>$v['goods_id']);
......
File mode changed from 100755 to 100644
File mode changed from 100755 to 100644
......@@ -35,7 +35,7 @@ class EvaluateGoodsModel extends \DAO\AbstractModel {
public function getList($where,$field,$order,$pageIndex,$pageSize,$haveImg = false){
$this->setDb();
if($haveImg){
return $this->db->select($field)->from($this->_tableName)->where($where)->where('geval_image is not null')->order($order[0],$order[1])->page($pageIndex,$pageSize)->fetchAll();
return $this->db->select($field)->from($this->_tableName)->where($where)->where("geval_image !='N;'")->order($order[0],$order[1])->page($pageIndex,$pageSize)->fetchAll();
}
return $this->db->select($field)->from($this->_tableName)->where($where)->order($order[0],$order[1])->page($pageIndex,$pageSize)->fetchAll();
}
......
......@@ -51,7 +51,7 @@ class GoodsModel extends \DAO\AbstractModel {
* @return mixed
*/
public function getOnlineList($where,$field = \Our\NameConst::allField){
$whereSql = ' goods_state ='.\Our\ApiConst::onlineGoodsState.' and goods_verify='.\Our\ApiConst::onlineGoodsVerify;
$whereSql = ' goods_state ='.\Our\ApiConst::onlineGoodsState.' and goods_verify='.\Our\ApiConst::onlineGoodsVerify.' and is_del='.\Our\ApiConst::onlineGoodsDel;
if($where){
$whereSql .= ' and '.$where;
}
......@@ -61,6 +61,7 @@ class GoodsModel extends \DAO\AbstractModel {
public function getOnlineOne($goodsId,$field= \Our\NameConst::allField){
$where['goods_state'] = \Our\ApiConst::onlineGoodsState;
$where['goods_verify'] = \Our\ApiConst::onlineGoodsVerify;
$where['is_del'] = \Our\ApiConst::onlineGoodsDel;
$where['goods_id'] = $goodsId;
$goods = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsRedisModel::getInstance(),array(&$this, 'find'),array($where,$field),\Our\ApiConst::oneHour,array($goodsId));
return $goods;
......@@ -127,6 +128,7 @@ class GoodsModel extends \DAO\AbstractModel {
}else{
$where['goods_state'] = \Our\ApiConst::onlineGoodsState;
$where['goods_verify'] = \Our\ApiConst::onlineGoodsVerify;
$where['is_del'] = \Our\ApiConst::onlineGoodsDel;
$where['goods_id'] = $goodsId;
$goods = $this->find($where,'goods_storage');
if($goods){
......@@ -285,11 +287,12 @@ class GoodsModel extends \DAO\AbstractModel {
if(empty($onlineStorageGoods)){
foreach ($goodsList as $key => $goods){
$onlineFlag = \Our\ApiConst::zero;
if($goods['goods_state'] == \Our\ApiConst::onlineGoodsState && $goods['goods_verify'] == \Our\ApiConst::onlineGoodsVerify){
if($goods['goods_state'] == \Our\ApiConst::onlineGoodsState && $goods['goods_verify'] == \Our\ApiConst::onlineGoodsVerify && $goods['is_del'] == \Our\ApiConst::onlineGoodsDel){
$onlineFlag = \Our\ApiConst::one;
}
unset($goodsList[$key]['goods_state']);
unset($goodsList[$key]['goods_verify']);
unset($goodsList[$key]['is_del']);
$data[$goods['goods_id']] = serialize(array('onlineFlag'=>$onlineFlag,'goodsStorage'=>$goods['goods_storage']));
}
$goodsRedis->tableHMSet($onlineStorageGoodsKey,$data,\Our\ApiConst::tenDaySecond);
......@@ -297,6 +300,7 @@ class GoodsModel extends \DAO\AbstractModel {
foreach ($goodsList as $key => $goods){
unset($goodsList[$key]['goods_state']);
unset($goodsList[$key]['goods_verify']);
unset($goodsList[$key]['is_del']);
}
}
......
......@@ -89,11 +89,11 @@ class StoreTopSaleGoodsModel extends \DAO\AbstractModel{
FROM
(
SELECT t1.*,(SELECT COUNT(*)+1 FROM han_goods_common WHERE store_id=t1.store_id AND sale_num>t1.sale_num) AS group_id
FROM han_goods_common t1 where t1.goods_state={1} and t1.goods_verify={2} and t1.store_id ={3}
FROM han_goods_common t1 where t1.goods_state={1} and t1.goods_verify={2} and t1.store_id ={3} and t1.is_del ={4}
) a
left join han_goods_score_statistics b
on a.goods_commonid = b.goods_commonid
WHERE a.group_id<=3 AND a.sale_num>0 ',\Our\ApiConst::defaultGoodsScore,\Our\ApiConst::onlineGoodsState,\Our\ApiConst::onlineGoodsVerify,$storeId);
WHERE a.group_id<=3 AND a.sale_num>0 ',\Our\ApiConst::defaultGoodsScore,\Our\ApiConst::onlineGoodsState,\Our\ApiConst::onlineGoodsVerify,$storeId,\Our\ApiConst::onlineGoodsState);
$list = $this->db->query($sql)->rows;
return $list;
}
......@@ -112,7 +112,7 @@ LEFT JOIN han_goods_score_statistics t2
on t1.goods_commonid = t2.goods_commonid
where t1.
) a
WHERE a.group_id<=3 AND a.sale_num>0 and a.goods_state=1 and a.goods_verify=1 ORDER BY a.store_id ,a.group_id';
WHERE a.group_id<=3 AND a.sale_num>0 and a.goods_state=1 and a.goods_verify=1 and a.is_del=0 ORDER BY a.store_id ,a.group_id';
$list = $this->db->query($sql)->rows;
return $list;
}
......
......@@ -78,7 +78,7 @@ class GoodsCommonModel extends \DAO\AbstractModel {
foreach ($where as $v){
$str .= '->where("'.$v.'")';
}
$str .="->where('goods_verify = 1')->where('goods_state = 1')";
$str .="->where('goods_verify = 1')->where('goods_state = 1')->where('is_del = 0')";
if($limit){
$str .= "->limit({$limit[0]},{$limit[1]})";
}
......@@ -114,7 +114,7 @@ class GoodsCommonModel extends \DAO\AbstractModel {
}
$str .= 'where ';
if($online){
$str .=" (goods_verify = 1) AND (goods_state = 1) AND ";
$str .=" (goods_verify = 1) AND (goods_state = 1) AND (is_del = 0) AND ";
}
$str .= '('.implode(') AND (',$where).')';
if($attrStr){
......@@ -183,9 +183,9 @@ class GoodsCommonModel extends \DAO\AbstractModel {
public function getCount($where,$attrStr=''){
$this->setDb($this->dbName);
if($attrStr){
return $this->db->from($this->_tableName)->join('han_goods_attribute_value','han_goods_attribute_value.goods_commonid = han_goods_common.goods_commonid')->where($where)->where($attrStr)->fetchNum();
return $this->db->from($this->_tableName)->join('han_goods_attribute_value','han_goods_attribute_value.goods_commonid = han_goods_common.goods_commonid')->where($where)->where($attrStr)->where(array('goods_state'=>1,'goods_verify'=>1,'is_del'=>0))->fetchNum();
}
return $this->db->from($this->_tableName)->where($where)->fetchNum();
return $this->db->from($this->_tableName)->where(array('goods_state'=>1,'goods_verify'=>1,'is_del'=>0))->where($where)->fetchNum();
}
/**
* 获取分享信息
......
......@@ -777,13 +777,13 @@ class OrderModel extends \DAO\AbstractModel
//删除订单详情缓存
public function deleteFindByOrderIdCache($orderId)
{
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'findByOrderId'), array($orderId),array($orderId));
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'findByOrderId'), array(),array($orderId));
}
//删除订单列表缓存
public function deleteGetShopKeeperCountByStoreId($storeId)
{
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'getShopKeeperCountByStoreId'), array(), array($storeId));
return \Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$this, 'getShopKeeperCountByStoreId'), array(),array($storeId));
}
//删除订单列表缓存
......@@ -827,7 +827,7 @@ class OrderModel extends \DAO\AbstractModel
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderGoodsDao->deleteOrderGoodsCache($memberId, $orderId);
$orderCommonDao= \DAO\Order\OrderCommonModel::getInstance(DbNameConst::masterDBConnectName);
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderCommonDao, 'findByOrderId'), array($orderId, $orderCommonDao->orderCommonField));
\Our\RedisHelper::delCachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderCommonDao, 'findByOrderId'), array(),array($orderId));
}
return true;
......
......@@ -101,6 +101,9 @@ class QmDeliverymanLogModel extends \DAO\AbstractModel
if ($type == ApiConst::deliveryStateWait) {
$where['delivery_state'] = ApiConst::deliveryStateComplete;
}
if($type==ApiConst::deliveryStateComplete){
$order = array('finish_time' => 'desc');
}
$list = $this->lists($where, $order, $this->fieldList, $pageIndex, $pageSize);
return $list;
}
......
......@@ -23,7 +23,8 @@ class RefundReturnModel extends \DAO\AbstractModel {
* @var string
*/
protected $_tableName = 'han_refund_return';
private $refundReturnField="seller_state,refund_state,is_platform_in,platform_state";
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";
private $sumField="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";
/**
* 主键
......@@ -82,10 +83,10 @@ class RefundReturnModel extends \DAO\AbstractModel {
$this->errorCode=CodeConfigModel::isNotExpressType;
$isReturn=FALSE;
}
// if($refundReturn['addressId']>ApiConst::zero){
// $this->errorCode=CodeConfigModel::isNotExpressType;
// $isReturn=FALSE;
// }
if($refundReturn['expressId']>ApiConst::zero){
$this->errorCode=CodeConfigModel::isNotExpressType;
$isReturn=FALSE;
}
return $isReturn;
}
/**
......@@ -273,21 +274,30 @@ class RefundReturnModel extends \DAO\AbstractModel {
$refund_return = $wxpay->refund($param);
$this->errorMessage= "微信返回:".json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage='微信退款操作执行失败!'.$orderInfo['orderId']."\r\n";
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['orderId']."\r\n";
return false;
}
} else if (intval($orderInfo['paymentType']) == ApiConst::alipay) {
$aliPay=\Payment\Alipay::getInstance();
$aliPay = \Payment\Alipay::getInstance();
$return = $aliPay->refund($param);
$this->errorMessage="支付宝返回:".json_encode($return);
$this->errorMessage = "支付宝返回:" . json_encode($return);
$resultCode = $return->code;
if(!empty($resultCode)&&$resultCode ==ApiConst::alipayRefundSuccess ){
if (!empty($resultCode) && $resultCode == ApiConst::alipayRefundSuccess) {
return true;
} else {
$this->errorMessage= '支付宝退款操作执行失败:'.$orderInfo['orderId']."\r\n";
$this->errorMessage = date('Y-m-d') . '支付宝退款操作执行失败:' . $orderInfo['orderId'] . "\r\n";
return false;
}
}else if(intval($orderInfo['paymentType']) == ApiConst::wxProgram){
$wxpay = \Payment\WxPay::getInstance();
$refund_return = $wxpay->refund($param);
$this->errorMessage= "微信小程序返回:".json_encode($refund_return);
if (!($refund_return['return_code'] == 'SUCCESS' && $refund_return['result_code'] == 'SUCCESS')) {
$this->errorMessage=date('Y-m-d').'微信退款操作执行失败!'.$orderInfo['orderId']."\r\n";
return false;
}
}
return true;
}
/**
* 增加退款退货
......
......@@ -268,7 +268,7 @@ class StoreModel extends \DAO\AbstractModel
public function get($storeId,$label = true)
{
$storeInfo = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(),array(&$this, 'getInfoById'),array($storeId),\Our\ApiConst::sevenDaySecond,array($storeId));
if(!$storeInfo){
if(!$storeInfo || $storeInfo['open_flag'] == 0 || $storeInfo['store_state'] != 1){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::storeNotExistOrClose);
}
......
......@@ -271,6 +271,7 @@ class CodeConfigModel {
const notExsitOrder=300112;
const alreadyExsitRefundGoods=300113;
const notAllowDelete=300114;
const platFormAreadyIn=300115;
//店铺相关错误码
//商品分类
......@@ -668,6 +669,7 @@ class CodeConfigModel {
self::notExsitOrder=>'订单不存在',
self::alreadyExsitRefundGoods=>'退款订单已经存在',
self::notAllowDelete=>'当前订单状态不允许删除',
self::platFormAreadyIn=>'您已经申请过平台介入',
self::deleteError=>'放入回收站失败,订单状态有误',
self::restoreError=>'永久删除、从回收站还原失败,订单状态有误',
self::shareError=>'分享失败,订单状态有误',
......
File mode changed from 100755 to 100644
......@@ -7,7 +7,7 @@
</head>
<body>
<form action="/order/recieve" method="post">
<form action="/order/receive" method="post">
用户登录状态key:<input name="data[key]" value="ceb72deab920ac0edb7272b2ed9dfa1e"/><br />
订单id:<input name="data[orderId]" value="865"/><br />
......
......@@ -81,7 +81,7 @@ class cliOrderClose extends basecli
}
$this->autoCloseOrder();
echo '定单关闭消息发送成功'."\r\n";
echo date('Y-m-d H:i:s',TIMESTAMP).'定单关闭消息成功'."\r\n";
}
}
......
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