Kaynağa Gözat

完成主题管理

wuweihao 5 yıl önce
ebeveyn
işleme
ab688b703a
34 değiştirilmiş dosya ile 1091 ekleme ve 33 silme
  1. 3 0
      gis_common/src/main/java/com/gis/common/constant/TypeCode.java
  2. 31 0
      gis_domain/src/main/java/com/gis/domain/dto/SlideshowDto.java
  3. 16 0
      gis_domain/src/main/java/com/gis/domain/dto/SlideshowPageDateDto.java
  4. 37 0
      gis_domain/src/main/java/com/gis/domain/po/LogEntity.java
  5. 56 0
      gis_domain/src/main/java/com/gis/domain/po/SlideshowEntity.java
  6. 33 0
      gis_domain/src/main/java/com/gis/domain/po/TopicEntity.java
  7. 24 0
      gis_domain/src/main/java/com/gis/domain/vo/LogVo.java
  8. 45 0
      gis_domain/src/main/java/com/gis/domain/vo/SlideshowVo.java
  9. 25 0
      gis_mapper/src/main/java/com/gis/mapper/CommonMapper.java
  10. 10 5
      gis_mapper/src/main/java/com/gis/mapper/FileMapper.java
  11. 23 0
      gis_mapper/src/main/java/com/gis/mapper/LogMapper.java
  12. 9 0
      gis_mapper/src/main/java/com/gis/mapper/SceneMapper.java
  13. 20 0
      gis_mapper/src/main/java/com/gis/mapper/SlideshowMapper.java
  14. 1 6
      gis_mapper/src/main/java/com/gis/mapper/provider/FileProvider.java
  15. 39 0
      gis_mapper/src/main/java/com/gis/mapper/provider/LogProvider.java
  16. 1 1
      gis_mapper/src/main/java/com/gis/mapper/provider/NewsProvider.java
  17. 27 0
      gis_mapper/src/main/java/com/gis/mapper/provider/SceneProvider.java
  18. 55 0
      gis_mapper/src/main/java/com/gis/mapper/provider/SlideshowProvider.java
  19. 6 0
      gis_service/src/main/java/com/gis/service/FileService.java
  20. 18 0
      gis_service/src/main/java/com/gis/service/LogService.java
  21. 5 0
      gis_service/src/main/java/com/gis/service/SceneService.java
  22. 20 0
      gis_service/src/main/java/com/gis/service/SlideshowService.java
  23. 12 0
      gis_service/src/main/java/com/gis/service/impl/FileServiceImpl.java
  24. 34 0
      gis_service/src/main/java/com/gis/service/impl/LogServiceImpl.java
  25. 8 0
      gis_service/src/main/java/com/gis/service/impl/SceneServiceImpl.java
  26. 34 0
      gis_service/src/main/java/com/gis/service/impl/SlideshowServiceImpl.java
  27. 16 3
      gis_web/src/main/java/com/gis/web/controller/FileController.java
  28. 35 14
      gis_web/src/main/java/com/gis/web/controller/GoodsController.java
  29. 48 0
      gis_web/src/main/java/com/gis/web/controller/LogController.java
  30. 89 0
      gis_web/src/main/java/com/gis/web/controller/SceneController.java
  31. 134 0
      gis_web/src/main/java/com/gis/web/controller/SlideshowController.java
  32. 47 0
      gis_web/src/main/java/com/gis/web/controller/TopicController.java
  33. 126 3
      gis_web/src/main/java/com/gis/web/controller/WebController.java
  34. 4 1
      help.md

+ 3 - 0
gis_common/src/main/java/com/gis/common/constant/TypeCode.java

@@ -10,4 +10,7 @@ public class TypeCode {
 
     /**api token key*/
     public static final String TOKEN_API_KEY = "apiKey";
+
+    /**文件外键id前缀*/
+    public static final String FILE_GOODS = "goods_";
 }

+ 31 - 0
gis_domain/src/main/java/com/gis/domain/dto/SlideshowDto.java

@@ -0,0 +1,31 @@
+package com.gis.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * Created by owen on 2020/5/9 0009 12:20
+ */
+@Data
+public class SlideshowDto {
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
+    private Long id;
+
+    @NotBlank(message = "标题不能为空")
+    @ApiModelProperty(value = "标题", required = true )
+    private String title;
+
+    @ApiModelProperty(value = "场景url")
+    private String webSite;
+
+    @ApiModelProperty(value = "高清图url")
+    private String img;
+
+    @ApiModelProperty(value = "缩略图url")
+    private String thumb;
+
+}

+ 16 - 0
gis_domain/src/main/java/com/gis/domain/dto/SlideshowPageDateDto.java

@@ -0,0 +1,16 @@
+package com.gis.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by owen on 2020/5/9 0009 12:20
+ */
+@Data
+public class SlideshowPageDateDto extends PageDateDto {
+
+    @ApiModelProperty(value = "状态,1:审核通过,0:待审核")
+    private Integer auditStatus;
+
+
+}

+ 37 - 0
gis_domain/src/main/java/com/gis/domain/po/LogEntity.java

