// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\controller; use app\api\model\Goods as GoodsModel; use app\common\model\store\StoreSettle; use app\common\model\UploadFile; use think\response\Json; use app\store\model\Merchant as MerchantModel; use app\store\model\Style as StyleModel; use app\common\model\Channel; use app\store\model\store\User as StoreUserModel; /** * 商户ID、商店ID 隔离商城里面的商户 * Class Store * @package app\store\controller */ class Merchant extends Controller { /** * 获取当前登录的商城信息 * @return Json */ public function userinfo(): Json { $model = new StoreUserModel; $listUser = $model->getList($this->request->param())->toArray(); $list = []; foreach ($listUser['data'] as $l) { if (!empty($l['user_name'])) { array_push($list, $l['user_name']); } } $model2 = new MerchantModel; $list2 = $model2->getList($this->request->param())->toArray(); $userIds = array_column($list2['data'], "user_name"); $list = array_diff($list, $userIds); return $this->renderSuccess(compact('list')); } /** * 获取当前登录的商城信息 * @return Json */ public function info(): Json { // 商城详情 $model = MerchantModel::detail($this->storeId); return $this->renderSuccess(['storeInfo' => $model]); } /** * 更新商城信息 * @return Json */ public function edit(): Json { // 商城详情 $model = MerchantModel::detail($this->postForm()['merchant_id']); // 更新记录 if (!$model->edit($this->postForm())) { return $this->renderError($model->getError() ?: '更新失败'); } return $this->renderSuccess('更新成功'); } public function detail(int $id): Json { // 获取商品详情 $detail = MerchantModel::detail($id); if ($detail['license_img_id']) { $img_ids = explode(",", $detail['license_img_id']); $files = UploadFile::getFileList($img_ids); $detail['licenseImg'] = $files ?: null; } if ($detail['logo_image_id']) { $files = UploadFile::getFileList([$detail['logo_image_id']]); $detail['logoImage'] = $files ?: null; } return $this->renderSuccess(compact('detail')); } /** * 更新商城信息 * @return Json */ public function add(): Json { // 新增记录 $model = new MerchantModel; $data = $this->postForm(); if ($model->add($data)) { return $this->renderSuccess('添加成功'); } return $this->renderError($model->getError() ?: '添加失败'); } /** * 删除门店 * @param int $shopId * @return Json */ public function delete(int $merchantId): Json { // 门店详情 $model = MerchantModel::detail($merchantId); if (!$model->setDelete()) { return $this->renderError($model->getError() ?: '删除失败'); } return $this->renderSuccess('删除成功'); } /** * 列表 */ public function list(): Json { $model = new MerchantModel; $pageSize = $this->request->param('pageSize'); $pageSize = empty($pageSize) ? 15 : $pageSize; $sort = $this->request->param('sort'); $sort = empty($sort) ? "merchant_id" : $sort; $list = $model->getList($this->request->param(), intval($pageSize), $sort)->toArray(); foreach ($list['data'] as $kr => $r) { $res[$kr]['licenseImg'] = []; if ($r['license_img_id']) { $img_ids = explode(",", $r['license_img_id']); $files = UploadFile::getFileList($img_ids); $list['data'][$kr]['licenseImg'] = $files ?: null; } $modelgoods = new GoodsModel; $param = $this->request->param(); $param['merchantId'] = $r['merchant_id']; $listgoods = $modelgoods->getList($param, 3); $list['data'][$kr]['goodsInfo'] = $listgoods; } return $this->renderSuccess($list); } /** * 更新商城信息 * @return Json */ public function setPageStyle(): Json { // 新增记录 $model = new StyleModel; $data = $this->postForm(); if ($model->add($data)) { return $this->renderSuccess('添加成功'); } return $this->renderError($model->getError() ?: '添加失败'); } public function getPageStyle(): Json { // 新增记录 $style = StyleModel::detail(1, $this->storeId); return $this->renderSuccess(compact('style')); } }