소스 검색

日志搜索完成

wuweihao 5 년 전
부모
커밋
1b9ffaad53
21개의 변경된 파일323개의 추가작업 그리고 156개의 파일을 삭제
  1. 17 4
      xiaoan-common/src/main/java/com/xiaoan/common/model/PageDto.java
  2. 0 2
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/IssueRepository.java
  3. 31 15
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/LogRepository.java
  4. 2 0
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/RoleRepository.java
  5. 11 5
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/SceneRepository.java
  6. 39 0
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/provider/LogProvider.java
  7. 71 49
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/provider/SceneProvider.java
  8. 1 1
      xiaoan-dao/src/main/java/com/xiaoan/dao/backend/provider/UserProvider.java
  9. 4 3
      xiaoan-domain/src/main/java/com/xiaoan/domain/dto/request/SceneProRequest.java
  10. 1 1
      xiaoan-service/src/main/java/com/xiaoan/service/backend/LogService.java
  11. 2 2
      xiaoan-service/src/main/java/com/xiaoan/service/backend/SceneService.java
  12. 11 10
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/LogServiceImpl.java
  13. 7 7
      xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/SceneServiceImpl.java
  14. 1 1
      xiaoan-web/src/main/java/com/xiaoan/web/aop/WebLogAspect.java
  15. 1 1
      xiaoan-web/src/main/java/com/xiaoan/web/backend/ExceptionController.java
  16. 2 2
      xiaoan-web/src/main/java/com/xiaoan/web/backend/IndexController.java
  17. 12 3
      xiaoan-web/src/main/java/com/xiaoan/web/backend/IssueController.java
  18. 10 31
      xiaoan-web/src/main/java/com/xiaoan/web/backend/LogController.java
  19. 6 6
      xiaoan-web/src/main/java/com/xiaoan/web/backend/PersonalCenterController.java
  20. 39 9
      xiaoan-web/src/main/java/com/xiaoan/web/backend/SceneController.java
  21. 55 4
      xiaoan-web/src/main/java/com/xiaoan/web/backend/TestController.java

+ 17 - 4
xiaoan-common/src/main/java/com/xiaoan/common/model/PageDto.java

