|
@@ -5,6 +5,7 @@ namespace app\controller\admin;
|
|
|
use app\extra\basic\Base;
|
|
use app\extra\basic\Base;
|
|
|
use app\middleware\AuthMiddleware;
|
|
use app\middleware\AuthMiddleware;
|
|
|
use app\model\saas\SaasStore;
|
|
use app\model\saas\SaasStore;
|
|
|
|
|
+use app\model\saas\SaasStoreCategory;
|
|
|
use app\service\saas\GoodsService;
|
|
use app\service\saas\GoodsService;
|
|
|
use app\service\saas\StoreService;
|
|
use app\service\saas\StoreService;
|
|
|
use DI\Attribute\Inject;
|
|
use DI\Attribute\Inject;
|
|
@@ -144,4 +145,64 @@ class Store extends Base
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 新增店铺品类授权
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
|
|
+ #[PostMapping("cate")]
|
|
|
|
|
+ public function addCategory(Request $request): Response
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $param = $this->_valid([
|
|
|
|
|
+ "poi_id.require" => trans("empty.require"),
|
|
|
|
|
+ "category.require" => trans("empty.require"),
|
|
|
|
|
+ "product_type.require" => trans("empty.require"),
|
|
|
|
|
+ ],$request->method());
|
|
|
|
|
+ if (!is_array($param)) return error($param);
|
|
|
|
|
+ $storeMode = (new SaasStoreCategory);
|
|
|
|
|
+ $inData = [];
|
|
|
|
|
+ foreach ($param['category'] as $key => $value) {
|
|
|
|
|
+ if (!isset($value[2])) return error("请选择正确的品类");
|
|
|
|
|
+ $lastId = $value[2];
|
|
|
|
|
+ $storeCategory = $storeMode->where("category_id",$lastId)->where("poi_id",$param['poi_id'])->with(['cate'])->findOrEmpty();
|
|
|
|
|
+ if (!$storeCategory->isEmpty()) return error("【{$storeCategory['cate']['name']}】已存在,请勿重复添加");
|
|
|
|
|
+ $inData[$key] = [
|
|
|
|
|
+ "category_id" => $value[2],
|
|
|
|
|
+ "poi_id" => $param['poi_id'],
|
|
|
|
|
+ "product_type" => json_encode($param["product_type"]),
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+ $state = $storeMode->insertAll($inData);
|
|
|
|
|
+ if (!$state) return errorTrans("error.data");
|
|
|
|
|
+ return successTrans("success.data");
|
|
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
|
|
+ return error($throwable->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 删除店铺品类授权
|
|
|
|
|
+ * @param Request $request
|
|
|
|
|
+ * @return Response
|
|
|
|
|
+ */
|
|
|
|
|
+ #[PostMapping("cate/del")]
|
|
|
|
|
+ public function delCategory(Request $request): Response
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $param = $this->_valid([
|
|
|
|
|
+ "poi_id.require" => trans("empty.require"),
|
|
|
|
|
+ "id.require" => trans("empty.require")
|
|
|
|
|
+ ],$request->method());
|
|
|
|
|
+ if (!is_array($param)) return error($param);
|
|
|
|
|
+ $data = (new SaasStoreCategory)->where(['poi_id' => $param['poi_id'],'category_id' => $param['id']])->findOrEmpty();
|
|
|
|
|
+ if ($data->isEmpty()) return errorTrans("error.data");
|
|
|
|
|
+ $state = $data->delete();
|
|
|
|
|
+ if (!$state) return errorTrans("error.data");
|
|
|
|
|
+ return successTrans("success.data");
|
|
|
|
|
+ } catch (\Throwable $throwable) {
|
|
|
|
|
+ return error($throwable->getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|