Commit 159b5fce authored by wwccw0591's avatar wwccw0591

pc

parent bf7a3615
...@@ -10,5 +10,6 @@ class DbNameConst { ...@@ -10,5 +10,6 @@ class DbNameConst {
const salveDBConnectName = 'resources.database.slave.params'; const salveDBConnectName = 'resources.database.slave.params';
const masterDBConnectName = 'resources.database.params'; const masterDBConnectName = 'resources.database.params';
const drawSource = 'resources.database.drawSource.params';
} }
\ No newline at end of file
<?php <?php
namespace Business\Store; namespace Business\Store;
use Our\ApiConst;
/** /**
* 店铺service * 店铺service
...@@ -900,15 +901,27 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -900,15 +901,27 @@ class StoreServiceModel extends \Business\AbstractModel{
public function growStores(){ public function growStores(){
$storeDao=\DAO\StoreModel::getInstance(); $storeDao=\DAO\StoreModel::getInstance();
$res =$storeDao->getAll(); $res =$storeDao->getAll();
for($i=0;$i<1000000;$i++){ $drawTableDao=\DAO\Draw\DrawTableModel::getInstance();
$drawTableDatas=$drawTableDao->getAll();
for($i=0;$i<100000;$i++){
$memberId=50000+$i; $memberId=50000+$i;
$re=array_rand($res); $re=array_rand($res);
$reDraw=array_rand($drawTableDatas);
$temDrawData=$drawTableDatas[$reDraw];
if(!empty($res[$re])){ if(!empty($res[$re])){
$data=$res[$re]; $data=$res[$re];
$data['member_id']=$memberId;
$data['member_mobile']=(int)$data['member_mobile']+$i;
$data['store_id']=$memberId; $data['store_id']=$memberId;
$memberDao->addInfo($data); $data['store_name']=$temDrawData['storeName'];
$data['member_id']=$memberId;
$data['store_description']=$temDrawData['storeAddress'].$temDrawData['storeName'];
$data['store_address']=$temDrawData['storeAddress'];
$data['store_zip']=$temDrawData['storeTelephone'];
$data['store_state']=ApiConst::one;
$data['live_store_name']=$temDrawData['storeName'];
$data['live_store_address']=$temDrawData['storeAddress'];
$data['store_longitude']=$temDrawData['positionX']/100000;
$data['store_latitude']=$temDrawData['positionY']/100000;
$storeDao->add($data);
echo '增加数据'.$i.'条member_id 是:'.$memberId."\n"; echo '增加数据'.$i.'条member_id 是:'.$memberId."\n";
} }
} }
...@@ -929,4 +942,6 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -929,4 +942,6 @@ class StoreServiceModel extends \Business\AbstractModel{
return self::$_instance; return self::$_instance;
} }
} }
...@@ -78,10 +78,15 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -78,10 +78,15 @@ class MemberServiceModel extends \Business\AbstractModel
return true; return true;
} }
private function getRealPassword($password,$timeSpan){
$addKey=Common::getConfig('password.key');
$md5Str=$timeSpan.$addKey.$password;
return $md5Str;
}
public function getOneByMobileAndPassword($mobile, $password) public function getOneByMobileAndPassword($mobile, $password)
{ {
$password = md5($password); $password=$this->getPassAddKey($password);
$password = Common::format('md5({0})');
$member= $this->memberDao->getOneByMobileAndPassword($mobile, $password); $member= $this->memberDao->getOneByMobileAndPassword($mobile, $password);
return $member ? $member : false; return $member ? $member : false;
} }
...@@ -269,12 +274,13 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -269,12 +274,13 @@ class MemberServiceModel extends \Business\AbstractModel
*/ */
private function saveRegisterMemberInfo($where){ private function saveRegisterMemberInfo($where){
$memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName); $memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$addKey=Common::getConfig('password.key');
$md5Str=TIMESTAMP.$addKey.$where['password'];
//构造需要保存的会员信息 //构造需要保存的会员信息
$member['member_name'] = \Our\CommonExtension::createNewMemberName(); $member['member_name'] = \Our\CommonExtension::createNewMemberName();
$member['member_mobile'] = $where['mobile']; $member['member_mobile'] = $where['mobile'];
$member['member_mobile_bind'] = \Our\ApiConst::one; $member['member_mobile_bind'] = \Our\ApiConst::one;
$member['member_passwd'] = md5($where['password']); $member['member_passwd'] = md5($md5Str);
$member['member_time'] = TIMESTAMP; $member['member_time'] = TIMESTAMP;
$result = $memberDao->addInfo($member); $result = $memberDao->addInfo($member);
return $result; return $result;
......
...@@ -18,7 +18,7 @@ use Our\OrderConst; ...@@ -18,7 +18,7 @@ use Our\OrderConst;
* @date 2018-5-14 * @date 2018-5-14
* @author csw * @author csw
*/ */
class OrderModel extends \DAO\AbstractModel class DrawGoodsModel extends \DAO\AbstractModel
{ {
......
<?php <?php
namespace DAO\Order; namespace DAO\Draw;
use Error\CodeConfigModel; use Error\CodeConfigModel;
use Error\ErrorModel; use Error\ErrorModel;
...@@ -18,7 +18,7 @@ use Our\OrderConst; ...@@ -18,7 +18,7 @@ use Our\OrderConst;
* @date 2018-5-14 * @date 2018-5-14
* @author csw * @author csw
*/ */
class OrderModel extends \DAO\AbstractModel class DrawTableModel extends \DAO\AbstractModel
{ {
...@@ -27,8 +27,7 @@ class OrderModel extends \DAO\AbstractModel ...@@ -27,8 +27,7 @@ class OrderModel extends \DAO\AbstractModel
* *
* @var string * @var string
*/ */
protected $_tableName = 'han_order'; protected $_tableName = 'drawTable';
private $countField = '(sum(order_amount)) as orderTotal,count(*) as orderCount'; private $countField = '(sum(order_amount)) as orderTotal,count(*) as orderCount';
/** /**
* 主键 * 主键
...@@ -1062,6 +1061,7 @@ class OrderModel extends \DAO\AbstractModel ...@@ -1062,6 +1061,7 @@ class OrderModel extends \DAO\AbstractModel
return \Redis\Db5\OrderRedisModel::getInstance()->tableCacheGet(\Our\NameConst::cancelUnReceivedOrderTimePrefix); return \Redis\Db5\OrderRedisModel::getInstance()->tableCacheGet(\Our\NameConst::cancelUnReceivedOrderTimePrefix);
} }
/** /**
* 类实例 * 类实例
* *
...@@ -1083,4 +1083,21 @@ class OrderModel extends \DAO\AbstractModel ...@@ -1083,4 +1083,21 @@ class OrderModel extends \DAO\AbstractModel
return self::$_instance; return self::$_instance;
} }
public function getAll($where=array()){
$this->setDb(DbNameConst::drawSource);
if($where){
$where=$this->db->getSqlWhereByArray($where);
}
if($where){
$res=$this->db->from($this->_tableName)->where($where)->fetchAll();
}else{
$res=$this->db->from($this->_tableName)->fetchAll();
}
$resArray=array();
foreach($res as $val){
$resArray[$val['id']]=$val;
}
return $resArray;
}
} }
...@@ -453,10 +453,19 @@ class StoreModel extends \DAO\AbstractModel ...@@ -453,10 +453,19 @@ class StoreModel extends \DAO\AbstractModel
} }
$resArray=array(); $resArray=array();
foreach($res as $val){ foreach($res as $val){
$resArray[$val['member_id']]=$val; $resArray[$val['store_id']]=$val;
} }
return $resArray; return $resArray;
} }
/**
* 保存用户信息
*/
public function add($data)
{
$this->setDb(\Our\DbNameConst::masterDBConnectName);
$result = $this->db->insert($this->_tableName)->rows($data)->execute();
return $result;
}
} }
...@@ -33,7 +33,7 @@ resources.database.slave.params.password = "!@#$%12345werty" ...@@ -33,7 +33,7 @@ resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "UTF8" resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8" resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
; ;
password.key='~!@#$`1234qwertasdfgzxcvb';
redis.database.params.host = "172.16.142.15" redis.database.params.host = "172.16.142.15"
redis.database.params.port = "6379" redis.database.params.port = "6379"
redis.database.params.prefix = "qm_" redis.database.params.prefix = "qm_"
...@@ -80,6 +80,7 @@ resources.database.slave.params.password = "!@#$%12345werty" ...@@ -80,6 +80,7 @@ resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "UTF8" resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8" resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
password.key='~!@#$`1234qwertasdfgzxcvb';
redis.database.params.host = "127.0.0.1" redis.database.params.host = "127.0.0.1"
redis.database.params.port = "6379" redis.database.params.port = "6379"
redis.database.params.prefix = "qm_" redis.database.params.prefix = "qm_"
...@@ -126,6 +127,16 @@ resources.database.slave.params.password = "!@#$%12345werty" ...@@ -126,6 +127,16 @@ resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "UTF8" resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8" resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
; 从库配置
resources.database.drawSource.params.driver = "pdo_mysql"
resources.database.drawSource.params.hostname = "127.0.0.1"
resources.database.drawSource.params.port = 3306
resources.database.drawSource.params.database = "drawSource"
resources.database.drawSource.params.username = "root"
resources.database.drawSource.params.password = "!@#$%12345werty"
resources.database.drawSource.params.charset = "UTF8"
resources.database.drawSource.params.driver_options.1002 = "SET NAMES utf8"
redis.database.params.host = "127.0.0.1" redis.database.params.host = "127.0.0.1"
redis.database.params.port = "6379" redis.database.params.port = "6379"
redis.database.params.prefix = "qm_" redis.database.params.prefix = "qm_"
...@@ -247,6 +258,18 @@ resources.database.slave.params.password = "123456" ...@@ -247,6 +258,18 @@ resources.database.slave.params.password = "123456"
resources.database.slave.params.charset = "UTF8" resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8" resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
; 从库配置
resources.database.drawSource.params.driver = "pdo_mysql"
resources.database.drawSource.params.hostname = "192.168.1.201"
resources.database.drawSource.params.port = 3306
resources.database.drawSource.params.database = "drawSource"
resources.database.drawSource.params.username = "root"
resources.database.drawSource.params.password = "123456"
resources.database.drawSource.params.charset = "UTF8"
resources.database.drawSource.params.driver_options.1002 = "SET NAMES utf8"
password.key='~!@#$`1234qwertasdfgzxcvb';
redis.database.params.host = "127.0.0.1" redis.database.params.host = "127.0.0.1"
redis.database.params.port = "6379" redis.database.params.port = "6379"
redis.database.params.prefix = "qm_" redis.database.params.prefix = "qm_"
......
<?php
/**
* 生成店铺订单索引
* 执行时间:每分钟执行一次
*
* @author chenjiebin <sjlinyu@qq.com>
*/
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
require APPLICATION_PATH . '/scripts/crontab/baseCli.php';
require APPLICATION_PATH . '/scripts/crontab/common.php';
error_reporting(E_ALL ^ E_NOTICE);
class cliGrow extends basecli
{
const CLI_ADMIN_ID = 255;
private $bDoUnLock = FALSE; // 是否允许释放 LOCK 文件
private $_debug = 0;
private $lockFileName;
public $key='';
private $fromState;
private function mkdirs($dir, $mode = 0777)
{
if (is_dir($dir) || @mkdir($dir, $mode)) {
return TRUE;
}
if (!$this->mkdirs(dirname($dir), $mode)) {
return FALSE;
}
return @mkdir($dir, $mode);
}
/**
* 析构
*/
public function __destruct()
{
parent::__destruct();
if ($this->bDoUnLock) {
@unlink($this->lockFileName);
}
}
public function growGoods(){
$goodsDao=\DAO\StoreModel::getInstance();
$res =$goodsDao->getAll();
$drawTableDao=\DAO\Draw\DrawTableModel::getInstance();
$drawTableDatas=$drawTableDao->getAll();
for($i=0;$i<100000;$i++){
$memberId=50000+$i;
$re=array_rand($res);
$reDraw=array_rand($drawTableDatas);
$temDrawData=$drawTableDatas[$reDraw];
if(!empty($res[$re])){
$data=$res[$re];
$data['store_id']=$memberId;
$data['store_name']=$temDrawData['storeName'];
$data['member_id']=$memberId;
$data['store_description']=$temDrawData['storeAddress'].$temDrawData['storeName'];
$data['store_address']=$temDrawData['storeAddress'];
$data['store_zip']=$temDrawData['storeTelephone'];
$data['store_state']=ApiConst::one;
$data['live_store_name']=$temDrawData['storeName'];
$data['live_store_address']=$temDrawData['storeAddress'];
$data['store_longitude']=$temDrawData['positionX']/100000;
$data['store_latitude']=$temDrawData['positionY']/100000;
$storeDao->add($data);
echo '增加数据'.$i.'条member_id 是:'.$memberId."\n";
}
}
}
protected function _runCli()
{
$this->_debug = isset($this->aArgv[1]) ? intval($this->aArgv[1]) : 0;
if ($this->_debug) {
echo "*** Debug mode ***\n";
}
// Step: 02 检查是否已有相同CLI在运行中
$lockDir = $this->_getBaseFileName('growGoodsStores');
if (!$this->mkdirs($lockDir)) {
echo '****create dir fail ****';
exit;
}
$this->lockFileName = $lockDir . DS . 'growGoods.locks';
if (file_exists($this->lockFileName)) {
$stat = stat($this->lockFileName);
if ((TIMESTAMP - $stat['mtime']) > 1800) {
echo "文件被锁超过1800秒,被强制删除";
@unlink($this->lockFileName);
} else {
$this->halt('[' . date('Y-m-d H:i:s') . '] The CLI is running' . "\n");
}
}
$this->bDoUnLock = true;
file_put_contents($this->lockFileName, "running"); // CLI 独占锁
$memberService=\Business\User\MemberServiceModel::getInstance();
try {
$memberService->growMembers();
// $goodsCommonStrorageDao->createTestData();
} catch (Exception $ex) {
throw new Exception($ex->getCode() . '|' . $ex->getMessage());
}
echo '店铺生成成功' .date('Y-m-d H:i:s',TIMESTAMP). "\r\n";
}
}
$oCli = new cliGrow(TRUE);
EXIT;
?>
...@@ -70,7 +70,7 @@ class cliGrowStore extends basecli ...@@ -70,7 +70,7 @@ class cliGrowStore extends basecli
file_put_contents($this->lockFileName, "running"); // CLI 独占锁 file_put_contents($this->lockFileName, "running"); // CLI 独占锁
$storeService=\Business\Store\StoreServiceModel::getInstance(); $storeService=\Business\Store\StoreServiceModel::getInstance();
try { try {
$storeService->growMembers(); $storeService->growStores();
// $goodsCommonStrorageDao->createTestData(); // $goodsCommonStrorageDao->createTestData();
......
<?php
/**
* 生成店铺订单索引
* 执行时间:每分钟执行一次
*
* @author chenjiebin <sjlinyu@qq.com>
*/
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../../../')); //指向public的上一级
require APPLICATION_PATH . '/scripts/crontab/baseCli.php';
require APPLICATION_PATH . '/scripts/crontab/common.php';
error_reporting(E_ALL ^ E_NOTICE);
class cliGrowStore extends basecli
{
const CLI_ADMIN_ID = 255;
private $bDoUnLock = FALSE; // 是否允许释放 LOCK 文件
private $_debug = 0;
private $lockFileName;
public $key='';
private $fromState;
private function mkdirs($dir, $mode = 0777)
{
if (is_dir($dir) || @mkdir($dir, $mode)) {
return TRUE;
}
if (!$this->mkdirs(dirname($dir), $mode)) {
return FALSE;
}
return @mkdir($dir, $mode);
}
/**
* 析构
*/
public function __destruct()
{
parent::__destruct();
if ($this->bDoUnLock) {
@unlink($this->lockFileName);
}
}
protected function _runCli()
{
$this->_debug = isset($this->aArgv[1]) ? intval($this->aArgv[1]) : 0;
if ($this->_debug) {
echo "*** Debug mode ***\n";
}
// Step: 02 检查是否已有相同CLI在运行中
$lockDir = $this->_getBaseFileName('growGoodsStores');
if (!$this->mkdirs($lockDir)) {
echo '****create dir fail ****';
exit;
}
$this->lockFileName = $lockDir . DS . 'cliGrowStore.locks';
if (file_exists($this->lockFileName)) {
$stat = stat($this->lockFileName);
if ((TIMESTAMP - $stat['mtime']) > 1800) {
echo "文件被锁超过1800秒,被强制删除";
@unlink($this->lockFileName);
} else {
$this->halt('[' . date('Y-m-d H:i:s') . '] The CLI is running' . "\n");
}
}
$this->bDoUnLock = true;
file_put_contents($this->lockFileName, "running"); // CLI 独占锁
$storeService=\Business\Store\StoreServiceModel::getInstance();
try {
$storeService->growStores();
// $goodsCommonStrorageDao->createTestData();
} catch (Exception $ex) {
throw new Exception($ex->getCode() . '|' . $ex->getMessage());
}
echo '店铺生成成功' .date('Y-m-d H:i:s',TIMESTAMP). "\r\n";
}
}
$oCli = new cliGrowStore(TRUE);
EXIT;
?>
...@@ -60,7 +60,7 @@ class cliOrderClose extends basecli ...@@ -60,7 +60,7 @@ class cliOrderClose extends basecli
// else{ // else{
// if(!empty($res['timeDiff'])){ // if(!empty($res['timeDiff'])){
// $timeArr=explode('-',$res['timeDiff']); // $timeArr=explode('-',$res['timeDiff']);
// if(!empty($timeArr)){ // if(!empty($timeArr)){v
// if(\Our\Common::isCurentTimeInSection($timeArr[0],$timeArr[1])){ // if(\Our\Common::isCurentTimeInSection($timeArr[0],$timeArr[1])){
// continue; // continue;
// } // }
......
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