@@ -0,0 +1,37 @@
+package com.gis.domain.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * 收集日志实体类
+ */
+@NoArgsConstructor                 //无参构造
+@AllArgsConstructor                //有参构造
+@Data
+@Table(name = "tb_log")
+public class LogEntity extends BaseEntity implements Serializable {
+
+
+    private static final long serialVersionUID = -3394791736156714542L;
+
+    /**
+     * 操作者用户id
+     */
+    private Long userId;
+
+    /**
+     * 操作类型
+     */
+    private String type;
+
+    /**
+     * 操作记录
+     */
+    private String description;
+
+}

+ 56 - 0
gis_domain/src/main/java/com/gis/domain/po/SlideshowEntity.java

@@ -0,0 +1,56 @@
+package com.gis.domain.po;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * Created by owen on 2020/6/10 0010 17:39
+ * 轮播图
+ */
+@Data
+@Table(name = "tb_slideshow")
+public class SlideshowEntity extends BaseEntity implements Serializable {
+
+
+    private static final long serialVersionUID = 213587760750772829L;
+
+    @ApiModelProperty(value = "标题" )
+    private String title;
+
+    @ApiModelProperty(value = "高清图url")
+    private String img;
+
+    @ApiModelProperty(value = "缩略图url")
+    private String thumb;
+
+    @ApiModelProperty(value = "场景url")
+    private String webSite;
+
+    @ApiModelProperty(value = "是否显示,1:是, 0:否")
+    private Integer display;
+
+    @ApiModelProperty(value = "提交用户Id")
+    private Long submitId;
+
+    @ApiModelProperty(value = "审核者Id")
+    private Long auditId;
+
+    @ApiModelProperty(value = "状态,1:草稿中,2:待审核,3:审核不通过,4:审核通过")
+    private Integer status;
+
+    @ApiModelProperty(value = "原因")
+    private String reason;
+
+    @ApiModelProperty(value = "排序")
+    private Integer sort;
+
+
+
+
+
+
+
+}

+ 33 - 0
gis_domain/src/main/java/com/gis/domain/po/TopicEntity.java

@@ -0,0 +1,33 @@
+package com.gis.domain.po;
+
+import lombok.Data;
+
+import javax.persistence.Table;
+import java.io.Serializable;
+
+/**
+ * 主题表
+ */
+@Data
+@Table(name = "tb_topic")
+public class TopicEntity extends BaseEntity implements Serializable {
+
+
+    private static final long serialVersionUID = -3394791736156714542L;
+
+    /**
+     * 操作者用户id
+     */
+    private Long userId;
+
+    /**
+     * 操作类型
+     */
+    private String type;
+
+    /**
+     * 操作记录
+     */
+    private String description;
+
+}

+ 24 - 0
gis_domain/src/main/java/com/gis/domain/vo/LogVo.java

@@ -0,0 +1,24 @@
+package com.gis.domain.vo;
+
+import com.gis.domain.po.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by owen on 2020/5/12.
+ */
+@Data
+public class LogVo extends BaseEntity {
+
+
+    @ApiModelProperty(value = "操作者账号")
+    private String userName;
+
+    @ApiModelProperty(value = "操作类型")
+    private String type;
+
+    @ApiModelProperty(value = "操作记录")
+    private String description;
+
+
+}

+ 45 - 0
gis_domain/src/main/java/com/gis/domain/vo/SlideshowVo.java

@@ -0,0 +1,45 @@
+package com.gis.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Created by owen on 2020/5/9 0009 12:20
+ */
+@Data
+public class SlideshowVo {
+
+    @ApiModelProperty(value = "id, 修改时必须传,新增忽略", name = "id")
+    private Long id;
+
+    @ApiModelProperty(value = "标题" )
+    private String title;
+
+    @ApiModelProperty(value = "场景url")
+    private String webSite;
+
+    @ApiModelProperty(value = "高清图url")
+    private String img;
+
+    @ApiModelProperty(value = "缩略图url")
+    private String thumb;
+
+    @ApiModelProperty(value = "是否显示,1:是, 0:否")
+    private Integer display;
+
+    @ApiModelProperty(value = "提交用户Id")
+    private Long submitId;
+
+    @ApiModelProperty(value = "提交者名称")
+    private String submitName;
+
+    @ApiModelProperty(value = "状态,1:草稿中,2:待审核,3:审核不通过,4:审核通过")
+    private Integer status;
+
+    @ApiModelProperty(value = "原因")
+    private String reason;
+
+    @ApiModelProperty(value = "排序")
+    private Integer sort;
+
+}

+ 25 - 0
gis_mapper/src/main/java/com/gis/mapper/CommonMapper.java

@@ -0,0 +1,25 @@
+package com.gis.mapper;
+
+
+import com.gis.domain.po.CommentEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 公共mapper
+ */
+@Component
+@Mapper
+public interface CommonMapper extends IBaseMapper<CommentEntity, Long> {
+
+    @Select(value = "select * from tb_topic where rec_status = 'A'")
+    Map getTopic();
+
+    @Update(value = "update tb_topic set name = #{topic} where id = #{id} ")
+    void setTopic(Long id, String topic);
+}

