From e55c8b0a92eb9715edd90c31dfd4de51a47b588b Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 04 十一月 2022 17:40:08 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java |   41 +++++++++++++++++++++++++++++++++++------
 1 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java
index 58b8d31..d5fad78 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java
@@ -1,13 +1,17 @@
 package com.sandu.ximon.admin.controller;
 
-import com.github.pagehelper.PageHelper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.sandu.common.domain.ResponseVO;
-import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.util.ResponseUtil;
 import com.sandu.ximon.admin.dto.BannerDto;
 import com.sandu.ximon.admin.param.BannerParam;
+import com.sandu.ximon.admin.security.PermissionConfig;
+import com.sandu.ximon.admin.security.SecurityUtils;
 import com.sandu.ximon.admin.service.BannerService;
+import com.sandu.ximon.admin.service.ClientService;
 import com.sandu.ximon.dao.domain.Banner;
+import com.sandu.ximon.dao.domain.Client;
+import com.sandu.ximon.dao.enums.MenuEnum;
 import lombok.AllArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -23,10 +27,17 @@
 public class BannerController {
 
     private final BannerService contentBannerService;
+    private final ClientService clientService;
+    private PermissionConfig permissionConfig;
 
     @PostMapping("/addbanner")
     public ResponseVO<Object> addBanner(@Validated @RequestBody BannerParam bannerParam) {
-        boolean result = contentBannerService.addBanner(bannerParam);
+        if (!permissionConfig.check(MenuEnum.BANNER_ADD.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        Client client = clientService.getOne(Wrappers.lambdaQuery(Client.class).eq(Client::getId, bannerParam.getBinding_author()));
+
+        boolean result = contentBannerService.addBanner(bannerParam, client);
         if (result) {
             return ResponseUtil.success("娣诲姞鎴愬姛");
         } else {
@@ -42,7 +53,10 @@
 
     @PostMapping("/{bannerId}")
     public ResponseVO<Object> updateBanner(@PathVariable Long bannerId, @Validated @RequestBody BannerParam bannerParam) {
-        boolean result = contentBannerService.updateBanner(bannerId,bannerParam);
+        if (!permissionConfig.check(MenuEnum.BANNER_UPDATE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        boolean result = contentBannerService.updateBanner(bannerId, bannerParam);
         if (result) {
             return ResponseUtil.success("鏇存柊鎴愬姛");
         } else {
@@ -50,20 +64,35 @@
         }
     }
 
+    //鍓嶇骞舵湭璋冪敤
     @GetMapping("/{bannerId}")
     public ResponseVO<Object> detailBanner(@PathVariable Long bannerId) {
+        if (!permissionConfig.check(MenuEnum.BANNER_DETAIL.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         BannerDto result = contentBannerService.detailBanner(bannerId);
         return ResponseUtil.success(result);
     }
 
     @GetMapping
     public ResponseVO<Object> listMainBanner() {
-        List<Banner> list = contentBannerService.listBanner();
-        return ResponseUtil.success(list);
+        if (!permissionConfig.check(MenuEnum.BANNER.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
+        if (SecurityUtils.getClientId() != null) {
+            List<Banner> list = contentBannerService.listBanner();
+            return ResponseUtil.success(list);
+        } else {
+            return ResponseUtil.success(contentBannerService.list());
+        }
+
     }
 
     @PostMapping("/delete/{bannerId}")
     public ResponseVO<Object> deleteBanner(@PathVariable Long bannerId) {
+        if (!permissionConfig.check(MenuEnum.BANNER_DELETE.getCode())) {
+            return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+        }
         boolean result = contentBannerService.deleteBanner(bannerId);
         if (result) {
             return ResponseUtil.success("鍒犻櫎鎴愬姛");

--
Gitblit v1.9.3