Commit f4bcd92f authored by zhz's avatar zhz

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

parents 6c38eeca 9fac3fc6
...@@ -38,8 +38,36 @@ class IndexController extends \Our\Controller_Abstract { ...@@ -38,8 +38,36 @@ class IndexController extends \Our\Controller_Abstract {
$this->memberDb0Redis=\Redis\Db0\MemberRedisModel::getInstance(); $this->memberDb0Redis=\Redis\Db0\MemberRedisModel::getInstance();
$paramsStr= $this->memberDb0Redis->tablelpop($this->key); $paramsStr= $this->memberDb0Redis->tablelpop($this->key);
// $paramsStr='{
// "desc": "最优质的产品,最实惠的价格,最好的服务质量,欢迎选购",
//"deviceWidth": "828",
//"id": "1050000",
//"imgUrl": "http://qmoss-01.oss-cn-hangzhou.aliyuncs.com/mall/store/05960231407828374.jpg?x-oss-process=image/resize,m_fill,h_186,w_186",
//"key": "bda203557fcc08150fc997360d432bfa",
//"shareType": "1",
//"storeName": "LQ日化用品",
//"timestamp": "1543913056",
//"type": "2",
//"driverType": 2,
//"qrCode": "http://share.shenbd.com/share.html?type=store&id=1050000",
//"address": "鑫雄盛快捷酒店仓山紫番林幼儿园",
//"storeWorkingtime": "",
//"buyerDistribution": 1,
//"sellerDistribution": 1,
//"startShippingPrice": 2000,
//"freeShippingPrice": 0,
//"storeStartTime": "09:00",
//"storeCloseTime": "23:00"
//}';
$paramsStr=json_decode($paramsStr,true); $paramsStr=json_decode($paramsStr,true);
if($paramsStr['type']==\Our\ApiConst::shareStore || $paramsStr['type']==\Our\ApiConst::shareSaler){
$begin=strtotime($paramsStr['storeStartTime']);
$end=strtotime($paramsStr['storeCloseTime']);
if($begin>=$end){
$paramsStr['storeCloseTime']=\Our\DescribeConst::storeCloseTimePre.date('H:i',$end+\Our\ApiConst::oneDaySecond);
}
}
$this->_view->assign("params", $paramsStr); $this->_view->assign("params", $paramsStr);
if($paramsStr['type']==\Our\ApiConst::sharePlat){ if($paramsStr['type']==\Our\ApiConst::sharePlat){
$this->_view->display('index/plat.phtml'); $this->_view->display('index/plat.phtml');
...@@ -48,6 +76,7 @@ class IndexController extends \Our\Controller_Abstract { ...@@ -48,6 +76,7 @@ class IndexController extends \Our\Controller_Abstract {
$this->_view->display('index/store.phtml'); $this->_view->display('index/store.phtml');
} }
if($paramsStr['type']==\Our\ApiConst::shareGoods || $paramsStr['type']==\Our\ApiConst::shareGroup){ if($paramsStr['type']==\Our\ApiConst::shareGoods || $paramsStr['type']==\Our\ApiConst::shareGroup){
$this->_view->display('index/goods.phtml'); $this->_view->display('index/goods.phtml');
} }
if($paramsStr['type']==\Our\ApiConst::shareSaler){ if($paramsStr['type']==\Our\ApiConst::shareSaler){
......
...@@ -240,8 +240,13 @@ class ApiConst ...@@ -240,8 +240,13 @@ class ApiConst
const bySelf = 0; const bySelf = 0;
const bySeller = 1; const bySeller = 1;
const express = 2; const express = 2;
//待自提 //待自提
const oneHandred=100; const oneHandred=100;
const cancelOrderAuto=1;
const closeOrder=2;
const cancelOrderBySelf=4;
//待配送 //待配送
const oneHandredOne=101; const oneHandredOne=101;
......
...@@ -66,6 +66,8 @@ class DescribeConst ...@@ -66,6 +66,8 @@ class DescribeConst
const receiveCouponSuccess = '领取优惠券成功'; const receiveCouponSuccess = '领取优惠券成功';
const addCartSuccess = '加入购物车成功'; const addCartSuccess = '加入购物车成功';
const storeCloseTimePre='次日';
const setMessageSuccess='消息设置成功'; const setMessageSuccess='消息设置成功';
const editCartSuccess = '编辑购物车成功'; const editCartSuccess = '编辑购物车成功';
......
...@@ -155,6 +155,8 @@ class NameConst { ...@@ -155,6 +155,8 @@ class NameConst {
const goodsCollection = 'goodsCollection';//商品收藏数量 const goodsCollection = 'goodsCollection';//商品收藏数量
const footprint = 'footprint';//足迹数量 const footprint = 'footprint';//足迹数量
const clientUpdateUrl='shenbd.zip';
const leftBracket = '['; const leftBracket = '[';
const rightBracket = ']'; const rightBracket = ']';
const elasticName='elastic.master'; const elasticName='elastic.master';
......
...@@ -27,7 +27,7 @@ class Alipay { ...@@ -27,7 +27,7 @@ class Alipay {
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
$request = new \Alipay\aop\request\AlipayTradeAppPayRequest(); $request = new \Alipay\aop\request\AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数 //SDK已经封装掉了公共参数,这里只需要传入业务参数
$bizcontent = "{\"body\":\"订单号".implode(',',$order['orderSns'])."\"," $bizcontent = "{\"body\":\"".$order['storeName']."的订单\","
. "\"subject\": \"r|".$order['paySn']."\"," . "\"subject\": \"r|".$order['paySn']."\","
. "\"out_trade_no\": \"".$order['paySn']."\"," . "\"out_trade_no\": \"".$order['paySn']."\","
. "\"timeout_express\": \"30m\"," . "\"timeout_express\": \"30m\","
......
...@@ -14,7 +14,7 @@ class Pay { ...@@ -14,7 +14,7 @@ class Pay {
private $order; private $order;
private $paySn; private $paySn;
private $member; private $member;
private $orderField = 'order_amount,order_sn,store_id'; private $orderField = 'order_amount,order_sn,store_id,store_name';
private $requestData ; private $requestData ;
private $orderAmount= \Our\ApiConst::zero; private $orderAmount= \Our\ApiConst::zero;
...@@ -92,6 +92,7 @@ class Pay { ...@@ -92,6 +92,7 @@ class Pay {
} }
$orderInfo['paySn'] = $this->paySn; $orderInfo['paySn'] = $this->paySn;
$orderInfo['orderSns'] = array_column($orderList,'order_sn'); $orderInfo['orderSns'] = array_column($orderList,'order_sn');
$orderInfo['storeName'] = $orderList[0]['store_name'];
return $orderInfo; return $orderInfo;
} }
......
...@@ -33,7 +33,8 @@ class TencentPay { ...@@ -33,7 +33,8 @@ class TencentPay {
$this->parameters['appid']=$this->appid; $this->parameters['appid']=$this->appid;
$this->parameters['mch_id']=$this->mch_id; $this->parameters['mch_id']=$this->mch_id;
$this->parameters['nonce_str']=\Our\CommonExtension::createNoncestr(32); $this->parameters['nonce_str']=\Our\CommonExtension::createNoncestr(32);
$this->parameters['body']='订单号:'.implode(',',$orderInfo['orderSns']); //$this->parameters['body']='订单号:'.implode(',',$orderInfo['orderSns']);
$this->parameters['body']=$orderInfo['storeName'].'的订单';
$this->parameters['attach']='r|'.$pay_sn; $this->parameters['attach']='r|'.$pay_sn;
$this->parameters['out_trade_no']=$pay_sn; $this->parameters['out_trade_no']=$pay_sn;
$this->parameters['fee_type']= \Our\NameConst::currentCNY; $this->parameters['fee_type']= \Our\NameConst::currentCNY;
...@@ -63,7 +64,8 @@ class TencentPay { ...@@ -63,7 +64,8 @@ class TencentPay {
$this->parameters['sub_appid']=$this->appid; $this->parameters['sub_appid']=$this->appid;
$this->parameters['sub_mch_id']=$orderInfo['subMchId']; $this->parameters['sub_mch_id']=$orderInfo['subMchId'];
$this->parameters['nonce_str']=\Our\CommonExtension::createNoncestr(32); $this->parameters['nonce_str']=\Our\CommonExtension::createNoncestr(32);
$this->parameters['body']='订单号:'.implode(',',$orderInfo['orderSns']); //$this->parameters['body']='订单号:'.implode(',',$orderInfo['orderSns']);
$this->parameters['body']=$orderInfo['storeName'].'的订单';
$this->parameters['attach']='r|'.$pay_sn; $this->parameters['attach']='r|'.$pay_sn;
$this->parameters['out_trade_no']=$pay_sn; $this->parameters['out_trade_no']=$pay_sn;
$this->parameters['fee_type']= \Our\NameConst::currentCNY; $this->parameters['fee_type']= \Our\NameConst::currentCNY;
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
namespace Business\Common; namespace Business\Common;
use Our\Common;
use Our\NameConst;
class SettingServiceModel extends \Business\AbstractModel{ class SettingServiceModel extends \Business\AbstractModel{
public function getCurrentVersion($param){ public function getCurrentVersion($param){
...@@ -22,7 +25,11 @@ class SettingServiceModel extends \Business\AbstractModel{ ...@@ -22,7 +25,11 @@ class SettingServiceModel extends \Business\AbstractModel{
public function getAppVersion(){ public function getAppVersion(){
$settingDAO = \DAO\SettingModel::getInstance(); $settingDAO = \DAO\SettingModel::getInstance();
$version = $settingDAO->getListCache(array('app_version')); $version = $settingDAO->getListCache(array('app_version'));
return array('version'=>$version['app_version']);
$updateUrl=\Bootstrap::getUrlIniConfig('ossHost');
$fileName='/'.NameConst::refund;
$updateUrl=$updateUrl.'/'.$fileName;
return array('version'=>$version['app_version'],'updateUrl'=>$updateUrl);
} }
public function getServicePhone(){ public function getServicePhone(){
......
...@@ -27,6 +27,30 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -27,6 +27,30 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
* @throws \Exception * @throws \Exception
*/ */
public function setGoodsStorage($storeId, $goodsId, $num = 0, $type='add') { public function setGoodsStorage($storeId, $goodsId, $num = 0, $type='add') {
$orderService=\Business\Order\OrderServiceModel::getInstance();
if($goodsId === 0){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
}
if($type=='add'){
$type=ApiConst::plus;
}else{
$type=ApiConst::set;
}
$res=$orderService->updateGoodsStoregeByGoodsIds($storeId,$goodsId,$num,$type);
return $res;
}
/**
* 设置库存
* @param $storeId
* @param $goodsId
* @param int $num
* @param string $type
* @return array
* @throws \Exception
*/
public function setGoodsStorageBak($storeId, $goodsId, $num = 0, $type='add') {
if($goodsId === 0){ if($goodsId === 0){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError); \Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
} }
......
...@@ -332,8 +332,9 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -332,8 +332,9 @@ class OrderServiceModel extends \Business\AbstractModel
$isAllowCancel = $orderDao->isAllowCancel($order); $isAllowCancel = $orderDao->isAllowCancel($order);
$isAllowCance = true; $isAllowCance = true;
if ($isAllowCancel) { if ($isAllowCancel) {
$res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateCancel); $res = $orderDao->updateStatusByOrderId($orderId, ApiConst::orderStateCancel,false,ApiConst::cancelOrderBySelf);
if ($res) { if ($res) {
$this->updateOrderGoodsStoregeByOrderIds(array($orderId));
$order['refundOrderNo']=$refundReturnDao->getRefundsn($order['storeId']); $order['refundOrderNo']=$refundReturnDao->getRefundsn($order['storeId']);
if($order['paymentTime']>ApiConst::zero){ if($order['paymentTime']>ApiConst::zero){
$resultRefund=$refundReturnDao->refundMoney($order); $resultRefund=$refundReturnDao->refundMoney($order);
...@@ -664,7 +665,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -664,7 +665,7 @@ class OrderServiceModel extends \Business\AbstractModel
foreach ($orders as $order) { foreach ($orders as $order) {
//更新订单信息 //更新订单信息
$updateData = array('order_state' => ApiConst::orderStateCancel); $updateData = array('order_state' => ApiConst::orderStateCancel,'is_effective'=>ApiConst::cancelOrderAuto);
$update = $orderDao->update(array('order_id' => $order['orderId']),$updateData); $update = $orderDao->update(array('order_id' => $order['orderId']),$updateData);
$updateCommonData['order_message']=DescribeConst::cancelOrderMessage; $updateCommonData['order_message']=DescribeConst::cancelOrderMessage;
$res=$orderCommonDao->update(array('order_id'=>$order['orderId']),$updateCommonData); $res=$orderCommonDao->update(array('order_id'=>$order['orderId']),$updateCommonData);
...@@ -722,7 +723,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -722,7 +723,7 @@ class OrderServiceModel extends \Business\AbstractModel
if (!empty($orders)) { if (!empty($orders)) {
foreach ($orders as $order) { foreach ($orders as $order) {
//更新订单信息 //更新订单信息
$updateData = array('order_state' => ApiConst::orderStateClose,'refund_amount'=>$order['orderAmount']); $updateData = array('order_state' => ApiConst::orderStateClose,'refund_amount'=>$order['orderAmount'],'gmt_update'=>TIMESTAMP,'is_effective'=>ApiConst::closeOrder);
$update = $orderDao->update(array('order_id' => $order['orderId']),$updateData); $update = $orderDao->update(array('order_id' => $order['orderId']),$updateData);
if($update){ if($update){
if ($order['paymentTime'] > ApiConst::zero && in_array($order['paymentType'], ArrayConst::orderPayTypeOnlines)) { if ($order['paymentTime'] > ApiConst::zero && in_array($order['paymentType'], ArrayConst::orderPayTypeOnlines)) {
...@@ -775,12 +776,8 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -775,12 +776,8 @@ 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 updateOrderGoodsStoregeByOrderIds($orderIds){
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
$orderConfirmUtilDao=OrderConfirmUtil::getInstance(DbNameConst::masterDBConnectName); $orderConfirmUtilDao=OrderConfirmUtil::getInstance(DbNameConst::masterDBConnectName);
//更新商品库存
$orderGoods = $orderGoodsDao->getOrderGoodsByOrderIds($orderIds, $this->getGoodsDetailField());
$storeCartsList=array(); $storeCartsList=array();
$storeCarts=array(); $storeCarts=array();
$storeCarts['storeCarts']=array(); $storeCarts['storeCarts']=array();
...@@ -795,12 +792,49 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -795,12 +792,49 @@ 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,\Our\ApiConst::plus); $orderConfirmUtilDao->updateGoodsStorage($storeCartsList,$type);
return true;
}catch(\Exception $ex){ }catch(\Exception $ex){
$orderidsStr=implode(',',$orderIds); $orderGoodsIds=array_column($orderGoods,'goodsId');
$orderidsStr=implode(',',$orderGoodsIds);
echo '商品库存更新失败:'.$ex->getMessage().$ex->getCode().":".$orderidsStr; echo '商品库存更新失败:'.$ex->getMessage().$ex->getCode().":".$orderidsStr;
} }
} }
public function updateOrderGoodsStoregeByOrderIds($orderIds,$orderGoodsId=false){
$orderGoodsDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::masterDBConnectName);
//更新商品库存
$orderGoodses = $orderGoodsDao->getOrderGoodsByOrderIds($orderIds, $this->getGoodsDetailField());
$orderGoods=array();
if(!empty($orderGoodsId)){
foreach($orderGoodses as $orderGood){
if($orderGood['recId']==$orderGoodsId){
array_push($orderGoods,$orderGood);
}
}
}
if(empty($orderGoods)){
$orderGoods=$orderGoodses;
}
$this->updateDateGoodsStoregeByOrderGoods($orderGoods);
}
public function updateGoodsStoregeByGoodsIds($storeId,$goodsid,$num=ApiConst::zero,$type=ApiConst::plus){
$where['goods_id']=$goodsid;
$where['store_id']=$storeId;
$goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::masterDBConnectName);
$goodses=$goodsDao->getList($where,$goodsDao->goodsDetailField);
if(!empty($goodses)){
foreach($goodses as &$goods){
$goods['goodsNum']=$num;
}
if($this->updateDateGoodsStoregeByOrderGoods($goodses,$type)){
return true;
}
}
return false;
}
//订单任务脚本自动确认收货 //订单任务脚本自动确认收货
public function canformRecieveOrder() public function canformRecieveOrder()
......
...@@ -187,7 +187,7 @@ class RefundServiceModel extends \Business\AbstractModel ...@@ -187,7 +187,7 @@ class RefundServiceModel extends \Business\AbstractModel
$orderDao->deleteOrderCache($refund['buyer_id'], $refund['order_id'], $refund['store_id']); $orderDao->deleteOrderCache($refund['buyer_id'], $refund['order_id'], $refund['store_id']);
$storeDAO->deleteStoreRefundCache($refund['store_id'],$refund['order_id']); $storeDAO->deleteStoreRefundCache($refund['store_id'],$refund['order_id']);
$orderService=\Business\Order\OrderServiceModel::getInstance(); $orderService=\Business\Order\OrderServiceModel::getInstance();
$orderService->updateOrderGoodsStoregeByOrderIds($refund['order_id']); $orderService->updateOrderGoodsStoregeByOrderIds($refund['order_id'],$refund['goods_id']);
$refundReturnDao->db->doCommit(); $refundReturnDao->db->doCommit();
$push=\Our\Push::getInstance(); $push=\Our\Push::getInstance();
$pushData=array('storeId'=>$storeId, $pushData=array('storeId'=>$storeId,
......
...@@ -407,7 +407,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel ...@@ -407,7 +407,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
public function getOrders($memberId, $pageIndex, $pageSize, $orderState, $keyword) public function getOrders($memberId, $pageIndex, $pageSize, $orderState, $keyword)
{ {
$order = array('gmt_update' => 'desc'); $order = array('add_time' => 'desc');
$orderDao=\DAO\Order\OrderModel::getInstance(); $orderDao=\DAO\Order\OrderModel::getInstance();
$storeId = $this->_getStoreByMemberId($memberId); $storeId = $this->_getStoreByMemberId($memberId);
if (empty($storeId)) { if (empty($storeId)) {
...@@ -436,15 +436,21 @@ class ShopkeeperServiceModel extends \Business\AbstractModel ...@@ -436,15 +436,21 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
// $where .= ' and han_order.shipping_type=' . ApiConst::bySelf; // $where .= ' and han_order.shipping_type=' . ApiConst::bySelf;
$where=$orderDao->getByselfCondition($storeId); $where=$orderDao->getByselfCondition($storeId);
} else { } else {
// $order=array(
// 'diliveryman_id'=>'asc',
// 'gmt_update'=>'asc'
// );
$order=array( $order=array(
'diliveryman_id'=>'asc', 'add_time'=>'desc'
'gmt_update'=>'asc'
); );
// $where .= ' and han_order.shipping_type=' . ApiConst::bySeller; // $where .= ' and han_order.shipping_type=' . ApiConst::bySeller;
$where=$orderDao->getWaitDeliveryCondition($storeId); $where=$orderDao->getWaitDeliveryCondition($storeId);
} }
} else { } else {
$order=array(
'add_time'=>'desc'
);
if (!empty($orderState)) { if (!empty($orderState)) {
$where .= ' and han_order.order_state=' . $orderState; $where .= ' and han_order.order_state=' . $orderState;
} }
......
...@@ -535,7 +535,8 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -535,7 +535,8 @@ class AddressServiceModel extends \Business\AbstractModel {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyAddressAndName); \Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyAddressAndName);
} }
if(!($address['tag_type']>=\Our\ApiConst::zero&&$address['tag_type']<=3)){ if(!($address['tag_type']>=\Our\ApiConst::zero&&$address['tag_type']<=3)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongAddressTagType); //\Error\ErrorModel::throwException(\Error\CodeConfigModel::wrongAddressTagType);
$address['tag_type'] = \Our\ApiConst::zero;
} }
if($province){ if($province){
$province = mb_substr($province,0,2); $province = mb_substr($province,0,2);
......
...@@ -41,6 +41,7 @@ class ShareServiceModel extends \Business\AbstractModel ...@@ -41,6 +41,7 @@ class ShareServiceModel extends \Business\AbstractModel
$data['goodsId']=$goods['goods_id']; $data['goodsId']=$goods['goods_id'];
$data['goodsCommonid']=$goods['goods_commonid']; $data['goodsCommonid']=$goods['goods_commonid'];
$data['storeId']=$goods['store_id']; $data['storeId']=$goods['store_id'];
} }
} }
if($data['type']==ApiConst::shareGroup){ if($data['type']==ApiConst::shareGroup){
...@@ -60,6 +61,15 @@ class ShareServiceModel extends \Business\AbstractModel ...@@ -60,6 +61,15 @@ class ShareServiceModel extends \Business\AbstractModel
$data['imgUrl']=$storeDao->getStoreLabelSrc($store['store_label']); $data['imgUrl']=$storeDao->getStoreLabelSrc($store['store_label']);
$data['storeName']=$store['store_name']; $data['storeName']=$store['store_name'];
$data['desc']=$store['store_notice']; $data['desc']=$store['store_notice'];
$data['storeWorkingtime']=$store['store_workingtime'];
$data['buyerDistribution']=$store['buyer_distribution'];
$data['sellerDistribution']=$store['seller_distribution'];
$data['startShippingPrice']=$store['start_shipping_price'];
$data['freeShippingPrice']=$store['free_shipping_price'];
$data['storeStartTime']=$store['store_start_time'];
$data['storeCloseTime']=$store['store_close_time'];
} }
} }
......
...@@ -39,7 +39,8 @@ class AdvModel extends \DAO\AbstractModel{ ...@@ -39,7 +39,8 @@ class AdvModel extends \DAO\AbstractModel{
foreach($advs as $adv){ foreach($advs as $adv){
$advContent=unserialize($adv['adv_content']); $advContent=unserialize($adv['adv_content']);
if($advContent['adv_pic_url']){ if($advContent['adv_pic_url']){
$temp['href']=\Our\NameConst::httpPrefix.$advContent['adv_pic_url']; //$temp['href']=\Our\NameConst::httpPrefix.$advContent['adv_pic_url'];
$temp['href']=$advContent['adv_pic_url'];
} }
$temp['imageUrl']=\Our\Common::getStaticFile($advContent['adv_pic'],\Our\ImageConst::advPath); $temp['imageUrl']=\Our\Common::getStaticFile($advContent['adv_pic'],\Our\ImageConst::advPath);
$result[] = $temp; $result[] = $temp;
......
...@@ -20,7 +20,7 @@ class GoodsModel extends \DAO\AbstractModel { ...@@ -20,7 +20,7 @@ class GoodsModel extends \DAO\AbstractModel {
private $cartGoodsField = 'goods_id,goods_storage,store_id,goods_commonid,goods_name,goods_image,goods_spec,snapshot_id'; private $cartGoodsField = 'goods_id,goods_storage,store_id,goods_commonid,goods_name,goods_image,goods_spec,snapshot_id';
public $goodsDetailField='goods_id as goodsId,goods_commonid as goodsCommonid,goods_name as goodsName,store_id as storeId'; public $goodsDetailField='goods_id as goodsId,goods_commonid as goodsCommonid,goods_commonid as goodsCommonId,goods_name as goodsName,store_id as storeId';
/** /**
* 主键 * 主键
...@@ -74,7 +74,9 @@ class GoodsModel extends \DAO\AbstractModel { ...@@ -74,7 +74,9 @@ class GoodsModel extends \DAO\AbstractModel {
public function getList($where,$field){ public function getList($where,$field){
$this->setDb(); $this->setDb();
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll(); $res= $this->db->select($field)->from($this->_tableName)->where($where)->order('goods_storage','desc')->fetchAll();
return $res;
} }
public function getListGroup($where,$field,$groupField){ public function getListGroup($where,$field,$groupField){
$this->setDb($this->dbName); $this->setDb($this->dbName);
...@@ -500,8 +502,11 @@ class GoodsModel extends \DAO\AbstractModel { ...@@ -500,8 +502,11 @@ class GoodsModel extends \DAO\AbstractModel {
} }
unset($goods['goodsSpec']); unset($goods['goodsSpec']);
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');
$goods['goodsReduceAmount']=$goods['goodsPayPrice']-$goods['goodsDiscountPrice'];
}else{ }else{
$goods['goodsGroup']=array(); $goods['goodsGroup']=array();
} }
......
...@@ -30,6 +30,10 @@ class StoreTopSaleGoodsModel extends \DAO\AbstractModel{ ...@@ -30,6 +30,10 @@ class StoreTopSaleGoodsModel extends \DAO\AbstractModel{
public function pushChangeSaleStore($storeId){ public function pushChangeSaleStore($storeId){
$storeTopSaleGoodsRedis = \Redis\Db4\StoreTopSaleGoodsRedisModel::getInstance(); $storeTopSaleGoodsRedis = \Redis\Db4\StoreTopSaleGoodsRedisModel::getInstance();
$storeTopSaleGoodsRedis->tableLPush('TopSaleStores',$storeId); $storeTopSaleGoodsRedis->tableLPush('TopSaleStores',$storeId);
//删除购物车缓存
$cartRedis = \Redis\Db7\CartRedisModel::getInstance();
$memberCartKey = \Our\NameConst::memberStoreCartsPrefix.'*_'.$storeId;
$cartRedis->tableDelAll($cartRedis->tableKeys($memberCartKey));
} }
public function getChangedSaleStoreId(){ public function getChangedSaleStoreId(){
......
...@@ -263,7 +263,7 @@ class OrderModel extends \DAO\AbstractModel ...@@ -263,7 +263,7 @@ class OrderModel extends \DAO\AbstractModel
return $this->update($where, $data); return $this->update($where, $data);
} }
public function updateStatusByOrderId($orderIds, $status, $isConfirm = false) public function updateStatusByOrderId($orderIds, $status, $isConfirm = false,$is_effective=ApiConst::zero)
{ {
$this->setDb($this->dbName); $this->setDb($this->dbName);
if (is_array($orderIds)) { if (is_array($orderIds)) {
...@@ -276,6 +276,9 @@ class OrderModel extends \DAO\AbstractModel ...@@ -276,6 +276,9 @@ class OrderModel extends \DAO\AbstractModel
$data['is_receive_payment']=ApiConst::receivePayment; $data['is_receive_payment']=ApiConst::receivePayment;
$data['payment_time']=TIMESTAMP; $data['payment_time']=TIMESTAMP;
} }
$data['is_effective']=$is_effective;
$data['order_state'] = $status; $data['order_state'] = $status;
$data['finnshed_time']=TIMESTAMP; $data['finnshed_time']=TIMESTAMP;
if ($isConfirm) { if ($isConfirm) {
......
...@@ -260,6 +260,24 @@ class OrderGoodsModel extends \DAO\AbstractModel { ...@@ -260,6 +260,24 @@ class OrderGoodsModel extends \DAO\AbstractModel {
$res=$this->db->from($this->_tableName)->select($this->sumGoodsNum)->where($where)->group("buyer_id")->group("store_id")->fetchAll(); $res=$this->db->from($this->_tableName)->select($this->sumGoodsNum)->where($where)->group("buyer_id")->group("store_id")->fetchAll();
return $res; return $res;
}
public function getMemberStoreOrderGoodsCountBak($storeIds,$memberIds){
$this->setDb($this->dbName);
$orderDao=\DAO\Order\OrderModel::getInstance(DbNameConst::salveDBConnectName);
$whereOrder['store_id']=array('in',$storeIds);
$whereOrder['buyer_id']=array('in',$memberIds);
$whereOrder['order_state']=array('in',ArrayConst::orderCloseAndCancel);
$orderIds=$orderDao->getFieldByWhere($whereOrder,'order_id');
$where['store_id']=array('in',$storeIds);
$where['buyer_id']=array('in',$memberIds);
$where['is_refund']=array('neq',ApiConst::refundSuccess);
if($orderIds){
$where['order_id']=array('notin',$orderIds);
}
$where=$this->db->getSqlWhereByArray($where);
$res=$this->db->from($this->_tableName)->select($this->sumGoodsNum)->where($where)->group("buyer_id")->group("store_id")->fetchAll();
return $res;
} }
public function convertRefundOrderGoods($orderGoods,$orderGoodsId){ public function convertRefundOrderGoods($orderGoods,$orderGoodsId){
$newOrderGoods=Array(); $newOrderGoods=Array();
......
This diff is collapsed.
This diff is collapsed.
<!DOCTYPE html>
<html lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
<title></title>
<style type="text/css">
html,body,p,span,div,img{margin:0;padding:0;}body{width:750px;}
.shareC { width:750px; padding:0; text-align:center;font-family:"黑体";color:#212121;}
.header{background:url(/data/img/headerBg.png);padding-top:100px; height:415px; }
.bgBD{width:162px; height:162px;background-color:white;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;margin:0 auto;}
#headerBg{width:160px; height:160px;border-radius:50%;-moz-border-radius:50%;-webkit-border-radius:50%;margin:1px;}
#title{font-size:34px; margin-top:24px;}
.address{ font-size:28px; line-height:36px; padding:50px 110px 0 110px; height:108px;display:block; display:-webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;overflow:hidden;text-overflow:ellipsis;}
.noticePart{ width:560px;margin:16px auto 0 auto; background:url(/data/img/noticeBg.png);}
.noticePart p{height:44px; font-size:20px; line-height:22px; padding:68px 28px 32px 28px; }
#notice{ max-width:504px;display:block; display:-webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;overflow:hidden;text-overflow:ellipsis;}
.qrcode{background:url(/data/img/flower.png); height:488px; margin:6px auto 0 auto;}
#qrImg {margin-top:80px;}
#qrcodeImg img { margin: 0 auto;}
.footer{ font-size:30px; height:66px; line-height:66px; padding:0 0 55px 0;}
.footer img{vertical-align:bottom; display:inline-block;}
</style>
</head>
<body>
<div class="shareC">
<div class="header">
<div class="bgBD">
<img src="" id="headerBg" />
</div>
<p id="title"></p>
<p class="address">地址:<span id="address"></span></p>
</div>
<div class="noticePart">
<p>
<span id="notice"></span>
</p>
</div>
<div class="qrcode" id="qrcode">
<img id="qrImg" src="" />
<div id="qrcodeImg"></div>
<p id="tip"></p>
</div>
<div class="footer">
<img src="/data/img/logo.png" /> 我的身边店
</div>
</div>
<script type="text/javascript" src="/data/js/qrcode.min.js"></script>
<script type="text/javascript">
var pageObj = {
type : "<?php echo $params['shareType'];?>",//1或2是小程序码,其它是二维码
id : "<?php echo $params['id'];?>",//1是小程序码,2是二维码,
headerBg : "<?php echo $params['imgUrl'];?>",
url : "<?php echo $params['qrCode'];?>",
qrImg : "<?php echo $params['qrCode'];?>",
title : "<?php echo $params['storeName'];?>",
address : "<?php echo $params['address'];?>",
notice : "<?php echo $params['desc'];?>"
};
if(pageObj.notice==null || pageObj.notice=="")
pageObj.notice="暂无公告";
var excute = ["title","address","notice"];
excute.forEach(function(v,i){
document.getElementById(v).innerHTML = pageObj[v];
});
document.getElementById("headerBg").src = pageObj.headerBg;
new QRCode(document.getElementById('qrcodeImg'), pageObj.url);
// if(pageObj.type<=2){
// document.getElementById("qrImg").src = pageObj.qrImg;}
// else{
// new QRCode(document.getElementById('qrcodeImg'), pageObj.url);
// }
</script>
</body>
</html>
\ No newline at end of file
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
<script src="//static.shenbd.com/lib/m/js/swiper-3.4.1.jquery.min.js"></script> <script src="//static.shenbd.com/lib/m/js/swiper-3.4.1.jquery.min.js"></script>
</head> </head>
<body class="page-index"> <body class="page-index">
<form>
<input name="data[image][]" />
</form>
<div class="wrap"> <div class="wrap">
<h1 class="logo"><a href="#"><img src="//static.shenbd.com/lib/img/logo.png" alt=""></a></h1> <h1 class="logo"><a href="#"><img src="//static.shenbd.com/lib/img/logo.png" alt=""></a></h1>
<section class="pn-download"> <section class="pn-download">
......
...@@ -84,8 +84,21 @@ class cliOrderClose extends basecli ...@@ -84,8 +84,21 @@ class cliOrderClose extends basecli
$stores=$goodsCommonService->getGoodsCount($storesIds); $stores=$goodsCommonService->getGoodsCount($storesIds);
if(!empty($stores)){ if(!empty($stores)){
foreach($stores as $store){ foreach($stores as $store){
$addData=array('storeId'=>$store['storeId'],'type'=>\Our\ApiConst::messageGoodsAlert,'op'=>\Our\NameConst::set,'alertCount'=>$store['count'],'params'=>array()); $push=\Our\Push::getInstance();
$push->addOneToClient($addData); $pushData=array('storeId'=>$store['storeId'],
'type'=>\Our\ApiConst::messageGoodsAlert,
'waitReceiveCount'=>ApiConst::zero,
'waitDeliveryCount'=>0,
'waitGetCount'=>0,
'orderCount'=>ApiConst::zero,
'waitRefundProccessCount'=>ApiConst::zero,
'waitRefundReceiveCount'=>ApiConst::zero,
'refundCount'=>ApiConst::zero,
'alertCount'=>$store['count'],
'params'=>array('c'=>'shopkeeper',
'm'=>'orderDetail',
'orderId'=>$store['orderId']));
$push->addOneToClient($pushData);
} }
} }
......
...@@ -7,13 +7,13 @@ error_reporting(E_ALL ^ E_NOTICE); ...@@ -7,13 +7,13 @@ error_reporting(E_ALL ^ E_NOTICE);
/** /**
* 店铺数据统计 * 店铺数据统计
* 执行时间:每分钟执行一次 * 执行时间:每分钟执行一次
* Class cliStoreStoreStat * Class cliStoreStat
* User: King <358887571@qq.com> * User: King <358887571@qq.com>
* Date: 2018/11/30 0030 * Date: 2018/11/30 0030
* Time: 下午 3:00 * Time: 下午 3:00
* *
*/ */
class cliStoreStoreStat extends basecli class cliStoreStat extends basecli
{ {
const CLI_ADMIN_ID = 255; const CLI_ADMIN_ID = 255;
private $bDoUnLock = FALSE; // 是否允许释放 LOCK 文件 private $bDoUnLock = FALSE; // 是否允许释放 LOCK 文件
...@@ -97,7 +97,7 @@ class cliStoreStoreStat extends basecli ...@@ -97,7 +97,7 @@ class cliStoreStoreStat extends basecli
} }
} }
$oCli = new cliStoreStoreStat(TRUE); $oCli = new cliStoreStat(TRUE);
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