+ 10 - 5
gis_mapper/src/main/java/com/gis/mapper/FileMapper.java

@@ -4,13 +4,12 @@ package com.gis.mapper;
 import com.gis.domain.po.FileEntity;
 import com.gis.mapper.provider.FileProvider;
 import com.gis.mapper.provider.SpiritProvider;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.SelectProvider;
-import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.*;
 import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 
 @Component
 @Mapper
@@ -20,6 +19,12 @@ public interface FileMapper extends IBaseMapper<FileEntity, Long> {
 //    @Update(value = "UPDATE tb_file SET fk_id = #{fkId} WHERE id in ( #{ids} )")
 //    void setFkIdByIds(String ids, String fkId);
 
-    @SelectProvider(type = FileProvider.class, method = "search")
+    @SelectProvider(type = FileProvider.class, method = "setFkIdByIds")
     void setFkIdByIds(String ids, String fkId);
+
+    @Select(value = "select * from tb_file where rec_status = 'A' AND fk_id = #{fkId}")
+    List<FileEntity> findByFkId(String fkId);
+
+    @Delete(value = "DELETE FROM tb_file WHERE fk_id = #{fkId}")
+    void deleteByFkId(String fkId);
 }

+ 23 - 0
gis_mapper/src/main/java/com/gis/mapper/LogMapper.java

@@ -0,0 +1,23 @@
+package com.gis.mapper;
+
+
+import com.gis.domain.dto.PageDto;
+import com.gis.domain.po.LogEntity;
+import com.gis.domain.vo.LogVo;
+import com.gis.mapper.provider.LogProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+@Mapper
+public interface LogMapper extends IBaseMapper<LogEntity, Long> {
+
+    /**
+     * 注意日期,需要传字符串类型
+     */
+    @SelectProvider(type = LogProvider.class, method = "findBySearchKey")
+    List<LogVo> search(PageDto param);
+}

+ 9 - 0
gis_mapper/src/main/java/com/gis/mapper/SceneMapper.java

@@ -1,15 +1,24 @@
 package com.gis.mapper;
 
 
+import com.gis.domain.dto.PageDto;
 import com.gis.domain.po.SceneEntity;
+import com.gis.mapper.provider.SceneProvider;
+import com.gis.mapper.provider.SpiritProvider;
 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.List;
+
 @Component
 @Mapper
 public interface SceneMapper extends IBaseMapper<SceneEntity, Long> {
 
     @Select("select * from tb_scene where scene_code = #{m}")
     SceneEntity findBySceneCode(String m);
+
+    @SelectProvider(type = SceneProvider.class, method = "search")
+    List<SceneEntity> search(PageDto param);
 }

+ 20 - 0
gis_mapper/src/main/java/com/gis/mapper/SlideshowMapper.java

@@ -0,0 +1,20 @@
+package com.gis.mapper;
+
+
+import com.gis.domain.dto.SlideshowPageDateDto;
+import com.gis.domain.po.SlideshowEntity;
+import com.gis.domain.vo.SlideshowVo;
+import com.gis.mapper.provider.SlideshowProvider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.SelectProvider;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+@Mapper
+public interface SlideshowMapper extends IBaseMapper<SlideshowEntity, Long> {
+
+    @SelectProvider(type = SlideshowProvider.class, method = "search")
+    List<SlideshowVo> search(SlideshowPageDateDto param);
+}

+ 1 - 6
gis_mapper/src/main/java/com/gis/mapper/provider/FileProvider.java

@@ -1,8 +1,6 @@
 package com.gis.mapper.provider;
 
-import com.gis.domain.dto.GoodsPageDateDto;
 import lombok.extern.log4j.Log4j2;
-import org.apache.commons.lang3.StringUtils;
 
 /**
  * Created by owen on 2020/6/13 0013 10:56
@@ -11,7 +9,7 @@ import org.apache.commons.lang3.StringUtils;
 public class FileProvider {
 
 
-    public String search(String ids, String fkId){
+    public String setFkIdByIds(String ids, String fkId){
         StringBuffer sql = new StringBuffer(
                         "UPDATE tb_file SET");
 
@@ -23,9 +21,6 @@ public class FileProvider {
             sql.append("  WHERE id in ( ").append(ids).append(" )");
         }
 
-
-
-//        sql.append(" order by a.create_time desc");
         log.info("sql: {}", sql.toString());
         return sql.toString();
     }

+ 39 - 0
gis_mapper/src/main/java/com/gis/mapper/provider/LogProvider.java

@@ -0,0 +1,39 @@
+package com.gis.mapper.provider;
+
+import com.gis.domain.dto.PageDto;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+
+
+/**
+ * Created by owen on 2020/5/13.
+ */
+@Log4j2
+public class LogProvider {
+
+    public String findBySearchKey(PageDto param){
+        StringBuffer sql = new StringBuffer(
+                "select z.type, z.description, z.create_time, u.user_name from tb_log z left join sys_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 z.create_time desc");
+        log.info("sql: {}", sql.toString());
+        return sql.toString();
+    }
+
+
+
+}

+ 1 - 1
gis_mapper/src/main/java/com/gis/mapper/provider/NewsProvider.java

