|
|
|
@ -17,6 +17,11 @@ use app\admin\model\Store as StoreModel; |
|
|
|
|
use app\admin\model\store\SyncTask; |
|
|
|
|
use app\admin\service\store\User as StoreUserService; |
|
|
|
|
use app\common\model\Channel; |
|
|
|
|
use app\common\model\Merchant; |
|
|
|
|
use app\store\model\store\User as StoreUserModel; |
|
|
|
|
use app\store\model\store\Role as role; |
|
|
|
|
use think\facade\Db; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 商城管理 |
|
|
|
|
* Class Store |
|
|
|
@ -214,6 +219,104 @@ class Store extends Controller |
|
|
|
|
public function auth(int $storeId): Json |
|
|
|
|
{ |
|
|
|
|
$platformList = $this->request->param('platformList'); |
|
|
|
|
//多商户新增一个商户用户 |
|
|
|
|
$model = StoreModel::detail($storeId); |
|
|
|
|
$storeUserModel = new StoreUserModel; |
|
|
|
|
if ($model->store_version == 1) { |
|
|
|
|
if ($platformList) { |
|
|
|
|
foreach ($platformList as $value) { |
|
|
|
|
|
|
|
|
|
$channel = Channel::where('code', $value)->where('status',1)->find(); |
|
|
|
|
if ($channel->isEmpty()) { |
|
|
|
|
return $this->renderError('当前渠道不存在'); |
|
|
|
|
} |
|
|
|
|
$user_name = $channel->code.$storeId; |
|
|
|
|
//当前账号是否创建 |
|
|
|
|
$merchant = Merchant::where('channel_id', $channel->id)->where('store_id', $storeId)->where('is_delete', 0)->find(); |
|
|
|
|
if ($merchant) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
//创建账号 |
|
|
|
|
//查出当前店铺的商户角色的id |
|
|
|
|
$whererole = [ |
|
|
|
|
'store_id' => $storeId, |
|
|
|
|
'role_name' => "商户" |
|
|
|
|
]; |
|
|
|
|
$role = role::detail($whererole); |
|
|
|
|
if (!$role) { |
|
|
|
|
return $this->renderError('当前多商户商城商户角色不存在'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$params = [ |
|
|
|
|
"real_name" => $channel->name, |
|
|
|
|
"user_name" => $user_name, |
|
|
|
|
"roles" => [$role->role_id], |
|
|
|
|
"password" => "123456", |
|
|
|
|
"password_confirm" => "123456", |
|
|
|
|
"sort" => 100, |
|
|
|
|
'storeId' => $storeId, |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
// var_dump($params); |
|
|
|
|
// exit(); |
|
|
|
|
$storeUserModel->addNew($params); |
|
|
|
|
//复制商户 |
|
|
|
|
$merchantData = [ |
|
|
|
|
"shop_name" => $channel->shop_name, |
|
|
|
|
"shop_label" => $channel->shop_label, |
|
|
|
|
"channel_id" => $channel->id, |
|
|
|
|
"channel" => $channel->code, |
|
|
|
|
"store_id" => $storeId, |
|
|
|
|
"user_name" => $user_name, |
|
|
|
|
"score" => 5, |
|
|
|
|
"sale" => 100, |
|
|
|
|
"sort" => 100, |
|
|
|
|
"license_img_id" => "", |
|
|
|
|
"logo_image_id" => 0, |
|
|
|
|
"create_time" => time(), |
|
|
|
|
]; |
|
|
|
|
// var_dump($merchantData); |
|
|
|
|
// exit(); |
|
|
|
|
if ($channel->logo_image_id) { |
|
|
|
|
//复制图片 |
|
|
|
|
$upload_file = Db::name('upload_file')->where('file_id', $channel->logo_image_id)->find(); |
|
|
|
|
if ($upload_file) { |
|
|
|
|
$upload_file['store_id'] = $storeId; |
|
|
|
|
$upload_file['create_time'] = time(); |
|
|
|
|
unset($upload_file['file_id']); |
|
|
|
|
$logo_image_id = Db::name('upload_file')->insertGetId($upload_file); |
|
|
|
|
$merchantData['logo_image_id'] = $logo_image_id; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ($channel->license_img_id) { |
|
|
|
|
$arr = explode(",", $channel->license_img_id); |
|
|
|
|
$license_img_ids = []; |
|
|
|
|
foreach ($arr as $key => $val) { |
|
|
|
|
//复制图片 |
|
|
|
|
$upload_file = Db::name('upload_file')->where('file_id', $val)->find(); |
|
|
|
|
if ($upload_file) { |
|
|
|
|
$upload_file['store_id'] = $storeId; |
|
|
|
|
$upload_file['create_time'] = time(); |
|
|
|
|
unset($upload_file['file_id']); |
|
|
|
|
$license_img_id = Db::name('upload_file')->insertGetId($upload_file); |
|
|
|
|
$license_img_ids[] = $license_img_id; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$merchantData['license_img_id'] = implode(",", $license_img_ids); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Merchant::create($merchantData); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// var_dump($model->store_version); |
|
|
|
|
// exit(); |
|
|
|
|
|
|
|
|
|
$currItems = SyncTask::where('store_id', $storeId)->select()->toArray(); |
|
|
|
|
if ($currItems) { |
|
|
|
|
$delIds = []; |
|
|
|
@ -234,10 +337,17 @@ class Store extends Controller |
|
|
|
|
if (in_array($platform, $curr_channels)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
$merchantId = 0; |
|
|
|
|
if ($model->store_version == 1) { |
|
|
|
|
$merchant = Merchant::where('channel', $platform)->where('store_id', $storeId)->find(); |
|
|
|
|
$merchantId = $merchant->merchant_id; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$inData[] = [ |
|
|
|
|
'store_id' => $storeId, |
|
|
|
|
'channel' => $platform, |
|
|
|
|
'create_time' => time(), |
|
|
|
|
'merchant_id' => $merchantId, |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
if ($inData) { |
|
|
|
@ -258,5 +368,4 @@ class Store extends Controller |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|