Commit 159b5fce authored by wwccw0591's avatar wwccw0591

pc

parent bf7a3615
......@@ -10,5 +10,6 @@ class DbNameConst {
const salveDBConnectName = 'resources.database.slave.params';
const masterDBConnectName = 'resources.database.params';
const drawSource = 'resources.database.drawSource.params';
}
\ No newline at end of file
<?php
namespace Business\Store;
use Our\ApiConst;
/**
* 店铺service
......@@ -900,15 +901,27 @@ class StoreServiceModel extends \Business\AbstractModel{
public function growStores(){
$storeDao=\DAO\StoreModel::getInstance();
$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;
$re=array_rand($res);
$reDraw=array_rand($drawTableDatas);
$temDrawData=$drawTableDatas[$reDraw];
if(!empty($res[$re])){
$data=$res[$re];
$data['member_id']=$memberId;
$data['member_mobile']=(int)$data['member_mobile']+$i;
$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";
}
}
......@@ -929,4 +942,6 @@ class StoreServiceModel extends \Business\AbstractModel{
return self::$_instance;
}
}
......@@ -78,10 +78,15 @@ class MemberServiceModel extends \Business\AbstractModel
return true;
}
private function getRealPassword($password,$timeSpan){
$addKey=Common::getConfig('password.key');
$md5Str=$timeSpan.$addKey.$password;
return $md5Str;
}
public function getOneByMobileAndPassword($mobile, $password)
{
$password = md5($password);
$password=$this->getPassAddKey($password);
$password = Common::format('md5({0})');
$member= $this->memberDao->getOneByMobileAndPassword($mobile, $password);
return $member ? $member : false;
}
......@@ -269,12 +274,13 @@ class MemberServiceModel extends \Business\AbstractModel
*/
private function saveRegisterMemberInfo($where){
$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_mobile'] = $where['mobile'];
$member['member_mobile_bind'] = \Our\ApiConst::one;
$member['member_passwd'] = md5($where['password']);
$member['member_passwd'] = md5($md5Str);
$member['member_time'] = TIMESTAMP;
$result = $memberDao->addInfo($member);
return $result;
......
......@@ -18,7 +18,7 @@ use Our\OrderConst;
* @date 2018-5-14
* @author csw
*/
class OrderModel extends \DAO\AbstractModel
class DrawGoodsModel extends \DAO\AbstractModel
{
......
<?php
namespace DAO\Order;
namespace DAO\Draw;
use Error\CodeConfigModel;
use Error\ErrorModel;
......@@ -18,7 +18,7 @@ use Our\OrderConst;
* @date 2018-5-14
* @author csw
*/
class OrderModel extends \DAO\AbstractModel
class DrawTableModel extends \DAO\AbstractModel
{
......@@ -27,8 +27,7 @@ class OrderModel extends \DAO\AbstractModel
*
* @var string
*/
protected $_tableName = 'han_order';
protected $_tableName = 'drawTable';
private $countField = '(sum(order_amount)) as orderTotal,count(*) as orderCount';
/**
* 主键
......@@ -1062,6 +1061,7 @@ class OrderModel extends \DAO\AbstractModel
return \Redis\Db5\OrderRedisModel::getInstance()->tableCacheGet(\Our\NameConst::cancelUnReceivedOrderTimePrefix);
}
/**
* 类实例
*
......@@ -1083,4 +1083,21 @@ class OrderModel extends \DAO\AbstractModel
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
}
$resArray=array();
foreach($res as $val){
$resArray[$val['member_id']]=$val;
$resArray[$val['store_id']]=$val;
}
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"
resources.database.slave.params.charset = "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.port = "6379"
redis.database.params.prefix = "qm_"
......@@ -80,6 +80,7 @@ resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "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.port = "6379"
redis.database.params.prefix = "qm_"
......@@ -126,6 +127,16 @@ resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "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.port = "6379"
redis.database.params.prefix = "qm_"
......@@ -247,6 +258,18 @@ resources.database.slave.params.password = "123456"
resources.database.slave.params.charset = "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.port = "6379"
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
file_put_contents($this->lockFileName, "running"); // CLI 独占锁
$storeService=\Business\Store\StoreServiceModel::getInstance();
try {
$storeService->growMembers();
$storeService->growStores();
// $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
// else{
// if(!empty($res['timeDiff'])){
// $timeArr=explode('-',$res['timeDiff']);
// if(!empty($timeArr)){
// if(!empty($timeArr)){v
// if(\Our\Common::isCurentTimeInSection($timeArr[0],$timeArr[1])){
// 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