@@ -11,18 +11,31 @@ import java.util.Date;
 @Data
 public class PageDto {
 
+    /**
+     * 起始页码,默认0为第一页
+     */
     private int pageNum;
 
+    /**
+     * 每页条数
+     */
     private int pageSize;
 
     /**
      * 搜索条件
      */
-    private String itemName;
+    private String searchKey;
 
-//    private Date startDate;
-//
-//    private Date endDate;
+    /**
+     * 开始时间
+     * 需要用字符串接收
+     */
+    private String startTime;
+
+    /**
+     * 结束时间
+     */
+    private String endTime;
 
 
 

+ 0 - 2
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/IssueRepository.java

@@ -21,8 +21,6 @@ public interface IssueRepository extends IBaseRepository<IssueEntity, Long> {
     /**
      * 关联查询
      */
-//    @Select(value = "select l.type, l.description, l.create_time, u.user_name, u.real_name from tb_log l left join tb_user u on l.user_id = u.id order by create_time desc")
-//    List<LogResponse> findAllToUserName();
 
     @Select(value = "select l.title, l.content, l.create_time, u.user_name, u.real_name from tb_issue l left join tb_user u on l.user_id = u.id " +
             "where (u.user_name like #{itemName} or #{itemName} is null) " +

+ 31 - 15
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/LogRepository.java

@@ -1,11 +1,17 @@
 package com.xiaoan.dao.backend;
 
+import com.xiaoan.common.model.PageDto;
+//import com.xiaoan.dao.backend.provider.LogProvider;
+import com.xiaoan.dao.backend.provider.LogProvider;
+import com.xiaoan.dao.backend.provider.SceneProvider;
 import com.xiaoan.domain.backend.LogEntity;
 import com.xiaoan.domain.dto.response.LogResponse;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.SelectProvider;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 
 
@@ -22,19 +28,29 @@ public interface LogRepository extends IBaseRepository<LogEntity, Long> {
     @Select(value = "select l.type, l.description, l.create_time, u.user_name, u.real_name from tb_log l left join tb_user u on l.user_id = u.id order by create_time desc")
     List<LogResponse> findAllToUserName();
 
-    @Select(value = "select l.type, l.description, l.create_time, u.user_name, u.real_name from tb_log l left join tb_user u on l.user_id = u.id " +
-            "where (u.user_name like #{itemName} or #{itemName} is null) " +
-            "or (u.real_name like #{itemName} or #{itemName} is null) " +
-            "or (l.description like #{itemName} or #{itemName} is null) " +
-            "or (l.type like #{itemName} or #{itemName} is null) " +
-            "order by create_time desc")
-    List<LogResponse> search(String itemName);
-
-    @Select(value = "select l.type, l.description, l.create_time, u.user_name, u.real_name from tb_log l left join tb_user u on l.user_id = u.id " +
-            "where ((u.user_name like #{itemName} or #{itemName} is null) " +
-            "or (u.real_name like #{itemName} or #{itemName} is null) " +
-            "or (l.description like #{itemName} or #{itemName} is null) " +
-            "or (l.type like #{itemName} or #{itemName} is null)) " +
-            "and l.user_id = #{userId} order by create_time desc")
-    List<LogResponse> searchByUserId(String itemName, Long userId);
+
+
+//    @Select(value = "select l.type, l.description, l.create_time, u.user_name, u.real_name from tb_log l left join tb_user u on l.user_id = u.id " +
+//            "where ((l.create_time >= #{startTime}) and (l.create_time <= #{endTime})) " +
+//            "and ((u.user_name like #{searchKey} or #{searchKey} is null) " +
+//            "or (u.real_name like #{searchKey} or #{searchKey} is null) " +
+//            "or (l.description like #{searchKey} or #{searchKey} is null) " +
+//            "or (l.type like #{searchKey} or #{searchKey} is null))" +
+//            "order by create_time desc")
+//    List<LogResponse> search(String searchKey, String startTime, String endTime);
+
+
+    /**
+     * 注意日期,需要传字符串类型
+     */
+    @SelectProvider(type = LogProvider.class, method = "findAllBySearchKey")
+    List<LogResponse> searchProvider(PageDto param);
+
+//    @Select(value = "select l.type, l.description, l.create_time, u.user_name, u.real_name from tb_log l left join tb_user u on l.user_id = u.id " +
+//            "where ((u.user_name like #{itemName} or #{itemName} is null) " +
+//            "or (u.real_name like #{itemName} or #{itemName} is null) " +
+//            "or (l.description like #{itemName} or #{itemName} is null) " +
+//            "or (l.type like #{itemName} or #{itemName} is null)) " +
+//            "and l.user_id = #{userId} order by create_time desc")
+//    List<LogResponse> searchByUserId(String itemName, Long userId, Date startTime, Date endTime);
 }

+ 2 - 0
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/RoleRepository.java

@@ -3,6 +3,7 @@ package com.xiaoan.dao.backend;
 import com.xiaoan.domain.backend.RoleEntity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigInteger;
@@ -11,6 +12,7 @@ import java.util.Set;
 /**
  * Created by owen on 2020/2/18 0018 11:13
  */
+@Component
 @Mapper
 public interface RoleRepository extends IBaseRepository<RoleEntity, Long> {
 

+ 11 - 5
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/SceneRepository.java

@@ -4,6 +4,7 @@ import com.xiaoan.dao.backend.provider.SceneProvider;
 import com.xiaoan.dao.backend.provider.UserProvider;
 import com.xiaoan.domain.backend.SceneProEntity;
 import com.xiaoan.domain.dto.request.SceneProRequest;
+import com.xiaoan.domain.dto.response.LogResponse;
 import com.xiaoan.domain.dto.response.SceneResponse;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Select;
@@ -23,12 +24,17 @@ import java.util.Map;
 @Mapper
 public interface SceneRepository extends IBaseRepository<SceneProEntity, Long> {
 
-    @Select(value = "SELECT a.id,a.thumb,a.view_count AS viewCount,a.scene_name AS sceneName,a.create_time AS createTime,b.sn_code AS snCode,c.real_name AS realName FROM tb_scene_pro a LEFT JOIN tb_camera b ON a.camera_id = b.id LEFT JOIN tb_user c ON a.user_id = c.id WHERE 1=1 ")
-    Page<Map<String, Object>> findSceneList(String searchKey, Date startTime, Date endTime, List<Long> ids, Pageable pageable);
+//    @Select(value = "SELECT a.id,a.thumb,a.view_count AS viewCount,a.scene_name AS sceneName,a.create_time AS createTime,b.sn_code AS snCode,c.real_name AS realName FROM tb_scene_pro a LEFT JOIN tb_camera b ON a.camera_id = b.id LEFT JOIN tb_user c ON a.user_id = c.id WHERE 1=1 ")
+//    Page<Map<String, Object>> findSceneList(String searchKey, Date startTime, Date endTime, List<Long> ids, Pageable pageable);
 
     @SelectProvider(type = SceneProvider.class, method = "findAllBySearchKey")
-    List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids);
+    List<SceneResponse> findAllBySearchKey(SceneProRequest param, Long userId);
 
-    @SelectProvider(type = SceneProvider.class, method = "findAllBySearchKeyAndUserId")
-    List<SceneResponse> findAllBySearchKeyAndUserId(SceneProRequest param, List<Long> ids, Long userId);
+//    @SelectProvider(type = SceneProvider.class, method = "findAllBySearchKeyAndUserId")
+//    List<SceneResponse> findAllBySearchKeyAndUserId(SceneProRequest param, List<Long> ids, Long userId);
+
+
+//    @Select(value = "select * FROM tb_scene_pro z LEFT JOIN tb_user u ON z.user_id = u.id where (z.create_time <= #{startTime} and z.create_time >= #{endTime}) or" +
+//            "(u.real_name like #{searchKey} or #{searchKey} is null) or (z.scene_name like #{searchKey} or #{searchKey} is null) order by create_time desc " )
+//    List<SceneResponse> searchFindAllBySearchKey(String searchKey, String startTime, String endTime);
 }

+ 39 - 0
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/provider/LogProvider.java

@@ -0,0 +1,39 @@
+package com.xiaoan.dao.backend.provider;
+
+import com.xiaoan.common.model.PageDto;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+
+
+/**
+ * Created by Hb_zzZ on 2020/3/3.
+ */
+@Log4j2
+public class LogProvider {
+
+    public String findAllBySearchKey(PageDto param){
+        StringBuffer sql = new StringBuffer(
+                "select z.type, z.description, z.create_time, u.user_name, u.real_name from tb_log z left join tb_user u on z.user_id = u.id where z.rec_status = 'A' ");
+
+
+        if(StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())){
+
+            sql.append(" and z.create_time >= ").append("'").append(param.getStartTime()).append("'");
+            sql.append(" and z.create_time <= ").append("'").append(param.getEndTime()).append("'");
+        }
+
+        String searchKey = param.getSearchKey();
+        if(!StringUtils.isAllBlank(searchKey)){
+            sql.append(" and (( u.user_name like '%").append(searchKey).append("%' )");
+            sql.append(" or ( z.description like '%").append(searchKey).append("%' )");
+            sql.append(" or ( z.type like '%").append(searchKey).append("%' ))");
+        }
+
+        sql.append(" order by create_time desc");
+        log.info("sql: {}", sql.toString());
+        return sql.toString();
+    }
+
+
+
+}

+ 71 - 49
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/provider/SceneProvider.java

@@ -1,43 +1,62 @@
 package com.xiaoan.dao.backend.provider;
 
 import com.xiaoan.domain.dto.request.SceneProRequest;
+import lombok.extern.log4j.Log4j2;
 import org.apache.commons.lang3.StringUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
  * Created by Hb_zzZ on 2020/3/3.
  */
+@Log4j2
 public class  SceneProvider {
 
-    public String findAllBySearchKey(SceneProRequest param, List<Long> ids){
+    public String findAllBySearchKey(SceneProRequest param, Long userId){
         StringBuffer sql = new StringBuffer("SELECT a.id, a.thumb, a.view_count, " +
                 "a.scene_name, a.create_time, b.sn_code, c.real_name " +
                 "FROM tb_scene_pro a LEFT JOIN tb_camera b ON a.camera_id = b.id " +
                 "LEFT JOIN tb_user c ON a.user_id = c.id where a.rec_status = 'A' ");
 
-        if(param.getStartTime() != null && param.getEndTime() != null){
-            sql.append(" and a.create_time >= ").append(param.getStartTime());
-            sql.append(" and a.create_time <= ").append(param.getEndTime());
+        if(StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())){
+            sql.append(" and a.create_time >= ").append("'").append(param.getStartTime()).append("'");
+            sql.append(" and a.create_time <= ").append("'").append(param.getEndTime()).append("'");
         }
         if(StringUtils.isNotEmpty(param.getSearchKey())){
-            sql.append("and a.scene_name like '%").append(param.getSearchKey()).append("%'");
-        }
-        if(ids != null && ids.size() > 0){
-            sql.append(" and c.id in(");
-            for(int i = 0, len = ids.size(); i < len; i ++){
-                if(i == len){
-                    sql.append(ids.get(i));
-                }else {
-                    sql.append(ids.get(i)).append(",");
-                }
-            }
+            sql.append(" and ( a.scene_name like '%").append(param.getSearchKey()).append("%'");
+            sql.append("or c.real_name like '%").append(param.getSearchKey()).append("%' )");
         }
+
+//        if(ids != null && ids.size() > 0){
+//            sql.append(" and c.id in(");
+//            for(int i = 0, len = ids.size(); i < len; i ++){
+//
+//                if(len == 1){
+//                    sql.append(ids.get(i));
+//                } else {
+//                    if (i == len-1 ) {
+//                        sql.append(ids.get(i));
+//                    } else {
+//                        sql.append(ids.get(i)).append(",");
+//                    }
+//                }
+//            }
+//            sql.append(" )");
+//        }
+//
         if(param.getStatus() != null){
             sql.append(" and a.status = ").append(param.getStatus());
         }
 
+        if (userId != null) {
+            sql.append(" and a.user_id = ").append(userId);
+        }
+
         sql.append(" order by create_time desc");
+
+        log.info("sql: {}", sql.toString());
+
         return sql.toString();
     }
 
@@ -48,39 +67,42 @@ public class  SceneProvider {
      * @param ids
      * @return
      */
-    public String findAllBySearchKeyAndUserId(SceneProRequest param, List<Long> ids, Long userId){
-        StringBuffer sql = new StringBuffer("SELECT a.id, a.thumb, a.view_count, " +
-                "a.scene_name, a.create_time, b.sn_code, c.real_name " +
-                "FROM tb_scene_pro a LEFT JOIN tb_camera b ON a.camera_id = b.id " +
-                "LEFT JOIN tb_user c ON a.user_id = c.id where a.rec_status = 'A' ");
-
-        if (userId != null) {
-            sql.append(" and a.user_id = ").append(userId);
-        }
-
-        if(param.getStartTime() != null && param.getEndTime() != null){
-            sql.append(" and a.create_time >= ").append(param.getStartTime());
-            sql.append(" and a.create_time <= ").append(param.getEndTime());
-        }
-        if(StringUtils.isNotEmpty(param.getSearchKey())){
-            sql.append("and a.scene_name like '%").append(param.getSearchKey()).append("%'");
-        }
-        if(ids != null && ids.size() > 0){
-            sql.append(" and c.id in(");
-            for(int i = 0, len = ids.size(); i < len; i ++){
-                if(i == len){
-                    sql.append(ids.get(i));
-                }else {
-                    sql.append(ids.get(i)).append(",");
-                }
-            }
-        }
-        if(param.getStatus() != null){
-            sql.append(" and a.status = ").append(param.getStatus());
-        }
-
-        sql.append(" order by create_time desc");
-        return sql.toString();
-    }
+//    public String findAllBySearchKeyAndUserId(SceneProRequest param, List<Long> ids, Long userId){
+//        StringBuffer sql = new StringBuffer("SELECT a.id, a.thumb, a.view_count, " +
+//                "a.scene_name, a.create_time, b.sn_code, c.real_name " +
+//                "FROM tb_scene_pro a LEFT JOIN tb_camera b ON a.camera_id = b.id " +
+//                "LEFT JOIN tb_user c ON a.user_id = c.id where a.rec_status = 'A' ");
+//
+//        if (userId != null) {
+//            sql.append(" and a.user_id = ").append(userId);
+//        }
+//
+//        if(StringUtils.isNotBlank(param.getStartTime()) && StringUtils.isNotBlank(param.getEndTime())){
+//            sql.append(" and a.create_time >= ").append("'").append(param.getStartTime()).append("'");
+//            sql.append(" and a.create_time <= ").append("'").append(param.getEndTime()).append("'");
+//        }
+//
+//        if(StringUtils.isNotEmpty(param.getSearchKey())){
+//            sql.append("or a.scene_name like '%").append(param.getSearchKey()).append("%'");
+//            sql.append("or c.real_name like '%").append(param.getSearchKey()).append("%'");
+//        }
+//        if(ids != null && ids.size() > 0){
+//            sql.append(" and c.id in(");
+//            for(int i = 0, len = ids.size(); i < len; i ++){
+//                if(i == len){
+//                    sql.append(ids.get(i));
+//                }else {
+//                    sql.append(ids.get(i)).append(",");
+//                }
+//            }
+//            sql.append(" )");
+//        }
+//        if(param.getStatus() != null){
+//            sql.append(" and a.status = ").append(param.getStatus());
+//        }
+//
+//        sql.append(" order by create_time desc");
+//        return sql.toString();
+//    }
 
 }

+ 1 - 1
xiaoan-dao/src/main/java/com/xiaoan/dao/backend/provider/UserProvider.java

@@ -10,7 +10,7 @@ public class UserProvider {
                 "a.user_name, a.email, a.user_num, a.create_time, b.name as department_name, d.role_name " +
                 "FROM `tb_user` a LEFT JOIN `tb_department` b ON a.department_id = b.id " +
                 "LEFT JOIN `tb_user_role` c ON a.id = c.user_id " +
-                "LEFT JOIN `tb_role` d ON c.role_id = d.id where a.rec_status = 0 ");
+                "LEFT JOIN `tb_role` d ON c.role_id = d.id where a.rec_status = 'A' ");
         if(searchKey != null){
             sql.append(" and(");
             sql.append(" a.real_name like '%").append(searchKey).append("%'");

+ 4 - 3
xiaoan-domain/src/main/java/com/xiaoan/domain/dto/request/SceneProRequest.java

@@ -11,11 +11,12 @@ import java.util.Date;
 @Data
 public class SceneProRequest extends PageDto{
 
-    private String searchKey;
+//    private String searchKey;
 
     private Integer status;
 
-    private Date startTime;
 
-    private Date endTime;
+//    private Date startTime;
+//
+//    private Date endTime;
 }

+ 1 - 1
xiaoan-service/src/main/java/com/xiaoan/service/backend/LogService.java

@@ -16,5 +16,5 @@ public interface LogService extends IBaseService<LogEntity, Long> {
 
     List<LogResponse> search(PageDto param);
 
-    List<LogResponse> search(PageDto param, Long userId);
+//    List<LogResponse> search(PageDto param, Long userId);
 }

+ 2 - 2
xiaoan-service/src/main/java/com/xiaoan/service/backend/SceneService.java

@@ -14,7 +14,7 @@ import java.util.Map;
  */
 public interface SceneService extends IBaseService<SceneProEntity, Long> {
 
-    List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids);
+    List<SceneResponse> findAllBySearchKey(SceneProRequest param, Long userId);
 
-    List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids, Long userId);
+//    List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids, Long userId);
 }

+ 11 - 10
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/LogServiceImpl.java

@@ -38,16 +38,17 @@ public class LogServiceImpl extends BaseServiceImpl<LogEntity, Long> implements
     @Override
     public List<LogResponse> search(PageDto param) {
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
-        String itemName = param.getItemName();
-        itemName = "%" + itemName + "%";
-        return entityMapper.search(itemName);
+        String searchKey = param.getSearchKey();
+        searchKey = "%" + searchKey + "%";
+        return entityMapper.search(searchKey, param.getStartTime(), param.getEndTime());
     }
 
-    @Override
-    public List<LogResponse> search(PageDto param, Long userId) {
-        PageHelper.startPage(param.getPageNum(), param.getPageSize());
-        String itemName = param.getItemName();
-        itemName = "%" + itemName + "%";
-        return entityMapper.searchByUserId(itemName, userId);
-    }
+//    @Override
+//    public List<LogResponse> search(PageDto param, Long userId) {
+//        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+//        String searchKey = param.getSearchKey();
+//        searchKey = "%" + searchKey + "%";
+//        return entityMapper.searchByUserId(searchKey, userId, param.getStartTime(), param.getEndTime());
+//        return null;
+//    }
 }

+ 7 - 7
xiaoan-service/src/main/java/com/xiaoan/service/backend/impl/SceneServiceImpl.java

@@ -34,14 +34,14 @@ public class SceneServiceImpl extends BaseServiceImpl<SceneProEntity, Long> impl
     }
 
     @Override