@@ -33,7 +33,7 @@ public class NewsProvider {
 
         String type = param.getType();
         if (type != null) {
-            sql.append(" and a.type = ").append(type);
+            sql.append(" and a.type = '").append(type).append("'");
         }
 
         /**

+ 27 - 0
gis_mapper/src/main/java/com/gis/mapper/provider/SceneProvider.java

@@ -0,0 +1,27 @@
+package com.gis.mapper.provider;
+
+import com.gis.domain.dto.PageDto;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * Created by owen on 2020/6/13 0013 10:56
+ */
+@Log4j2
+public class SceneProvider {
+
+
+    public String search(PageDto param){
+        StringBuffer sql = new StringBuffer(
+                "select * from tb_scene where rec_status = 'A' ");
+
+        String searchKey = param.getSearchKey();
+        if(!StringUtils.isAllBlank(searchKey)){
+            sql.append(" and ( scene_title like '%").append(searchKey).append("%' )");
+        }
+
+        sql.append(" order by create_time desc");
+        log.info("sql: {}", sql.toString());
+        return sql.toString();
+    }
+}

+ 55 - 0
gis_mapper/src/main/java/com/gis/mapper/provider/SlideshowProvider.java

@@ -0,0 +1,55 @@
+package com.gis.mapper.provider;
+
+import com.gis.domain.dto.SlideshowPageDateDto;
+import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * Created by owen on 2020/6/13 0013 10:56
+ */
+@Log4j2
+public class SlideshowProvider {
+
+
+    public String search(SlideshowPageDateDto param){
+        StringBuffer sql = new StringBuffer(
+                "select a.id, a.title, a.img, a.thumb, a.web_site, a.status, a.reason," +
+                        "a.submit_id, b.real_name as submit_name from tb_slideshow a left join sys_user b on b.id = a.submit_id where a.rec_status = 'A' ");
+
+        if(StringUtils.isNotBlank(param.getStartTime()) ){
+
+            sql.append(" and a.create_time >= ").append("'").append(param.getStartTime()).append("'");
+
+        }
+
+        if (StringUtils.isNotBlank(param.getEndTime())) {
+            sql.append(" and a.create_time <= ").append("'").append(param.getEndTime()).append("'");
+        }
+
+        String searchKey = param.getSearchKey();
+        if(!StringUtils.isAllBlank(searchKey)){
+            sql.append(" and ( a.title like '%").append(searchKey).append("%' )");
+        }
+
+
+        /**
+         * 待审核,0:草稿中、待审核、审核不通过
+         * 审核通过,1:审核通过
+         */
+        Integer auditStatus = param.getAuditStatus();
+
+        if (auditStatus != null) {
+
+            if (auditStatus == 0) {
+                sql.append(" and a.status <> ").append(4);
+            } else {
+                sql.append(" and a.status = ").append(4);
+            }
+        }
+
+
+        sql.append(" order by a.create_time desc");
+        log.info("sql: {}", sql.toString());
+        return sql.toString();
+    }
+}

+ 6 - 0
gis_service/src/main/java/com/gis/service/FileService.java

@@ -3,6 +3,8 @@ package com.gis.service;
 
 import com.gis.domain.po.FileEntity;
 
+import java.util.List;
+
 /**
  * Created by owen on 2020/5/11 0011 16:14
  */
@@ -10,4 +12,8 @@ public interface FileService extends IBaseService<FileEntity, Long> {
 
 
     void setFkIdByIds(String ids, String fkId);
+
+    List<FileEntity> findByFkId(String fkId);
+
+    void deleteByFkId(String fkId);
 }

+ 18 - 0
gis_service/src/main/java/com/gis/service/LogService.java

@@ -0,0 +1,18 @@
+package com.gis.service;
+
+
+import com.gis.domain.dto.PageDto;
+import com.gis.domain.po.LogEntity;
+import com.gis.domain.vo.LogVo;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/5/12 0011 16:14
+ */
+public interface LogService extends IBaseService<LogEntity, Long> {
+
+
+    List<LogVo> search(PageDto param);
+}

+ 5 - 0
gis_service/src/main/java/com/gis/service/SceneService.java

@@ -1,8 +1,11 @@
 package com.gis.service;
 
 
+import com.gis.domain.dto.PageDto;
 import com.gis.domain.po.SceneEntity;
 
+import java.util.List;
+
 
 /**
  * Created by owen on 2020/3/11 0011 16:14
@@ -11,4 +14,6 @@ public interface SceneService extends IBaseService<SceneEntity, Long> {
 
 
     SceneEntity findBySceneCode(String m);
+
+    List<SceneEntity> search(PageDto param);
 }

+ 20 - 0
gis_service/src/main/java/com/gis/service/SlideshowService.java

@@ -0,0 +1,20 @@
+package com.gis.service;
+
+
+import com.gis.domain.dto.SlideshowPageDateDto;
+import com.gis.domain.po.SlideshowEntity;
+import com.gis.domain.vo.SlideshowVo;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:14
+ */
+public interface SlideshowService extends IBaseService<SlideshowEntity, Long> {
+
+
+    List<SlideshowVo> search(SlideshowPageDateDto param);
+
+
+}

+ 12 - 0
gis_service/src/main/java/com/gis/service/impl/FileServiceImpl.java

@@ -7,6 +7,8 @@ import com.gis.service.FileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 /**
  * Created by owen on 2020/5/11 0011 16:16
@@ -27,4 +29,14 @@ public class FileServiceImpl extends IBaseServiceImpl<FileEntity, Long> implemen
     public void setFkIdByIds(String ids, String fkId) {
         entityMapper.setFkIdByIds(ids, fkId);
     }
+
+    @Override
+    public List<FileEntity> findByFkId(String fkId) {
+        return entityMapper.findByFkId(fkId);
+    }
+
+    @Override
+    public void deleteByFkId(String fkId) {
+        entityMapper.deleteByFkId(fkId);
+    }
 }

+ 34 - 0
gis_service/src/main/java/com/gis/service/impl/LogServiceImpl.java

@@ -0,0 +1,34 @@
+package com.gis.service.impl;
+
+import com.gis.domain.dto.PageDto;
+import com.gis.domain.po.LogEntity;
+import com.gis.domain.vo.LogVo;
+import com.gis.mapper.IBaseMapper;
+import com.gis.mapper.LogMapper;
+import com.gis.service.LogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/5/12 0011 16:16
+ */
+@Service
+public class LogServiceImpl extends IBaseServiceImpl<LogEntity, Long> implements LogService {
+
+    @Autowired
+    private LogMapper entityMapper;
+
+    @Override
+    public IBaseMapper<LogEntity, Long> getBaseMapper() {
+        return this.entityMapper;
+    }
+
+
+    @Override
+    public List<LogVo> search(PageDto param) {
+        return entityMapper.search(param);
+    }
+}

+ 8 - 0
gis_service/src/main/java/com/gis/service/impl/SceneServiceImpl.java

@@ -1,5 +1,6 @@
 package com.gis.service.impl;
 
+import com.gis.domain.dto.PageDto;
 import com.gis.domain.po.SceneEntity;
 import com.gis.mapper.SceneMapper;
 import com.gis.mapper.IBaseMapper;
@@ -7,6 +8,8 @@ import com.gis.service.SceneService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 /**
  * Created by owen on 2020/3/11 0011 16:16
@@ -27,4 +30,9 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, Long> implem
     public SceneEntity findBySceneCode(String m) {
         return entityMapper.findBySceneCode(m);
     }
+
+    @Override
+    public List<SceneEntity> search(PageDto param) {
+        return entityMapper.search(param);
+    }
 }

+ 34 - 0
gis_service/src/main/java/com/gis/service/impl/SlideshowServiceImpl.java

@@ -0,0 +1,34 @@
+package com.gis.service.impl;
+
+import com.gis.domain.dto.SlideshowPageDateDto;
+import com.gis.domain.po.SlideshowEntity;
+import com.gis.domain.vo.SlideshowVo;
+import com.gis.mapper.IBaseMapper;
+import com.gis.mapper.SlideshowMapper;
+import com.gis.service.SlideshowService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+/**
+ * Created by owen on 2020/3/11 0011 16:16
+ */
+@Service
+public class SlideshowServiceImpl extends IBaseServiceImpl<SlideshowEntity, Long> implements SlideshowService {
+
+    @Autowired
+    private SlideshowMapper entityMapper;
+
+
+    @Override
+    public IBaseMapper<SlideshowEntity, Long> getBaseMapper() {
+        return this.entityMapper;
+    }
+
+    @Override
+    public List<SlideshowVo> search(SlideshowPageDateDto param) {
+        return entityMapper.search(param);
+    }
+}

+ 16 - 3
gis_web/src/main/java/com/gis/web/controller/FileController.java

@@ -139,11 +139,24 @@ public class FileController extends BaseController {
 
 
 
-    @ApiOperation("设置封面")
-    @GetMapping("setCover/ids")
-    public Result setCover(@PathVariable String ids) {
 
 
+
+    /**
+     * 硬删除物理文件
+     */
+    @ApiOperation("删除")
+    @GetMapping("remove/{id}")
+    public Result remove(@PathVariable Long id) {
+        FileEntity entity = fileService.findById(id);
+        if (entity == null) {
+            log.error("对象id不存在: {}", id);
+            return Result.failure("对象id不存在");
+        }
+
+        FileUtil.del(entity.getFilePath());
+
+        fileService.delete(entity);
         return Result.success();
     }
 

+ 35 - 14
gis_web/src/main/java/com/gis/web/controller/GoodsController.java

@@ -1,5 +1,6 @@
 package com.gis.web.controller;
 
+import com.gis.common.constant.TypeCode;
 import com.gis.common.util.Result;
 import com.gis.domain.dto.GoodsDto;
 import com.gis.domain.dto.GoodsPageDateDto;
@@ -11,13 +12,11 @@ import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.log4j.Log4j2;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -80,12 +79,37 @@ public class GoodsController extends BaseController {
 
     /**
      * 素材文件,真删除
+     *
+     * 这个是删除单条数据
      */
     @ApiOperation("删除")
-    @GetMapping("removes/{ids}")
-    public Result detail(@PathVariable String ids) {
+    @GetMapping("remove/{id}")
+    public Result remove(@PathVariable Long id) {
+        goodsService.deleteById(id);
+        fileService.deleteByFkId(TypeCode.FILE_GOODS + id);
+        return Result.success();
+    }
 
 
+    /**
+     * 设置封面后,把封面url设置到(可以在这里设置,也可以在保存方法设置)
+     *
+    */
+    @ApiOperation("设置封面")
+    @GetMapping("setCover/{fileId}/{goodsId}")
+    public Result setCover(@PathVariable Long fileId, @PathVariable String goodsId) {
+        List<FileEntity> entityList = fileService.findByFkId(TypeCode.FILE_GOODS + goodsId);
+        for (FileEntity entity: entityList) {
+            if (entity.getId() == fileId) {
+                // 1:设置封面
+                entity.setCover(1);
+            } else {
+                entity.setCover(0);
+            }
+            entity.setUpdateTime(new Date());
+            fileService.update(entity);
+        }
+
         return Result.success();
     }
 
@@ -100,18 +124,15 @@ public class GoodsController extends BaseController {
             return Result.failure("对象id不存在");
         }
 
-//        List<FileEntity> fileList = new ArrayList<>();
 
-//        String fileIds = entity.getFileIds();
-//        if (StringUtils.isNotBlank(fileIds)) {
-//            fileList = fileService.findByIds(fileIds);
-//        }
-//
-//        HashMap<Object, Object> result = new HashMap<>();
-//        result.put("entity", entity);
-//        result.put("file", fileList);
+        List<FileEntity> fileList = fileService.findByFkId(TypeCode.FILE_GOODS + id);
+
+
+        HashMap<Object, Object> result = new HashMap<>();
+        result.put("entity", entity);
+        result.put("file", fileList);
 
-        return Result.success(entity);
+        return Result.success(result);
     }
 
 

+ 48 - 0
gis_web/src/main/java/com/gis/web/controller/LogController.java

@@ -0,0 +1,48 @@
+package com.gis.web.controller;
+
+
+import com.gis.common.util.Result;
+import com.gis.domain.dto.PageDto;
+import com.gis.domain.vo.LogVo;
+import com.gis.service.LogService;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresRoles;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+
+/**
+ * Created by owen on 2020/5/12 0018 12:17
+ * 日志管理,只有admin权限访问
+ */
+@ApiIgnore
+@Log4j2
+@Api(tags = "日志管理")
+@RestController
+@RequestMapping("manage/log")
+@Transactional
+@RequiresRoles(value = {"sys_admin"}, logical = Logical.OR)
+public class LogController extends BaseController {
+
+    @Autowired
+    public LogService logService;
+
+
+    @ApiOperation("列表")
+    @PostMapping("list")
+    public Result<LogVo> list(@RequestBody PageDto param) {
+        startPage(param);
+        PageInfo<LogVo> page = new PageInfo<>(logService.search(param));
+        return Result.success(page);
+    }
+
+}

+ 89 - 0
gis_web/src/main/java/com/gis/web/controller/SceneController.java

@@ -0,0 +1,89 @@
+package com.gis.web.controller;
+
+import com.gis.common.util.Result;
+import com.gis.domain.dto.PageDto;
+import com.gis.domain.po.SceneEntity;
+import com.gis.service.SceneService;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * Created by owen on 2020/5/8 0008 9:54
+ */
+@Log4j2
+@Api(tags = "场景列表")
+@RestController
+@RequestMapping("manage/scene")
+public class SceneController extends BaseController {
+
+    @Autowired
+    private SceneService sceneService;
+
+
+
+    @ApiOperation("列表")
+    @PostMapping("list")
+    public Result<SceneEntity> list(@RequestBody PageDto param) {
+
+        startPage(param);
+        PageInfo<SceneEntity> page = new PageInfo<>(sceneService.search(param));
+        return Result.success(page);
+    }
+
+//    @ApiOperation("新增/修改部信息")
+//    @PostMapping("save")
+//    public Result save(@Valid @RequestBody SceneDto param) {
+//
+//        SceneEntity entity = null;
+//        if (param.getId() == null) {
+//            entity = new SceneEntity();
+//            BeanUtils.copyProperties(param, entity);
+//            sceneService.save(entity);
+//        } else {
+//            entity = sceneService.findById(param.getId());
+//            if (entity == null) {
+//                return Result.failure("对象id不存在");
+//            }
+//
+//            BeanUtils.copyProperties(param, entity);
+//            entity.setUpdateTime(new Date());
+//            sceneService.update(entity);
+//
+//        }
+//
+//        return Result.success();
+//    }
+
+
+    /**
+     * 素材文件,真删除
+     */
+    @ApiOperation("删除")
+    @GetMapping("removes/{ids}")
+    public Result detail(@PathVariable String ids) {
+
+
+        return Result.success();
+    }
+
+
+
+    @ApiOperation("详情")
+    @GetMapping("detail/{id}")
+    public Result detail(@PathVariable Long id) {
+        SceneEntity entity = sceneService.findById(id);
+        if (entity == null) {
+            log.error("对象id不存在 : {}", id);
+            return Result.failure("对象id不存在");
+        }
+        return Result.success(entity);
+    }
+
+
+
+}

+ 134 - 0
gis_web/src/main/java/com/gis/web/controller/SlideshowController.java

@@ -0,0 +1,134 @@
+package com.gis.web.controller;
+
+import com.gis.common.util.Result;
+import com.gis.domain.dto.SlideshowDto;
+import com.gis.domain.dto.SlideshowPageDateDto;
+import com.gis.domain.po.SlideshowEntity;
+import com.gis.domain.vo.SlideshowVo;
+import com.gis.service.SlideshowService;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by owen on 2020/5/8 0008 9:54
+ */
+@Log4j2
+@Api(tags = "轮播图管理")
+@RestController
+@RequestMapping("manage/slideshow")
+public class SlideshowController extends BaseController {
+
+    @Autowired
+    private SlideshowService slideshowService;
+
+
+
+    @ApiOperation("列表")
+    @PostMapping("list")
+    public Result<SlideshowVo> list(@RequestBody SlideshowPageDateDto param) {
+
+
+        startPage(param);
+        PageInfo<SlideshowVo> page = new PageInfo<>(slideshowService.search(param));
+        return Result.success(page);
+    }
+
+    @ApiOperation("新增/修改")
+    @PostMapping("save")
+    public Result save(@Valid @RequestBody SlideshowDto param) {
+
+        SlideshowEntity entity = null;
+        if (param.getId() == null) {
+            entity = new SlideshowEntity();
+            BeanUtils.copyProperties(param, entity);
+            entity.setSubmitId(getTokenUserId());
+            entity.setStatus(1);
+            slideshowService.save(entity);
+        } else {
+            entity = slideshowService.findById(param.getId());
+            if (entity == null) {
+                return Result.failure("对象id不存在");
+            }
+
+            BeanUtils.copyProperties(param, entity);
+            entity.setUpdateTime(new Date());
+            slideshowService.update(entity);
+
+        }
+
+        return Result.success();
+    }
+
+
+    /**
+     * 软删除,db保留记录
+     */
+    @ApiOperation("删除")
+    @GetMapping("removes/{ids}")
+    public Result detail(@PathVariable String ids) {
+
+        List<SlideshowEntity> entities = slideshowService.findByIds(ids);
+        for (SlideshowEntity entity: entities) {
+            entity.setRecStatus("I");
+            entity.setUpdateTime(new Date());
+            slideshowService.update(entity);
+        }
+
+        return Result.success();
+    }
+
+
+    @ApiOperation("审核")
+    @GetMapping("audit/{id}/{status}")
+    public Result audit(@PathVariable Long id, @PathVariable Integer status) {
+        SlideshowEntity entity = slideshowService.findById(id);
+        if (entity == null) {
+            log.error("对象id不存在 : {}", id);
+            return Result.failure("对象id不存在");
+        }
+
+        entity.setStatus(status);
+        entity.setAuditId(getTokenUserId());
+        slideshowService.update(entity);
+        return Result.success();
+    }
+
+
+    @ApiOperation("详情")
+    @GetMapping("detail/{id}")
+    public Result detail(@PathVariable Long id) {
+        SlideshowEntity entity = slideshowService.findById(id);
+        if (entity == null) {
+            log.error("对象id不存在 : {}", id);
+            return Result.failure("对象id不存在");
+        }
+        return Result.success(entity);
+    }
+
+
+    @ApiOperation("排序")
+    @GetMapping("sort/{id}/{num}")
+    public Result sort(@PathVariable Long id, @PathVariable Integer num) {
+        SlideshowEntity entity = slideshowService.findById(id);
+        if (entity == null) {
+            log.error("对象id不存在 : {}", id);
+            return Result.failure("对象id不存在");
+        }
+
+        entity.setSort(num);
+        slideshowService.update(entity);
+        return Result.success();
+    }
+
+
+
+}

+ 47 - 0
gis_web/src/main/java/com/gis/web/controller/TopicController.java

@@ -0,0 +1,47 @@
+package com.gis.web.controller;
+
+import com.gis.common.util.Result;
+import com.gis.domain.dto.PageDto;
+import com.gis.domain.po.SceneEntity;
+import com.gis.mapper.CommonMapper;
+import com.gis.service.SceneService;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * Created by owen on 2020/5/8 0008 9:54
+ */
+@Log4j2
+@Api(tags = "主题管理")
+@RestController
+@RequestMapping("manage/topic")
+public class TopicController extends BaseController {
+
+    @Autowired
+    private CommonMapper commonMapper;
+
+
+
+    @ApiOperation("获取主题")
+    @GetMapping("get")
+    public Result getTopic() {
+        Map topic = commonMapper.getTopic();
+        return Result.success(topic);
+    }
+
+    @ApiOperation("设置主题")
+    @GetMapping("set/{id}/{topic}")
+    public Result setTopic(@PathVariable Long id, @PathVariable String topic) {
+        commonMapper.setTopic(id, topic);
+        return Result.success();
+    }
+
+}

+ 126 - 3
gis_web/src/main/java/com/gis/web/controller/WebController.java

@@ -2,8 +2,20 @@ package com.gis.web.controller;
 
 
 import com.gis.common.util.Result;
+import com.gis.domain.dto.GoodsPageDateDto;
+import com.gis.domain.dto.NewsPageDateRequest;
+import com.gis.domain.dto.SlideshowPageDateDto;
+import com.gis.domain.dto.SpiritPageDateDto;
+import com.gis.domain.po.MenuEntity;
 import com.gis.domain.po.ViewEntity;
-import com.gis.service.ViewService;
+import com.gis.domain.vo.GoodsVo;
+import com.gis.domain.vo.NewsVo;
+import com.gis.domain.vo.SlideshowVo;
+import com.gis.domain.vo.SpiritVo;
+import com.gis.service.*;
+import com.gis.service.util.MenuTree;
+import com.gis.service.util.MenuTreeUtil;
+import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.log4j.Log4j2;
@@ -11,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * Created by owen on 2020/6/10 0010 10:44
@@ -24,9 +37,35 @@ public class WebController extends BaseController {
     @Autowired
     private ViewService viewService;
 
+    @Autowired
+    private GoodsService goodsService;
+
+    @Autowired
+    private SpiritService spiritService;
+
+    @Autowired
+    private NewsService newsService;
+
+    @Autowired
+    private MenuService menuService;
+
+
+    @Autowired
+    private SlideshowService slideshowService;
+
+    @ApiOperation("导航栏")
+    @GetMapping("navigation")
+    public Result navigation() {
+        List<MenuEntity> entities = menuService.findAll();
+
+        MenuTreeUtil menuTreeUtil = new MenuTreeUtil(entities);
+        List<MenuTree> tree = menuTreeUtil.buildTree();
+        return Result.success(tree);
+    }
+
 
 
-    @ApiOperation("保存访问量")
+    @ApiOperation("保存访问")
     @GetMapping("setCount")
     public Result setCount(HttpServletRequest request) {
 
@@ -38,7 +77,7 @@ public class WebController extends BaseController {
     }
 
 
-    @ApiOperation("访问量")
+    @ApiOperation("获取访问量")
     @GetMapping("count")
     public Result count() {
         long count = viewService.count();
@@ -46,6 +85,90 @@ public class WebController extends BaseController {
     }
 
 
+    @ApiOperation("轮播图")
+    @GetMapping("slideshow")
+    public Result slideshow() {
+
+        SlideshowPageDateDto param = new SlideshowPageDateDto();
+        param.setAuditStatus(1);
+        param.setPageSize(10);
+        startPage(param);
+        PageInfo<SlideshowVo> page = new PageInfo<>(slideshowService.search(param));
+        return Result.success(page);
+    }
+
+
+    @ApiOperation("史馆动态-新闻")
+    @GetMapping("news")
+    public Result news() {
+
+        NewsPageDateRequest param = new NewsPageDateRequest();
+        param.setStatus(4);
+        param.setPageSize(10);
+        param.setType("news");
+
+        startPage(param);
+        PageInfo<NewsVo> page = new PageInfo<>(newsService.search(param));
+
+        return Result.success(page);
+    }
+
+
+    @ApiOperation("史馆动态-公告")
+    @GetMapping("notice")
+    public Result notice() {
+
+        NewsPageDateRequest param = new NewsPageDateRequest();
+        param.setStatus(4);
+        param.setPageSize(10);
+        param.setType("notice");
+
+        startPage(param);
+        PageInfo<NewsVo> page = new PageInfo<>(newsService.search(param));
+
+        return Result.success(page);
+    }
+
+
+    /**
+     * 图片只显示前7个
+     * @return
+     */
+    @ApiOperation("特有精神")
+    @GetMapping("spirit")
+    public Result spirit() {
+        SpiritPageDateDto param = new SpiritPageDateDto();
+        param.setStatus(4);
+        param.setStatus(5);
+        startPage(param);
+        PageInfo<SpiritVo> page = new PageInfo<>(spiritService.search(param));
+        return Result.success(page);
+    }
+
+
+
+
+    @ApiOperation(value = "精品典藏", notes = "type:类型:1:图片, 2:视频,3:模型")
+    @GetMapping("goods/{type}")
+    public Result<GoodsVo> goodsList(@PathVariable Integer type) {
+        GoodsPageDateDto param = new GoodsPageDateDto();
+        param.setType(type);
+        param.setStatus(4);
+        param.setPageSize(5);
+        startPage(param);
+
+        PageInfo<GoodsVo> page = new PageInfo<>(goodsService.search(param));
+        return Result.success(page);
+    }
+
+
+    @ApiOperation(value = "数字史馆")
+    @GetMapping("scene")
+    public Result<GoodsVo> scene(@PathVariable Integer type) {
+
+        return Result.success();
+    }
+
 
 
 

+ 4 - 1
help.md

@@ -36,4 +36,7 @@
     列表:
         缩略图应该是同一个
     
-          
+     
+2020-7-16
+    展示页:
+