|
@@ -10,6 +10,8 @@ use Hyperf\HttpServer\Annotation\AutoController;
|
|
|
use App\Tools\Result;
|
|
|
use Hyperf\Validation\Contract\ValidatorFactoryInterface;
|
|
|
use Hyperf\Context\Context;
|
|
|
+use Phper666\JWTAuth\JWT;
|
|
|
+use DateTime;
|
|
|
|
|
|
* Class WebsiteController
|
|
|
* @package App\Controller
|
|
@@ -19,13 +21,6 @@ class WebsiteController extends AbstractController
|
|
|
{
|
|
|
use \Hyperf\Di\Aop\ProxyTrait;
|
|
|
use \Hyperf\Di\Aop\PropertyHandlerTrait;
|
|
|
- function __construct()
|
|
|
- {
|
|
|
- if (method_exists(parent::class, '__construct')) {
|
|
|
- parent::__construct(...func_get_args());
|
|
|
- }
|
|
|
- $this->__handlePropertyHandler(__CLASS__);
|
|
|
- }
|
|
|
|
|
|
protected ValidatorFactoryInterface $validationFactory;
|
|
|
|
|
@@ -33,6 +28,12 @@ class WebsiteController extends AbstractController
|
|
|
*/
|
|
|
|
|
|
private $websiteServiceClient;
|
|
|
+ protected JWT $JWT;
|
|
|
+ public function __construct(Jwt $JWT)
|
|
|
+ {
|
|
|
+ $this->__handlePropertyHandler(__CLASS__);
|
|
|
+ $this->JWT = $JWT;
|
|
|
+ }
|
|
|
|
|
|
* 创建站点
|
|
|
* @return array
|
|
@@ -70,6 +71,7 @@ class WebsiteController extends AbstractController
|
|
|
if ($result['data']) {
|
|
|
foreach ($result['data']['rows'] as $k => $v) {
|
|
|
$result['data']['rows'][$k]['city_arr_id'] = $v['city_arr_id'] ? json_decode($v['city_arr_id']) : '';
|
|
|
+ $result['data']['rows'][$k]['website_url'] = $v['website_url'] ? json_decode($v['website_url']) : [];
|
|
|
}
|
|
|
}
|
|
|
return $result ? Result::success($result['data']) : Result::error($result['message']);
|
|
@@ -133,23 +135,29 @@ class WebsiteController extends AbstractController
|
|
|
return Result::error($result['message']);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ * 添加的时候 选择上级网系
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
public function getWebsiteColumn()
|
|
|
{
|
|
|
- $pid = (int) $this->request->input("pid", 0);
|
|
|
$result = $this->websiteServiceClient->getWebsiteColumn([]);
|
|
|
$rep = PublicData::buildMenuTree($result['data']);
|
|
|
return $rep ? Result::success($rep) : Result::error("查询失败");
|
|
|
}
|
|
|
|
|
|
- * 获取站点列表
|
|
|
+ * 获取网系列表
|
|
|
* @return void
|
|
|
*/
|
|
|
public function getWebsiteColumnList()
|
|
|
{
|
|
|
- $keyword = $this->request->input("keyWord", '');
|
|
|
- $page = (int) $this->request->input("page", 1);
|
|
|
- $pageSize = (int) $this->request->input("pageSize", 10);
|
|
|
- $result = $this->websiteServiceClient->getWebsiteColumnList($keyword, $page, $pageSize);
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make($requireData, ['page' => 'required', 'pageSize' => 'required'], ['page.required' => '页码不能为空', 'pageSize.required' => '每页显示条数不能为空']);
|
|
|
+ if ($validator->fails()) {
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $result = $this->websiteServiceClient->getWebsiteColumnList($requireData);
|
|
|
if ($result['data']) {
|
|
|
foreach ($result['data']['rows'] as $k => $v) {
|
|
|
$result['data']['rows'][$k]['column_arr_id'] = $v['column_arr_id'] ? json_decode($v['column_arr_id']) : [0];
|
|
@@ -158,59 +166,52 @@ class WebsiteController extends AbstractController
|
|
|
return $result ? Result::success($result['data']) : Result::error($result['message']);
|
|
|
}
|
|
|
|
|
|
- * 创建栏目
|
|
|
+ * 创建网系
|
|
|
* @return array
|
|
|
*/
|
|
|
public function addWebsiteColumn()
|
|
|
{
|
|
|
$requireData = $this->request->all();
|
|
|
- $validator = $this->validationFactory->make($requireData, ['column_name' => 'required', 'column_arr_id' => 'required'], ['column_name.required' => '栏目名称不能为空', 'column_arr_id.required' => '栏目ID不能为空']);
|
|
|
+ $validator = $this->validationFactory->make($requireData, ['column_name' => 'required'], ['column_name.required' => '网系名称不能为空']);
|
|
|
if ($validator->fails()) {
|
|
|
$errorMessage = $validator->errors()->first();
|
|
|
return Result::error($errorMessage);
|
|
|
}
|
|
|
- if (isset($requireData['column_arr_id']) && is_array($requireData['column_arr_id'])) {
|
|
|
- $requireData['pid'] = end($requireData['column_arr_id']);
|
|
|
- $requireData['column_arr_id'] = json_encode($requireData['column_arr_id']);
|
|
|
- } else {
|
|
|
- $column_arr_id = [0];
|
|
|
- $requireData['column_arr_id'] = json_encode($column_arr_id);
|
|
|
- $requireData['pid'] = end($column_arr_id);
|
|
|
- }
|
|
|
+ $requireData['pid'] = isset($requireData['column_arr_id']) ? end($requireData['column_arr_id']) : '';
|
|
|
+ $requireData['column_arr_id'] = isset($requireData['column_arr_id']) ? json_encode($requireData['column_arr_id']) : '';
|
|
|
$result = $this->websiteServiceClient->createWebsiteColumn($requireData);
|
|
|
return $result ? Result::success($result['data']) : Result::error($result['message']);
|
|
|
}
|
|
|
|
|
|
- * 创建栏目
|
|
|
+ * 更新网系
|
|
|
* @return array
|
|
|
*/
|
|
|
public function updateWebsiteColumn()
|
|
|
{
|
|
|
$requireData = $this->request->all();
|
|
|
- $validator = $this->validationFactory->make($requireData, ['column_name' => 'required', 'column_arr_id' => 'required'], ['column_name.required' => '栏目名称不能为空', 'column_arr_id.required' => '栏目ID不能为空']);
|
|
|
+ $validator = $this->validationFactory->make($requireData, ['column_name' => 'required'], ['column_name.required' => '栏目名称不能为空']);
|
|
|
if ($validator->fails()) {
|
|
|
$errorMessage = $validator->errors()->first();
|
|
|
return Result::error($errorMessage);
|
|
|
}
|
|
|
- if (isset($requireData['column_arr_id']) && is_array($requireData['column_arr_id'])) {
|
|
|
- $requireData['pid'] = end($requireData['column_arr_id']);
|
|
|
- $requireData['column_arr_id'] = json_encode($requireData['column_arr_id']);
|
|
|
- } else {
|
|
|
- $column_arr_id = [0];
|
|
|
- $requireData['column_arr_id'] = json_encode($column_arr_id);
|
|
|
- $requireData['pid'] = end($column_arr_id);
|
|
|
- }
|
|
|
+ $requireData['pid'] = isset($requireData['column_arr_id']) ? end($requireData['column_arr_id']) : '';
|
|
|
+ $requireData['column_arr_id'] = isset($requireData['column_arr_id']) ? json_encode($requireData['column_arr_id']) : '';
|
|
|
$result = $this->websiteServiceClient->updateWebsiteColumn($requireData['id'], $requireData);
|
|
|
return $result ? Result::success($result['data']) : Result::error($result['message']);
|
|
|
}
|
|
|
|
|
|
- * 删除栏目
|
|
|
+ * 删除网系
|
|
|
* @return array
|
|
|
*/
|
|
|
public function delWebsiteColumn()
|
|
|
{
|
|
|
- $id = (int) $this->request->input("id", '');
|
|
|
- $result = $this->websiteServiceClient->delWebsiteColumn($id);
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $validator = $this->validationFactory->make($requireData, ['id' => 'required'], ['id.required' => '网系ID不能为空']);
|
|
|
+ if ($validator->fails()) {
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
+ return Result::error($errorMessage);
|
|
|
+ }
|
|
|
+ $result = $this->websiteServiceClient->delWebsiteColumn(intval($requireData['id']));
|
|
|
return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
|
|
|
}
|
|
|
|
|
@@ -449,7 +450,75 @@ class WebsiteController extends AbstractController
|
|
|
*/
|
|
|
public function getAdminIndex()
|
|
|
{
|
|
|
- return [];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ $typeId = intval(Context::get("TypeId"));
|
|
|
+ var_dump("用户类型:", $typeId);
|
|
|
+ switch ($typeId) {
|
|
|
+ case 1:
|
|
|
+ $dates = [];
|
|
|
+ $startDate = (new DateTime())->modify('-29 day');
|
|
|
+
|
|
|
+ for ($i = 0; $i < 30; $i++) {
|
|
|
+ $dates[] = $startDate->format('Y-m-d');
|
|
|
+ $startDate->modify('+1 day');
|
|
|
+
|
|
|
+ }
|
|
|
+ $result = $this->websiteServiceClient->getAdminIndex(['type_id' => $typeId]);
|
|
|
+ $list = [];
|
|
|
+ if ($result['data']) {
|
|
|
+ $list = PublicData::arrayColumnAsKey($result['data'], 'date');
|
|
|
+ var_dump($list);
|
|
|
+ }
|
|
|
+ $newResult = [];
|
|
|
+ if ($dates) {
|
|
|
+ foreach ($dates as $key => $val) {
|
|
|
+ $newResult[$key]['date'] = $val;
|
|
|
+ $newResult[$key]['total_count'] = $list[$val]['total_count'] ?? 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $res['letterOfComplaintList'] = $newResult;
|
|
|
+ return $result['code'] == 200 ? Result::success($res) : Result::error($result['message']);
|
|
|
+ break;
|
|
|
+ case 10000:
|
|
|
+ $result = $this->websiteServiceClient->getAdminIndex(['type_id' => $typeId]);
|
|
|
+ if ($result) {
|
|
|
+ $dates = [];
|
|
|
+ $startDate = (new DateTime())->modify('-29 day');
|
|
|
+
|
|
|
+ for ($i = 0; $i < 30; $i++) {
|
|
|
+ $dates[] = $startDate->format('Y-m-d');
|
|
|
+ $startDate->modify('+1 day');
|
|
|
+
|
|
|
+ }
|
|
|
+ $list = [];
|
|
|
+ if ($result['data']['monthArticle']) {
|
|
|
+ $list = PublicData::arrayColumnAsKey($result['data']['monthArticle'], 'date');
|
|
|
+ }
|
|
|
+ $newResult = [];
|
|
|
+ if ($dates) {
|
|
|
+ foreach ($dates as $key => $val) {
|
|
|
+ $newResult[$key]['date'] = $val;
|
|
|
+ $newResult[$key]['total_count'] = $list[$val]['total_count'] ?? 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $userType = ['1' => '个人会员', '2' => '政务会员', '3' => '企业会员', '4' => '调研员', '10000' => '管理员'];
|
|
|
+ if ($result['data']['userType']) {
|
|
|
+ foreach ($result['data']['userType'] as $k => $v) {
|
|
|
+ $result['data']['userType'][$k]['typeName'] = $userType[$v['type_id']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $result['data']['monthArticle'] = $newResult;
|
|
|
+ return Result::success($result['data']);
|
|
|
+ } else {
|
|
|
+ return Result::error($result['message']);
|
|
|
+ }
|
|
|
+ return Result::success($result);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
* 获取模板皮肤分类
|
|
@@ -457,7 +526,8 @@ class WebsiteController extends AbstractController
|
|
|
*/
|
|
|
public function getTemplateClass()
|
|
|
{
|
|
|
- $result = $this->websiteServiceClient->getTemplateClass([]);
|
|
|
+ $requireData = $this->request->all();
|
|
|
+ $result = $this->websiteServiceClient->getTemplateClass($requireData);
|
|
|
return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
|
|
|
}
|
|
|
|
|
@@ -515,13 +585,27 @@ class WebsiteController extends AbstractController
|
|
|
public function getTemplate()
|
|
|
{
|
|
|
$requireData = $this->request->all();
|
|
|
- $validator = $this->validationFactory->make($requireData, ['template_class_id' => 'required', 'page' => 'required', 'pageSize' => 'required'], ['template_class_id.required' => '类型template_class_id不能为空', 'page.required' => 'page不能为空', 'pageSize.required' => '每页显示条数不能为空']);
|
|
|
+ $validator = $this->validationFactory->make($requireData, [
|
|
|
+
|
|
|
+ 'page' => 'required',
|
|
|
+ 'pageSize' => 'required',
|
|
|
+ ], [
|
|
|
+
|
|
|
+ 'page.required' => 'page不能为空',
|
|
|
+ 'pageSize.required' => '每页显示条数不能为空',
|
|
|
+ ]);
|
|
|
if ($validator->fails()) {
|
|
|
$errorMessage = $validator->errors()->first();
|
|
|
return Result::error($errorMessage);
|
|
|
}
|
|
|
$data = ['template_class_id' => $requireData['template_class_id'], 'page' => $requireData['page'], 'pageSize' => $requireData['pageSize']];
|
|
|
$result = $this->websiteServiceClient->getTemplate($data);
|
|
|
+ var_dump("模板列表:", $result['data']['rows']);
|
|
|
+ if ($result['data']['rows']) {
|
|
|
+ foreach ($result['data']['rows'] as $key => $val) {
|
|
|
+ $result['data']['rows'][$key]['template_img'] = json_decode($val['template_img'], true);
|
|
|
+ }
|
|
|
+ }
|
|
|
return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
|
|
|
}
|
|
|
|