-    public List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids) {
+    public List<SceneResponse> findAllBySearchKey(SceneProRequest param, Long userId) {
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
-        return sceneRepository.findAllBySearchKey(param, ids);
+        return sceneRepository.findAllBySearchKey(param, userId);
     }
 
-    @Override
-    public List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids, Long userId) {
-        PageHelper.startPage(param.getPageNum(), param.getPageSize());
-        return sceneRepository.findAllBySearchKeyAndUserId(param, ids, userId);
-    }
+//    @Override
+//    public List<SceneResponse> findAllBySearchKey(SceneProRequest param, List<Long> ids, Long userId) {
+//        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+//        return sceneRepository.findAllBySearchKeyAndUserId(param, ids, userId);
+//    }
 }

+ 1 - 1
xiaoan-web/src/main/java/com/xiaoan/web/aop/WebLogAspect.java

@@ -66,7 +66,7 @@ public class WebLogAspect {
         logEntity.setDescription(detail.get(1));
         logEntity.setUserId(userId);
 
-        logService.save(logEntity);
+//        logService.save(logEntity);
 
     }
 

+ 1 - 1
xiaoan-web/src/main/java/com/xiaoan/web/backend/ExceptionController.java

@@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletRequest;
  * 统一捕捉异常,自定义返回参数
  * 这里只可以捕获controller层的异常。
  */
