Commit a4bf16b2 authored by zhz's avatar zhz

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

parents 4c1e70b5 dfd6e2f4
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -176,7 +176,7 @@ class ApiConst
const pastWaitEvaluation = 2;
const canRefundDay = 3;
const byselfRfundDay=1;
const goodsTypeFour = 4;
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -23,7 +23,7 @@ use Our\OrderConst;
*/
class RefundServiceModel extends \Business\AbstractModel
{
private $orderField = "buyer_id as buyerId,buyer_name as buyerName,order_id as orderId,order_sn as orderSn,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,need_shipping_fee as needShippingFee,payment_code as paymentCode,delay_time as delayTime";
private $orderField = "buyer_id as buyerId,buyer_name as buyerName,order_id as orderId,order_sn as orderSn,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,need_shipping_fee as needShippingFee,payment_code as paymentCode,delay_time as delayTime,gmt_update as gmtUpdate";
private $orderGoodsField = "commis_rate as commisRate,goods_type as goodsType,order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,goods_group as goodsGroup,refund_id as refundId";
private $addressField = " mob_phone as MobPhone,tel_phone as TelPhone,address as address,area_info as areaInfo,lng,lat,address_id as addressId,subaddress as subAddress";
......
......@@ -476,8 +476,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
}
return $results;
}
//任务脚本
//任务脚本原来的方法是下面那个
public function insertStoreMemberStatics()
{
$orderGoodDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
......@@ -492,37 +491,86 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
$addDatas = array();
$storeMemberStatisticData = $orderGoodDao->getMemberStoreStaticsByCreateTime($beginTime, $this->taskIndex, $this->taskSize);
$storeMemberStatisticData = isset($storeMemberStatisticData['list']) ? $storeMemberStatisticData['list'] : false;
$orderIds=array_column($storeMemberStatisticData,'orderId');
array_unique($orderIds);
if(!empty($orderIds)){
$orders=$orderDao->getByOrderId($orderIds,'order_amount as orderAmount,order_id as orderId','orderId');
}else{
$orders=[];
}
if ($storeMemberStatisticData) {
if($storeMemberStatisticData){
$this->taskIndex++;
foreach ($storeMemberStatisticData as $value) {
$addDatas[$value['buyerId'] . '-' . $value['storeId']]['storeId'] = $value['storeId'];
$addDatas[$value['buyerId'] . '-' . $value['storeId']]['memberId'] = $value['buyerId'];
if (isset($addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderGoodsCount'])) {
$addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderGoodsCount'] += $value['goodsNum'];
} else {
$addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderGoodsCount'] = $value['goodsNum'];
$storeId=array_column($storeMemberStatisticData,'storeId');
$memberId=array_column($storeMemberStatisticData,'buyerId');
$storeIds= array_unique($storeId);
$memberIds=array_unique($memberId);
$goodsNumCount=$orderGoodDao->getMemberStoreOrderGoodsCount($storeIds,$memberIds);
$ordersCount=$orderDao->getSumAmountCountByMemberAndStoreId($storeIds,$memberIds);
$arr = array();
if(!empty($goodsNumCount)&&!empty($ordersCount)){
foreach($goodsNumCount as $k=>$r){
$arr[] = array_merge($r,$ordersCount[$k]);
}
if (isset($addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'])) {
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'] += $value['goodsPrice'];
$addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'] +=$orders[$value['orderId']]['orderAmount'];
} else {
$addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'] = $orders[$value['orderId']]['orderAmount'];
$addDatas=$arr;
}else{
if(!empty($goodsNumCount)){
$addDatas=$goodsNumCount;
}else{
$addDatas=$goodsNumCount;
}
}
if(!empty($goodsNumCount)){
$storeMemberStatisticDao->addAll($goodsNumCount,'orderGoodsCount');
}
if(!empty($ordersCount)){
$storeMemberStatisticDao->addAll($ordersCount,'orderTotal');
}
}
$addDatas = array_values($addDatas);
$storeMemberStatisticDao->addAll($addDatas);
} while ($storeMemberStatisticData);
file_put_contents($this->baseDir . PathConst::orderGoodsCreateTime, TIMESTAMP);
}
//任务脚本
// public function insertStoreMemberStatics()
// {
// $orderGoodDao = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
// $orderDao=\DAO\Order\OrderModel::getInstance();
// $storeMemberStatisticDao = \DAO\StoreMemberStatisticsModel::getInstance(DbNameConst::masterDBConnectName);
// $gmtCreate = file_get_contents($this->baseDir . PathConst::orderGoodsCreateTime);
// $gmtCreate = $gmtCreate ? $gmtCreate : ApiConst::zero;
// $beginTime = $gmtCreate;
// $this->taskIndex = PageConst::taskPageBegin;
// $this->taskSize = PageConst::taskPageSize;
// do {
// $addDatas = array();
// $storeMemberStatisticData = $orderGoodDao->getMemberStoreStaticsByCreateTime($beginTime, $this->taskIndex, $this->taskSize);
// $storeMemberStatisticData = isset($storeMemberStatisticData['list']) ? $storeMemberStatisticData['list'] : false;
// $orderIds=array_column($storeMemberStatisticData,'orderId');
// array_unique($orderIds);
// if(!empty($orderIds)){
// $orders=$orderDao->getByOrderId($orderIds,'order_amount as orderAmount,order_id as orderId','orderId');
// }else{
// $orders=[];
// }
// if ($storeMemberStatisticData) {
// $this->taskIndex++;
// foreach ($storeMemberStatisticData as $value) {
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['storeId'] = $value['storeId'];
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['memberId'] = $value['buyerId'];
// if (isset($addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderGoodsCount'])) {
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderGoodsCount'] += $value['goodsNum'];
// } else {
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderGoodsCount'] = $value['goodsNum'];
// }
// if (isset($addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'])) {
// // $addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'] += $value['goodsPrice'];
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'] +=$orders[$value['orderId']]['orderAmount'];
// } else {
// $addDatas[$value['buyerId'] . '-' . $value['storeId']]['orderTotal'] = $orders[$value['orderId']]['orderAmount'];
// }
// }
// }
// $addDatas = array_values($addDatas);
// $storeMemberStatisticDao->addAll($addDatas);
// } while ($storeMemberStatisticData);
// file_put_contents($this->baseDir . PathConst::orderGoodsCreateTime, TIMESTAMP);
//
// }
//创建索引
public function createOrdersIndex()
......
......@@ -45,6 +45,7 @@ class StoreServiceModel extends \Business\AbstractModel{
$sale = \DAO\SaleModel::getInstance()->getOne(array('sale_id'=>$param['sid']),'sale_act_id,member_id');
if($sale) {
\DAO\SaleMemberModel::getInstance()->insertOrUpdate(array('sale_id'=>$sale['member_id'],'sale_act_id'=>$sale['sale_act_id'],'member_id'=>$memberId,'store_id'=>$storeId));
\Redis\Db4\SaleActivityRedisModel::getInstance()->tableDel('storeId:'.$storeId);
}
}
}else{
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -378,6 +378,16 @@ class OrderModel extends \DAO\AbstractModel
}
}
public function getSumAmountCountByMemberAndStoreId($storeIds,$memberIds)
{
$this->setDb($this->dbName);
$where['store_id']=array('in',$storeIds);
$where['member_ids']=array('in',$memberIds);
$where['order_state']=array('notin','-1,0');
$res=$this->db->from($this->_tableName)->select(" buyer_id as buyerId,store_id as storeId,sum(order_amount) as orderTotal")->group('buyer_id')->group('store_id')->fetchAll();
return $res;
}
//待收货获取订单状态信息
public function getOrderStatusExtent($order)
{
......
File mode changed from 100644 to 100755
......@@ -19,7 +19,7 @@ class OrderGoodsModel extends \DAO\AbstractModel {
protected $_tableName = 'han_order_goods';
public $sumField="rec_id,store_id as storeId,buyer_id as buyerId,goods_num as goodsNum,goods_price as goodsPrice,gmt_create as gmtCreate,order_id as orderId";
public $groupField=array('buyer_id','store_id');
public $sumGoodsNum=' store_id as storeId,buyer_id as buyerId,sum(goods_num) as orderGoodsCount';
public $orderGoodsField = "order_id as orderId,rec_id as recId,goods_id as goodsId,goods_name as goodsName,goods_price as goodsPrice,goods_num as goodsNum,goods_image as goodsImage,goods_pay_price as goodsPayPrice,sale_act_id as saleActId,sale_id as saleId,comment_state as commentState,is_refund as isRefund,goods_spec as goodsSpec,refund_state_name as refundStateName,refund_id as refundId";
/**
* 主键
......@@ -230,6 +230,15 @@ class OrderGoodsModel extends \DAO\AbstractModel {
$res=$this->lists($where,array('gmt_create'=>'asc'),$this->sumField,$pageIndex,$pageSize);
return $res['list']?$res:false;
}
public function getMemberStoreOrderGoodsCount($storeIds,$memberIds){
$this->setDb($this->dbName);
$where['store_id']=array('in',$storeIds);
$where['buyer_id']=array('in',$memberIds);
$where['is_refund']=array('neq',ApiConst::one);
$res=$this->db->from($this->_tableName)->select($this->sumGoodsNum)->group("buyer_id")->group("store_id")->fetchAll();
return $res;
}
/**
* 类实例
*
......
File mode changed from 100644 to 100755
......@@ -228,13 +228,22 @@ class RefundReturnModel extends \DAO\AbstractModel {
break;
//已收货
case ApiConst::orderStateComplete:
$order_refund = ApiConst::canRefundDay;//15:收货完成后可以申请退款退货
$delay_time = $order['delayTime']+60*60*24*$order_refund;
if ($delay_time > time()) {
if($order['shippingType']==ApiConst::express){
$order_refund=ApiConst::canRefundDay;
}else{
$order_refund=ApiConst::byselfRfundDay;
}
if($order['delayTime']>ApiConst::zero){
$delay_time = $order['delayTime']+60*60*24*$order_refund;
}else{
$delay_time = $order['gmtUpdate']+60*60*24*$order_refund;
}
if ($delay_time > TIMESTAMP) {
$refund = TRUE;
}else{
ErrorModel::throwException(CodeConfigModel::returnBeyondTimeError);
}
break;
default:
$refund = FALSE;
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -170,15 +170,23 @@ class StoreMemberStatisticsModel extends \DAO\AbstractModel {
}
//插入数据大量
public function addAll($datas)
public function addAll($datas,$field="orderGoodsCount")
{
$this->setDb(DbNameConst::masterDBConnectName);
$error = 0;
$baseSql = "insert into {$this->_tableName}({$this->insertField}) values";
$extentSql=" ON DUPLICATE KEY UPDATE order_goods_count=order_goods_count+values(order_goods_count),order_total=order_total+values(order_total)";
if($field=='orderGoodsCount'){
$extentSql=" ON DUPLICATE KEY UPDATE order_goods_count=values(order_goods_count)";
}
if($field=='orderTotal'){
$extentSql=" ON DUPLICATE KEY UPDATE order_total=values(order_total)";
}
$insertAllSql = $baseSql;
for ($i = 0; $i < count($datas); $i++) {
$addSql = \Our\Common::format("({0},{1},{2},{3},{4}),", $datas[$i]['storeId'], $datas[$i]['memberId'],$datas[$i]['orderGoodsCount'], $datas[$i]['orderTotal'],TIMESTAMP);
$datas[$i]['orderGoodsCount']=isset($datas[$i]['orderGoodsCount'])?$datas[$i]['orderGoodsCount']:ApiConst::zero;
$datas[$i]['orderTotal']=isset( $datas[$i]['orderTotal'])? $datas[$i]['orderTotal']:ApiConst::zero;
$addSql = \Our\Common::format("({0},{1},{2},{3},{4}),", $datas[$i]['storeId'], $datas[$i]['buyerId'],$datas[$i]['orderGoodsCount'], $datas[$i]['orderTotal'],TIMESTAMP);
$insertAllSql .= $addSql;
if ($i % 1000 == 0 && $i != 0) {
$insertAllSql = rtrim($insertAllSql, ',');
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -19,6 +19,9 @@ class SaleActivityRedisModel extends \Redis\Db4\AbstractModel {
$res=$this->set($this->calcKey($id), $data,$experio);
return $res;
}
public function tableDel($h){
return $this->del($this->calcKey($h));
}
public function getList(){
}
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
......@@ -22,8 +22,8 @@ resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1"
resources.database.params.port = 3306
resources.database.params.database = "qmcs"
resources.database.params.username = "qmcs"
resources.database.params.password = "qmcs$#$%%^&^&^"
resources.database.params.username = "root"
resources.database.params.password = "!@#$%12345werty"
resources.database.params.charset = "UTF8"
resources.database.params.driver_options.1002 = "SET NAMES utf8"
......@@ -32,19 +32,32 @@ 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 = "qmcs"
resources.database.slave.params.username = "qmcs"
resources.database.slave.params.password = "qmcs$#$%%^&^&^"
resources.database.slave.params.username = "root"
resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
; redis配置
redis.database.params.host = "127.0.0.1"
redis.database.params.port = "6379"
redis.database.params.prefix = "qm_"
;redis.database.params.password = "23456ertyu"
out.config="/data/config"
; 锁文件
out.locks="/data/locks";
; redis配置
;redis.database.params.password = "test"
;推送配置
push.clientHost="wss://apiceshi.shenbd.com/wss"
push.clientHost="wss://api.shenbd.com/wss"
push.host="127.0.0.1"
push.port="9503"
push.open=1
elastic.master.host="127.0.0.1"
elastic.master.port="9200"
elastic.master.scheme="http";
; 生 产环境配置
[pre : common]
......
......@@ -2,21 +2,23 @@
; 通用配置
[product : common]
; 生产环境配置
; 测试环境配置
; url相关配置
; 开发环境配置
config.url.convert=/usr/local/bin/wkhtmltoimage
; url相关配置
config.url.resourcesHost = "http://local.qm.com"
config.url.resourcesHost = "http://api.shenbd.com"
; 用户中心host
config.url.userHost = ""
; oss 域名
config.url.ossHost = "http://qmoss-01.oss-cn-hangzhou.aliyuncs.com"
config.url.ossHost = "https://qmoss-01.oss-cn-hangzhou.aliyuncs.com"
;推送域名
config.url.pushHost="127.0.0.1:9503";
config.url.indexUrl="/www/web/api_shenbd_com/public_html/application/library/React"
config.url.libary="/www/web/api_shenbd_com/public_html/application/library"
[pre : common]
; 测试环境配置
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
<?php
echo 24234;exit;
$redis =new Redis();
$redis->connect('192.168.134.18','6379');
$redis->connect('127.0.0.1','6379');
$redis->rPush('test',0);
$res=$redis->lPop('test');
var_dump($res);
$res1=$redis->lPop('test');
var_dump($res1);
exit;
function is_https() {
if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
return true;
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
return true;
} elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
return true;
}elseif($_SERVER['SERVER_PORT'] == 89){
return true;
}
return false;
}
$res=is_https();
if($res){
echo 1;
}else{
echo 2;
}
exit;
function getSortArr($sortArray){
ksort($sortArray);
$str='';
foreach($sortArray as $val){
$str.=$val;
}
return $str;
}
$abc=array(
'citycode'=>'0591',
'key'=>'2ba49dcb9d9601f460892005e2a80171',
'lng'=>119.24174,
'lat'=>26.05318,
);
$result=getSortArr($abc);
echo md5('3f06016e8c7d0b4183000ed60ac039e0~!@#$`1234qwert');exit;
?>
\ No newline at end of file
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
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