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 {
/**
* 更新商品对应库存(更新数据库库存同时更新redis缓存)
*
* updateSaleNumFlag 是否需要增减销量
* @param $storeCarts
*/
public function updateGoodsStorage($storeCartsList,$op = \Our\ApiConst::minus,$updateSaleNumFlag= true ){
......@@ -880,12 +880,14 @@ class OrderConfirmUtil {
$goodsDao = \DAO\GoodsModel::getInstance($dbName);
$goodsCommonDao = \DAO\GoodsCommonModel::getInstance($dbName);
$resultGoodsCommon = $goodsCommonDao->updateGoodsStorage($goodsCommons,$op,$updateSaleNumFlag);
$resultGoods = $goodsDao->updateGoodsStorage($goodsNewList,$op);
if(!($resultGoodsCommon&&$resultGoods)){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::goodsStorageToDBFailedForOrder);
}
}
if($blGoodsList){
foreach($blGoodsList as $key=>$blGoods){
$pBundlingCacheResult = $pBundlingDao->opBlGoodsStorage($key,$blGoods['blStorage']);//组合销售库存删减
......
......@@ -24,7 +24,7 @@ class ApiConst
const halfHour = 1800;
//预警时间
const storageAlarmHour = 60;
const storageAlarmHour = 30;
const twoMinSecond = 120;
......@@ -192,7 +192,7 @@ class ApiConst
const goodsStateWaitRecieve = 2;
const goodsStateUnRecieve = 3;
const goodsStateRecieved = 4;
const refundStateProccess = 1;
const refundStateComplete = 3;
//是否退款成功
const refundSuccess = 1;
......
......@@ -136,7 +136,7 @@ class ImageUtil {
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);
if($width){
if(!$height){
......
......@@ -25,6 +25,9 @@ class OrderConst {
const express='快递配送';
const complete="已完成";
const close="已关闭";
const platformStateVerify='待审核';
const platformStateAgree='同意';
const platformStateRefuse='拒绝';
const platformAudit="平台审核";
const platFormAgree="平台同意";
......@@ -50,7 +53,14 @@ class OrderConst {
//详情
const unpayDetailMessage="10分钟后交易自动关闭";
const payCancelDetailMessage="10分钟可取消订单";
//商家售后状态
const sellerStateVerify='待审核';
const sellerStateAgree='同意';
const sellerStateRefuse='不同意';
//商家售后状态
const platStateVerify='待审核';
const platStateAgree='同意';
const platStateRefuse='不同意';
//店铺详细文案
const storeWaiteConfirm='请尽快确认订单';
const storeWaiteSend='请尽快发货';
......
......@@ -267,7 +267,7 @@ class CouponServiceModel extends \Business\AbstractModel{
}
$memberCouponDao = \DAO\Coupon\MemberCouponModel::getInstance($dbName);
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 = $memberCouponDao->getList($whereSql);
if($memberCoupons&&count($memberCoupons)>\Our\ApiConst::zero){
......
......@@ -186,7 +186,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$lat = $where['lat'];
$lng = $where['lng'];
$cityCode = $where['cityCode'];
$storeDao = \DAO\StoreModel::getInstance();
$signStoreClasses = $this->getSignClassesByCityCode($cityCode);
//var_dump($signStoreClasses);
......@@ -196,7 +195,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$storeList = array();
if($tempStoreList){
foreach($tempStoreList as $tempStore){
$storeList[$tempStore['store_id']] = $tempStore;
$storeList[$tempStore['storeId']] = $tempStore;
}
}
$returnClass = array();
......
......@@ -954,6 +954,10 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
}
$stores = $nearbyStoresArray['stores'] ;
if(!$stores){
$storesService = \Business\Store\StoreServiceModel::getInstance();
$stores = $storesService->getNearbyStores($position,true,true);
}
$storeIds = array_keys($stores);
if($storeIds) {
$saleTopSaleGoodsModel = \DAO\Goods\StoreTopSaleGoodsModel::getInstance();
......@@ -1003,7 +1007,6 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$otherGoodsList = $goodsList;
}
}
if(count($otherGoodsList)<=\Our\ApiConst::defaultIndexGoodsCount){
$newNineGoodsIds = array_keys($otherGoodsList);
$nineGoodsList = $otherGoodsList;
......
......@@ -776,7 +776,7 @@ class OrderServiceModel extends \Business\AbstractModel
}
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);
$storeCartsList=array();
$storeCarts=array();
......@@ -792,7 +792,7 @@ class OrderServiceModel extends \Business\AbstractModel
}
// $orderDao->updateNotRecieveOrders(ApiConst::orderStateWaitConfirm, ApiConst::orderStateClose, 'add_time', ApiConst::orderStateWaitConfirmBeyond, $this->orderMessageField);
try{
$orderConfirmUtilDao->updateGoodsStorage($storeCartsList,$type);
$orderConfirmUtilDao->updateGoodsStorage($storeCartsList,$type,$updateSaleNumFlag);
return true;
}catch(\Exception $ex){
$orderGoodsIds=array_column($orderGoods,'goodsId');
......@@ -829,7 +829,7 @@ class OrderServiceModel extends \Business\AbstractModel
foreach($goodses as &$goods){
$goods['goodsNum']=$num;
}
if($this->updateDateGoodsStoregeByOrderGoods($goodses,$type)){
if($this->updateDateGoodsStoregeByOrderGoods($goodses,$type,false)){
return true;
}
}
......
......@@ -28,7 +28,6 @@ class StoreServiceModel extends \Business\AbstractModel{
$beginTime = file_get_contents($this->baseDir . \Our\PathConst::storeStatTime, TIMESTAMP);
$beginTime = $beginTime ? $beginTime : ApiConst::zero;
$endTime = TIMESTAMP;
$result = true;
$storeDao = \DAO\StoreModel::getInstance();
$statDao = \DAO\StatStoreModel::getInstance(DbNameConst::masterDBConnectName);
......@@ -632,7 +631,7 @@ class StoreServiceModel extends \Business\AbstractModel{
* 获取附近的店铺
* @param $data
*/
public function getNearbyStores($where){
public function getNearbyStores($where,$nearByFlag=false,$returnStoreListFlag=false){
$addressDao = \DAO\AddressModel::getInstance();
$validFlag = $addressDao->getValidAddress($where);
if(!$validFlag){
......@@ -644,6 +643,10 @@ class StoreServiceModel extends \Business\AbstractModel{
ksort($position);
$readisSuffix = crc32(serialize($position));
$nearbyStoreIds = $this->getNearbyStoreIds($position);
if($nearByFlag&&!$nearbyStoreIds){ //如果是换一批调用当前方法 ,没有从缓存得到福建的店铺 ,则直接再次获取
$signStoreInfo = \Business\Goods\GoodsClassServiceModel::getInstance()->getSignStoreInfo($where);
$nearbyStoreIds = $signStoreInfo['signStoreIds'];//当前位置签约店铺ID
}
//没有得到任何附近的店铺
if(!$nearbyStoreIds){
return array('totalCount'=>0);
......@@ -665,6 +668,7 @@ class StoreServiceModel extends \Business\AbstractModel{
$stores[$store['storeId']] = $store;
}
$returnData['totalCount'] = count($stores);
if($returnData['totalCount']<=\Our\ApiConst::defaultIndexStoreCount){//附近的店铺总数小于等于3家则全部返回,大于三家则随机取三家
$threeStoreIds = array_keys($stores);
......@@ -685,6 +689,9 @@ class StoreServiceModel extends \Business\AbstractModel{
$nearbyStoreKey = \Our\NameConst::nearbyStoreKeyPrefix . $readisSuffix;
$storeRedis->update($nearbyStoreKey , $nearbyStoresArray,\Our\ApiConst::oneHour);
$threeStores = array_values($threeStores);
if($returnStoreListFlag){
return $stores;
}
return array('totalCount'=>count($stores),'stores'=>$threeStores);
}
......@@ -710,7 +717,7 @@ class StoreServiceModel extends \Business\AbstractModel{
}/*else if(is_array($serviceStoreIds)){
$nearbyStoreIds = $serviceStoreIds;
}*/
if($nearbyStoreIds&&is_array($nearbyStoreIds)){
if(isset($nearbyStoreIds)&&is_array($nearbyStoreIds)){
return $nearbyStoreIds;
}
return false;
......@@ -765,8 +772,9 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeRedis->update($nearbyStoreKey , $nearbyStoresArray,\Our\ApiConst::oneHour);
$threeStores = array_values($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{
foreach($allStores as &$store){
$store['isPurchased'] = \Our\ApiConst::zero;
}
$memberStores = null;
if($memberId){
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
......@@ -805,7 +812,6 @@ class StoreServiceModel extends \Business\AbstractModel{
//$storeGoodsClassDao = \DAO\StoreGoodsClassModel::getInstance();
//签约分类对应店铺
$signStores = $this->getSignClassStores($gcId,$condition);
//服务分类对应店铺
$serviceStores = $this->getServiceClassStores($gcId,$condition);
//获取签约分类对应店铺
......
......@@ -474,6 +474,14 @@ class GoodsModel extends \DAO\AbstractModel {
}
return $orderGoodses;
}
public function getOriginPriceByGoodsGroup($goodsGroup){
$goodsOriginPrice=ApiConst::zero;
foreach( $goodsGroup as $goodsG){
$goodsOriginPrice+= $goodsG['num']*$goodsG['goodsPrice'];
}
return $goodsOriginPrice;
}
//ccw
public function convert($goodses,$extentField=false,$refundOrders=false){
if($refundOrders){
......@@ -505,8 +513,15 @@ class GoodsModel extends \DAO\AbstractModel {
if(isset($goods['goodsGroup'])&&!empty($goods['goodsGroup'])){
$goods['goodsGroup']=$this->getGoodsGroup($goods['goodsGroup']);
$goods['goodsDiscountPrice']=array_sum($goods['goodsGroup'],'discountPrice');
$goods['goodsReduceAmount']=$goods['goodsPayPrice']-$goods['goodsDiscountPrice'];
$goodsOriginPrice=ApiConst::zero;
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{
$goods['goodsGroup']=array();
}
......
......@@ -255,9 +255,13 @@ class GoodsCommonModel extends \DAO\AbstractModel {
$baseSql = "UPDATE {$this->_tableName} set ";
$updateAllSql = $baseSql;
$dataIds = array();
if($updateSaleNumFlag&&$op!=\Our\ApiConst::set){
if($op!=\Our\ApiConst::set){
$updateSaleNumOp = $op==\Our\ApiConst::minus?'+':'-';
}else{
$updateSaleNumOp = '=';
$updateSaleNumFlag= false;
}
$goodsCommonSql = ' goods_storage = case goods_commonid ';
$goodsEdittimeSql = ' goods_edittime = case goods_commonid ';
if($updateSaleNumFlag){
......
......@@ -84,7 +84,7 @@ class UserController extends \Our\Controller_AbstractIndex {
//通知退出
$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{
ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword);
}
......
......@@ -399,12 +399,12 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200"
elastic.master.scheme="http";
[lyz : common]
[lyztest : common]
; 数据库配置
resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1"
resources.database.params.port = 3306
resources.database.params.database = "testqmcs"
resources.database.params.database = "qmcs"
resources.database.params.username = "root"
resources.database.params.password = "123456"
resources.database.params.charset = "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.hostname = "127.0.0.1"
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.password = "123456"
resources.database.slave.params.charset = "UTF8"
......@@ -446,7 +446,7 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200"
elastic.master.scheme="http";
[lyztest : common]
[lyz : common]
; 数据库配置
resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "106.14.14.233"
......
......@@ -91,7 +91,7 @@ config.url.resourcesHost = "http://test.qm.com"
config.url.userHost = ""
; 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";
......
This diff is collapsed.
......@@ -87,13 +87,13 @@ class cliOrderClose extends basecli
$push=\Our\Push::getInstance();
$pushData=array('storeId'=>$store['storeId'],
'type'=>\Our\ApiConst::messageGoodsAlert,
'waitReceiveCount'=>ApiConst::zero,
'waitReceiveCount'=>\Our\ApiConst::zero,
'waitDeliveryCount'=>0,
'waitGetCount'=>0,
'orderCount'=>ApiConst::zero,
'waitRefundProccessCount'=>ApiConst::zero,
'waitRefundReceiveCount'=>ApiConst::zero,
'refundCount'=>ApiConst::zero,
'orderCount'=>\Our\ApiConst::zero,
'waitRefundProccessCount'=>\Our\ApiConst::zero,
'waitRefundReceiveCount'=>\Our\ApiConst::zero,
'refundCount'=>\Our\ApiConst::zero,
'alertCount'=>$store['count'],
'params'=>array('c'=>'shopkeeper',
'm'=>'orderDetail',
......@@ -138,8 +138,8 @@ class cliOrderClose extends basecli
if(APP_ENV =='pre' || APP_ENV=='product'){
file_put_contents($this->lockFileName ,"running" ); // CLI 独占锁
}
$this->autoPushMessage();
echo date('Y-m-d H:i:s',TIMESTAMP).'消息推送成功'."\r\n";
// $this->autoPushMessage();
// echo date('Y-m-d H:i:s',TIMESTAMP).'消息推送成功'."\r\n";
$this->autoPushClient();
echo date('Y-m-d H:i:s',TIMESTAMP).'客户端消息推送成功'."\r\n";
......
......@@ -68,7 +68,7 @@ class cliStoreStat extends basecli
echo "*** Debug mode ***\n";
}
// Step: 02 检查是否已有相同CLI在运行中
$lockDir=$this->_getBaseFileName('goods');
$lockDir=$this->_getBaseFileName('store');
if(!$this->mkdirs($lockDir)){
echo '****create dir fail ****';
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