-@RestControllerAdvice
+//@RestControllerAdvice
 public class ExceptionController {
 
     // 捕捉shiro的异常

+ 2 - 2
xiaoan-web/src/main/java/com/xiaoan/web/backend/IndexController.java

@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
  */
 @Api(tags = "IndexController", description = "后台登录管理")
 @RestController
-@RequestMapping("api/manage/user")
+//@RequestMapping("api/manage/user")
 @Transactional
 @Log4j2
 public class IndexController {
@@ -46,7 +46,7 @@ public class IndexController {
 
 
     @ApiOperation("查询用户信息")
-    @PostMapping(value = "/login")
+    @PostMapping(value = "admin/login")
     public ResultJson login(@RequestBody UserRequest param) throws Exception {
         log.warn("run login , userName:{}, password:{}", param.getUserName(), param.getPassword());
         // 1.获取用户

+ 12 - 3
xiaoan-web/src/main/java/com/xiaoan/web/backend/IssueController.java

@@ -15,6 +15,7 @@ import com.xiaoan.web.aop.WebControllerLog;
 import com.xiaoan.web.shiro.JWTUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresRoles;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -43,11 +44,11 @@ public class IssueController extends BaseController {
      */
     @WebControllerLog(description = "问题反馈-问题搜索/列表")
     @ApiOperation("搜索/列表共用")
-    @PostMapping("search")
-    public ResultJson search(@RequestBody PageDto param){
+    @PostMapping("list")
+    public ResultJson list(@RequestBody PageDto param){
 
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
-        List<IssueResponse> list = issueService.search(param.getItemName());
+        List<IssueResponse> list = issueService.search(param.getSearchKey());
 //        List userRole = JWTUtil.getUserRole(getToken());
 //        if (userRole.contains("admin")) {
 //            list = issueService.search(param.getItemName());
@@ -73,6 +74,10 @@ public class IssueController extends BaseController {
         return new ResultJson(MsgCode.SUCCESS_CODE, MsgCode.SUCCESS_MSG);
     }
 
+    /**
+     * 只有管理员才能回复问题
+     */
+    @RequiresRoles("admin")
     @WebControllerLog(description = "问题反馈-回复问题")
     @ApiOperation("回复问题")
     @PostMapping("edit/{id}/{item}")
@@ -91,6 +96,10 @@ public class IssueController extends BaseController {
         return new ResultJson(MsgCode.SUCCESS_CODE, MsgCode.SUCCESS_MSG);
     }
 
+    /**
+     * 只有管理员才能删除问题
+     */
+    @RequiresRoles("admin")
     @WebControllerLog(description = "问题反馈-删除问题")
     @ApiOperation("删除问题")
     @PostMapping("delete/{id}")

+ 10 - 31
xiaoan-web/src/main/java/com/xiaoan/web/backend/LogController.java

@@ -1,35 +1,29 @@
 package com.xiaoan.web.backend;
 
-import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.xiaoan.common.constant.MsgCode;
 import com.xiaoan.common.model.PageDto;
-import com.xiaoan.common.util.PasswordUtils;
 import com.xiaoan.common.util.ResultJson;
-import com.xiaoan.domain.backend.LogEntity;
-import com.xiaoan.domain.backend.UserEntity;
-import com.xiaoan.domain.dto.request.UserRequest;
-import com.xiaoan.domain.dto.response.IssueResponse;
 import com.xiaoan.domain.dto.response.LogResponse;
-import com.xiaoan.domain.dto.response.UserResponse;
 import com.xiaoan.service.backend.LogService;
-import com.xiaoan.service.backend.UserService;
 import com.xiaoan.web.aop.WebControllerLog;
 import com.xiaoan.web.shiro.JWTUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 
 /**
  * Created by owen on 2020/2/18 0018 12:17
  */
+/**
+ * 只有管理员才看日志
+ */
+//@RequiresRoles("admin")
 @Api(tags = "LogController", description = "后台操作日志")
 @RestController
 @RequestMapping("api/manage/log")
@@ -39,31 +33,16 @@ public class LogController extends BaseController {
     @Autowired
     private LogService logService;
 
-//    @WebControllerLog(description = "操作日志-查看日志列表")
-//    @ApiOperation("分页获取日志列表")
-//    @PostMapping("list")
-//    public ResultJson list(@RequestBody PageDto param){
-//        PageHelper.startPage(param.getPageNum(), param.getPageSize());
-//        List<LogResponse> list = logService.findAllToUserName();
-//        PageInfo<LogResponse> pageInfo = new PageInfo<>(list);
-//
-//        return new ResultJson(MsgCode.SUCCESS_CODE, pageInfo);
-//    }
 
+    /**
+     * 疑问:搜索是否应该有个起始/结束时间
+     */
     @WebControllerLog(description = "操作日志-日志搜索/列表")
     @ApiOperation("搜索/列表共用")
-    @PostMapping("search")
-    public ResultJson search(@RequestBody PageDto param){
-
-        List<LogResponse> list = null;
+    @PostMapping("list")
+    public ResultJson list(@RequestBody PageDto param){
 
-        List userRole = JWTUtil.getUserRole(getToken());
-        if (userRole.contains("admin")) {
-            list = logService.search(param);
-        } else {
-            Long userId = JWTUtil.getUserId(getToken());
-            list = logService.search(param, userId);
-        }
+        List<LogResponse> list = logService.search(param);
 
         PageInfo<LogResponse> pageInfo = new PageInfo<>(list);
         return new ResultJson(MsgCode.SUCCESS_CODE, pageInfo);

+ 6 - 6
xiaoan-web/src/main/java/com/xiaoan/web/backend/PersonalCenterController.java

@@ -40,18 +40,18 @@ public class PersonalCenterController extends BaseController {
     @ApiOperation("获取场景列表/搜索")
     @PostMapping("scene/list")
     public ResultJson findSceneList(@RequestBody SceneProRequest param){
-        List<Long> ids = null;
-        if(StringUtils.isNotEmpty(param.getSearchKey())){
-            ids = userService.findUserIdByRealName(param.getSearchKey());
-        }
+//        List<Long> ids = null;
+//        if(StringUtils.isNotEmpty(param.getSearchKey())){
+//            ids = userService.findUserIdByRealName(param.getSearchKey());
+//        }
 
         List<SceneResponse> list = null;
         List userRole = JWTUtil.getUserRole(getToken());
         if (userRole.contains("admin")) {
-            list = sceneService.findAllBySearchKey(param, ids);
+            list = sceneService.findAllBySearchKey(param, null);
         } else {
             Long userId = JWTUtil.getUserId(getToken());
-            list = sceneService.findAllBySearchKey(param, ids, userId);
+            list = sceneService.findAllBySearchKey(param, userId);
         }
 
         PageInfo<SceneResponse> pageInfo = new PageInfo<SceneResponse>(list);

+ 39 - 9
xiaoan-web/src/main/java/com/xiaoan/web/backend/SceneController.java

@@ -10,6 +10,7 @@ import com.xiaoan.domain.dto.response.UserResponse;
 import com.xiaoan.service.backend.SceneService;
 import com.xiaoan.service.backend.UserService;
 import com.xiaoan.web.aop.WebControllerLog;
+import com.xiaoan.web.shiro.JWTUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
@@ -30,7 +31,7 @@ import java.util.Set;
 @RestController
 @RequestMapping("api/manage/scene")
 @Transactional
-public class SceneController {
+public class SceneController extends BaseController {
 
     @Autowired
     private SceneService sceneService;
@@ -38,18 +39,47 @@ public class SceneController {
     @Autowired
     private UserService userService;
 
+    /**
+     * 根据场景名称,拍摄人查询
+     * 需要分角色
+     */
+//    @WebControllerLog(description = "场景管理-场景搜索/列表")
+//    @ApiOperation("获取场景列表")
+//    @PostMapping("/findSceneList")
+//    public ResultJson findSceneList(@RequestBody SceneProRequest param){
+//        List<Long> ids = null;
+//        if(StringUtils.isNotEmpty(param.getSearchKey())){
+//            ids = userService.findUserIdByRealName(param.getSearchKey());
+//        }
+//
+//        PageInfo<SceneResponse> pageInfo = new PageInfo<SceneResponse>(sceneService.findAllBySearchKey(param, ids));
+//        return new ResultJson(MsgCode.SUCCESS_CODE, pageInfo);
+//    }
+
+
+    /**
+     * 根据场景名称,拍摄人查询
+     * 需要分角色
+     */
     @WebControllerLog(description = "场景管理-场景搜索/列表")
     @ApiOperation("获取场景列表")
-    @PostMapping("/findSceneList")
-    public ResultJson findSceneList(@RequestBody SceneProRequest param){
-        List<Long> ids = null;
-        if(StringUtils.isNotEmpty(param.getSearchKey())){
-            ids = userService.findUserIdByRealName(param.getSearchKey());
-        }
-
+    @PostMapping("list")
+    public ResultJson list(@RequestBody SceneProRequest param){
+//        List<Long> ids = null;
+//        if(StringUtils.isNotEmpty(param.getSearchKey())){
+//            ids = userService.findUserIdByRealName(param.getSearchKey());
+//        }
 
+        List<SceneResponse> list = null;
+        List userRole = JWTUtil.getUserRole(getToken());
+        if (userRole.contains("admin")) {
+            list = sceneService.findAllBySearchKey(param, null);
+        } else {
+            Long userId = JWTUtil.getUserId(getToken());
+            list = sceneService.findAllBySearchKey(param, userId);
+        }
 
-        PageInfo<SceneResponse> pageInfo = new PageInfo<SceneResponse>(sceneService.findAllBySearchKey(param, ids));
+        PageInfo<SceneResponse> pageInfo = new PageInfo<SceneResponse>(list);
         return new ResultJson(MsgCode.SUCCESS_CODE, pageInfo);
     }
 }

+ 55 - 4
xiaoan-web/src/main/java/com/xiaoan/web/backend/TestController.java

@@ -1,20 +1,24 @@
 package com.xiaoan.web.backend;
 
 import com.xiaoan.common.constant.MsgCode;
+import com.xiaoan.common.model.PageDto;
 import com.xiaoan.common.util.ResultJson;
+import com.xiaoan.dao.backend.LogRepository;
 import com.xiaoan.dao.backend.RoleRepository;
+import com.xiaoan.dao.backend.SceneRepository;
 import com.xiaoan.dao.backend.UserRepository;
 import com.xiaoan.domain.backend.UserEntity;
+import com.xiaoan.domain.dto.request.SceneProRequest;
+import com.xiaoan.domain.dto.response.LogResponse;
+import com.xiaoan.domain.dto.response.SceneResponse;
 import com.xiaoan.service.backend.ResourceService;
 import com.xiaoan.service.backend.UserService;
 import com.xiaoan.service.backend.dto.ResourceTree;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
 import java.util.List;
@@ -39,10 +43,57 @@ public class TestController {
     @Autowired
     private ResourceService resourceService;
 
+    @Autowired
+    private LogRepository logRepository;
+
+    @Autowired
+    private SceneRepository sceneRepository;
+
+
 
     @Autowired
     private RedisTemplate<String, String> redisTemplate;
 
+    @ApiOperation("测试scene按日期查询")
+    @PostMapping("scene/search/date")
+    public ResultJson sceneSearch(@RequestBody PageDto page){
+        String searchKey = page.getSearchKey();
+        searchKey = "%"+ searchKey +"%";
+//        List<SceneResponse> sceneResponses = sceneRepository.searchFindAllBySearchKey(searchKey, page.getStartTime(), page.getEndTime());
+
+        return new ResultJson(2000, "");
+    }
+
+    @ApiOperation("测试按log日期查询")
+    @PostMapping("log/search/date")
+    public ResultJson logSearch(@RequestBody PageDto page){
+        String searchKey = page.getSearchKey();
+        searchKey = "%"+ searchKey +"%";
+        List<LogResponse> search = logRepository.search(searchKey, page.getStartTime(), page.getEndTime());
+
+        return new ResultJson(2000, search);
+    }
+
+
+    @ApiOperation("测试按logSearchProvider日期查询")
+    @PostMapping("log/search/logSearchProvider")
+    public ResultJson logSearchProvider(@RequestBody PageDto page){
+
+        List<LogResponse> list = logRepository.searchProvider(page);
+        return new ResultJson(2000, list);
+    }
+
+    @ApiOperation("测试按sceneSearchProvider日期查询")
+    @PostMapping("scene/search/sceneSearchProvider")
+    public ResultJson sceneSearchProvider(@RequestBody SceneProRequest param ){
+        List<SceneResponse> list = sceneRepository.findAllBySearchKey(param, null);
+
+        return new ResultJson(2000, list);
+    }
+
+
+
+
     @GetMapping("redis")
     public String redis(){
         redisTemplate.boundSetOps("owen1111").add("1","2","3");