|
@@ -81,7 +81,6 @@ class divert_account
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
public function init_merchants()
|
|
|
{
|
|
|
$mids = $this->unique_mchmids();
|
|
@@ -93,13 +92,11 @@ class divert_account
|
|
|
$trans = new trans_wapper($mod_divert,__METHOD__);
|
|
|
$this->init_member($mid);
|
|
|
$trans->commit();
|
|
|
- return true;
|
|
|
}
|
|
|
catch (Exception $ex)
|
|
|
{
|
|
|
$trans->rollback();
|
|
|
Log::record($ex->getMessage(), Log::ERR);
|
|
|
- return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -140,10 +137,10 @@ class divert_account
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- public function init_channel_accounts()
|
|
|
+ //为每个通道创建一个充值监控账户
|
|
|
+ public function init_channels_account()
|
|
|
{
|
|
|
- $provider_getter = function ()
|
|
|
+ $noaccounters = function ()
|
|
|
{
|
|
|
$result = [];
|
|
|
|
|
@@ -151,21 +148,65 @@ class divert_account
|
|
|
while (true)
|
|
|
{
|
|
|
$start = $i * 100;
|
|
|
- $items = Model('')->table('refill_provider')->field('provider_id,')->where(['provider_id' => ['gt',0]])->order('provider_id asc')->limit("{$start},100")->select();
|
|
|
+ $items = Model('')->table('refill_provider')->field('*')->where(['provider_id' => ['gt',0]])->order('provider_id asc')->limit("{$start},100")->select();
|
|
|
if(empty($items)) {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
$i++;
|
|
|
- foreach ($items as $item) {
|
|
|
- $result[] = intval($item['store_id']);
|
|
|
+ foreach ($items as $item)
|
|
|
+ {
|
|
|
+ $account_id = intval($item['account_id']);
|
|
|
+ if($account_id <= 0 ) {
|
|
|
+ $result[] = ['provider_id' => $item['provider_id'], 'name' => $item['name']];
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $result = array_unique($result);
|
|
|
return $result;
|
|
|
};
|
|
|
|
|
|
+ $method = __METHOD__;
|
|
|
+ $account_creater = function ($provider) use ($method)
|
|
|
+ {
|
|
|
+ $model_member = Model('member');
|
|
|
+ $trans = new trans_wapper($model_member,$method);
|
|
|
+
|
|
|
+ try {
|
|
|
+ $chname = $provider['name'];
|
|
|
+ $member_info = [];
|
|
|
+ $member_info['member_name'] = "{$chname}-refill";
|
|
|
+ $member_info['member_passwd'] = md5($chname);
|
|
|
+ $insert_id = $model_member->addMember($member_info);
|
|
|
+ if($insert_id <= 0) {
|
|
|
+ $trans->rollback();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $mod_provider = Model('refill_provider');
|
|
|
+ $mod_provider->editProvider(['account_id' => $insert_id],['provider_id' => $provider['provider_id']]);
|
|
|
+ $trans->commit();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception $ex) {
|
|
|
+ $trans->rollback();
|
|
|
+ Log::record($ex->getMessage(),Log::DEBUG);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ $providers = $noaccounters();
|
|
|
+ foreach ($providers as $provider)
|
|
|
+ {
|
|
|
+ $ret = $account_creater($provider);
|
|
|
+ if($ret) {
|
|
|
+ Log::record("{$provider['name']} create account success",Log::DEBUG);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ Log::record("{$provider['name']} create account fail",Log::DEBUG);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public function init_channels()
|
|
@@ -179,20 +220,18 @@ class divert_account
|
|
|
$trans = new trans_wapper($mod_divert,__METHOD__);
|
|
|
$this->init_member($mid);
|
|
|
$trans->commit();
|
|
|
- return true;
|
|
|
}
|
|
|
catch (Exception $ex)
|
|
|
{
|
|
|
$trans->rollback();
|
|
|
Log::record($ex->getMessage(), Log::ERR);
|
|
|
- return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public function unique_chmids()
|
|
|
{
|
|
|
- $stores_getter = function ()
|
|
|
+ $mid_getter = function ()
|
|
|
{
|
|
|
$result = [];
|
|
|
|
|
@@ -200,14 +239,14 @@ class divert_account
|
|
|
while (true)
|
|
|
{
|
|
|
$start = $i * 100;
|
|
|
- $items = Model('')->table('refill_provider')->field('store_id')->where(['provider_id' => ['gt',0]])->order('provider_id asc')->limit("{$start},100")->select();
|
|
|
+ $items = Model('')->table('refill_provider')->field('account_id')->where(['provider_id' => ['gt',0]])->order('provider_id asc')->limit("{$start},100")->select();
|
|
|
if(empty($items)) {
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
$i++;
|
|
|
foreach ($items as $item) {
|
|
|
- $result[] = intval($item['store_id']);
|
|
|
+ $result[] = intval($item['account_id']);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -215,23 +254,7 @@ class divert_account
|
|
|
return $result;
|
|
|
};
|
|
|
|
|
|
- $mid_getter = function ($stores)
|
|
|
- {
|
|
|
- $result = [];
|
|
|
- $mod_store = Model('store');
|
|
|
- foreach ($stores as $sid) {
|
|
|
- $info = $mod_store->getStoreInfoByID($sid);
|
|
|
- $result[] = $info['member_id'];
|
|
|
- }
|
|
|
- $result = array_unique($result);
|
|
|
-
|
|
|
- return $result;
|
|
|
- };
|
|
|
-
|
|
|
- $stores = $stores_getter();
|
|
|
- $mids = $mid_getter($stores);
|
|
|
-
|
|
|
+ $mids = $mid_getter();
|
|
|
return $mids;
|
|
|
}
|
|
|
-
|
|
|
}
|