|
|
<?phpdeclare(strict_types=1);
namespace App\Controller;
use Hyperf\DbConnection\Db;use Hyperf\HttpServer\Annotation\AutoController;use OSS\Core\OssException;use OSS\OssClient;use App\Constants\ErrorCode;use App\Request\StoreApplyEntryRequest;use App\Service\StoreServiceInterface;use Hyperf\Di\Annotation\Inject;
/** * @AutoController() * Class StoreController * @package App\Controller */class StoreController extends BaseController{
/** * @Inject * @var StoreServiceInterface */ protected $storeService;
/** * 申请入驻 * 商户信息入驻+市场经理拉新记录 */ public function applyEntry(StoreApplyEntryRequest $request) {
$data = $request->validated();
$res = $this->storeService->entry($data);
if ($res !== true) { return $this->result(ErrorCode::SAVE_FAILURE, $res, '申请失败,请稍后重试'); }
return $this->success('');
}
public function infoEdit() { $id = $this->request->input('id'); if (empty($id)) { return $this->result(1, [], 'id不能为空'); } if ($this->request->isMethod('post')) { $logo = $this->request->input('logo'); $name = $this->request->input('name'); $tel = $this->request->input('tel'); $address = $this->request->input('address'); $coordinates = $this->request->input('coordinates'); $capita = $this->request->input('capita'); $start_at = $this->request->input('start_at'); $announcement = $this->request->input('announcement'); $environment = $this->request->input('environment');
//>>1上传logo到阿里云oss
//>>2.上传商家环境到阿里云oss
//>>3.保存数据到数据库存
$fileNameLogo = $object = 'public/upload/' . date('Y') . '/' . date('m-d') . '/' . rand(0, 9999999999999999) . '.jpg'; $fileUpload = new FileUpload(); $resLogo = $fileUpload->ossUpload($logo, $fileNameLogo); if (isset($resLogo['info']['http_code']) && $resLogo['info']['http_code'] == 200) { $logo_url = $fileNameLogo; } else { return $this->result(1, []); } $environments = explode(',', $environment); $envPaths = []; foreach ($environments as $env) { $fileNameEnv = $object = 'public/upload/' . date('Y') . '/' . date('m-d') . '/' . rand(0, 9999999999999999) . '.jpg'; $resEnv = $fileUpload->ossUpload($env, $fileNameEnv); if (isset($resEnv['info']['http_code']) && $resLogo['info']['http_code'] == 200) { $envPaths[] = $fileNameEnv; } } if (count($envPaths)) { $envPath = implode(',', $envPaths); }
$res = Db::table('ims_cjdc_store')->where('id', $id)->update([ 'logo' => $logo_url ?? "", 'name' => $name, 'tel' => $tel, 'address' => $address, 'coordinates' => $coordinates, 'capita' => $capita, 'start_at' => $start_at, 'announcement' => $announcement, 'environment' => $envPath ?? "", ]); return $this->success($res); }//'id','name','logo','tel','address','coordinates','capita','start_at','announcement','environment'
//获取店铺信息
$data = Db::table('ims_cjdc_store') ->select(['id','name','logo','tel','address','coordinates','capita','start_at','announcement','environment']) ->where('id',$id) ->first(); if ($data){ $data->site = config('site_host'); } return $this->success($data);
}}
|